Thursday 28 April 2022

Agile, Scrum, Waterfall and Kanban for project management


Project management today is becoming more relevant, including in connection with the active development of innovative solutions. Each management method solves its own problems. For example, waterfall makes it easy to run projects with stringent product requirements, and Agile and Scrum will help make work more flexible. About what classic project management, Waterfall, Kanban, Agile and Scrum are, read the article.

Classic project management

In the classical model of project management, the task is divided into stages that go one after another. The next stage will not begin until the previous one is over, for example, the house will not begin to be built until the foundation is laid.

After the completion of the stage, it is impossible to return to it: if the walls are built, the house can no longer be replanned. Since it is impossible to go back, before moving to the next stage, the result is checked and accepted. Therefore, classical project management is suitable for such projects, where all processes are well known. For example, for engineering projects, residential construction, medicine, the financial sector, shipbuilding, aircraft and rocketry.

All project plans, requirements, and tasks are described in documents. Participants follow formal rules and cannot change them while working. The requirements for the project do not change after approval. Let's consider how the classical approach to project management works on the example of a waterfall model.

Waterfall – waterfall model

The waterfall model, or waterfall, is a variant of classic step-by-step planning.

The project consists of sequential stages: initiation, planning, development, implementation and testing, monitoring and completion.

Initiation. The project manager and the team determine the requirements for the project: they hold meetings, brainstorming sessions, interviews. They indicate what result they want to get in the end.

Planning. The team clarifies and details the goals of the project and the composition of the work on it. Then forms a calendar plan and budget, assesses risks.

Development. Participants determine the configuration of the future project and technical ways to achieve it. For example, they make a model of a building.

Implementation and testing. At this phase, the main work takes place - builders lay the foundation, erect walls and roof, conduct communications.

Monitoring and completion of the project. The manager transfers the project to the client, evaluates the result and draws up an improvement plan for the future.

Different projects need different stages of implementation - some need three phases, others need more than five. But the essence of the waterfall-model is one - the project is divided into stages that are planned in advance and executed one after another.

Limitations of the Waterfall model

The project is difficult to adapt to changes in the environment. The project begins with a plan, in which they try to take into account all the events. But it is impossible to predict the problems in advance, and it is impossible to change the plan. For example, the customer approved a high-rise building with large apartments, but during the construction it turned out that there is a demand only for small studio apartments. It will not be possible to redo the project.

The project can stretch. Performers in the next phases cannot start until they have completed all the tasks in the previous phase. A delay in one step stops the entire project. Sometimes these are the features of the project - it will not be possible to proceed to finishing until communications are laid, sometimes work can be done simultaneously, but this order of work is unusual in the company.

Problems are found late. The classic project approach in management is dangerous for the late detection of problems. Testing is one of the last stages, where they look for all the errors of the project. Often there is not enough time and budget to fix them. It remains to "smooth out the corners": seal the holes in the house with spray foam, correct cosmetic defects.

The customer gives feedback late. The client sees the result at the end of the project, and if his requirements or conditions have changed, then the performers will find out about it late. There is no time to take into account the new requirements, the client may be dissatisfied.

In order to find problems earlier and adapt the project to changes, new options for cascading project management are invented - hybrid methodologies. For example, in a cascade model with feedbacks, testing is performed at each stage, without waiting for completion.

For more information about the waterfall model, see how the cascading project management model works.

A cascade model is suitable for you if:

it is known which product you need to get as a result;

you need detailed documentation on all development processes;

the project is done in stages: you can start the next stage after the completion of the previous one.

Agile – Agile Project Management

Agile is a value system that helps create new products.
Agile appeared when it became clear that traditional management is ineffective in projects with constantly changing conditions: to develop new technologies, test new products, enter a new market.

Agile itself is not a management model, but a philosophy that helps to form an attitude to work. Philosophy consists of four values and 12 principles. They are fixed in the Agile manifest of software development:

Consider the advantages and disadvantages of Agile.

Features of Agile

A fully self-organizing team. The Agile team is a small group of people working on one project, which already has all the necessary specialists for this. There are no managers and subordinates in the team and the roles are not assigned to the participants: the developer can test, the analyst can offer ideas for design.

Development in small iterations. A product or project is broken down into valuable parts, each of which is developed in a separate time span – an iteration. In one such period of time, a new version of the product is developed or an existing one is processed. As a result, after iteration, a new product or a new version is obtained, ready for release. The product is released, feedback is collected and in the next iteration is improved and refined. Sometimes iterations are called agile sprints, but this is not entirely true. Sprint is a term from the Scrum approach.

You can change the project in the process. Both the customer and the team evaluate the result in the course of the project and decide how to proceed.

The result is more important than the documentation. You can deviate from the plan if it will benefit the project.

Limitations of Agile

There are no clear instructions. Agile is a philosophy, its creators do not give clear instructions on how to implement the principles of Agile in the work of the company.

More time and energy. Testers, customers, and developers need to be constantly connected and work closely together. All stages occur simultaneously, so customers must be ready to test and approve the work at any time so that the team can move on. The result is a workable product, but it requires the time and energy of all participants.

