📜 ⬆️ ⬇️

It is all about Agile - 2: features of the introduction of agile development



We continue to discuss the nuances of agile development (Agile) that occur in practice. How to understand whether Agile is correctly implemented, what practice is suitable for which task and industry, who in the company should transfer work to Agile Rails? Agile-Coach ScrumTrek Vasily Savunov continues to share his experience with the editors of the Mail.Ru Cloud Solutions blog .

Vasily last time told us what Agile is, what methodologies it includes and what stereotypes have formed around it. Now let's talk about its implementation.

About Agile Companies


- Are there “industry preferences” in flexible methodologies?
')
As the Agile Russia study shows, which we have been conducting for the second year in a row, Scrum is mainly used in software development, Kanban is used in financial organizations, and in the telecom industry both.

As a person who directly analyzed the collected data, and worked with many of the respondents, I believe that this situation is due to two reasons:


Kanban telecom is also suitable. If only because the vector of development of the industry is digitalization. However, so far few people understand how it should look like. In addition, in the telecom, the “fast” part of the work (software development) is adjacent to the “slow” part (support and development of the hardware infrastructure). Therefore, along with the experiments that are carried out according to Scrum, it makes sense to accelerate evolutionary processes using Kanban.


Agile development techniques adopted in various industries. The amounts are not equal to 100%, because you could choose more than one item. Image / ScrumTrek

- How are mobile developers doing? Does Agile have any specificity in mobile development?

From my point of view, the main difficulty in developing mobile applications is identifying application requirements, because it can be difficult to identify stakeholders. These difficulties can be overcome if customer development is used to research customer needs and Scrum to quickly test product hypotheses.

Customer development
Customer development , custdev, custom development, customer development (interesting, and what does anyone say?) Is an approach to creating a product through constant testing in the real market and an improvement in the results of these experiments. This brings the customer together with the scientific method, making the creation of a product "scientifically based."

CustDev is one of the elements of the Lean Startup methodology, which, in turn, is one of the Agile approaches for creating products.

In general, Agile is perfectly combined with mobile development: it requires a quick response, involvement and well-coordinated work of different specialists, the ability to quickly provide the result and, if necessary, change it.

In addition to Scrum, you can also use mobile-oriented approaches here. For example, Mobile-D is based on XP, Crystal, and RUP — approaches that are rather ancient and well-developed. The main difference between Mobile-D and Scrum is that there are clear phases and a dominant focus on the engineering side of the product development. If Scrum pays more attention to the management and delivery of the product, then Mobile-D focuses on the production process and includes XP practices that significantly improve the quality of the final product. At the same time, the influence of RUP affects, therefore the process is rather formalized.

Another, the most modern approach to mobile development is SLeSS , combining Scrum and Lean Six Sigma . First, he implements the Scrum workflow, and then he uses Lean Six Sigma approaches for statistical quality management. It seems to me, SLeSS combines the necessary flexibility with the mechanisms of informed decision-making based on statistics.

At the same time, Scrum Guide does not initially prohibit the inclusion of any other approaches and tools into the Scrum workflow that may be useful for product development. Therefore, all of the above can be implemented in the framework of the "classic" Scrum.

- How flexible are the methodologies that can be modified for particular conditions?

Here it is necessary to consider separately Scrum and Kanban.

Scrum is a framework, that is, a framework, all the elements of which are mandatory: events, and roles, and artifacts. None can be thrown away. But there are no strict requirements on how to implement these elements exactly - do as you like. And Scrum does not forbid adding new elements: meetings, artifacts, roles that you need to work and help speed up the process.

Kanban - a set of tools and metrics. It does not give rigid installations about what tools and in which combination to use, since it is designed for a long evolutionary change of the existing system. But at the same time, the success of Kanban is determined by the collection of data on the working process and their regular analysis. If this is not done, with time everything will stall and there will be no further improvements. But do not worry: as Edward Deming said, you do not have to change, survival is voluntary.

- What are the typical mistakes when adapting a Scrum makes a business?

The main mistake in the implementation of flexible methodologies is the use of tools without understanding why they should be used specifically.

For example, in large organizations, when implementing Scrum, they often simply rename the project manager to the product owner, and the project team - to the Scrum-team and begin to demand to give the finished result in two weeks. But this does not work, and for a very simple reason: the conditions under which Scrum can work are not fulfilled.


There are a lot of negative consequences of such inept "implementation", and they begin with an attempt to reproduce the mechanics, but not the essence of Scrum. The main errors in the implementation of Scrum, I described in detail in his report " Stop signals for Agile " at the conference CodeFest 2017.

- How to evaluate how competently flexible methodologies are implemented in the company?

