If you read Ray Cooke’s earlier blog post Should you move your software development team to Scrum? you will come away with the following insights:
- Agile software development is becoming widely adopted as a mainstream approach to developing software, as confirmed by Gartner
- Scrum and its variants are by far the most widely used approaches to agile software development (75%), and thus Scrum is becoming mainstream
- While we would never suggest that organisations become zealots sticking to one single methodology (we certainly haven’t), there is value in starting with one common approach such as Scrum to get everyone on the same page, and then once you get more mature evolve from there
- Training is a key way to learn the fundamental principles and practices of Scrum, and scale the use of Scrum across new teams. We also acknowledge that training is only one part of learning, and that the real world learning happens on the project.
The purpose of this post is to extend Ray’s thinking, and focus the conversation to what this means for software project professionals in New Zealand, who find themselves working in a world that is increasingly dominated by Scrum projects.
Firstly, what is Scrum?
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, and the use of these practices to deliver real value back to organisations.
In Scrum the ScrumMaster is responsible for ensuring that the process is followed correctly and for removing any blockages stopping the team from achieving its goals. The Product Owner is the voice of the customer, responsible for ensuring that the team delivers value to the business. The development team are self-organising and are responsible for delivering the product within multiple sprints (or iterations).
Why should you care about Scrum?
Our Equinox IT boss Roger tells stories of his days as a systems operator on Burroughs mainframes from a time when there were only a handful of mainframes in the whole of New Zealand. Roger’s Burroughs mainframe skills aren’t in high demand anymore, but luckily for him he has acquired new skills that make him highly relevant to our business today.
Over time less and less projects will follow outdated waterfall and RUP approaches (just like Roger found that over time less computing processing was done using Burroughs mainframes). Given the growth in Scrum, sometime soon you are most likely to be tapped on the shoulder to join a Scrum project team or to scout out the potential benefits of using Scrum on a project you are working on.
The 2013 State of Agile Survey referenced in Ray’s post showed that product owners, quality assurance and business analysts know the least about agile software development, while ScrumMasters, project managers, development managers and developers know more. As Scrum becomes mainstream and organisations need to scale the approach across multiple projects, then to be relevant you will need to build an awareness and knowledge about the Scrum approach. While early adopters have been developers and some project managers, we now need to see this knowledge propagate through to business representatives (product owners), analysts and testers and anyone else who touches software development projects.
If you are in any way engaging with software development activities in your organisation, and you don’t understand Scrum, then there is a compelling need to learn about this approach.
How do you learn Scrum?
A useful way to learn about Scrum is to start by understanding the key principles, practices and terminology. You need to be able to understand the core concepts and talk the same language to work effectively as part of a team. A training course can be great way of learning these fundamentals.
Then see if you can get yourself onto a Scrum project and get the real world learning of how to make Scrum work in practice. Both parts (learning the concepts and getting the experience) are essential. You are not going to be an effective team member working on a Scrum project if you haven’t got the understanding of the fundamentals and can’t talk the same language. It would be like driving on the road without knowing the road code. Likewise, someone who has undertaken Scrum training, but never worked on a Scrum project is like a day one driver who knows the road code; they know some stuff but have no practical skills.
Start learning Scrum now and be relevant in a world where Scrum is becoming commonplace.