New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Mark Levison on Feb 11, 2010
In response to a question asking about the inherent shortcomings of Scrum/Agile, Uncle Bob, wrote his “7 theses”. He says that out of the box Scrum has some serious flaws also noting that most teams adapt Scrum to avoid these problems:
Steve Ropa, Director of Software Development at MX Logic, commented: “My personal experience has been that at some level, teams and their members want some leadership. Sometimes that leadership emerges from the team, but sometimes it does not. I read Uncle Bob to be saying that the limit seems to emerge regarding the interactions of the team with the business, which has definitely been my experience.”
Mark Woyna counters “If the team is delivering quality product on a regular basis, and satisfying the customer, where's the need for management? If the team is not delivering, and attempts to self-correct are not working, a team should seek outside help.”
Ron Jeffries, author of Extreme Programming Adventures in C#, says that “most Scrum teams are embedded in organizations that have managers and use them. The fact that Scrum not only does not help with this but often actively denigrates managers makes improper Scrum installations more likely.”
Matt Heusser, craftsman and tester, suggests: “You know, it might be more accurate to describe CSM as 'an introduction to new product development.' That would help expand the class out of software development and appeal to the whole team, not just one or two people on the team. You would give a certificate away at the end of it, but not use rhetoric like 'certified'”
Bas Vodde, co-author of Scaling Lean & Agile Development, reframes the discussion, he: “wouldn't call it shortcomings and instead point out that Scrum by itself needs to be supported by other practices”. In addition he doesn’t see Scrum as having anti management undercurrent, instead:
I think one struggle that many people have when adopting Scrum is to deal with the changing role of management. Self-managing teams does push responsibility down to teams and therefore the role of management will change. Too often, management thinks of Scrum as a framework that "they" do without needing to change (instead of ordering..." you do scrum!" which means its already likely to fail).
I don't think this is unique to Scrum, if you dive into the self-management team history and literature then the change in the role of management is a common topic. However, like any other role, when told that the current activities are not needed as such anymore, its easy to interpret that as being "anti".
What failings do you see Scrum and Agile having?
Previously on InfoQ: Failures in Agile Development, 12 Agile Adoption Failure Modes, Why Agile Adoption Fails in Some Organizations
Transforming Software Delivery: An IBM Rational Case Study
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
Just to be clear - there are 8 theses but since Uncle Bob called it seven when he originally wrote it, I stuck to 7. I assume that the implication is that "Automated Testing" is really just a technical practice.
Cheers
Mark Levison
Agile Pain Relief Consulting
Martin Fowler also tackled bits of this topic on his great Flaccid Scrum article.
I generally agree though I do not think it is a scrum problem, as Fowler's article points out. I really like the recent interview with Mary P. on InfoQ where she spends a good deal of time talking about the same issue. Lean itself does not give specific technical practices either but it does not mean there is something wrong with it. The issue is with selling/promoting them as a complete development process with all the practices you need. Even Kent Beck states that XP has to be a combination of the values, principles and practices in order to adjust the practices for a specific context.
When viewed from a developer's point of view, Scrum relies on the fact that there are technical measures in place already to allow for sprints to take place. In many places I have worked (as a contract developer) the code base is definitely legacy (using the Martin C Feathers definition).
There is always the initial enthusiasm from the management team to see some new silver bullet that will whip the developers into shape and start delivering features, and this quickly fades when sprint targets are more about paying off the existing technical debt than delivering the shiny new desire from marketing.
However, with careful preparation and an explanation to the management team (along with a strong buy in from upper management to smooth any feathers), the legacy code base turns into something an XP'er can be proud of. I've overseen this process myself in several sites and the positive effect on developers morale is great to see. Management is also able to relax a little because developers are able to predict with reasonable accuracy that code will be delivered to a schedule.
So a combination of Scrum and XP works wonders. I cannot say the same for just Scrum on it's own.
I don't think anyone tries to sell Scrum as a complete package with all you need to do software development. In fact I see Scrum as just as a useful set of practices to organize a team towards producing a common goal. I've seen it applied in a number of non-software settings and in fact I'm trying to line up articles for InfoQ that show it being taken beyond its software roots.
Cheers
Mark Levison
Agile Pain Relief Consulting
I think scrum needs to evolve from what I see as an entry level offering...
agileconsulting.blogspot.com/2010/02/it-time-fo...
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
6 comments
Watch Thread Reply