There is a test Scrum Open , but it is more likely to test theoretical knowledge. What happens in practice, he does not understand. Given that Scrum's foundation is teamwork, and its priority is product delivery speed and customer value, it is best to conduct 360 surveys . So it is safer to establish the degree of maturity of the team and customer satisfaction.

We use our own methodology, which is embodied in the service ScrumTrek Diagnostic Tool . It works like this. The team and stakeholders outside it are asked a series of questions about how they assess the level of teamwork, the planning of their work, the value of the result delivered to the customer, interaction with other teams, and so on. For each parameter, a median of opinions is calculated and a complex pie chart is built - Radar, which displays the view both from inside the team and from the outside.


ScrumTrek radar. We look at the range of estimates


ScrumTrek radar. We look at the medians

The scheme contains a lot of useful information.


A small scatter speaks of consensus and good teamwork.


After data collection, a chart analysis is necessarily carried out with the involvement of the whole team and stakeholders. Everything to show them how the work of the team looks from different sides, and to reorganize the results of the analysis into concrete steps to improve the work.

About Scrum Implementers


- From whom should the initiative of introducing agile development methodologies come from the company?

Scrum implementation always comes from a business goal. Therefore, the customer should first think about acceleration - either internal or external. Then you need to work out the concept of the product so that it can be done iteratively. And only then form a team. Scrum for Scrum doesn't work. Moreover, it may be too expensive for specific tasks.

Who will be Agile's guide to the company is a question without the only correct answer. I saw the technical director become the "instigator" of changes. There were cases when the initiative came from the business, and even saw how such an initiative was born “from below”. Everything depends on the energy and motivation of the person, on whether he will be able to embed his vision of development using flexible approaches in the business context of the product or division.

Ideally, when the initiative comes from top management. Advances in this direction in the Russian market are noticeable.

- What new roles and functions arise in an organization or team with the introduction of flexible methodologies? Which ones are required, which ones are optional?

In the case of Scrum, these are the roles of the Scrum master, product owner and development team. All of them are required. The development team is also considered a “role”, as it unites not only developers, but also all those who need it, so that a product basically emerges: analysts, designers, and so on.

A Scrum master and a product owner may have assistants who take on part of their responsibilities, while the responsibility for the result remains with the Scrum master or the product owner.

The product owner is often a person of business. But not necessarily: for example, if we create some kind of engineering solution for production, this role can be performed by the chief engineer. Ultimately, this is the person who best understands what consumer we are making the product for, what problems it solves in the first place, how priorities should be set up when creating it. It is very important that the product owner has the authority to independently determine the composition of the product on the basis of data from the market and from the consumer. He should have the right to say "no" to interested persons with whom he interacts. It is necessary that priorities are agreed, and decisions are made promptly.

A scrum master is a person whose task is to create a strong, cohesive, responsible, and ideally self-organized team. What is important is not a tmlid , that is - not a leader. Scrum-master has no right to give guidance or directly intervene in product development. He is an organizer, facilitator, coach and Agile practitioner. In my experience, the best Scrum masters are obtained from project managers - provided that they have been trained and managed to move from the directive format of communication to the coaching one.

Coaching communication style
Coaching communication style is when we communicate with people on an equal footing. We do not perceive, a priori, adults as independent people as wards whom they should supervise, but try to encourage them to search for an independent solution to the problem. And only if they come to a dead end - then we interfere and help with our expertise. In other words, in the coaching style of communication, the directive approach is replaced by delegating.

An example . A subordinate comes to the manager, and says: “I can’t choose the best one from the two implementation options. Resolve you! ”

If you use the coaching approach, the manager will start asking questions: why did you choose these two options? And what did you come from? What is the difficulty for you in choosing between them? Who can help you more? And so on. Through questions, the head coach helps a person to explore possible options. As a result, the person himself already understands how to do better, and the manager will only have to agree on the dates when the subordinate will come and tell you what happened.

The next step for the delegation - sighting. In a sighting approach, an employee or team goes to such a level of maturity and responsibility that the manager provides only a high-level formulation of the problem from a business point of view. An employee or team independently considers options for decisions, assesses deadlines, identifies risks. The head simply endorses all this, perhaps - he adds something in terms of his expertise and makes some adjustments. Then agree on temporary milestones when you need to show results. Further, the employee or team is responsible for the implementation and demonstration of the results. In a sighting approach, the manager acts only as a curator and assistant for an employee or team as part of their business objectives.

Speaking of coaching communication style. There is also an Agile Coach . His task is to customize the workflow, train people and give them the tools for daily activities in Agile. Including conflict resolution tools. Everything else is outside his remit. Ideally, an Agile-coach should set up the work of a team or even a department so that everything works on its own, and the Agile-coach is no longer needed.

