"Death of God" or the collapse of generally accepted laws for building IT teams and creating IT systems in the 21st century
“God is Dead,” Gott ist tot (1881) Nietzsche is a fundamental metaphor for postmodern philosophy.The main idea is to abandon the inherited patterns of behavior and ways of perceiving reality, which are the basis, textual, cultural composition of our "I". In philosophy, the formation of this concept took thousands of years; in the world of information technology, fifty were enough.
In the recent past, many processes were manual, and inquiring minds ordered and automated them. For this, methods and tools were developed, laws were formulated, hundreds of books were written. These methods and practices were quite effective and bore fruit. But already at the beginning of the 21st century, mankind came to the conclusion that most of the processes are already automated, and in the near future it will be possible to say that 100% of the processes will be serviced by systems, so the task of creating innovations and new systems is becoming more complicated. It is necessary to improve and streamline existing and “well-built” systems and processes, and this sometimes radically changes approaches and practices to achieve a result, namely, increasing their speed, quality and efficiency.
For many years I have used laws and rules, which I will comment on below. There are interesting reviews of many of them: “The basic laws of creating development teams,” authors of books and publications often refer to them, arguing for a particular decision. Moreover, I also like them. For my practice, in most cases they worked, but in recent years many approaches have begun to “slip”, precisely for the reasons I have described above.
Anton Semenchenko systematized laws well in the presentation “Laws for creating IT teams and the consequences of laws for IT projects“ on the fingers ”. I’m definitely not sure about the source, so I’m not referring to it here, but any search engine will show the author’s video and presentation materials on the title of the article. I liked his time structuring, and I will use it, in some way echoing with Anton.
Further along the text, I will repeat the law so as not to send the reader to the Internet and share my thoughts on its application in the current situation.
Differentiation and integration of systems according to Herbert Spencer (1857)
Differentiation - separation in the process of evolution of a homogeneous system (biological organisms, representatives of a particular profession, etc.) into two or more groups that differ in their parameters. Moreover, such fragmentation can have several hierarchical levels. There is also a reverse integration process - the unification of separate differentiated parts into a whole - including through the transition to a supersystem.
The division into analysts, developers, architects, testers, and managers over the past two decades has made it possible to unify software development processes and ensure staff interchangeability. A production conveyor was created, but the price of this unification is as follows: developers, often poorly understand the subject area, have narrow skills limited by their specialization; Analysts do not own the development skills, their task definitions are adapted to the development capabilities, and do not form and reflect the real requirements of the customer (business). Further, other employees who are also not involved in the statement of the problem and may not understand the source of the customer’s requirements, are involved in testing, and so on. This all significantly increases the cost of development, reduces the likelihood that the customer will receive the right solution at the best price. Of course, this is not always the case, and I exaggerate a little to convey the main idea. In the last century (it sounds funny from the mouth of a mastodon), one person easily combined the role of architect, analyst, developer and tester, understanding what the customer wants and how it can be implemented. The process of creating software is not parallelized in roles, but in functionality. Agile is returning to this approach and roles are coming together. The process of creating software is not parallelized in roles, but in functionality. Agile is returning to this approach and roles are coming together. The process of creating software is not parallelized in roles, but in functionality. Agile is returning to this approach and roles are coming together.
The General Law of Entropy of Clausius (1865)
Entropy is a measure of disorder that increases with time.Many people like to bring this law and draw meaningful conclusions from it on the examples of teams and projects. It is concluded that everything naturally tends to disorder. Therefore, you need to put a lot of effort to maintain order and organization of processes.
This is not true. The original concepts are replaced. The second law of thermodynamics is associated with the process of converting energy where it works, and not with human activities. In natural systems, on the contrary, everything tends to automatic ordering. This is the result of evolution. Look at nature, it is harmonious and orderly. Automation and information technology is also an evolutionary process. The process cannot be chaotic, there is someone who will streamline it, or the process will die.
In total, there will always be a group leader who organizes and directs it. Therefore, the main task of society is to find such leaders, develop them and provide them with a field for activity.
Parkinson's Laws (1955)
- The work fills all the time allocated for its implementation. The manager seeks to multiply subordinates, not rivals. Managers create each other's work.
- Costs are rising with income.
- Growth leads to complexity, and complexity is the end of the path.
These laws are applicable to bureaucratic systems, so if you get rid of them in IT, then there will be no de facto problem. In startups, everyone works harmoniously, efficiently and is focused on the result. Do not create IT departments, budget IT monsters. Only an open market and competition is the criterion for the success of the IT industry.
The Miller's Magic Seven (1956)
Short-term human memory, as a rule, cannot remember and repeat more than 7 ± 2 elements.
Based on this law, his followers limit the number of teams to no more than 7-9 people. I do not like psychologists at all, like HR, so all their research is a search and description of patterns where they are absent.
You can find a lot of any numerological literature on this topic, but it has nothing to do with the number of people in the team. They should be exactly as many as necessary to decompose and complete the task on time. It can be three people, and maybe twenty people.
Perhaps in 1956 it was difficult to manage 20 employees, but in 2019, technology simplified this process, so create teams of any size that can be managed by its leader and bring it to the result.
Conway Law (1968)
The law states that organizations designing systems produce them by copying the communication structures that have developed in these organizations.
And its flip side: enterprises using software systems are limited to communication structures that copy this system.
However, modern organizations do not build their business on the organizational structure, but on business processes, which, in turn, change very quickly and adapt to external factors. IT systems and company structure have become dynamic and flexible to adapt to such challenges. Organizations that have not adapted to flexible process changes will gradually disappear, unable to withstand competition.
Peter Principle (1969)
In a hierarchical system, each individual tends to rise to the level of his incompetence.
Undoubtedly, in the classical vertical, an employee moves to his level of incompetence and stops, but hierarchical structures, career ladders have shown their limitations in comparison with more flexible organizational structures, so do not create monsters, and “may the force come with you”.
Brooks Law (1975)
By adding human resources, we delay the completion of the project.
The main argument is that new team members need to be trained, immersed, which distracts the main team members and, conversely, slows down the development process. There is a generally accepted phrase that the immersion of a new employee takes, on average, six months, and only after this period he begins to give specific results.
But this is also false, as true. The law works if we consider an unworkable team that doesn’t have time to do the necessary tasks on time, and the management throws in resources, assuming that this method will bring results. In modern companies, consisting of motivated professionals, with good leads, correctly divided roles, competent product owners, an established system for adapting new employees, the addition or replacement of new team members is flexible and increases the efficiency and speed of the result. Of course, that the infinite expansion of the team is impossible, and it is associated only with the ability to decompose the current tasks. At some point, the backlog will come to minimal granularity in the parallelization of tasks between the team.
Total, we can draw the following conclusion, in the “right” street, with the “right” bees its expansion will increase the amount of honey produced.
Entropy of open systems by Herman Haken (1977)
The German theoretical physicist studied open systems and their desire for self-organization, the transformation of chaos into order, and synergetics.
The applied application of the theory, like that of Clausius, was considered more in physics, namely on electrons, atoms, molecules, neutrons, photons, but since every physicist and mathematician in his soul is a philosopher, he extrapolated his theory to people and animals.
It is difficult to argue with the theory of self-organization, and I completely agree with this postulate. There is more to the question of the applicability of physical theory to social processes. Open systems are, of course, the main path to their effectiveness in terms of flexibility of change.
Christopher Alexander's Organic Growth Act (1977)
The law of organic growth was formulated for architecture and is based on the use of a three-part meta-plan instead of a general plan:
- philosophy of gradual growth;
- a set of patterns or general design guidelines governing growth;
- local influence on the design of those who occupy space.
Objects gradually evolve and through numerous light changes turn into interconnected communities. Using general principles, they maintain external harmony, but do not become the same.
It sounds sensible, and, unambiguously, you can use the approach in the world of startups. The employee’s dream - the office space is designed in fundamental harmony with the nature of the human being and allows a person to be a person, emphasizes his being - he becomes both an individual and a member of the group.
But in large companies, things are not so romantic, but pragmatic and economical. Everyone optimizes costs, uses outsourcers, so a modern team is a geographically distributed group of people united by a technological platform in which each individual can be in completely different conditions. The growth philosophy is determined only by the availability of funds for the formation of such teams and the creation of conditions for the acceptance of work performed by each of its members.
David Parnassus Act (1979)
As a rule, software systems do not work well until they have been used, and more than once, in “combat” conditions.
IT adherents are trying to apply any laws and conclusions related to software development to absolutely any area of their lives. In terms of teams, it looks something like this: a new team assembled from unfamiliar members will work less efficiently than already worked out. The triumph of evidence. An experienced chef is better than a novice. A professional athlete, better than an amateur. The practical sense of these formulations is almost absent.
Hofstadter Law (1980)
It will always take longer than you expect, even if you know the law of Hofstadter.
Evaluation of terms, cost of the project, work, tasks is always a non-trivial process in which accuracy will be determined by agreement of the parties. And both parties that formulate the deadlines and those that disagree with them will be right. In market conditions, an estimate of the terms is a fixed agreement between the contractor and the customer.
The Wilson Kelling Broken Window Principle (1982)
If one glass is broken in a building and no one replaces it, then after a while no windows will remain in this building.
From the point of view of teams and organizations, non-compliance by participants with accepted norms of behavior provoke others to also forget about the rules. However, the everyday statement: “anarchy is the mother of order,” which many hear, only confirms one of the previous statements about the desire of systems to automatically order. In place of rejected norms, other rules and laws arise and the system stabilizes. If the building does not need to maintain order, in the generally accepted sense, it does not have a master, then knowledge will become unusable, destroyed or a new owner should appear, which will restore and maintain order in it.
Goll Law (1986)
A complex work system is invariably derived from a simple work system. A sophisticated system designed from the ground up never works. And no improvements will make it work. You should start with a simple working system.
A very controversial statement applicable to the technologies and approaches of the last century. Any new modern system will be complex, as our world has become technologically advanced. And many of them are created from scratch. As a result, a large percentage of systems die, but some of them “shoot” and become successful.
Sedov's Law of Hierarchical Compensations (1988) and the law of entropy of teams according to Nazaretyan (1991)
“The true growth of diversity at the highest level is ensured by its effective limitation at previous levels.”
“Sedov's Law” in Nazaretyan’s wording: In a complex hierarchically organized system, the growth of diversity at the upper level is ensured by the restriction of diversity at previous levels, and vice versa, the growth of diversity at the lower level destroys the upper level of organization, that is, the system as such perishes.
There is an opinion that the effect of the Sedov Law is limited by the natural order of self-organization of systems, that is, in such a way of their construction, when the people who ensure the construction of the system do not make focused efforts designed to circumvent the action of this law. In other words, the effect of the Sedov Law can be artificially limited, although not completely stopped. In addition, there is good reason to believe that the Sedov Law does not apply in full to super-large systems.
A classical understanding of these laws means that the development of functions and structures located at higher levels of systems is possible only with the restriction of structures of the underlying level. Further, there is a balancing of the components, and the system as a whole. But, unfortunately, the classical approaches to team building, project management are being reviewed by many organizations in favor of Agile approaches, where restrictions on lower-level structures are removed and this brings improved quality and effectiveness, both at the team level and for the entire structure.
Agile manifest (2001)
People and interaction are more important than processes and tools.
A working product is more important than exhaustive documentation.
Cooperation with a customer is more important than agreement on a contract.
Readiness for changes is more important than following an initial plan
And here everything is “not glory to God.” Agile is like building communism. If all participants have no faith, it will only get worse.
Dunbar Number (2010)
The number of Dunbar is a limit on the number of permanent social ties that a person can maintain. This number is defined as 150 through extrapolation of relationships among monkeys to humans.
A common example that is given is a circle of close friends, military units, which is not very much connected with managing distributed teams using technology platforms. Social networks and the development of mobile devices, platforms question this statement.
Kelly Laws (2015)
The scale of the software will always increase in proportion to the available resources.
Inside each large project in the development field there is a small side project outside the main task.
Globally, in the bureaucratic apparatus, in government, this is certainly true. The system will load itself, justify its existence, come up with a job, because, in the general case, it is not focused on the final result. But the IT world is a world of creative achievements, innovations, independence. In this world, everyone can be a creator, therefore, when meeting with these phenomena defined by these postulates, one must get rid of any of their manifestations.
Total:
At the current stage of development of methods and technologies for the production of IT systems, all previous canons and beliefs can be denied, doubt their effectiveness, but do not forget to look for something new. Now, in fact, the era of postmodernism is beginning in the world of creating information systems.
Try, experiment, take responsibility, change “unchangeable”, share experience with others, and future generations will use your example in a new evolutionary breakthrough.