- We will not be able to meet the deadlines!
- Apply Agile!
- Without enough people, he will not help us!
- Then think up another clever word!
Recently, I often hear: they failed because they had chosen the wrong product development methodology. Now, if you applied Scrum / DevOps / Agile / something else, then everything would be fine. It seems that these people do not understand something in the development of software.
Alastair Cowburn in his
article analyzed various software projects that were carried out on different models from completely “light” and flexible to very “heavy” and formalized. He found no correlation between the success or failure of the projects and the models of the development process that were used. From here, Coburn concluded that development effectiveness is independent of the process model.
')
There are dozens of methodologies, but none guarantee the result. In each new project, the process must be redefined every time. Basically, the process selection depends on the
product being developed and the
people involved in the development. The main principle: not people should be built under the selected process model, but the process model should adapt to a specific team in order to ensure its highest performance.
Product
Consider the development of critical software, for example, the control system of a nuclear power plant or a manned spacecraft. All requirements are known in advance, there is an extensive technical documentation for the product, there are GOST standards, etc. Not surprisingly, these projects use “heavyweight” methodologies.
Completely different approaches should be used in the development of a new fashionable web service, when the requirements are fuzzy and constantly changing. Here is Scrum / Agile, a favorite of all, and similar "lightweight" systems. The use of these methodologies is justified, since You can quickly get feedback in a rapidly changing external world.
The foregoing can also be projected onto the size of the product being developed. After all, completely different processes should be applied in projects in which 10 people participate, and in projects in which 1000 people participate.
People
Differently, the development process should be organized in a team of students and in a team of established professionals.
I have always believed that Scrum and other development methodologies are for those people who simply cannot work independently. I select several types of commands and, depending on this, I build processes within them.
- A team of professionals knows how to work. They can take responsibility for the result - development methodologies, especially those imposed from above, are not needed here. Often, even the manager is not needed. Such teams are able to work independently, without constant monitoring and always with an enviable result.
- A team of experienced programmers requires periodic monitoring and support, but without strict problem statement.
- A team of newcomers requires constant setting of tasks, support in solving, and monitoring deadlines.
Executives, study your team and intelligently choose a development methodology in each case. Each team needs its own methodology.
The main tasks of the manager are to:
- build a team that can work together for the desired result with sufficient efficiency
- to build a work process within the team so that it allows employees to conveniently do the work they need
- set up team interaction with other departments of the company or with the customer so that communication takes place with a minimum of interference with the team’s main work and maximum efficiency
- remove all other barriers and obstacles for the team from the path to achieve the goal.
Recently, a lot of development managers have been interviewed. Approximately 7 out of 10 candidates to the question about your main achievement at the current place of work reports that they would become the main part of the success of the product, everything would have failed without them.
Managers, managers, wake up! The key to the success of the project is not the leader, not the process, but the people who work in it.
I want to finish with a quote from one of the football coaches: “It’s not important that you are a coach - you are important. You win duels on the field and whole matches, and we only help you a little. We can arrange the players and orient - the rest is done by the players. ”