The transition period is always associated with discomfort. Agile-Coach is designed to help the team go through this period with minimal friction and develop new - convenient and effective - methods of work.

When scaling, additional roles may be introduced, as described, for example, in the SAFe framework , but they are still based on the terms of reference and principles of the Scrum-master or product owner: there are simply hierarchies relative to the product.

Safe
SAFe , or Scaled Agile Framework - a framework for using Agile in large software development teams. In the simplest implementation, the approach assumes two levels: team and program (Team and Program, respectively), as the organizational structure and product become more complex, Portfolio and Large Solution are added to them. Work on SAFe relies on an entity like the ART (Agile Release Train) - “release train”. It, as a rule, unites several teams and interested persons in a structure that for a long time together creates a product or a part of a product that is of value to the customer.

- How are the functions of the product owner and the Scrum master "in an ideal world" delimited?

On one side of the scale are the interests of the business that the product owner represents, and on the other, the viability and effectiveness of the team for which the Scrum master is responsible. In order for the team to quickly achieve results, the system must remain in balance. If the product owner “wakes up”, the team will work on nights and weekends, and soon he will be in front of a handful of demotivated, non-involved people instead of a well-coordinated team. If the Scrum-master drags itself over the blanket, the development will be conducted neither shakily, nor shakily, with constant disputes and much longer than necessary.

Example
That it was not abstract, here is a fictional microdialogue within the team. See what each of his roles says:

Product Owner : So! We will need to do this feature! You did a great job in the last sprint, so I think you will have time!

Scrum-master : But last sprint the team made a feature of similar complexity at the limit of its strength, we had to go out on weekends, and some people worked at night. Another such sprint - and people will start to fall ill, burn out and, perhaps, the outcome will begin. Let's not bring to this?

Product Owner : Is it really that serious? If yes - let's discuss with the team what can be done for the sprint without burning people out. In this feature there is a part that must be done necessarily, it does not look very complicated.

Scrum-master : Let's discuss with the team. You know that only she can say, “difficult” is a task or not.

Product Owner : Come on.

- What methodologies and management models should be mastered by those who are going to take on one of the previously described roles?

In terms of business competencies, everything is “in the classics”, as with ordinary management, except for the need to define priorities in stages and work more closely with the team.

The product owner should learn Lean Startup, customer development and other modern approaches to creating products.

For the Scrum-master, the set of competences is wider: facilitation, conflictology, group dynamics, coaching and, of course, Agile practice. Rather, these are skills from the field of psychology, so their lack in training managers is felt.

- Does collective ownership of the code really reduce the company's dependence on “star” developers? Is their motivation falling?

Collective ownership of a code is feasible without flexible methodologies. There is enough agreement on code review and other formal rules, and developers can act atomically.

Often, the company itself provokes the "star" behavior of engineers: at first glance, it is more profitable for it to fork out for a superspecialist and entrust him with a whole direction with his full responsibility for the result, than to collect a team of average people, systematically reduce risks due to mistakes, increase their professionalism.

This is a dilemma: either short-term or long-term success. It seems that hiring a "star" is good for business. But what will happen in three years, in five, seven years after such a pro joined the company? It will become indispensable. And with at least three negative consequences.

First, such a person has almost no free time , and the company, by and large, is indifferent. Her logic: "We pay you a huge salary not for you to rest." Getting into a similar situation, people quickly burn out, fall into cynicism and try to extract maximum benefits from their position.

Secondly, an indispensable employee begins to fill the priorities of the company. Instead of embodying the intent of the business, he can independently make decisions about what is necessary and what not to do. And there are no levers of influence on him : for several years he learned everything about the product and system, and the horror is that, as a rule, no one else knows. Such specialists will carefully protect their knowledge, their expertise as insurance against dismissal or lower wages.

Thirdly, the achievements of such a person cannot be “scaled” . If you have conceived to expand the development team, be prepared for a big turnover: newcomers will be rejected, “hazing” will flourish with a terry color, since it will be unprofitable for the “old men” to share experience and knowledge. It is hardly possible to speed up the development either: everything will be limited to the performance of an individual and indispensable Vasi Pupkin, who is satisfied with everything and who is not going to change anything.

- What to undertake, to still go to the team approach?


Remember, we are dealing with the transformation of corporate culture, and this is a daunting task. As Peter Drucker said, "culture eats breakfast strategy." No matter how perfect a formalized strategy you propose, it will not be possible to bring it to life, if people have "not accepted" the corresponding behavior. To better understand the issue, I advise you to read the book by Daniel Brown and Itse Kramer " Corporate tribe. What can an anthropologist teach a top manager ? ”

The material was prepared by the team Mail.Ru Cloud Solutions .

Source: https://habr.com/ru/post/431898/


All Articles