A lot depends on the client. The principles of agile require cooperation and participation of the client. The client needs to undergo training and rebuild their processes to help in product development. If the customer does not share the values of Agile, it will not be possible to work with it.

It's easy to lose your way. The essence of agile is flexibility and the ability to adapt to constantly changing conditions. Sometimes if the customer's feedback is not clear, the developer may focus on working in the wrong direction. There is a danger of wasting money by constantly changing the product.

A flexible approach is suitable if:

you are developing a fundamentally new product: pet insurance, innovative technology in rocket engineering, a new car model;

you make a product that can be released in parts: blog, software, streaming service;

user requests and the situation on the market are constantly changing.

There is no point in using agile methods when the client must work on a clear budget or schedule. Flexibility should also be avoided if clients are unable to change the scope and content of the project once it has started.

Companies that work on Agile: Spotify, Microsoft, Google, Netflix, Ericsson, Dell, Adobe, Accenture, WordPress, Riot Games, CH Robinson, Magna International, Scrum Alliance, Intronis, General Electric, John Deere.

For details on what agile is and how it appeared, read our article "Agile – the new Lean?".

Scrum – instructions for launching a new product

Scrum is a way of organizing a workflow. Scrum helps to test ideas, test new solutions, release innovative products.

It's easy to get confused in methodologies, models, and project management systems. It may seem that scrum and agile are one and the same, but they are not. It can be said that agile is a constitution with basic principles, and scrum is a code with specific instructions. Scrum has a narrow scope of application, it is turned to when classical project management techniques are ineffective. The principles of agile scrum development methodology are based on the Agile philosophy.

Scrum is designed for the rapid development of complex, fundamentally new products that are not on the market. For example, to develop online insurance for apartments or a banking application for a new service. The team learns in practice, receiving feedback from users.

According to the scrum, the product is developed in small ready-to-release parts. Work on each of them is completed in a sprint, additional functions are postponed to the next. Sprints are the same in time and last no more than four weeks.

Usually in a team of three to nine people. All of them are completely immersed in the project and do not engage in other tasks. There are three roles in the team: product owner, development team, and scrum master.

For more information about how to work with Scrum, see the article "Agile by Scrum Rules".

Features of the Scrum approach

Possibility to develop a new product. Scrum is well suited when it is not known whether users need such a product. You release a trial, learn with feedback, and make the next version.

Focus on the benefit to the consumer. Scrum methodology and agile principles are focused on studying the needs of users, improving their experience of using the product. And not to make a product on time and coordinate it with the customer.

Ability to change the product. By working in short cycles, you can offer users products almost on demand and quickly adapt to new conditions.

Reduce risk through testing. Scrum allows you to quickly release a test version of the product, evaluate its performance and then proceed to refine. This reduces the risks of failure compared to the approach where the product is endlessly polished before launch.

Engaged employees. The team gets involved because it only works on one project and sees the result from its efforts.

Limitations of Scrum

Not suitable for cases where the team has a lot of tasks and a lot of customers. Let's say there is a marketing department that comes with tasks from different departments. Scrum will not work here, because the department will not be able to devote two or three weeks to working on one task, they do many tasks at the same time.

Less predictability. In the cascade methodology, the work begins with the development of a detailed TK, in Scrum there is no such thing. It can be difficult for a client to decide on a project with a large number of unknowns.

Team training is needed. When employees first become familiar with the scrum approach, you need a special person – a scrum master who will help you switch to this way of working.

Scrum is suitable if:

you are developing a new product, which has no analogues on the market;

you have the opportunity to assemble a team of employees who will be engaged only in this project.

Scrum is effective in situations where you have a goal but no exact plan for how to achieve it. Imagine that you landed as a group of climbers in the mountains, you need to reach the top, but you do not have a map. Then you will act on the scrum - pass a small segment and check with the terrain, and whether you are on the right path.

Kanban – Tools to Improve Workflows

Kanban is a method for building internal processes in a company. It is also part of the family of agile methodologies. Kanban is also one of the tools of lean manufacturing. But we see kanban not as part of lean manufacturing, but as a method of agile management.

Kanban helps to visualize the process of work. All tasks that the team does or plans to do are posted on the board.

The board can be both physical and virtual, for example, Trello. It is important that the tasks are not too small - so there will be a lot of them and accounting will take time. It's also important that the tasks aren't too big so that the cards don't get stuck on the board.

An important point is the point of commitment. If the task is to the right of this point, the team is still deciding whether or not to do the task. But when the task moves to the left, it means that the task has been decided to be done. From the moment you decide to do a task, it makes sense to track the progress of it.

The further the task moves along the board, the more valuable it becomes – time and money have already been spent on it. For example, a task that is on acceptance will take precedence over a task that has just begun to be done, because it is almost ready and you can benefit from it faster.

Therefore, kanban has the principle of "stop starting [new tasks], start completing [tasks that are already in the works]"

The task of visualization is to balance different specialists within the team and avoid a situation where developers work for days, and testers complain about the lack of new tasks.

