Having troubles introducing agile development on your custom software development projects? Why not try moving to it gradually? One of the big ‘problems’ with Scrum is that project-related issues come to the surface early because the team must deliver potentially release-able software within a month. Those issues in combination can seem insurmountable to those new to Scrum.
Having troubles introducing Agile Development on your custom software development projects? Why not try moving to it gradually?
Implementing an agile development methodology on a custom software development project can be difficult. Many organizations new to the agile methodology struggle to adopt it. One of the big ‘problems’ with Scrum is that project-related issues come to the surface early because the team must deliver potentially release-able software within a month. Those issues in combination can seem insurmountable to those new to Scrum.
Typical issues/obstacles that arise include:
- Lack of business ownership and the inability to make decisions,
- Limited business buy-in into the concept of Agile,
- Team communication, individual skills, and team fit,
- Lack of trust in the team by the business.
In a traditional (waterfall) project, the team can spend months on design and when development begins they may start with the low complexity features, thereby not identifying issues until it is too late; forcing the project to run over-budget and/or delivering a solution that doesn’t meet the users’ needs.
When introducing Agile, organizations often attempt to tackle all of these issues head on and get overwhelmed with the new methodology, then choosing to revert back to what they are familiar with.
Why not introduce Scrum in stages to enable an organization to deal with issues one at a time and gain the benefits associated with solving each issue gradually?
Based on my experience as an Agile/Scrum Coach, I have found that introducing each stage below gradually over a number of months can work effectively for an organization that is struggling with Agile Development.
This article outlines a number of stages that a project team should go through in the introduction of Scrum. Each stage is summarized and then outlined in more detail below.
The first stage introduces prioritization of requirements, focusing only on the highest priority ones within a time-boxed two week sprint. Introducing prioritization can be difficult and issues with lack of business ownership and inability to make decisions must be overcome to enable you to complete this stage. The benefit gained is the ability to re-focus based on changing priorities.
At the second stage, you will overcome the obstacle of gaining business buy-in into the concept of Agile and ensure that the business agrees that quality and high priority business requirements are the top priority – over a detailed plan. You will have introduced estimation based on story points which will give the business improved control of the project in making decisions related to priority.
At the third stage, you will ensure the team is collaborating more closely; overcoming team communication and development skills deficiencies. You will have reduced the number of defects and the team will produce higher quality software quickly.
At the fourth and final stage, proper user stories and acceptance tests written by a Business Analyst will be introduced and the software will be frequently demonstrated to users so that their feedback can be incorporated. The business must learn to trust the team and agree to minimal documentation and sign-off. Once complete, teams are able to deliver software that is more closely aligned with what the user wants.