The agile methodology has become increasingly popular in recent years, especially in the software development sector. It boasts great benefits for speed of development, efficiency and team collaboration, but be warned, it’s no silver bullet and can come with a few drawbacks.
The scrum basics
Scrum is undoubtably one of the most popular agile frameworks in use. Using scrum allows teams to self-organise, adapt to changes quickly and ultimately deliver products iteratively, as per the core agile principles. Leaving it as no surprise why both development houses and customers alike have been keen to adopt scrum as their chosen methodology.
Scrums most basic form consists of three roles: the product owner, the scrum master and the scrum team. The product owner represents the business and takes ownership of the product backlog. They prioritise backlog items and report back to the business stakeholders on progress. The Scrum master is a servant leader who's priority is to facilitate the scrum process, remove impediments and protect the team from outside distractions. The scrum team is made up of those who will complete the tasks to deliver on the requirements.
Products are delivered iteratively in sprints, so whilst the deadline and budgets may be fixed, the requirements are not and are open to adaption and reprioritisation as the project progresses.
Throughout the lifecycle of a scrum project there are numerous ceremonies that provide structure and efficiencies to help the team evolve and reach project success. Key ceremonies include backlog refinement, sprint planning, daily stand ups, sprint reviews and sprint retrospectives. Each ceremony provides its own value to the team and helps to maintain a shared understanding of the project vision.
Scrum may sound simple enough, but the success of scrum heavily relies on having a strong and experienced team in place who understand and value the core principles of agile. Trying to utilise scrum without understanding the importance of adaptation and valuing individuals over processes will inevitably set you down an arduous project path.
Disadvantages
Lack of Understanding
All too often businesses want to use a pure agile methodology but haven’t spent the time to understand what that truly means. There is a level of uncertainty that comes with utilising scrum and unfortunately this means that inexperienced teams can struggle and become frustrated, in turn this can lead to businesses losing faith in the methodology all together. In many cases, scrum is combined with other project management techniques to help fulfil the needs of the business i.e. having a defined budget and timeline for the MVP (minimum viable product).
It's all for one and one for all… or disaster
A successful scrum project relies on dedication from all participants. This includes those on the business side, as well as the scrum team. All involved need to be committed to the project's success and maintain focus and communication throughout the lifecycle. Ownership is key in scrum and a unified team that communicate effectively is a must have requirement. If individuals begin to falter it can have a ripple effect and lead to much larger issues within the team and project.
Re-work leads to wasted budgets
As requirements are refined over time development, it does mean there is likely to be re-work required later in the project if a change is needed. As functionality is further defined or tweaks are requested the scrum team may need to take a different approach to functionality that will require code re-work. Unfortunately, this does mean more time will be needed for functions than originally estimated and can also be a source of frustration for the scrum team if indecisiveness leads to multiple re-work requests for the same function.
Benefits
Quick to start work and deliver
Unlike the waterfall methodology, agile does not require full definition of requirements or documentation before initiation. Requirements are built over time by priority, meaning the scrum team can start working on the known and defined priority items as the product owner adds further items to the product backlog. This Incremental delivery speeds up the time to market and can lead to quicker return on investment through higher revenue generation. As the scrum team work on items, the knowledge grows and therefore speed increases.
Flexibility and prioritising current business objectives
One of the core advantages of scrum is the ability to respond to change. Starting with very basic requirements and building on them as the team learns, develops and discusses delivery. Whilst too much change can disturb the teams momentum, iterative delivery and backlog refinement sessions do allow great flexibility if there is a shift in the businesses priorities.
Collaboration and transparency
By including stakeholders in scrum ceremonies and facilitating clear communication channels the business can rest assured that their product owner has full visibility and project control. One of the main principles of scrum is quick user feedback. Working together is crucial to ensure what is being developed is as expected and that the team are on track to meet deadlines. In addition to this, the scrum team have visibility of the larger project vision and are not just invisible coders. This shared ownership approach leads to an innovative and motivated environment, which in turn leads to a greater performance.
Speedy user feedback
A huge positive of scrum, is the ability to obtain quick user feedback by reviewing and testing after each sprint. This allows for incredibly fast turnarounds for optimisations or adaptions to the product. Ultimately resulting in better adoption of the end product as it's being built in real time, with real users.
Conclusion
Although there are some challenges in using the scrum methodology, its benefits far outweigh the effort that you have to put in to achieve project goals. Make sure you've got the right team in place, experience and the ability to adapt well throughout the project are crucial for scrum success. Take learnings from each iteration to continuously optimise and strengthen the process. Be clear in communications and where necessary use other project management techniques to plug any gaps, do all this and you can successfully use scrum to deliver high quality valuable projects with ease.