Agile Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2574 posts at DZone. You can read more from them at their website. View Full User Profile

Scrum and XP are New - Their Principles are Not

01.19.2010
| 6479 views |
  • submit to reddit
New agile methodologies are sometimes criticized for simply re-labelling old practices and calling them 'new'.  Scrum in particular is critcized for rebranding things like iterations and stand ups as "sprints" and "scrums".  DZone spoke with Henrik Kniberg, an Agile Coach at Crisp, who believes that repackaging old ideas in different configurations is a good thing.  Kniberg thinks that new methodologies keep appearing because industries tend to create tools that solve their biggest problems.  The emergence of eXtreme Programming, which emphasizes frequent meetings and extensive code review, indicates that software companies have primarily encountered problems with communication and code quality.  Kniberg quotes Gerald Weinberg who said, "When you solve your biggest problem, you instantly promote your second biggest problem."  Kniberg thinks that industries tend to create methods to solve their biggest problems.  "What I've seen, for example, when a team starts doing Scrum and XP together, they get pretty good at at communicating and getting high quality code out the door quite quickly," said Kniberg.  "So we've solved our biggest problem, but that means that our second biggest problem will now rear its ugly head."  That second problem could be slow software delivery or not knowing what software the company should be building, Kniberg says.  It could also be a lack of streamlined customer collaboration or inadequate synchronization between maintenance and new development.  This is why new methods keep appearing.  However, their core principles, such as communication and visualization, never really change.

If history repeats itself, the software development methodologies of the future will include ideas that are rediscovered in older work models.  Today, many of the "new" methodologies consist of repackaged and reconfigured elements from methods that were used a long time ago.  Scrum is a good example because it contains many core practices of from agile, but renames many of them.  Kniberg talked with Jeff Sutherland, the co-creator of Scrum, who said there wasn't any commercial motivation behind his rebranding of old ideas into a new methodology.  "He was just trying to find something to make his company work better," said Kniberg.  "He looked at a whole bunch of case studies to find out why projects fail or succeed - and he picked out the best bits."  Sutherland found out that projects usually succeed when they have daily meetings and close contact with the customer.  Putting these, and other patterns together formed the basis of Scrum.  Ken Schwaber, the other founder of Scrum, believed that Sutherland's method could be configured to work with other companies.  The two founders named their methodology "Scrum" and rebranded agile elements using Rugby terms to emphasize teamwork.

"Packaging is important," says Kniberg.  "Even though the ideas aren't new, choosing the right subset of maybe hundreds of patterns seems to have an immense power."  Kniberg says the ideas behind Scrum and XP aren't "new", but they've become very popular because they provide open systems that generally work well for many organizations.  "[Scrum or XP]  will bring any company from a dysfunctional state to a fairly functional state, but it won't bring them to Nirvana," said Kniberg.

At some point, companies need to star thinking and configuring on their own, but Kniberg says that Scrum and XP can boost them to a decent level of process maturity.  "In an ideal case, everyone would be smart enough to just do whatever is right, and we wouldn't need any named methods, but people aren't process experts.  These packagings that are well thought out help a lot."  Now, Kniberg says, agile methods like Scrum and XP have launched companies to a higher level of maturity, and that might be what's causing new discussions about Lean/Kanban.  "I think people have made the same journey as me, and asked themselves, 'This seems to work, I wonder why?'  And then they start digging and they find these older sciences like Theory of Constraints, Lean thinking, and queueing theory behind their method that explain why it works," said Kniberg.  Many tools have grown out of older principles like the ones Kniberg mentioned.  GTD (Getting Things Done), David Allen's method for personal productivity is one tool, said Kniberg.  Another is Francesco Cirillo's Pomodoro Technique for time management.  Kniberg says that systems like Scrum and XP exist as tools for applying proven, generic principles to a practical work environment.  

Kniberg believes that the regeneration of old ideas in the form of new methodologies is a natural, never-ending process."  I think we need to stop expecting that things have to be new in order to be good, said Kniberg.  "It's okay to rediscover old knowledge - it happens all the time.  Software development boils down to communication and communication is old."