What is Agile software development and Scrum all about?
Before I begin, I know agile software development is not a new concept, neither is scrum. I wanted to write about it because although I was taught about agile software development at university when I faced it in the real world it was slightly different. This article describes my understanding of what the agile scrum process involves.
Scrum development is one method of agile software development that is being used by a wide range of software companies. In the scrum the participants have three roles: Scrum Master, Product Owner, and The Team. The Scrum is a daily meeting in which teams report to each other what each person is going to do that day, what they completed the previous day and if they are any blocking problems. The roles of the participants are as follows:
The Scrum Master needs to make sure the scrum happens, on time every day at the same time, at the same place. In each Scrum team Scrum is set to happen at a particular time and place, for example every morning at 9:20, the meeting will last between 10 and 15 minutes. The Scrum Master will be in charge of facilitating the Scrum, and part of this role will be to inform the team of any outside influences affecting the Sprint (for example if the exec team are having a meeting, or if a client is coming to visit). Another part of their role is to make sure that the Product Owners are communicating effectively with the team, and all the participants in the Scrum are focused and understand their individual tasks and their targets as a group.
The Product Owner is the person that manages the Product Backlog and Sprints. The first part of this role is to manage the Product Backlog and decide what tasks are achievable and useful for the product, and eliminating tasks that are neither achievable, or useful. Then the Product Owner splits the tasks in to manageable Release Backlogs which are then managed as Sprints. Sprints are the periods (commonly two weeks) in which the tasks for the Release Backlog are worked on.
Another task for the Product Owner is to prioritise tasks in the Sprint and to manage the Burn-down chart during each Sprint. Finally the Product Owner needs to manage the team, communicate effectively with them and make sure they are focused and challenged at each Sprint. The Scrum Master and the Product Owner should not be the same person.
The Team are the group of developers, designers, testers and others who are involved in creating the product in each sprint. At each daily scrum every team member needs to communicate the things they are going to do that day, what they completed the previous day and report any blocking issues. Blocking issues are tasks which cannot be completed until some thing is done by another team member, for example a developer cannot add designs to a product until the design work is complete by the designer. If the developer needs to add the designs for the product and the designer is yet to finish the designs, this is a blocking issue. Team members should take responsibility for resolving blocking issues within the team, and the Scrum Master needs to interact with other groups in the company to resolve blocking issues that are outside the team’s control.
Here’s a great video describing Scrum in 7min
Related articles
- Should you make a native or a hybrid mobile app? (thestartupmag.com)
- What makes a winning iPad app? (thestartupmag.com)
- How to decide which mobile platform to develop for first? (thestartupmag.com)