Agile Development with Scrum
Author: Brian Nettles | Date Created: May 18, 2018 | Visits: 70
Scrum is a project management framework for developing software. It is considered an important approach to agile development. Scrum has of late become the standard in rapid software development. Trisummit Technologies has the proper expertise and experience to enhance your development environment to make it more efficient and predictable while improving the quality of your organization's software.
The Scrum Team
The scrum team is the team that is responsible for creating usable software. This team consists of three groups:
- The Product Owner.
- The Development Team.
- The Scrum Master.
The Product Owner
The product owner is responsible for managing the product backlog. This product owner is one person, not a committee. The product owner is responsible for the following tasks:
1. Clearly expressing product backlog items.
2. Ordering the items in the product backlog to best achieve goals and missions.
3. Optimizing the value of the work the development team performs.
4. Ensuring that the product backlog is visible, transparent, and clear to all, and shows what the scrum team will work on next.
5. Ensuring the development team understands items in the product backlog to the level needed.
The Development Team
The development team is preferably a team of 4-7 individuals who will work together to accomplish the tasks. The team should have a combination of front end developers, application code developers, database experts and quality testers. They all function on one team.
The Scrum Master
The scrum master serves as the coach to facilitate a properly functioning organization. The scrum master provides a second set of eyes to the product owner ensuring that this person is doing his/her job properly. The scrum master works with the development team to remove impediments and help with communication on requirements. This coach keeps the process moving.
The product owner works with end users and a corporate steering committee to create the product backlog. The backlog is placed into a system accessible to the scrum team.
The product owner, scrum master and development team meet for a planning meeting. A two week sprint would typically have a four hour planning meeting. A four week sprint may have an 8 hour planning meeting. The team breaks out tasks, determines the time needed to complete the tasks, and tasks are assigned to members of the team. All decisions made are group decisions following a collaborative process.
Daily 15 minute scrum meetings are held. By having the meeting, the group can track the burndown, ensure any developer that is blocked gets unblocked, and report findings which are helpful to the team.
The sprint is completed and a sprint review is held to show off the new functionality, determine what is done and not done, and to discuss market changes regarding the product.
A sprint retrospective is held to for all team members to seek methods of improvement.
End users are given a designated period of time for functionality testing. Preferably, only a few days. Developers can fix up problems found and have it quickly retested.
Software is released to production.
The process repeats itself.
Some groups will run consecutive sprints and release software only a couple of times per year. This is acceptable in following the scrum methodology. My personal belief is that this should be avoided as it tends to break down the process of rapid quality defect detection. Nevertheless, for some groups, it is not realistic to release software more often than twice a year.
Brian Nettles is a certified scrum master certified through Scrum Alliance. He is ready to assist to train and assist your organization to implement significant improvements in your software development processes.