Company | Our Process
SCRUM Software Development Process
A scrum is an action associated with the game of rugby. It is enacted when players huddle together with the objective of moving the ball strategically towards the goal post. The SCRUM agile development methodology is derived from this action and draws from the rugby scrum some principles which are embedded throughout the life-cycle of a SCRUM enabled project.
The Product Backlog
As in any sport, teams are rarely successful without a "game plan" aimed at providing a transparent and unambiguous mechanism towards achieving a common goal. This mechanism, called the Product Backlog is achieved when a Product Owner creates a list of Stories based on initial client requirements. These Stories describe business functionality which will contribute towards a shippable software product. The nature of SCRUM and its Sprints allow for products to be delivered iteratively and by maintaining a Product Backlog; business functionality may increase or decrease in size based on decisions throughout the lifespan of a project.
Like the game of rugby, SCRUM is enacted through the process of Stop, Start intervals (2 weeks to a month) known as Sprints. The objective of SCRUM is to foster transparency, accountability and enable agile processes. To achieve this, a number of Milestones are undertaken in a Sprint. Sprint Milestones carry open invitations. However, only Sprint Team members are allowed to participate. Team members are comprised of the Product Owner, Scrum Master and the Development team (including QA). Together they are equally accountable to the success of a project.
On a daily basis, Team members participate in a time-boxed (15 minutes) Sprint Stand-Up in which the developers specifically address Stories by explaining:
- What I did yesterday
- What I am doing today
- My impediments
During a Sprint, a Planning session allows the Team to ruminate on and further "Groom" stories which are selected from the Product Backlog and prioritised by the Product Owner for the upcoming Sprint. Towards the end of a Sprint, the Team hosts an open Review showcasing the Sprint goals achieved in the current Sprint. Finally, the Sprint is completed with a Retrospective, providing the Team an opportunity to openly express their thoughts on what they perceived were "Good" or "Bad" events in a Sprint. The things learnt from the Retrospective provide for Team growth and increased optimisation as issues are addressed and solutions are put in place.
Why SCRUM is better
In essence SCRUM is a simple agile product development framework implemented to manage the complex task of creating software. It creates self-organising teams who learn to manage themselves efficiently, as team members soon realise accountability through the actions of selecting and reviewing their own work.
For clients, SCRUM offers complete transparency and an enhanced sense of ownership as they are actively involved in the collaboration of each Sprint Milestone and possess a shared responsibility for the maintenance of the Product Backlog.
On the whole, SCRUM promotes self-management, improved communication, improved quality and a controlled and iterative approach to product releases.