Have you ever wondered how the software you use gets built? We at Development Gateway use the “Scrum” approach to develop our software. Scrum is a group of software development methods that wrap around existing engineering practices. Scrum easily handles changing priorities, improves communication, maximizes cooperation, increases productivity and it detects and promotes early removal of obstacles. The basic tenets of Scrum are that is it empirical, iterative, incremental, feature-based, and business value-driven.
In Scrum, development work is completed in time cycles that are focused and bound. These timed cycles are called Sprints. Each product is built piece-by-piece, receiving constant feedback while keeping it in a usable state. The focus is on an entire feature that will provide business value to you instead of focusing on activities like requirements, design, coding and testing. Scrum makes our development practices visible through observation with frequent inspection and adaption.
There are three key roles in Scrum, the Product Owner, the Scrum Master and the Team. The Product Owner ensures that necessary features are defined and prioritized and creates the vision for the team. The Scrum Master facilitates the Scrum process and guides and motivates the team and removes impediments. The Team selects the iteration goal and self organizes itself and its work, then demonstrates completed functionality at the end of each Sprint.
Scrum has five standard meetings:
- Daily Scrum: A 15-minute daily meeting used to update the team on the previous day’s progress, identify any challenges or issues, and discuss the upcoming day’s priorities
- Backlog Grooming: Periodic meetings to ensure that the Product Backlog (see below) is well-organized, prioritized, and documented for development
- Sprint Planning: Prior to the beginning of each sprint, the team meets to select items from the Product Backlog, ensure that enough time is available for items to be implemented, and assign team members for each task
- Sprint Demo: At the conclusion of each Sprint, the team presents its work to the Product Owner for review and feedback
- Sprint Retrospective: At the conclusion of each Sprint, the team discusses what went well in the prior Sprint and what can be improved for future Sprints
Some key concepts of organizing work in Scrum include:
- Product Backlog: The list of selected items the team will work on over the life of the product, organized according to priority
- Sprint Backlog: The list of selected backlog items the team will work on in the current Sprint
- Product Increment: The output of a Sprint’s worth of work; a potentially shippable high quality product
Scrum focuses on open communication, cooperation, user-centered and iterative design, and team effectiveness. It aligns with Development Gateway’s overall partnership approach. By working closely with partner governments, organizations, and individuals to determine requirements, cultural fit, and long-term sustainability strategies we are able to provide software solutions you want to use and to maintain long-lasting relationships that benefit the common good.