Some sportsmen may love a moving target, but developers certainly don’t.
Often, however, when a team starts down the path toward creating a new product, be it a software product, an appliance, or really any product or service, they don’t start out with all their “ducks in a row.” They’re not completely certain what they want included in the final product. Yet, they do know they want to get started.
Fortunately, the extraordinary people who brought us Agile methodology paved the path for Scrum, among the most popular “process frameworks” for implementing Agile.
Originally, software development used a “waterfall” methodology in which every step led to the next. The project began with intense step-by-step pre-planning guided by a “functional specification” for the resulting software to follow. The entire process was extremely rigid and inflexible.
Agile methodology is an incrementally iterative process in that working software is given to the end user community who are encouraged to return their comments and evaluations rapidly. This feedback then informs the next round of development, or “sprint.” This allows cross-functional teams to each work on components and then bring their work together to create the next iterative version of the release software. Acknowledging that none of the iterations is the complete end-product, the goal of each sprint is to deliver working software that can be evaluated.
Part of the team is always responsible for maintaining the alignment between the development team and the company’s goals.
Scrum was created as one of several ways to implement Agile, in this case with more defined roles, responsibilities, and a meeting schedule that never varies. Each sprint is of the same duration as all others, usually between one and two weeks. This achieves greater predictability and consistency between the incremental iterations and should reduce costs by catching flaws or design-flaw issues before they become too expensive to change.
The increased stability and consistency, along with better developed documentation in the form of task boards and various production charts is thought to make Scrum far preferable an Agile implementation for tasks where the details of the end-product are unknown, uncertain, or constantly changing. There’s great transparency and better visibility of progress which enables greater accountability on the part of the team.
Scrum Roles Please
In a Scrum environment there is always a Product Owner who is responsible for keeping development aligned with the constantly changing requirements, an intriguing challenge.
Quality is the province of the Scrum Master whose primary responsibility is to keep everything moving at the most efficient velocity possible without compromising quality. This includes scheduling meetings, overcoming team challenges, alignment with the goals of the Product Owner, and assuring strict adherence to Scrum’s rules. The Scrum Master is nobody’s boss but can recommend process improvements to the team overall.
Everyone else is on the Scrum Team, working together, helping each other, building team spirit, planning and executing on each sprint.
There are six precisely defined and unchanging steps in a Scrum process flow.
There’s a Product Backlog that is created from the users’ feedback and new requirements that provides all the desired features of the end-product. When planning the next sprint, the second step, the team refers to the product backlog. At the end of each sprint the backlog is “groomed” and refined in preparation for the next iteration.
The other three steps are meetings. There is a Daily Scrum Meeting lasting just fifteen minutes in which each team member speaks on their issues and goals. This keeps the entire team apprised of each other’s progress and needs, keeping the team on track toward the desired end-product. At the end of each sprint a review meeting is held to demonstrate the current iteration of the product, and a retrospective meeting is also held to review how the Scrum process is working for them with the goal of improving results.
Scrum is in broad use across the spectrum of different kinds of companies. It’s a reliable process without being rigid which makes it attractive to developers and other team members.
The global accreditation body for Scrum and Agile Certifications is SCRUMstudy, and New Horizons is a SCRUMstudy approved Authorized Training Partner. To learn more and plan your path toward Scrum Mastery talk to your New Horizons Career Counselor today.