In the series "The Way of the Intercepting Fist," Bruce Lee advises a student to be like water. "Empty your mind, be formless. Shapeless, like water. If you put water into a cup, it becomes the cup. You put water into a bottle, and it becomes the bottle." These words of the Kung-fu master don't only refer to martial arts but also to life and, thus... project management, particularly agile project management.
Learn more about what scrum is!
Adherence to stiff project frames is limiting — just as failure to adapt to the opponent or changing life situations.
Remember that the initial idea may not fulfill stakeholders' expectations, so it's worth thinking about scrum and agile project management consisting of sprints.
What is Sprint?
Sprint is a stage of work on a project that lasts up to four weeks. We plan it with the budget in mind, and the most important thing for us is the needs contained in the product backlog, for which the product owner is responsible.
What is a Product Backlog?
A product backlog is an ordered list of needs, that is, requirements and functionalities such as use cases.
Scrum, or on-the-fly improvements
"In the case of the scrum, every sprint ends successfully. When at the end of the sprint, we receive feedback from stakeholders about functionality that doesn't meet their expectations, it's not a problem," Paweł Lasek, scrum master and agile coach at Link4, says during an interview with The Story Journal.
The expert says a given functionality can be quickly replaced or abandoned, saving money. Thanks to that, bad decisions can be seen at the beginning of the process. Meanwhile, in the waterfall model, we need to wait longer before we receive an opinion from the market.
What does the waterfall model consist of?
The waterfall model, a traditional project management method, requires precise documentation and completion of a previous phase to move on to the next one. Meanwhile, in scrum analysis, development, and tests can occur simultaneously.
The waterfall method consists of several phases:
1. Requirements specification — we define the detailed requirements for the system under development.
2. Designing — we create an accurate system design that will meet the predetermined requirements.
3. Deployment – we deploy the project in a specific development environment while remembering to test individual modules.
4. Testing – we integrate modules, test subsystems, and software.
5. Maintenance – we let users use the software, and then we fix errors, make changes, and expand system functions.
Flexible scrum approach
The openness to constant changes gives us a better chance of a successful project. Jake Knapp, the creator of the design sprint, one of the derivatives of the agile methodology, in the book "Sprint" tells a story of the creation of the Blue Bottle Coffee website.
The site lived to see 15 drafts. A draft that made the appearance of the online store similar to that of Blue Bottle Coffee was deemed the best by employees.
This solution was original. Moreover, the appearance of Blue Bottle Coffee was widely praised, which spoke in its favor. So, a simple prototype was created. However, it turned out that customers considered the design as "cheap" and "not trustworthy" and instead liked the other two more conventional prototypes.
Betting exclusively on a design the team liked best would be a huge mistake. The flexibility ensured success: launching the new Blue Bottle Coffee website doubled sales.
However, remember that scrum and agile project management practices won't work in every company (learn more from the previous article on lean software development, "Lean Management"). An organization that enjoys the benefits of agile methodology needs employees who aren't scared to be responsible, and coming up with new ideas is natural for them.
"An employee who joins a scrum team should like working in a group. On the one hand, it's partly individual work, but a team goal accompanies us. It's definitely a greater responsibility than in the case of the waterfall model, where a person is only responsible for their part of the work," Paweł Lasek says.
Unlike in the case of the waterfall method, scrum assumes that the analysis, development, and tests can occur simultaneously. People accustomed to the waterfall model should show more flexibility.
Such employees sometimes need to leave their comfort zone and do things they haven't done before. Suppose I'm a tester or analyst — so far, my tasks have consisted of either testing or analyzing. Meanwhile, now that I am facing a scrum project, my competencies aren't necessarily needed to achieve the team's goal", the scrum master says.
Jeff Sutherland, who, among others, played an important role in the creation of agile management, is the co-author of "The Scrum Guide," which was created in the 1990s to describe and introduce the principles behind Scrum, that is, Agile project management. | Photo: commons.wikimedia.org
What is agile project management?
The agile methodology was born in the '90s in Silicon Valley, while the name didn't officially appear until 2001 when the "Agile Manifesto" was published. The Manifesto was created during the meeting of seventeen representatives of American software development companies who established a description that would constitute agile methodologies — principles that would simplify working on projects.
Agile project management focuses on continuously delivering software and constantly adapting to changes.
"Agile Manifesto" states that people and interactions are valued more than processes and tools and that working software is more important than detailed documentation. Cooperation with the customer is more important than negotiating contracts, and responding to changes is more vital than implementing the established plan.
Agile is the opposite of the Waterfall model, which is based on rigid schemes and doesn't adapt to changing customer needs. Agile, in a sense, is the answer to dysfunctions that make the work challenging and cause employees not to fulfill their potential, which harms projects.
Benefits of agile project management
The benefits of the agile methodology and scrum include the following:
- Flexible prioritization
- Continuous deployment
- Frequent feedback
- Waste reduction
- Early identification of issues
- Increased commitment of employees.
In scrum, we keep up with the customer
A fundamental element of the agile methodology is scrum. By scrum, we mean agile product development. Its preparation consists of small stages (sprints), thanks to which changes are introduced regularly. Scrum is a very popular approach for software development projects.
A sprint starts with an idea, and then we have a ready-to-use product, customer consultation, review, and retrospective. Review means deciding what to focus on in the next sprint, and retrospective includes evaluating the team to improve its work.
Differences between agile and waterfall approaches
Does the customer decide to forgo the initial solution in favor of another? That's not a problem. Prototypes are also a characteristic feature of the scrum, which can be tested on users and modified if necessary.
"The "Agile Manifesto" describes the way of thinking regarding agile software development. Software development is a complex process, meaning it's a process where many things are unknown. However, agile is based on an empirical approach, not predicting, which is characteristic of the waterfall method," Paweł Lasek assesses.
In the scrum, a team with different and complementary competencies plays a significant role. However, team members aren't everything because to create a product, we need a product owner and a scrum master who, like a captain on a ship, ensures that the crew will reach the destination.
"In the waterfall method, we spend a lot of time on analysis because we want the end result to be as best as possible. We try to predict whether the product will be attractive," Paweł Lasek describes.
"In turn, in the agile approach, we check whether a given element works or not. We do that by launching it on the market, thanks to which we obtain feedback. We treat feedback as the only valuable indicator in terms of data. This is the fundamental difference between the agile and waterfall methods, in which many weeks, months, or even years are usually spent on analysis before anything is released," the scrum master from Link4 adds.
Employees don't deliver the product at the end of the work, but they present its subsequent — working — versions in small intervals, that is, sprints.
Paweł Lasek explains that the agile approach forces us to release an MVP (Minimum Viable Product), meaning an initial and simplified product, as fast as possible.
All this to quickly gain feedback and adapt to the market based on it. Paweł Lasek believes this is the greatest advantage of the scrum approach over the waterfall method.
"Another advantage is the effectiveness in a complex environment. Let's remember that we have a lot of unknowns. We can't predict the development process of a given product from start to finish. There are applications or other digital products that turn out to be complicated in terms of technology. The empirical approach and simultaneous working are the best when working on such products," Paweł Lasek persuades.
Simultaneous analysis, tests, development, or deployments allows us to capture many risks in real-time and handle them immediately. In the waterfall approach, we often wait for the final phase to determine whether something doesn't work. Thus with scrum, we save time.
At the end of a sprint, we receive a finished product, although the "finished product" is a conventional term — it can be, e.g., a working simplified prototype. Thanks to that, the customer will know whether the project's direction aligns with their expectations. The situation looks different when we use the waterfall method, we don't see how the work on the project progresses, and after a year, we receive a final version that doesn't meet our expectations.
All this makes scrum an ideal approach when we want to keep up with changing customer requirements. Requirements have lived to see many definitions, but we'll cite one of the most accurate that comes from the book "Software Requirements" written by Karl Wiegers and Joy Beatty:
"Requirements are a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system."
A product owner creates a list of needs for the sprint and, at the end, presents the results of the work to customers and users to obtain feedback. This is preceded by sprint planning which we limit to a maximum of eight hours — if the sprint lasts a month.
During such planning, we answer the following questions:
- What can be delivered as an increment resulting from an upcoming sprint?
- In what way will we perform the work to achieve the increment?
What is a product increment?
A product increment is what the team should deliver at the end of a sprint, that is, a working product expanded to include new capabilities (functionalities) compared to the version from the previous sprint.
12 Principles of agile project management
1. Our highest priority is customer satisfaction through the early and continuous delivery of valuable software.
2. Be ready to change requirements even at the late stage of its development. Agile processes use changes to provide competitiveness to the customer.
3. Deliver working software frequently, at intervals of several weeks or months. The more often, the better.
4. Business and development teams need to work closely together throughout the entire project duration.
5. Create projects around motivated people. Provide them with the needed environment and support and trust them that they finish their task.
6. The most effective and efficient way to transfer information to the development team and within it is by talking face-to-face.
7. Working software is the fundamental metric of progress.
8. Agile processes provide sustainable development. Sponsors, developers, and users should be able to maintain an equal pace of work.
9. Continuous focus on technical perfection and good design increases agility.
10. Simplicity — the art of reducing the amount of needed work — is crucial.
11. The best architectural solutions, requirements, and projects come from self-organizing teams.
12. In regular intervals, the team analyzes the opportunities to improve its efficiency and then adapts its activities to the conclusions.
The non-obvious role of a scrum master
The role of the product owner is quite clear. However, what a scrum master does in agile projects isn't so apparent. Sometimes, their tasks are mistaken for those of a project manager; however, the tasks of a scrum master have an entirely different character.
"The role of the scrum master is misunderstood in organizations. Despite various courses and the amount of knowledge that can be found on the Internet. We understand what the development team does; it knows how to develop a product. We also know the role of the product owner, whose task is to indicate what should be created and what the product is supposed to look like," Paweł Lisek explains.
The specialist believes that when it comes to the role of the scrum master, we encounter myths and question marks. This disorientation is caused by the fact that in waterfall projects, there is a role of a project manager who is responsible for the entire project and ties everything together.
On the one hand, the scrum master helps plan the work of the agile teams, and on the other hand, they are responsible for how employees perform their tasks. In the scrum approach, such a role doesn't exist because the scrum team, thanks to self-organization, doesn't need coordination.
"Taking care of the scrum process is one of the most important responsibilities of the scrum master so that the scrum is used according to the description in the "Scrum Guide." And although this guide is easy to understand, it turns out to be difficult to implement. To such an extent that the scrum master is needed. Otherwise, teams wouldn't be able to handle it by themselves. I've been a scrum master for many years now, and I often see how many changes in terms of roles and responsibilities need to be implemented in an organization for the scrum to have any chance of yielding results," Paweł Lasek says.
What does a scrum master do that's not the role of a project manager?
Paweł Lasek discusses for The Story Journal what, according to him, the scrum master is responsible for.
Namely, the following:
1. They facilitate meetings and scrum events.
2. They support self-organization.
3. They're a coach of the team and the guardian of the scrum process. If we have a scrum framework (scrum is not a methodology or a method but a framework), teams can use techniques they deem appropriate.
And while the scrum master doesn't impose techniques, they ensure that frameworks such as inspection, adaptation, and transparency are used. It's perfect when we can find trust in all of that.
The role of the scrum master is to make sure that all sorts of information can be transparently communicated within the company, which for some reason, was previously non-transparent. Making people trust each other is one of the hardest things to do.
What are adaptation and inspection?
Adaptation occurs when we see discrepancies in the project's expected results and we make changes. Inspection is a regular control of the progress of work.
4. The scrum master is not a manager. A common myth is that the scrum master is a manager (a project manager or a production manager) or that they manage the team. That's not the case. The scrum master is a leader who serves. They try to remove obstacles reported by the team, which sees that some problems occurred during software development on the lines of people-interactions and processes-tools.
5. They work with an organization to make it more "agile." In other words, they are working on all the processes that have occurred so far. The scrum master needs to constantly have the "Agile Manifesto" in mind — people and interactions stand over processes and tools and working software over detailed documentation.
6. Even though the "Agile Manifesto" contains only four phrases and the "Scrum Guide" has seventeen pages, the scrum master has a tremendous amount of work that needs to be done for organizations to shift from the waterfall approach to the agile project management methodology.
This means changing many different things: from the structures in the organization and the team to the hierarchical decision-making that existed before. Decisions are made by the team where everyone is on an equal level in the hierarchy.
There is no one to rule over the others, everyone has their responsibilities, and everyone shares a common goal.
7. The scrum master also works with the product owner. They help the product owner prepare the backlog in terms of setting goals and hypotheses that need to be validated, which the MVP points to.
Novice product owners often need a lot of support when working according to the agile project management methodologies and communicating with the scrum team. This requires the scrum master to shadow (learn how to work by observation), supporting the product owner, the development team, and the organization itself.