There are more people on the team. 2 time and results in 2 never increased (Category Management)
Yesterday at the office I talked to my colleague about this. He used to lead several teams and now works as a staff engineer on architecture and design. The colleague noted about one of the teams with which he had previously interacted a lot, that it increased significantly, and the result increased disproportionately. And then we went on to discuss the causes of this effect, which I explain by the following factors:
1. Declining marginal utility As engineers are added to the team, marginal utility shrinking. The bottom line is that the addition of the first engineer allows you to start developing the product, solving the most priority tasks. The addition of a second engineer allows you to devote time to important tasks, and the addition of a conditionally seventh engineer allows you to do nice to have features. Approximately the same is observed in life, conventionally, when you suffer from thirst in the desert - the first glass of water you just need and you are willing to pay a lot of money for it, the second is useful and you are still willing to pay, and conditionally the tenth glass for you is no longer useful and you are not ready to pay for it:) 2. Group dynamics of relationships and onboarding of new people When adding new people to the team, they need to be trained and fit into the overall dynamics of the group. (Thackman). On boarding, we waste the time of the onboarders themselves, as well as the strong people from the teams. In addition, a team that performs according to Tuckman can fall into the storming stage, where discussions boil and the team is less effective than before. 3. Cost of communications - even if the person is already bent, and the dynamics of the team returned to normal, then we still have the costs of communication. If everyone in the team communicates with everyone, we succeed. graphwhere the number of connections is n*(n-1)/2. Every communication needs to be maintained, so communication overhead increases quadratically with team growth. From here we get the limitations of the two-pizza team. 4. Problems with parallelization - This is where we need to remember. law of Amdal
In the case when the task is divided into several parts, the total time of its execution on a parallel system cannot be less than the time of execution of the slowest fragment.
This means that the pararallization of work within the team does not allow for linear scaling with increasing numbers of people, since we have some of the work that we have to do consistently. (planning, retro, part of the architectural work, work on places with bottleneck in the code, as described in the report.How Technical Problems Cause Organizational Friction"which I mean." mentioned yesterday). By the way, this is why everyone is striving to make autonomous teams and topology teams. (You can read about team topologies or listen to them. First Series of Code of Leadership Podcast).
If we sum up, then these factors lead to the fact that by scaling commands we get a sublinear scaling of the effect. Moreover, if the processes at the company level are built quite sadly, then sublinear time is more like asymptotic log.(N)where N is the number of people. In general, in the forehead to solve the problem, throwing it people will not work.
P.S. In a separate post, then I will write about the solution of really difficult tasks and why it is necessary not only to build a team, but rather to look for a crystallization center. (super-expert) And then build a team of high-potential engineers around it.
#Management #Leadership #Processes #Team #Software #SoftwareArchitecture