There’s always an awesome team behind a great functionable product. The idea of removing waste from the system should be fundamental to every mobile development process. Scrum methodology techniques help companies keep track of the product management and development practices, so they can make improvements during the working course. Since Agile projects are three times more successful than Waterfall projects, we decided to share a few essential elements with you, extracted from our Agile experience so far. Raluca, one of our project managers, took us through the Scrum steps in order to get a better understanding of its benefits.
Scrum is an Agile development framework, which means it follows an incremental approach, in contradiction to the Waterfall methodology, that stands for a sequential process. Therefore, developers work on modules completed in weekly or monthly sprints, that come after producing the design version. Basically, companies use Scrum in their development processes for the following reasons:
- it implies flexibility and allows adjustments as work requirements change; new features can be added and tasks can be reprioritized without altering the workflow;
- it sustains individual work and contribution by empowering developers to devise ideas and solutions;
- it encourages constant feedback; sprint reviews allow the entire team to make suggestions and think of improvements;
- it facilitates a better communication between all parties: defined roles, clear requirements and tasks;
- by estimating features in terms of story points, it helps each team member measure the quantity of effort required for completing a task;
The Scrum Team
1. The Product Owner is, usually, the client. He’s in charge of capturing and clearly conveying the value proposition of the product to the development team, thus maximizing the result of their work. He is responsible for prioritizing the list of features and writing short descriptions of all the functionality (he manages the product backlog). His main role is to provide clear specifications, so the product backlog can be transparent and visible. Aside from these general attributions, the PO also gets involved in the process by attending team meetings: Scrum ceremonies or other meetings that request his input (demos).
2. The Development Team includes professionals (developers, designers, testers) whose final responsibility is to deliver a potentially releasable product at the end of each sprint. They are the ones who establish how the Product backlog must be turned into increments of potentially releasable functionality.
3. The Project Manager The Scrum Master and project manager roles shouldn’t be confused. In Agile, The Scrum Master is more like a coach than a leader. It’s entirely true that he is responsible for the Scrum process, but he doesn’t manage the development team. This part is covered by the project manager. The Scrum Master’s job is to sustain the Product Owner and coach the team by facilitating reviews and planning sessions. At Thinslices, we use a different approach. Aside from being responsible for implementing Scrum and making sure each stage is understood and followed by the development team, the project manager also facilitates communication between the Product Owner and the team. Working with the Product Owner takes him to the following set of responsibilities:
- the PO has to search for various techniques for an effective Product Backlog management;
- he must communicate the vision, the goals and the Product Backlog items to the Development Team;
- he’s the one who organizes all the events;
His relationship with the Development Team includes the following responsibilities:
- he must lead the team in order to build valuable products;
- he must organize Scrum events;
- he’s responsible for training the entire team;
- he’s responsible for solving all the impediments that might appear during the process (bugs, for example)
Basically, these events help the Scrum Master track progress and guide the team toward achievement. Here are the “ceremonies” that our teams attend during the development process. Ideally, the Product Owner should participate in all these ceremonies. In practice, it's possible to invite POs to join only in some of them.
1. Sprint Planning Meeting happens right after the Development Team sees the Backlog and confirms the prioritizations made by the Product Owner. They also establish the number of stories included in the next sprint.
2. Scrum Backlog Grooming. Estimations are made after the Product Owner or the Scrum Master explains the functionality to developers. During this phase, members pick up a reference story in order to estimate features complexity in comparison to this story. To do so, we use the Planning poker technique: team members make estimates by playing numbered cards.
3. Daily Standup Meeting The team members have to answer the following questions:
- what has been accomplished since the last meeting?
- what must be done before the next meeting?
- what obstacles are in the way?
4. Sprint Retrospective is an analysis of the previous sprint. The evaluation covers the following aspects:
- the things that went well, the things that went wrong
- what improvements can be made
- a plan for implementing those improvements
5. Sprint demo (review) is a meeting that facilitates interaction between the Development Team and the Product Owner. Developers present their work to the client, and the latter is the one who reviews the product by going through all the steps that an end user is supposed to take in order to use the mobile application. This strategy helps the client validate the progress of the project.
At Thinslices, the development process follows the rule Learn early, learn often! One of the main reasons for using Scrum comes from the idea of making decisions based on what is known and from the fact that experience leads to knowledge. There are also three significant Scrum aspects that help our team achieve big results: transparency, inspection, and adaptation.