The board is just one of the tools that helps you see the problems. To optimize the work, there are other tools: limiting the number of tasks in the work, flow control, cadence, and so on.

Features of Kanban

Kanban suggests evaluating the effectiveness in terms of service: how satisfied the customer was, what tasks customers usually apply for, how much they are willing to wait.

The main performance indicator in Kanban is the average time it takes to complete a task on the board. If the task went quickly, everything is fine. If the execution time is delayed, you need to think about where and why the problems arose.

To increase efficiency, Kanban limits the number of tasks in progress. For example, a designer can work on three tasks. Until he finishes one of the tasks, he can't take a new one. This helps to work calmly and finish current tasks faster.

The whole team is united – there are no roles of the product owner and scrum-master. The business process is divided not into universal sprints, but at the stage of performing specific tasks: "Do", "In progress", "Testing", "Coordination", etc.

Kanban Limitations

Kanban has a wide range of applications. You can compare it to a toolbox. For each task, you can pick up something. At the same time, everyone will use the tools in their own way. Therefore, Kanban can be applied wherever you have a task flow. However, the method will be ineffective if you need to develop a new complex product, for this scrum is better suited.

Kanban is suitable:

if the team has a lot of tasks and orders: kanban will help to identify problems and optimize work;

for departments that support operational activities: accounting, financial department;

to visualize processes and identify problems: a kanban board can be maintained even for personal files – to see priority tasks and notice a case that has long been hanging.

About whether project management can get along with process management and what is contraindicated in the transition to project management, read the article "Educational program for a project manager" on the Pro Quality portal.

Companies that use Kanban: Alfa-Bank, Home Credit Bank, Post Bank, Dodo Pizza, HeadHunter, Wargaming, Microsoft, Siemens and others.

Imagine the marketing department of a large company: everyone comes to them with tasks: make an identity, come up with an advertising interactive, test a new promotion channel. They kind of provide services to other departments. They have many tasks and customers. Scrum will not work here, because there is no single product and a single customer. It will not be possible to work only on the goal of the sprint for two or three weeks, you need to serve many customers at once. In this case, Kanban comes to the rescue. It helps to build the work of internal services in the company

agile-coach, Partner of Scrumtrack

Differences between Scrum and Kanban

Scrum and Kanban are often compared, but the comparison doesn't always make sense — they don't compete or exclude each other. Scrum will help solve a large complex problem, and Kanban will help to optimize the work with the flow of tasks.

Artemy Antsupov: "Scrum helps to solve a specific task - to develop a new product as quickly as possible and so that users need it. For this task, scrum is effective. If you have an internal or external service, kanban will come in handy. Some kanban practices can be useful for other cases – they will help to understand where exactly you have a problem. "

Lean Startup – Lean Startup

A lean startup is a way to develop and bring a new product to market. The concept combines user research and an iterative approach.

The traditional approach to management is not effective for startups. At the start of a new project, you need to remain flexible, quickly test hypotheses and change the strategy based on tests.

Basic steps of Lean Startup:

Build a minimally viable version of the product;

Release it and evaluate the metrics;

Draw conclusions and collect ideas to improve the product.

In order to determine whether a new product will be in demand in the market, the company is invited to release a minimum viable version of the product. The version is launched not on the entire market, but on a small part of the audience in order to hear their reaction and refine the product.

For example, this is how dropbox cloud storage was developed. The creators made a simple program in which Windows users could share any files. They were afraid to release the program immediately for real users and recorded a video about the work of the program. The video was posted on the developers' forum and received suggestions from them what they would like to see in the program. And they also hired testers to check the program. Then, based on feedback, the program was finalized and released. They also tested the next updates and listened to the reaction of users. Dropbox is now used by more than 500 million people worldwide.

Lean startup is suitable for:

reducing risks when launching a startup. The founder of Zappos didn't know if people were willing to buy shoes online. To test the hypothesis, he photographed shoes in local stores and uploaded the photo to the site. If shoes were ordered, he would buy them at the store and ship them. Now Zappos is a big online shoe retailer.

assessment of the viability of a new product, model, version. For example, General Electric has developed a new model of refrigerator with the help of a lean startup. They went through 18 iterations of development and feedback from users before the release of the final product.

Companies that use Lean Startup: Dropbox, Zappos, General Electric, Slack, Modulbank.

Read more about the use of a lean startup in the article "Lean Startup".

The main thing about the methods of project management in the company
The Waterfall model, or Waterfall, is a project management methodology in which all the stages go sequentially one after another. Refers to the classic type of project management.

Agile is a set of principles that help make new products faster and bring greater value to users. Many agile methodologies, such as Scrum, are based on the Agile philosophy.

Scrum is a method of developing a new product. Suitable for a situation where you are developing an innovative product and cannot plan in advance what the result will be.

Kanban is a method of improving the work in the company. Visualizing tasks on the whiteboard helps you understand where problems occur, task constraints, and other tools help you optimize your work. Suitable for any situation where there is a thread of tasks.

A lean startup is a way to enter the market with a new product and not go bankrupt. The approach focuses on studying the user's needs, testing ideas and learning on feedback.

No comments:

Post a Comment