While lengthy delays, unnecessary penalties and rule changes have made ‘Scrum’ an unpopular term for rugby fans this year, Scrum in software development teams appears to be more popular than ever, both in New Zealand and internationally.
Scrum existed 10 years ago but few of us had heard of it. In those days we were investing countless hours and reams of paper preparing use cases and other documents under the Rational Unified Process (RUP) or other popular methodologies of the time. While use cases are still commonly used to document requirements, you rarely hear of RUP anymore, possibly due to its process heavy nature making it overkill for many New Zealand-sized projects.
At its simplest, Scrum is an iterative framework and a set of practices for managing Agile software development projects. Its increasing popularity comes from its lightweight practices for managing collaborative teams, regular deliverables and changing requirements, which is delivering real value back to organisations.
According to the VersionOne 7th Annual State of Agile Development Survey, conducted on more than 4000 participants in 2012, 72 per cent of organisations who undertake Agile software development use Scrum or a variant of Scrum.
In addition, New Zealand research by Victoria University PhD student Michael Waterman also showed that the majority of his Agile participants use Scrum or Scrum together with other approaches.
While neither set of results provide a perfect representation of all Agile projects, they do show that Scrum is growing in popularity and should be given serious attention by anyone interested in improving software development.
During their rise, Scrum and other Agile approaches have sometimes been criticised for their lack of discipline. It is fair to say that some teams adopted the terms Scrum or Agile and used it as an excuse to run their projects with few rules, practices or documentation. However, in our experience, Scrum and Agile projects run correctly and to the intent of the Agile Manifesto, are more disciplined and require greater engagement and skill than traditional software development approaches.
Despite its popularity, Scrum is not the only show in town when it comes to Agile software development. Extreme programming (XP) is an early Agile approach focusing on development practices, code quality and frequent feedback while Kanban places limits on work-in-progress to help reduce waste from inefficiencies. Scrum sits somewhere between. It uses the communication focus of XP, seen most simply in daily stand-ups and frequent meetings between the team and the client. It also takes on aspects of Kanban by limiting work-in-progress by time-boxing and scope-boxing within an iteration or ‘Sprint’.
Scrum offers a structured approach to Agile software development, leveraging the benefits of methodologies that have come before, while supporting what may come next.
As Scrum becomes more mainstream it is essential that it is used it in a way that delivers results for organisations.
Next week's article will explore the area of making Scrum work in your organisation.
Ben Hughes is a Systems Analyst who plays a key role on many of Equinox IT's software development projects, where Scrum, Lean and Agile practices are used. Equinox IT is New Zealand’s leading independent IT consultancy, delivering software development, consulting and training services.