In large projects where many participants work, it is difficult to organize work without preparing and a single system. To increase the indicators when conducting projects, learn how to manage the command, it is necessary to look at the Agile flex control system.
Our products help your business to optimize marketing costs.Learn more
What is Agile
Agile is a set of methods for project management in areas requiring applied work. Methodology is used to increase the speed of creation of products, reduce risks in developing, increasing the level of interaction between team members. It provides an operational response to the changes occurring and allows you to adjust the deviations.
What is different from other methodologies
It is not similar to previous approaches that describe the creation of a product in detail. Agile Radol, in it 4 values and 12 principles. RUp Unlike Agile - less flexible methodology, while more voluminous, describes the process of working on tens of pages. RUp is not suitable for small tasks, consists of iterations with a duration of 2 to 6 weeks.
Openup is the successor RUP. In this methodology, the project is divided into four phases: the initial phase, the plotting phases, design and transmission. Methodology is not flexible in comparison with Agile, applicable more in the IT-sphere.
Where Agile is used
The technique was used in the IT industry and was used to develop software. The essence was reduced to the introduction of adaptive methods that accelerate the creation of products through microplating and short production cycles. However, later Agile began to be used in other applied areas. Agile is now applying companies: Netflix, Spotify, Magna International, General Electric, Accenture, M.Video.
Such technologies have become the ownership of commands working on the creation of client products.
Pros and Cons Agile
Advantages of the technique:
- Adaptive mechanisms to focus on the main thing;
- lack of bureaucracy;
- reduction of the timelines for obtaining the result;
- Increase product functions.
- reduction of technical documentation, which affects the process of product development and its operation;
- Acceleration of the planning does not correlate with the scale of the prepared product, which is why errors may occur in its architecture;
- Due to the adoption of fast solutions, defects are formed and quality suffers.
In 2001, Agile Manifesto was developed by the Agile Alliance by the Agile Alliance group. They founded the use of new ways to develop software on the abolition of established ideas about Management . Supporters of the direction set the value of the personality and teamwork in return tools, plans and documentation. After the introduction of the technique, the accents were shifted towards new goals, tasks and principles, which made it possible to adapt to the changing market and consumer requests.
The values of Agile say that:
- people are more important than the processes and standard tools;
- the creation of the product is more important than the selection and coordination of documentation;
- hear the position of the client and cooperate with him above the contract;
- The adjustments are more important than the initially developed strategy.
Flexibility of the methodology
Methods of work organization are based on a cascade model in which the processes are implemented in stages. If the requirements for product development, the ultimate goal is changed, you need to redo the performed part of the work. Not all employees are ready for this: some until the latter do not inform the authorities about the need for adjustments in an already unemployed plan. Agile Methodology solves this problem with the help of existing flexibility and adaptability.
Principles of methodology
When choosing this system, the organization works faster, more mobile, shares employees to small commands. The principles of Agile are expressed: the separation of tasks into small blocks, the autonomy of employees, the transparency of the work, the processing of feedback from customers.
Work on mini blocks
Complex projects are divided into small tasks, each of which is placed in a separate unit. Goals are achieved for a short cycle, so even in the multistage project is visible in operation.
Small cross-functional teams
Employees work in small teams. The task of each in the implementation of one of the functions that is important for the client. The number and composition of the teams differ depending on their tasks. The number of employees in one team up to 12 people.
Restriction of incomplete work
Agile helps teams concentrate on tasks that can be solved in a short period of time. Reducing the amount of work helps to quickly cope with mini-tasks, which affects common productivity.
Autonomy of the team
Before starting work on the task, the plan is planned. Then each team decides how to proceed to its execution. The task of the manager is to determine the basic rules, the staff independently choose the pace of work, conditions coordinate actions.
Achievement of the preparedness stage
Checking the methodology is the completion of the problem, the outcome of which is summ up at the end of each cycle. Thanks to the separation into small blocks, the command can fully complete the task, and not to mark it as "practically complete". The reason for slowness in large projects - tasks that are completed partially, but they have a number of problems. As a result, they pull time, resources, attention and distract employees from obligations.
Tasks divided into short cycles have priorities to which you need to strive at each stage. Thanks to which the work is uninterrupted, and employees are not distracted by adjacent tasks.
And so as not to be distracted by routine reports, connect the CallTouch end-to-end analytics for your business and pay time to important strategic tasks.
Full transparency and use of boards with stickers
It helps briefly, but to describe the work, fix the current stage on which the team is located, look at the process of employees, if necessary, determine the source of problems.
Feedback from users on each cycle
Teams receive feedback from customers at the end of each cycle. Based on information assesses the achievements, the implementation of the problem. Information is taken into account later for planning.
Key points in application
Agile methods are used to solve different business processes. Therefore, it is important for their implementation to figure out how the methodology looks like in practice.
What are the roles of Agile
Roles in the system:
- The owner of the product is not dedicated to the technical details of the implementation, but has a common vision, understands which audience a product is being made, what tasks it should perform.
- The coordinator of actions - is responsible for the process processes and sends Potential staff .
- The developers team - participates in the creation of the product, implements its technical component.
Competence hierarchy in Agile
The structure of the team is horizontal, but it has a hierarchy. The manager specifies the vector for which employees implement tasks. The feature of the system - the hierarchy is based on competence, and not the authorities, which determines the interaction of employees with the bosses.
What is bandwidth
Bandwidth is a realized number of "user stories". These are the wishes of customers who are formed in the task. For example, installing search filters in the application, improving customer feedback, work on technical support service. The bandwidth is measured by the number of used user stories per week.
How to determine the sequence and priority of tasks
The priority of tasks depends on the direction of the company. For example:
- Value Based is an assessment of business value. Each task is studied from the point of view of its profitability, an increase in reputation and the overall level of user satisfaction.
- TECHNOLOGY RISK BASED - Evaluation of technological risks. Priority is distributed based on the risk of realization of requirements. The risk in the work of the company is due to the large number of conditions set, external interaction.
How to make a schedule of solving problems
To draw up graphics use applications with templates for project planning. For example, GanttPro is a service for setting tasks and their control. It contains graphs templates, tracks targets according to the degree of promotion, notes weak points.
For the implementation of the methodology, a set of activities are performed. It is based on the choice of the main method in the system, after which tasks, goals, deadlines, the number of teams are established. Employees must be trained in practice in practice, and management should understand that the implementation of the system will become a new turn in business development.
It is important to use the experience of specialists who have already worked with the system and know how to implement it. Their experience helps in the formation of the team, selection of tools, analytics.
Common problems in implementing
Main problems in implementing Agile:
- Refusal to the "Head-Slave" concept. The team methodology is built in accordance with special philosophy. Freedom of action and reduced formalities in working relationships not all companies withstand.
- Absence Cohesion from the team . Someone is more convenient to perform tasks alone. When the Agile system will have to communicate constantly.
- Wasted effort spent. Sometimes the concept of the project is changing, because of what you have to take a course on the change of approach and tasks. It is necessary to do this quickly, because of which not every team is making mobility and lets the time spent.
Popular methods and project management tools
Agile is a system in which methods and approaches are implemented. The most popular methods - SCRUM and Kanban. .
Here emphasis on the monitoring of the workflow, which shares the development of the project at the stage. These stages last 2 to 4 weeks. The process begins with an assessment of the scale of work, assumes the adjustment of actions and plans, taking into account the intermediate results. The scar increases productivity and focus on reducing time to achieve the goal.
The method is based on the transparency of the process. It functionally distributes the burden on employees, motivates team members to cooperate and training. Principles are built on:
- constant information visualization;
- command work to balance efforts;
- time limit to optimize the process.
Agile methodology helps business to achieve goals. Its principles allow for a short time to prepare new products for customers, taking into account their opinions and reactions transmitted through feedback. It builds long-term relationships with the audience and forms loyal Client base .
from 990 rubles per month
- Automatically collect data from promotional sites, services and CRM in convenient reports
- Analyze the sales funnel from the shows to the ROI
- Configure CRM integration and other services: more than 50 ready-made solutions
- Optimize your marketing using detailed reports: dashboards, graphics, diagrams
- Castomize the tables, add your metrics. Build reports instantly for any periods
Have you ever had to deal with projects or at least take part in project work? If so, then you probably noticed that the team's work can be quite difficult. And even if it is adjusted, there is a risk that all efforts will be in vain, because the requirements for the required result are often changing.
However, it is essential to simplify the work on the project and learn how to manage them, thereby increasing the efficiency of the team, it is possible using a flexible project management system called Agile ("Ajile" or "Ejile"). In general, we already briefly talked about her in our course on project management (fourth lesson), but now we will talk about this topic in more detail.
Agile method: Definition and brief history
No matter how unusual it sounds, but seriously developing software and manage projects began in the 70s of the last century. It was in 1970 that the American scientist-geek Winston Royce compiled a document called "Management of Large Software Systems". In it, he criticized consistent development, pointing out that software development should not resemble the work of the assembly line (as, for example, it is done in automotive production), where new parts are added to the sequential phases.
Instead of waiting until all the stages (phases) are completed alternately, Royce proposed to apply a phase approach. Its essence is that all the requirements required for the project are initially collected, after which the entire architecture is completed, the design is created, the code is written, etc.
Based on this, in the 90s, it was possible to create a complex of flexible methods for developing software capable of replacing complex and labor-intensive methods. It happened like this:
- In 1991, a method for quick development of RAD applications appeared
- In 1994, a method for developing dynamic DSDM systems appeared
- In 1995, a platform (framework) of Scrum flexible development appeared
- In 1996, a flexible methodology for developing Crystal Clear, as well as extreme programming XP
- In 1997, an iterative methodology for developing FDD appeared
All together, these methods have merged under the common name of flexible software development methods.
Four years later - in 2001, seventeen software developers gathered in the state of Utah (USA) at the Snowbird resort. As a result of the discussion of the development methods, "Manifesto on the Flexible Development of Agile Software" was published (translated from the English concept "Agile" means "mobile", "prompt" or "fast", but in most cases it is translated as "flexible") . He asked the pace of all further work on the creation of software.
The manifesto created by programmers includes 4 basic ideas and 12 principles of efficient project management. Any of EDJAL-based project management systems (we'll talk about the systems later) is based on these ideas and principles, although it uses them in different variations.
- People and their interaction more important than processes and tools
- Working in more important than documentation
- Customers and cooperation with them more important than contract and discussion
- Readiness to make changes more important than the initial plan
- Satisfy customers, in advance and constantly supplying software (customers are satisfied when the working software enters them regularly and after the same intervals)
- Change the requirements for the final product during the entire cycle of its development
- Deliver working software as often as possible (once a week, in two weeks, per month, etc.)
- Maintain cooperation between developers and customer throughout the development cycle
- Maintain and motivate everyone who is involved in the project (if the team is motivated, it copes much better with its tasks than the team, the members of which are unhappy with the working conditions)
- Provide direct interaction between developers (the possibility of direct contact promotes more successful communication)
- Measure progress only through working software (customers should receive only functional and working software)
- Maintain a continuous pace of work (the team should develop optimal and supported speed)
- Pay attention to the design and technical details (thanks to effective skills and good design team of the project gets the ability to continuously improve the product and work on its improvement)
- Try to make the workflow as simple as possible, but in simple and understandable
- Allow the team members to make decisions on their own (if developers can make decisions themselves, self-organization and communicate with other members of the team, having exchanged ideas with them, the likelihood of creating a high-quality product increases significantly)
- Constantly adapt to a changing environment (thanks to this, the final product will be more competitive)
Having comprehended Agile, in addition to the review of ideas and rules, be sure to read this small video, where a specialist in project management, a consultant and business coach Alexei Tachenkov talks about the basics of the system.
In order to actually implement the above ideas and principles in practice, you must adhere to several rules. Only then Agile project management can be effective.
Key points in applying Agile
Agile-methodology is based primarily on visual control. Most often, the project participants, working to achieve the result, use special color cards. One color signals the completion of the planning of a non-element of the final product, the other - on the completion of its development, the third - about readiness, etc. Visual control allows the team to have a visual understanding of the current state of the process and guarantees the same project vision by all its members.
Team members and customer in most cases work together and nearby. Thanks to this, many workflows are significantly accelerated, which are associated with informing the project participants. In addition, collaborative work contributes to the creation of a healthy atmosphere for fruitful and effective cooperation and the speedy achievement.
When the project manager, the team and the client act together, eliminates the danger of misunderstanding the goals and loss of information. All workflows become as transparent as possible, which means that any problems arising can be allowed almost instantly and find the best options for solving them.
Special attention should be paid to the project manager. It can not be called a man, distributing directions to the left and to the right. The manager here acts rather as a leader who sets the direction and defines the rules of cooperation and work. In other words, Agile control is adapted.
Another important point of the Agile-methodology is the separation of the entire volume of the project into several smaller components. This approach has repeatedly simplifies the development process, and individual team groups can focus each on their specific task.
Working on one cycle, the project participants master new skills and receive new knowledge, as well as analyzed in the error process. All this reduces the likelihood of such errors in the future (in the next cycles and other projects) to virtually zero.
And finally, the last significant element of the approach is sprints and daily meetings. Sprints are called limited to specific periods (dents) segments of time during which the team has time to perform certain tasks. It is thanks to sprints that the team can see the results of his actions.
If we divide all the time all the time to the project, to several sprints, we obtain a specific amount of their number; Let them be 15. Each sprint lasts, for example, two weeks. This is just during these two weeks (time allotted for sprint) participants every day are found to discuss the process and progress.
Daily meetings should not exceed 15 minutes. They are organized so that every member of the team gives itself an answer to three questions:
- What did I do yesterday?
- What will I be busy today?
- What prevents me to work?
Answers to these questions allow you to keep the process under control, to understand, at what stage is each of the team members, and eliminate potential problems on the path to the goal. If we generalize, the introduction of Agile-methodology is possible if several conditions are followed:
- Clearly designated the value of the project
- In the process of implementation, the client is actively involved
- The total work is done step by step
- Navigate to a specific result
- The number of one working group: from 7 to 9 people
Currently, project management with support, for the most part, is distributed in the IT-sphere, however, the business sphere begins to master it. This system is applied in learning, marketing, business. Flexible project management is appreciated by a variety of companies and state structures.
Examples: Government of New Zealand, Nigeria Government, Norwegian Pension Fund, Return Path (software), Oreo (cookie production), Aviasales company (largest search engine tickets), Hewlett-Packard (largest American IT company), Sberbank "(Probably you know what it is).
These and many other organizations use a variety of project management methods based on Agile. And talk about these methods is no less important than about the methodology itself.
Popular project management methods
There are a lot of project management methods that are applied by different modern companies. But the most famous and in demand among them are rightfully considered to be Scrum (Skram) and Kanban (Kanban).
Among all the methods of the Agile Scrum system differs in the way that makes the main focus on quality control of the workflow. For the first time, the Japanese strategic management specialists of Hirotak Takuetti and a professor in the field of scientific and technical knowledge Ikudzhiro Nonaka are called the "approach to Rugby" method, where Scrum is a "fight for the ball."
The method is that the development of the project is divided into sprints, at the end of which the client receives improved software. Sprints are strictly fixed in time, and can last from 2 to 4 weeks. The workflow in one sprint includes several stages:
- The volume of work is determined
- Every day there are 15-minute meetings so that team members can adjust their work and bring intermediate results.
- The results are demonstrated
- Sprints are discussed to search for successful and unsuccessful decisions and actions.
In most cases, the scar is used in working with complex software and to develop a product using incremental and iterative methods. Thanks to him seriously increases the performance of the team and the time costs for achieving the goal are reduced.
SCRUM improves results, helps to adapt the project to change, provides a more accurate assessment with less labor costs for analysis and allows you to efficiently monitor the stages of the work and the project scenario. All this is how it is impossible to meet business goals.
Kanban is another method making teamwork more efficient and productive. It makes sense to give the process of developing maximum transparency and uniform distribution of the load among project participants. An important feature of Kanban is that it motivates people for continuous cooperation, improvement and training.
Work on the Kanban method is built on several principles. First, all information about the project should be visualized, which allows you to see the lining, errors and shortcomings and actively eliminate them. Secondly, work on one task should be carried out simultaneously with the entire team - it helps to balance the efforts and the results obtained, eliminates the uneven load distribution. And, thirdly, the time for performing all tasks is strictly controlled, thereby optimizing the process and saves time.
Unlike the Skram, the Canban gained popularity much later, but this does not in any way detract from his advantages and does not make less effective. The method is useful both in the IT region and in the business sphere.
These are just examples of the main methods of project management based on Agile. But it is not necessary to neglect other methods such as Prince2, Lean, Six Sigma, XP, CCPM, ECM, Waterfall and others. In addition, Adjal, along with the benefits, there are some drawbacks.
Pros and Cons Agile
After comprehending Agile, it is important to know both positive and the negative sides of this methodology. Let's start with the advantages.
First of all, it is worth noting that Agile-management is very flexible. If, for example, the traditional methodology indicates specific stages of work, then the Ediela is easily adjusted to the consumer of the final product and the requirements of the customer.
Actually, and in the final product, the number of defects is minimized, because it is the result of a thorough quality test, which is carried out at the end of each sprint stage.
In addition, Agile quickly starts, easily reacts to changes, allows the team of developers and customers to maintain a permanent connection in real time. The benefits are obvious, but let's talk about the minuses.
The disadvantages of the methodology are that, firstly, constant feedback can lead to the fact that the Deadline of the project will be postponed, thereby creating a threat of infinitely ongoing work. If the customer sees, for example, only results, but does not have ideas about efforts that needed to achieve them, it will require improvements all the time.
The second drawback is to adapt project documentation for the changing conditions of the project. In the absence of proper informing the commands about changes or additional features, documents with functional requirements or architecture may be irrelevant at the current time.
The third substantial minus Azhaile can be called the need for frequent meetings. Of course, they contribute to improving the efficiency of work, but still the constant distraction of the team members can affect the process negatively, because people's attention systematically goes away from the tasks being solved.
This includes such things as the need for a constant presence of the client, the inability to build long-term plans and the need for motivated and highly qualified specialists. By the way, the latter to a great extent concerns and implement Agile-management to the organization's activities. And, comprehending Agile, with the theme of its introduction, too, you need to meet.
Examples of the introduction of Ediela to the work of companies there are quite a lot. And almost all of them say that it requires a whole complex of important events.
To begin with, a specific method is selected, which depends on the project conditions. Then the tasks and objectives, the main deadline and the timing of sprints, the number of teams and other components of the project are determined. It is important to choose a method that meets the maximum number of requirements.
As we said, a team of professionals need to introduce Agile. All its members should know the basic ideas and principles of the methodology and be able to apply them. If there are no such people in the company, employees need to teach. The management of the company, which decided to proceed to use Ajilele, should also clearly understand whether the organization is ready to change whether it is possible to apply the system to its projects, etc. Most often, to answer these questions, you have to contact Agile specialists.
At the next stage a person who has experience with the system is invited. He demonstrates her, explains the essence of sprints and actions, the functions of the members of the future team, the features of interaction between them and other issues. And only after that, a new team is formed, roles, tasks and responsibilities are distributed, instruments for conducting analytics, reporting, etc. are selected.
The final stage will be the first experience with Azhaile, i.e. The first project with its use. It is necessary to understand that mistakes, shortcomings, inconsistencies, backlogs are inevitable. We'll have to abandon one tools and replace them with others, it may be possible to change the roles between people in the team. The first experience is the process of adaptation, and the adaptation of the two-way: the company gets used to the methodology, and the methodology is adjusted to the company.
Summarizing this review, we recall that theory and practice are two different things. New techniques and technologies and their implementation are a kind of team challenge, and how to come to greater efficiency - the case is always individual. Agile is not a panacea and not a guarantee of success, but it allows you to set the right course and find landmarks on the way.
To implement any project, it will be necessary to change something, look for new solutions, generate unusual ideas. Only adjusting to constantly changing working conditions and customer requirements, you can find faithful ways of action. And the flexible management methodology of Agile projects can be faithful to the right assistant.
Agile is a whole family of methodologies for flexible project management. Interestingly, the very concept of management here is not quite faithful. It would be more accurate to use the formula "Agile is a method of command interaction that allows you to jointly create products." However, we are too accustomed to the strength of vertical, hierarchical connections, therefore, the use of the word "management" was stable.
- How to make sure that the delay in the work of one department did not stop the rest?
- How to cope with the development of a project plan not occupied up to 30% of the time from the total amount of its implementation?
- How, in the end, ensure that these plans are respected?
The managers of the most different level, from low-level managers to directors of corporations and government officials, beat these decades. But as long as the only known way of more or less controlled creation of products and project development remained phased - step by step, one after another, nothing with these challenges was not done.
In order to move to a qualitatively new level of project work, it took a fundamental change in the paradigm.
It turned out that it was simply no need to look for answers to most of these sick issues. They need to be removed, but the concepts that have brewed them, if possible to abolish. So, flexible methodologies arose on the site of the phased Waterfall-development.
The main measure of the effectiveness adopted in the flexible methodology is the product. While others only prepare the documentation, the Agile teams seek to present a working prototype. It is like in the famous motivating formula "Made is better than perfect." Implement the first function and start testing it by creating the following, and so once at once - here is the main rule.
The development stage in Agile is the most "once over time," is called iteration. Iterations have the same duration throughout the project and on average are two weeks. As part of a separate iteration, a specific task is performed, the main property of which is that its solution should update the product to a new version or increase its effectiveness. It is on this basis that such tasks are selected.
How does an iterative approach ensures flexibility? Due to the fact that individual processes can go in parallel and independently of each other. Yes, it must be recognized that this can increase the final term of development from the idea to a fully finished product. But the fact of the matter is that the working, functional and already capable of meeting competitors and please the product is created in Agile much earlier, and the cyclicity of improvements allows you to achieve much better study of such functions and capabilities to which the hands would not reach the planned work never.
The Agile team is based on the principles of self-organization and the relative equality of all participants. Even a person whom many represent the head of the project, Product Owner, in fact - only personification of product requirements. He fulfills the role of knowledge carrier about how the end result is expected, but is not a managers in a standard understanding. Since the habit of hierarchy is difficulty, in many teams of Product Owner, alas, you have to take over and controlling functions. But the ideal of flexible development is the collective responsibility of the team members in front of each other.
The principles of formation of Agile commands differ depending on the specific project. For example, in the music service Spotify they are built like this:
Another important value of Agile teams is the interpenetration of knowledge. A team member should not close in his narrow area, he should strive for cross-disciplinary. This does not mean that the programmer must be a seller, and the designer is a marketer.
But it is necessary to have basic knowledge about related specializations in flexible development.
It was originally assumed that it would simply increase the efficiency of work and the level of mutual understanding in the team, but today, with the development of neuroscience, it became clear that this approach in addition ensures that the brain is maintained in the tone and dynamic creation of new neural connections. Such cross pollination in Agile is called T-Shape. An illustration below will explain why so, better than any words.
The transition from cascading development, still familiar to many organizations, to flexible work methods on projects can be quite painful.
At first, You have to abolish hierarchy and at the same time ensure that all participants in the processes are able to equalize responsibility for the result.
Secondly, The transition to iterative development will focus on ensuring that each of the steps is guaranteed to bring something new to the product. It is not easy, the inertia of planned development will chase you the first few months.
Third challenge - If you keep customized development, it will be difficult to explain to customers the principles of work, and if we enter into a major organization, the same problem may arise when justifying the transition to Agile to higher leaders.
If you manage to cope, the processes will become noticeably more efficient, and the quality of work is higher. The main thing, never forget the four basic values of the Agile, from which the "Manifesto of Flexible Development" begins:
Following them will help at the implementation stage, and will help them in the process of work.
It is better to get acquainted with Agile and other modern methodologies used by IT to media and marketing, as well as to immerse yourself in the processes based on them, you can pass the Digital-Project Management rate from SkillBox.
Course "Management of Digital Projects"
The course will help you to evaluate yourself as a manager: figure out and understand why something does not work for you. Determine what skills and knowledge must be tightened. And do it, performing practical tasks.
- Living feedback with teachers
- Unlimited access to the materials of the course
- Internship in partner companies
- Diploma project from the real customer
- Employment guarantee in partner companies for graduates who defended thesis
We tell me that the Agile methodology is, on what principles it is based, as working in practice and what problems can provoke.
Agile is more than management methodology. This is a whole philosophy that promotes a radically different approach to project work. In this sense, Agile is generally not about the "management", but about work without managers, but with the team whose participants are responsible to each other. That is, "horizontal" instead of "vertical".
What is the idea
A flexible management methodology was invented to solve a number of classical / cascade / waterfall problems (Waterfall). For example, too much emphasis on the planning and influence of delays in some teams to the work of others. For this, as I said, I had to completely reconsider the look at the project work, and not to change some separate mechanics.
"Flexibility" lies in the abilities of the Agile team to constantly adapt to changing conditions and is achieved at the expense:
- Iteatitality . Instead of developing a plan for a long time, and then even longer to make the perfect version of the product, the Agile team is trying to release a working prototype as early as possible, and then after a time to test it and finish it. Iteativity can negatively affect the duration of development, but you almost immediately have a more or less working product.
- Self-organization . In the team, everyone is equal, there are no leaders and managers, which means there are no hellish approvals. It saves resources, especially time.
- Interpenetration of knowledge . Any specialist in the Agile team should have at least basic knowledge about related specialties. In addition to cross-functionality, constantly immersion in new topics allows you to keep the brain in the tone (in general, if the brain regularly gives new information, also the dementia will come much later; but this is a completely different story).
Brief history Agile.
A flexible approach begins its existence somewhere from the first half of the 20th century (although there is an opinion that something has similar about it before). Around the 30th physicist Walter Shukhart applies a Plan-Do-Study-Act an iterative approach, which is divided with his student to the Ulyyam Deming (now we know this approach to management, as a Deming cycle). After graduating from World War II, Toyota (the most, where Lean, Kanban invented, and a lot of things associated with Agile) hires Deming to train their managers.
In the following years, many companies invent their flexible control techniques: Scrum, XP, FDD and so on. But no one speaks about the "Agile" until 2001, the 17 developers practicing flexible management techniques are not going together and do not make up a manifesto software development (Manifesto for Agile Software Development. Here and the concept of "Agile" arises, around which today are so many conversations.
The main values of Agile-methodology
В article about project management methods I gave such a definition:
Methodology - A set of methods and principles supported by theory.
So here theory In the case of Agile - these are the values described in Agile Manifesto:
- People and interaction more important processes and tools . If in your team there are principles, traditions, structures, tools or conditions that clearly interfere with the work - they should be rid of them. People themselves must choose the organization's way, a set of processes used tools. In the end, all this should help work, and not interfere.
- Working product is more important than documentation . This does not mean "work on Agile - to work without documents." In Agile-teams, there are also documentation, but it does not spend a huge amount of time and resources.
- Cooperation with the Customer is more important than the harmonization of the terms of the contract . Look a little further coordination of TK and estimates. It makes no sense to spoil relations with the customer, even if the price is timely payment. If you can not agree work and spoil communication, in the end you will lose this client, and perhaps the following. Any contracts, documents and agreements should go on your hand with your customer relationships, and not spoil them.
- Ready to change more importantly follow the initial plan . Even if there is a project plan, in it, almost certainly, with time you have to make changes - this is the essence of Agile.
Still in the manifesto, the principles are described, but rather in an attempt to desete value. So I will not bring them here. If you want, go Read on Wikipedia .
What problems may be
Ai, what cool Agile, yes? Alas, although it can be used in any company (even if you - forgive, Lord - the bank), it is not suited to everyone. Yes, and its introduction can be extremely painful.
I see three problems (although it may well be that they are more), because of which it is impossible to advise moving to Agile in a row:
- It is difficult to abandon the concept of "boss - subordinate" . After all, Agile is not a way planning, but the philosophy of the work of the entire team. Not every company will be able to calmly relive such a transformation.
- Not everyone is ready for truly teamwork . Many people are more comfortable to work alone, report before leadership and not to climb anywhere. And in the case of Agile, everyone will have to understand everything and constantly participate in someone else's work.
- Not all are ready for the fact that part of the time may just aby . Suppose the team worked on the task, and then it turned out that the objectives of the project were changed and there is no point in continuing the almost complete work. All your efforts were in vain. This is a psychologically difficult situation that can easily kill all motivation.
But if your team is working on a bunch of projects, it knows his business well and drowns for the perfect result, perhaps Agile is yours.
Agile-methodology allows that the cascading model does not allow - to create high-quality products without a detailed plan for all stages. All thanks to the iterativeness, feedback of customers and employees and self-organization of the team.
The main thing, remember that Agile is a methodology and philosophy. To apply all this for project management, you need to collect your methodology from this designer or choose one of the existing things - I will tell you about them in the following articles.
A source: https://weeek.net/ru/blog/chto-takoe-agile"Any business always lasts longer than expected, even if you consider the law of Hofstadter."
- Law of Hofstadter
The most viewed movie on YouTube on Agile. 744 625 views at the time of publication of this article. Easy style of presentation, pictures and only 15 minutes - the best that I have seen. Ted rests.
This is PET,Owner of the product
. She does not know technical details, but it has a vision of a common picture, knowswhat for
We make the product, what problems he will decide and for whom.
. They will use the product, support it or will be somehow involved in the development.
. They expressed the wishes of interested persons. For example, "the air ticket booking system, the user should search for flights.
Interested persons have a lot of ideas, and PET helps to make custom stories from ideas.
. Those who willbuild
Since the team usesFlexible development methodology
They do not dig all these stories to a big release, on the contrary, they release them immediately and as often as possible. Usually they produce 4-6 user stories per week. It's theirsBandwidth
. It is very easy to measure - the number of user stories for 7 days.
Some stories are large, they can be considered for two, some small, they can be considered half.
In order to maintain this rhythm and not to be thrown in manual regressive testing, the command works hard onAutomatic testing
and constant integration. Therefore, each feature has to write autotestes, and most of the code has built-in autotestes.
The problem is that there are a lot of stakeholders and their requests cannot be satisfied with 4-6 stories per week.
Each time when we implement a user history, they have several more ideas that follow even more requests.
What happens if we do everything about what they ask us? We will have overload.
Suppose the team will take 10 new stories for this week. If there are 10 a at the outlet 4-6, the team will be overloaded. It will rush to switch between tasks, lose motivation, as a result, performance and quality decreases. This is a deliberately losing strategy.
Scrum and XP in this case use the "yesterday's weather" method. The team says: "Recently, we did 4-6 Fich per week, what 4-6 Fich will we do next week?"
The task of the product owner is to competently choose which user stories will be implemented this week.
Kanban recommends that several tasks - WIP Limit. Suppose the team decides that 5 is an acceptable number of user stories over which they can work simultaneously without overload, without jumping from one to another.
Both of these approaches work well and both create a queue of tasks that are called backlog in SCRUM, or a prioritized task list.
This queue also needs to be managed. If interested persons request 10 stories a week, and the team implements 4-6 stories, then this queue will become more and more. And soon your backlog will be scheduled for half a year ago. That is, one story will wait for the release of 6 months.
There is only one way to keep a list of tasks under control - this is the word "no"
This is the most important word for the owner of the product. He must train it every day in front of the mirror.
Say "Yes" - easy. But more important task -decide not to do
And carry responsibility for this. The owner of the product also defines the sequence that we are doing now, and what later. This is a difficult job and followed it with the development team and at least one interested person.
In order to properly arrange priorities, the owner of the product must understand the value of each story and its volume.
Some stories are extremely necessary, and some just bonus features. The development of some stories will take a couple of hours to develop other months.How does the size of the story and its value correlate? In no way.
No longer means better. The value and complexity of the task is that the PET helps to arrange priorities.As the owner of the product determines the value and scope of history? In no way.
This is a game in Gadayku. And it is better to participate in it to everyone. PET constantly communicates with interested parties to know the value of each story, communicates with the developer team to know the scope of work, but all this is approximate guesses, no accurate digits. Initially, there will always be misses and this is normal. Much great value is chatting than garbage digits.
Each time the developers produce something new, we learn more information and can better navigate.
One priority is not enough. To produce stories quickly and often, you need to break into pieces that can be done in a couple of days. We want small and clear stories at the beginning of the funnels, and at the end are big and uncertain. On time, we can take this breakdown. We can use our latest discoveries regarding the product and user needs. This is all called Cleaning Backlog.
Pat conducts a meeting on cleaning backlog each Wednesday from 11 to 12. Usually the whole team and sometimes several interested parties are collected on it. The content of the meetings is different. Focus on the assessment, on breaking stories, on acceptance criteria.
The owner of the IT product must constantly communicate with everyone
Material product owners highlight 2 components of success: passion for work and communication. What tasks the owner of the product decides the place with the team.
Balance between the complexity of the development and value of user history
At an early stage, the balance threatens uncertainty and several risks at once.
Business risk: "Do we do the right thing?"
Social risk: "Can we do what you need?"
Technical risk: "Will the project work on this platform?"
Risks with cost and periods of implementation: "Do I have enough money?"
Knowledge can be considered as opposed to risk. When the uncertainty is big, we focus on the acquisition of knowledge - interface prototypes, technical experiments,
Compromise between knowledge values and customer values
From the point of view of the customer, the curve looks like this:
From the point of view of value for the customer, this curve looks like this. As uncertainty decreases, we can concentrate on values for the customer. We know what to do. It remains only to do. After the basic stories have implemented, we will make bonus features or launch a new project.
Compromise between short-term and long-term thinking
What to implement first? Urgently eliminate errors or start developing a stunning feature that will affect users. Or make a complex platform upgrade, which will speed up work in the future. It is necessary to constantly observe the balance between reactive and proactive work.
Do the right things, do things right or do quickly?
Ideally - all three at the same time, but in reality you have to choose.
Suppose we are here. We are trying to create an ideal product with the help of perfect architecture. If we spend a lot of time, we can not get into the "marketing window" and we will have problems with money.
We make a quick product prototype. For the short term, it is not bad. In the long term - we get a technical risk. And the development speed will decrease to zero.
We are here, create a wonderful temple in record time. But the user did not need a temple, he needed a residential van.
There is a healthy confrontation between roles in SCRUM
The product owner focuses on building the right things. The team focuses on building things right. The SCRUM master or Agile coach focuses on reducing the feedback cycle.
Separately, it is worth emphasizing the importance of speed, so kkak a short feedback cycle speeds up learning. This allows us to quickly find out what things are correct and how to build them correctly.
Compromison between the development of a new product and the improvement of the old
The product can never be fully completed, because it constantly needs changes. When the team begins to work on a new product, what happens to the old? The transfer of the product from one command to the other is very expensive and risky. Usually the team supports the old product, developing a new one. Therefore, rather the concept of "backlog" refers not to the product and to the team. Backlog is a list of things that the product owner wants from the team. And set of stories for different products. The owner of the product needs to constantly choose relevant to implement.
Schedule of destroying stories
From time to time, interested parties will ask PET: "When will my feature release?" Or "How many Fich will release to Christmas?". The product owner must be able to manage user expectations. And manage expectations realistic.
Two trends are optimistic and pessimistic (you can face). The distance between the trends shows how unstable the speed of the team. Over time, these trends stabilize and the cone of uncertainty will decrease.
Suppose interested person asks when this feature will be done?
This is a question with a fixed content and indefinite period. For PET response uses two trend lines. The answer is in April or May.
Interested party asks PET: "How much will be done to Christmas?" This is a matter of fixed and indefinite content. The trend lines are cut on a vertical scale likely segment of what will have time to implement.
The interested person asks: "Do we have time to do these features to Christmas?" This is a question with fixed temporary framework and fixed content. Focusing on the trends, PET replies: "No". By adding: "We have time to do so much to Christmas, but we will need so much time to complete all this work completely."
It is usually better to reduce the contents of the project than to increase the time. If we reduce the content, we will have the opportunity to move the timing. We can release something here, and the rest - later.
The owner of the product makes the calculations weekly and uses extremely empirical data, and does not produce the desired for valid. He honestly talks about uncertainty. The team supports the tempo of work, and Pat does not prescribe on them, forcing them to accelerate.
Let we have several product owners and several teams. The same model is a bandwidth management, communications with stakeholders, making decisions about deviation of user stories. The speed is equal to the sum of the speeds of all commands. Forecasting may be general or for each team. The owners of the products appear an additional task - communication with other product owners. It is necessary to organize work on backlogs so as to minimize dependencies and provide synchronization. In large projects, the main owner of the product (CPO) is required to synchronize everyone else.
Source -Agile Product Ownership in A Nutshell
It is worth separating Agile as a family of flexible approaches and Agile as a philosophy and a system of values. In this article, I will only briefly describe the most popular approaches (Scrum and Kanban), and consider the second aspect in more detail: why are the values of Agile, which is behind them, where they can be used and what is the place of Agile in the overall picture of the process management, products and businesses .
This review Agile is designed rather for "kettles", which are starting their acquaintance with the theme. But if you are already familiar with Ajileil, use this article as a navigator: in each of its section there are links for deepening: detailed articles, educational videos, literature.
Than agile differs from methodologies
The term "methodology" applies to Agile by analogy with the preceding approaches to the organization of software development: RAD, RUP, XP and others.
However, those who came across Ajileil understand: it is not similar to the previous approaches that described the development process in detail. Agile brief: consists of 4 values and 12 principles. A description of the RUP methodology, for example, takes tens of pages, are many techniques and action algorithms. RUP (Rational Unified Process) includes splitting the life cycle of the development of 4 phases, recommended ratios of work on 9 streams (workflows) at each phase, as well as specific tools for each stream. Openup - the latest methodology-heir rup is shorter and more flexible, but still before the brief Agile is far away.
Methodology is a combination of methods and techniques that are used in different fields of activity.
The method is a way to achieve any goal.
Agile itself does not give algorithms, ways and techniques. At the same time, the "flexible" approaches included in Agile are often prescribed by specific techniques:
- For example, in a flexible XP methodology (extreme programming) include such techniques like pair programming and planning, which indicate very specific action algorithms.
- And even the SCRUM flexible framework, which, by definition, is not a process, technology or method, "yet prescribes to apply several roles, events and artifacts. Each element of the scope is mandatory for its successful use.
Unlike methodologies, methods and frameworks of software development, the basis of Agile is not specific processes and not even elements of processes, but high-level values.
Following these values increases the development speed and business effect from the products being developed. At the same time, the cost of development may increase, so Agile is not always needed. For details, see Agile Application section.
The conditional scheme shown above is taken from the book Boris Wolfson "Flexible Development Methodologies". This brief reference book on a huge number of flexible management tools is very good for its time (2012), when Agile was used only in the industry, where it appeared - in software development. If you are not related to this industry, for deepening, read more modern books without IT specifics.
Values agile simple words
Agile's values were born in 2001 in Agile-Manifest - as a result of the generalization of many then development methodologies by their authors.
Values are that general that defines priorities in work, regardless of the specific process and the subject of work. Each of the 4 values of Agile is formulated in the form of "x more importantly y", where x is:
- working product
- cooperation with the customer
- Ready to change.
Let's see why these values are Agile.
1. People and their interaction more important processes and tools
So that people work more efficiently Processes and tools should not limit them. In Agile, neither the process nor the more software instrument dictates that people do. Moreover, they themselves decide how to change the processes / tools of their work.
To speed up the development process People also need to interact directly (without intermediaries in the form of documents or other people), actively communicate in a person personally, and not written. True, in modern business, communication is often forced to go online. But then it should be a video link with interactive online boards, not just letters and chats.
2. A working product is more important than comprehensive documentation.
So that customers are pleased, They need a working product. Therefore, the product developers must focus that the product can be used as soon as possible, and not on the compilation of lists, diagrams, requirements, reports to the customer.
To fit in a short time with a minimum cost , it is often not necessary to associate yourself with documentation. Support for documentation in an adequate product of the state often slows down the development and requires unnecessarly high costs.
3. Cooperation with the customer is more important than the coordination of the terms of the contract
To get the product, really valuable for the customer It is worth abandoning unnecessary details in the contract between the contractor and the customer (as well as in the requirements of the internal customer to the internal product developer). Being rigidly asked on the start, the details of the contract prevent new data and priorities that appear only during development.
To make the business value of the product rapidly grow The customer with the developer must communicate tightly in the course of work. In this case, all arising changes and problems are promptly processed by both parties.
And so that such cooperation of the performer and the customer becomes possible, you need to build their trust in each other.
4. Willingness to change more important than the following plan
In order not to postpone the risks of projects in recent stages of development (When it is already too late to reduce the content of the work, shift the period or strengthen the command), Agile offers not only the iterativeness of the work, but also willingness to change at all stages.
To primarily the most valuable The current vision of business value and product positioning must be transparent to developers, and the process of their work should allow to make significant changes in previous plans. Including developers should be prepared to add unplanned new features to the product if they have become valuable in the changed situation.
As for readiness to change by representatives of the customer (client), in such a situation they can sacrifice something planned (but less valuable) for new opportunities. The customer's readiness to quickly sacrifice some part of the planned also needed in a situation where the performers faced unforeseen problems during the development.
Agile - Philosophy, Scrum - Its Implementation
Thus, Agile is not a development methodology, but a system of values that help developers to make new products faster and with a big business effect:
- due to more efficient interaction with the customer and each other, which is not limited to a strict contract or a rigid internal process;
- due to the rapid response to changes, and on both sides;
- Due to the focus on a working product, and not for auxiliary things like documentation.
These values are so common and even abstract, that Agile is often called philosophy .
Also found the term " Flexible image of thinking "(From English Agile Mindset), which means an understanding of the human values of Agile.
Amend the way of thinking of managers and performers with traditional on flexible is the most difficult thing to do to apply any Agile-approach in the team or in the company.
The image of the thinking Agile is now most often implemented through the SCRUM framework, so it is not surprising that these two words are very often used together.
- If Agile-thinking is not characteristic of people, SCRUM leads only to the rise in price, since it is necessary to allocate more time on communications and feedback, new roles are required, we need resources for training, to increase employees' interchangeability, etc.
- Conversely: without a specific approach (like SCRUM), Agile will remain only a beautiful philosophy - the abstraction that most people will not be able to turn into a guide for everyday work.
Therefore, Agile and Scrum are usually studied together. On our website dozens of articles on flexible management are collected in the heading Ajilele and Skram.
Historically, Agile also includes the Kanban method. Therefore, the most universal international certificate for Agile - ICAGILE CERTIFIED PROFESSIONAL - includes not only SCRUM, but also Kanban.
Agile is more difficult than 4 values
First, in addition to values, the Agile-Manifesto also has 12 principles that clarify and complement the values.
Secondly, in the article "What is an Agile approach and why it needs business" you will find a detailed presentation of 6 signs of work on Agile, which are much more specific than values and even principles. I will bring them here briefly:
- Customer needs are understandable to all . It is important that with Agile-approach to the client's needs, not only the business manager and the product manager are focused, but also the whole team. That is, each of the developers understands: who are customers that they need and what their problems solves a new product. It helps to find more adequate solutions.
- Processes and Organizations are as simplified as much as possible. . The rules and processes for which the Agile teams work should be simple so that people can focus on customers and on the product being created.
- Work short cycles (iterations) . The duration of the cycle is about a week or month, during this time developers give out any useful result for the client.
- System Receipt and Use of Feedback . Developers demonstrate the product to the customer, receive feedback to the product and information about changes in the customer's plans, then finalize, add something useful and so on in the cycle. But also the feedback cycle also works to improve the development process itself: to get rid of losses, delays and other obstacles that interfere with performance.
- Maximum powers from performers . Ideally, people independently make decisions and bear responsibility for them. When the team or even a separate employee itself (a) may, wants and has the right to solve some problem without waiting for actions from the outside, this significantly speeds up work.
- Internal motivation instead of "whip and gingerbread" . Agile methods help customize the processes in such a way that the staff becomes more free and happy at work, they see the demand for their work by customers, appreciate the trust and the opportunities provided to them for self-development. People with such internal motivation are more effective with work, especially if it is a complex creative work.
These 6 signs are characteristic of many flexible approaches if they are correctly applied. We now consider a little more detail what kind of flexible approaches.
Briefly about what is included in Agile today
The flexible "management methods" includes, in particular, the SCRUM framework and the Kanban method. According to Agile's research in Russia, Kanban is now ranking a strong second place in popularity after the scratch (except for self-made flexible approaches that love to invent in Russian companies).
In Scrum, work is conducted by sprints - the same in short iterations. All work is carried out by the forces of a small (up to 10 people) the team, which includes developers, the owner of the product (responsible for the success of the product) and the scram-master (responsible for the efficiency and proper use of SCRUM). The team independently decides who, what, when and how it does.
All team members together plan a sprint, jointly demonstrate the results to interested persons and together are looking for ways to solve problems with both the product and the process of work. During the sprint, the developers daily and verbally discuss obstacles, short-term plans and separation of work together.
Kanban is a method of improving the quality of service: a set of principles and practices that make service (or product development) faster and better than the relevant consumer expectations.
Kanban differs from scratch in many parameters, in particular:
- has a wider area of application (not only new products, but also support, operating);
- Unlike SCRUM, it is introduced gradually (without one-time change of current processes) and simply (without changes in the Organization, for example);
- aimed not only to accelerate, but also on the uniformity of the processes;
- It has highly different from the scratch of metrics, which do not require the assessment of the complexity of tasks (for example, the time of passing the task in the system);
- It is distinguished by the lack of focus on the self-organization of the team and the lack of direct communication Kanban-practitioners with Agile values (Canbana has its own values, many of which are quite consistent with the values of Agile, for example: customer-oriented, cooperation, transparency).
The first of the 6th practitioner Kanban is most widely used: process visualization - including using the so-called Kanban Board. This is a physical or electronic board with stickers denoting different tasks. Unlike the Skram-Board with 3 columns, in Canbane, it is customary to visualize on the blackboard every stage of the process, as well as share each column into two parts - "in work" and "ready for the next stage":
Of course, Scrum and Kanban are far from the only approaches included in Agile. But most of the other actively developing flexible approaches concern the problems of another level than those described in this article.
We are talking about the problems of major organizations that are forced to compete with startups both by the speed of the withdrawal of new products to the market and in the speed of decision-making. Such organizations help, in particular, SAFE and LRGE-SCALE SCRUM approaches, as well as non-Scrum of Scrums. This is the top three of the most popular approaches to Agile scaling, as the same study of Agile in Russia shows.
Distinctive features of all Something popular approaches in Russia related to Agile (as well as to a wider concept of Business Agility), you can look at one screen by downloading our card of flexible approaches for business in the form of a picture and as suitable for printing poster .
Agile area scope
Agile was based on conventional values. Therefore, Agile is used in various sectors: in banks and insurance companies, in retail chains and telecoms, and even in energy and industry. The wording of many principles of Agile refer only to software development, but most of them are applicable and outside IT.
Judging by the number of participants in Agile's research in Russia 2019, the IT industry loses its monopoly on Agile, having a share of less than 50% of the total number of people involved in Agile transformation.
Agile is not only for the development of software.
But this does not mean that flexible approaches makes sense to apply everywhere without restrictions.
One of the key restrictions Agile lies in the words "to develop new products". Let the "product" are used here in the broadest sense, but here New Products still develop only a small percentage of people. And especially effectively Agile manifests itself only in creative work and / or in conditions of uncertainty. Otherwise, overhead costs for Agile processes can exceed the benefits of Agile in terms of business, especially with ineptly configuring these processes.
- Agile is advisable to apply in a situation where the first version of the product needs to be released on the market as quickly as possible, otherwise the competitive struggle can be lost.
- Another situation where the values of Agile will be most effective: an innovative product with in advance unpredictable properties and / or with non-standard means (new technologies) for its development.
About Agile's applicability and about the main problems that Agile entails, look at the 5-minute video of Alexei Pimenova:
Read more about why and when you need flexible approaches, you will learn from free Agile video tutorials (11 video, 65 minutes).
Books on Agile in Russian
References for Agile in Russian may have two dozen publications. But I will give only 4 books that weakly intersect with each other for their intended purpose. The two first books are suitable for the first familiarization with Agile, the two seconds are rather for those who already apply flexible approaches in the work.
Brilliant Agile. Flexible project management using Agile, Scrum and Kanban.
Authors: Rob Cole, Edward Scotcher
The book is focused primarily on those who plan to move from classical project management to flexible.
Agile's era. How smart companies change and achieve results.
Posted by: Stephen Denning
The book describes how flexible management methods work at different levels up to top management, how to correct goals on the development of the company and how to achieve them.
Scrum. Revolutionary project management method.
Posted by: Jeff Sutzerland
Book from the founder of framework Scrum. In Russian translation, the name of the book is inaccurate (SCRUM is not about project management), but it is still considered to be mandatory for reading the scarmasters. The book is well read and reveals the benefit from each element of the Crach.
Scrum and Kanban: squeeze the maximum.
Authors: Henrik Kabberg, Mattias Skarin
The electronic book in open access, while it is excellent illustrated by examples and contains a detailed comparison of the scrap with Kanban. It is especially useful to thymlides, scars masters and everyone who controls someone or anything at the level of a separate team, especially the "IT,".
Summary. Place Agile among related management approaches
So, Agile is not a methodology, not a set of recipes, not boards with stickers and not a standardized set of team meetings, prescribed in SCRUM.
This word now has two basic meanings:
- Agile is a value system (or image of thinking, or philosophy, if you like it better), which contributes to the rapid development of new products that meet the needs of customers.
- Agile is also a collective name of very different approaches to development management, some of which do not even share all 4 values of Agile (example - Kanban). So historically developed.
Agile focuses on Development - More precisely, on the implementation and supply of finished products. Whereas for generating and verifying the ideas of new products, Agile should be supplemented with various product approaches: Customer Development, Design Thinking, etc.
On the other hand, Agile is about Process organization Development, and not about technical details of the implementation, depending on the industry. For example, in the IT industry with the same purpose (fast delivery of value to the client) so-called engineering practices and Devops are used, but they are not included in Agile.
Agile helps to solve two main tasks typical of modern business:
- reduce the time of the output of products to the market / time of their supply to the consumer;
- Accelerate decision making at team level and higher.
For approaches to acceleration at the level of programs and portfolios of projects ( In large organizations ) Enumerately apply the term Enterprise Agility, although in many contexts they are also attributed to Agile.
As for approaches to improving flexibility / decision-making At the level of the whole business This is much wider than Agile. So, to designate such approaches, the term business agility should be used, which has been distributed in the late 2010s. The business flexibility includes not only a fast delivery value to customers and a quick response to changes, but also the flexibility of goaling and distribution of resources in the organization.
Among the 12 business flexibility domains shown in Figure, Agile fully covers the domain "flexibility of processes", but also is associated to one degree or another with 5 other domains at least.
Thus, although Agile has appeared much earlier than other fashionable management terms, it does not lose its relevance. Whether you are at least a top manager, at least the head of projects, at least the developer of products, values and principles of Agile-Manifest you should understand and remember that your flexible process brings the expected benefits.
And to remember them better, download a poster with a visual presentation of values and the principles of Agile.
I hope this review article will serve as a good navigator for further deepening in Agile. At a minimum, it will allow you to distinguish literate articles, videos and courses on flexible approaches from non-professional analogs, and also keeps you from Agile's use in those situations when it is inappropriate.
What is Agile
First, it is an adjective. Translated from English as "Yurky, Shours, Maneuverable." The noun agility means the ability to change the direction of movement without loss of speed.
From my point of view, the generally accepted translation of the full term Agile Software Development as "flexible software development" is not very accurate. The authors of the term initially considered the option Adaptive, and it seems to me a little more accurate than Agile.
Secondly, Agile is philosophy , worldview, crystallized from many years of practitioners. Before the Agile Manifest was formulated, its authors for more than 10 years worked out various approaches to creating software. Now these approaches are known as "flexible", among them - SCRUM, EXTREME PROGRAMING, Crystal, Feature Driven Development and others.
In the manifest, the authors described the values and principles that are guided by work. If you find fault, then I was correctly called them.
Thirdly, Agile is a family of methodologies. . Unified Agile methodology does not exist. The authors of Manifesta tried to make it up, but then decided that the creation of a template would not work for all situations and that would they limit the possibilities of applying Agile.
Instead, there is a group of approaches to realize the values and principles of Agile in practice. In addition to the above mentioned above include Nexus, Less, Safe and some others.
In addition, many companies create their own approaches that are sharpened by their tasks, structure and culture. For example, SPOTIFY did this. So you can create an approach to yourself, and if your corporate methodology allows you to implement the values and principles of Agile, you can safely consider it flexible.
Basic principles Agile
Four values and 12 principles of Agile are formulated in the already mentioned manifest. At the same time, the values were formulated primarily, and the principles of the authors later painted. It is values that are the basis of Agile, and their misunderstanding is the source of Agile myths.
Value 1. People and interaction more important processes and tools
The authors of Manifesta faced the fact that corporate methodologies and the Organization often did not comply with the needs of the organization. Since then, little has changed - established procedures in large corporations impede the creation of new products, organizational wells interfere with the effective work of project teams.
The authors claim: people and their interaction should define a set of processes and choose tools. The needs of the interaction of teams are primary, processes and tools must help them, and not interfere.
This does not mean that chaos and anarchy are going on in Agile. Flexible frameworks give a high degree of adaptation, while they require harsh compliance. Teams should be able to adjust the processes, but must follow them.
Value 2. Working product is more important than comprehensive documentation
Incredibly stable myth that there is no documentation in Agile. This is not true. The documentation is very important, especially the one is related to the development of the product. However, in addition to working documentation, many unnecessary documentation is often created - first of all, because in many companies it is used for communication. Technical tasks, various justifications, budgets and the like.
Much of this documentation also does not also carry the values to the client! First create a product, and then document it.
Value 3. Cooperation with the Customer is more important to harmonize the terms of the contract
Carry the value to your client or customer. If you enter into a contract, around which at the end of the project are long arguing and judged, you will lose. Even if you finally pay. You will spend strength and time and destroy relationships with the current customer, and possibly with future too. In Agile, the main focus is directed to the client. It is necessary to cooperate with him - and the contract must support this cooperation, and not interfere with it.
Value 4. Readiness to changes more importantly follow the initial plan
From this wording follows the myth that there is no planning in Agile. This is not true. Flexible approaches were created for the conditions of uncertainty and frequent changes. Pre-planning, that is, an approach, when we first plan to plan a project for a long time, distribute resources and tasks, it does not work.
Of course, it bears certain benefits, but priority is given to planning operational. As a rule, the horizon of detailed task planning is 2-4 weeks. If everything around changes often - your plans should also.
We will not disassemble all 12 principles - this is enough for several articles. I recommend reading this part of the manifest yourself.
There is another basic thing that is important to know for an understanding of Agile - an iterative-incremental approach.
The iterative-incremental approach lies at the heart of flexible approaches. Its essence is not to develop the entire product entirely and supply the result in the end of the project, as in classical projects, but to act gradually, small parties.
Iterative and iterative-incremental approaches. Illustration of Jeff Patton
Working out the product in small iterations, we get the opportunity not only to put value to the client. What is much more important, we get feedback from customers. Was what we do? Are we going there? Is the goal even relevant? You can answer these questions only by giving the user something that he can use, touch.
To achieve this, we decompose our product to more or less independent valuable elements. In SCRUM, a list of such elements is called "BCLOG", but in essence it is a prioritized sheet of wishes relative to the functionality of our product.
I focus on the word "prioritized", because in conditions of uncertainty we cannot be sure that the project will be brought to the end. So, we should make the most valuable part of our product as soon as possible.
The law Pareto states that 20% of effort gives 80% of the result. Sometimes even these 80% of our backs are enough for us or our customer.
What Agile is different from SCRUM
SCRUM is a term of rugby, in Russian - fight. The name came up with Ken Swabab, one of the authors of the scrap and rugby fan. Apparently, the number of players and how they are going around the ball around the ball, reminded him of a team working on the scope. Ken Szvaber and Jeff Sutherland created a scram in the 90s (and after almost 10 years they participated in writing Agile-Manifest).
This looks like a rugby
The scar is a process framework designed for creating, supplying and supporting complex products. This is a quote from the official "manual on the scope", and some words in it need an explanation.
The framework is a framework, the base for the process. That is, the Skar is complemented by different practices necessary to create a full-fledged process for one team developing any product.
The authors intentionally did not make a full-fledged methodology. They rightly reasoned that then the scope would become more and more difficult to master. Instead, they created a simple, compact, scalable process frame, applied from software development before creating new steel grades.
The scar is designed to create products, not projects. The product approach differs from the project that products have a longer life cycle. Products can live decades and are not limited to some specific period.
In addition, products are stronger focused on the supply of values to the client and making money, while the project approach is aimed at meeting the customer by complying with the deadlines, budget and content.
The complexity of the product can occur from:
- uncertainty of the ultimate goal;
- uncertainty of the method of achieving this goal;
- a large number of unknown factors, such as the relationship between processes in a large organization in their automation;
- Permanent changes in the product and its surroundings, whether technology, requirements or market conditions.
The scar is best shows itself in such conditions. For example, you create something that did not exist before - the device for bottling beer into glass bottles right in the store or the inspection method through messengers. Or are you trying to translate into an electronic type of document flow of a large organization, during which new demands from interested parties, restrictions and integration are constantly arising.
The product is created by iterations that are called sprints in the scram. These are segments of time from one to four weeks, during which a small team (3-9 people) is trying to create a part of the product, which, ideally, you can put the client and start bringing it to him. After that, the team collects feedback, makes changes to your plans if they are needed, and starts a new sprint.
The team is the basis of the process of the scar. It includes participants with all the competences necessary to create a product. The team in the scram must be self-organizing - this means that the team members themselves agree on how to achieve their goals, distribute the tasks and, if necessary, change the processes.
At the same time, the team is not granted to herself. Business goals in front of them puts the owner of the product - a person responsible for the value of the product being created and representing the interests of the client.
But the most unusual role in the scram is a scram-master. This is a specialist in building a process, both mentor, and coach. His task is to help the participants become a cool team: learn to negotiate, constantly improve the process, create a valuable product and do it effectively.
He must have the skills of leadership, facilitation, coaching and know how commands are formed and functioning. His duties also include teaching the team to scratch and complementing his practices.
Source: Versionone State of Agile 13 Annual Report
Skar is the most popular flexible framework. It has been worked out with hundreds of teams, there are many materials on it, it is suitable for a wide range of tasks and easy enough to master.
Of course, only a small part of the teams reaches a high level of skill in scrub, as it requires a change in the culture of the organization and thinking of people. Nevertheless, this is a great starting point for those who want to try themselves in Agile.
Examples of projects and application Agile
Agile's casing in the world is a great set, and our country is also not lagging behind. In the first rows of practitioners of flexible approaches in Russia, the country is being held by IT companies. They are followed by banks and insurance companies. These are mainly the commands, one way or another associated with IT. However, there are less typical cases.
In Severstal, there are several product agile-teams involved in the development of metallurgical products - from new steel grades to packaging tape and steel tiles.
Development is carried out in small cross-functional commands. The typical composition of such a team: marketer, sales specialist, production and support staff.
Together with the owner of the product and the scarmaster, this team of iterations creates new products for the market. All tools are used: market research, customer communication, lending, experiments with prototypes and sales of small parties.
As soon as it becomes clear that what is needed, the team begins to work on the scaling of this product until it goes to industrial rails. Due to the more complex and long production cycle, such commands, as a rule, work sprints for four weeks.
On the same principle, teams in banks and insurance companies are working. Sometimes a team or several teams are located not one product, but the direction of the business. For example, auto insurance or consumer loans. The larger the scale of the product, the more people are required.
Thanks to scratch scrap, several teams can work on the creation of new products and channels of promotion in the Digital-Medium for car insurance.
A completely large scale requires additional processes such as Nexus, Less or SAFE. Keis is known for the creation of the 5th generation aircraft SAAB. The Gripen-E model created more than 100 commands, each of which has developed its block, a node or subsystem, as a result of which it was possible to achieve the impressive product characteristics when complying with the established constraints.
Usually, Agile-tools are more likely to social technologies - retrospectives, daily team meetings and so on. But they include some physical artifacts.
Most often, Agile is associated with stickers and task boards, also called Kanban-boards. Such an association is true only in part - not the boards and stickers themselves are important, but how you apply them. First of all, these are tools for collaboration. They allow you to more effectively hold meetings, use techniques like brainstorming or work in small groups.
Task boards are a visualization tool. They provide transparency, allowing the team effectively without the help of the manager to distribute the tasks among themselves, to find bottlenecks in the production process and rapidly carry out frequencies.
Also in Agile, various graphics and boards with metrics are common, on the basis of which the team determines its progress and makes decisions. They are often placed on the walls in the room in which the team works. Such a tool is called an information radiator. It continuously broadcasts the command information, as if "command memory" works.
There are many digital analogues of these tools with impressive functionality. However, when moving colorful boards and flipcharts with graphs in the Digital-space, the effect of "radiation" of information is usually lost.
We and so many channels in your phone and computer - and often useful information from the board loses competition to other channels like mail and messengers. As a result, participants need to spend the forces to search and the perception of this information.
I usually recommend starting with physical instruments and digitalize them with an increase in the maturity of the team. And then if there is such a need. Tools should help communicate, and not interfere.
In case you have a team in one room (or you can assemble them in one room), the effectiveness of physical boards and other information radiators is higher. However, if you have a distributed command, you are simply necessary for digital tools, and in no case should save them.
Agile is an approach to create products in uncertainty. Flexible approaches are useful when we are not fully clear the goal or the path to it. If you are in such a situation, Agile will allow you to achieve success with more likely.
Source: Agile Research Report in Russia 2019
In areas with a high share of Agile uncertainty, gives a high increase in efficiency. StandishGroup research shows that flexible projects on average are more successful than Waterphic.
Source: 2015 Chaos Report from The Standish Group
In some cases, Agile is the only possible approach. For example, when we develop a newly emerging product. Yes, we know that, most likely, do something right - no longer a startup, there are customers and so on. But what exactly? Where to send an effort? Where does the market move? You can get answers to these questions thanks to Agile.
For flexibility you need to pay. First of all, we are talking about the cost of processing, or "record". Sometimes at the end of the iteration, we learn that the whole month fled the wrong side. On the one hand, it's good that only a month, not the whole project. But in any case, you have to throw away everything that they did, and start first.
Some organizations are very concerned about such costs. They can be reduced, if you create a condition for the team in which it will be able to quickly and as much painfully erroneously err according to the informal moti of Agile "Fail Fast - Fail Safe" ("Oshbay, as soon as possible - scraping safely"). However, such structures and environments are also expensive.
In addition, we will need motivated employees who will have to communicate many and efficiently among themselves. And this means that either they need an office jointly with a negotiation, or have to be well to invest in distributed communication tools.
Sometimes such spending are not needed - for example, if your project is not difficult with a high share of uncertainty. In this case, it can be implemented without Agile. Yes, sometimes you just need an experienced manager, a competent team and a well-planned project.
How to implement
Agile cannot be implemented. Agile is the transformation of the processes and culture of the organization.
There is no single standard recipe for any organization - they are too different. From the organization and its needs, it depends on how the approach is suitable and what tools you need to take up. In addition, many Agile organizations simply do not need.
But if you still decided to try to apply Agile in your organization, it is worth starting with a pilot. Choose a product, collect the team, teach it one of the Agile approaches. Try them to apply and see what happens.
For a start, agree with the manual. Without supporting top management, any serious organizational changes are doomed to failure - without proper protection, the first sprouts of new thinking in the organization will be absorbed by the existing culture.
Select the product or the idea you want to turn into a product. To increase your chances of success, take something interesting and meaningful to your organization, but not urgent. Something that will be interested in leadership (potentially profitable new product) and future team members (with ambitious and interesting tasks).
Then teach the team. For the start, the widespread approaches are best suited - Scrum or Kanban. There are many materials on them, it's easier to find a course for the team and hire employees familiar with techniques and tools. Highlight two or three days to deeply immerse the team members and stakeholders in a new process.
After learning, run the command and trust her. Let her explore the approach, adapt it to the needs of the product and organization. The process of transformation in most teams takes at least a year, but the first results can be expected through the quarter.
During the pilot project, it should be clear how Agile as an approach is coming up in an organization, what are the restrictions and how appropriate to apply it.
The following steps are individual - someone launches a few more teams. Others launch large-scale transformation, and some generally refuse Agile.
Agile as an approach is gaining popularity due to the growth of the uncertainty of the world around us, technology development and digitalization. The use of flexible methodologies and tools allows organizations to increase the efficiency of processes and create valuable products for their customers.
Against the background of a constantly growing competition, the ability to quickly rebuild and adapt is becoming increasingly important for most organizations. So, existing flexible approaches will continue to develop and new will be created by organizations to obtain an advantage.
Photo on the cover: Shutterstock / Den Rise
Images in the text provided by the author