“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 perception of 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 was enough for fifty.
In the recent past, many processes were manual, and inquisitive minds streamlined and automated them. Methods and means were developed for this, laws were formulated, hundreds of books were written. These methods and practices were quite effective and bore fruit. But already in the beginning of the 21st century, humanity came to the fact that most processes are already automated, and in the near future we can say that 100% of the processes will be serviced by systems, therefore the task of creating innovations and new systems becomes more complex. It is necessary to improve and streamline existing and “slender” systems and processes, and this sometimes drastically changes approaches and practices to achieve a result, namely, to increase their speed, quality and efficiency.
I have used laws and rules for many years, which I will comment on below. There are interesting reviews of many of them:
“The basic laws of the creation of development teams” , the authors of books and publications often refer to them, arguing this or that 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 described above.
')
Anton Semenchenko systematized the laws in a presentation “The laws of creating IT teams and the effect of laws for IT projects“ on the fingers ”. I’m not sure about the original source, so I don’t refer here to it, but any search engine will show the video and presentation materials of this author by the title of the article. I liked its structuring by time, and I will use it, in some way overlapping with Anton.
Further on, I will repeat the law in order 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 - the division 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. At the same time, such fragmentation can have several hierarchical levels. There is also an inverse integration process - the unification of separate differentiated parts into a whole - including through the transition to a super-system.
The division into analysts, developers, architects, testers, managers over the past two decades allowed to unify the software development processes, to ensure the interchangeability of staff. A production pipeline was created, but the price of this unification is as follows: developers, often, poorly understood in the subject area, have narrow skills limited by their specialization; Analysts do not own the skills of development, their problem statement is adapted to the development capabilities, and do not form and reflect the real requirements of the customer (business). Further, in testing, other employees are involved, who also had no relation to the formulation of the problem and may not understand the source of customer requirements, 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 an architect, analyst, developer and tester, understanding what the customer wants and how it can be realized. The process of creating software in this case is not parallelized by roles, but by functionality. In Agile, there is a return to this approach and the roles are combined.
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 significant 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. Substituted initial concepts. The second law of thermodynamics is associated with the process of transformation of energy, where it works, and not human activity. In natural systems, the opposite is true for automatic ordering. This is the result of evolution. Look at nature, it is harmonious and orderly. Automation and information technology is also a process of evolution. The process can not be chaotic, there is someone who will order it, or the process will die.
So there is always a leader of the group that organizes and directs it. Therefore, the main task of society is to find such leaders, develop them and provide them with a field for action.
Parkinson Laws (1955)
- Work fills all the time allotted for its execution. The manager seeks to multiply subordinates, not rivals. Managers create each other work.
- Expenses are rising with income.
- Growth leads to complexity, and complexity is the end of the road.
These laws apply to bureaucratic systems, so if you get rid of them in IT, then the problems will not be de facto. In startups, everyone works harmoniously, efficiently and is focused on results. Do not create IT departments, budget IT monsters. Only an open market and competition is a criterion for the success of the IT industry.
Miller's Magical Seven (1956)
Short-term human memory, as a rule, cannot remember and repeat more than 7 ± 2 elements.
Based on this law, his adherents 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 a team. They must be exactly as much 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 its leader can manage and bring it to a result.
Conway's Law (1968)
The law states that organizations designing systems produce them by copying the communication structures that have developed in these organizations.
And its down side: enterprises using software systems are limited to communication structures that replicate this system.
However, modern organizations build their business not on the organizational structure, but on business processes, which, in turn, are changing very quickly and adapting to external factors. IT systems and the structure of companies have become dynamic and flexibly reconfigured for such challenges. Organizations that have not adapted to flexible process change will gradually disappear, unable to withstand the competition.
Peter Principle (1969)
In a hierarchical system, each individual has a tendency 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 be with you”.
Brooks Act (1975)
By adding human resources, we delay the end of the project.
The main argument is that new team members need to be trained and 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 does he begin to produce concrete results.
But this is also wrong, as is true. The law works if we consider an unworkable team, which so does not have time to do the necessary tasks on time, and management throws resources at them, assuming that this method will bring results. In modern companies consisting of motivated professionals, with good leads, properly divided roles, competent product owners, an established system of adaptation of 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 endless expansion of the command is impossible, and it is associated only with the ability to decompose current tasks. At some point, backlog will come to a minimum granularity in parallelizing tasks between teams.
So, 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 according to Hermann Haken (1977)
The German theoretical physicist was engaged in the study of open systems and their desire for self-organization, about the transformation of chaos into order, synergetics.
The applied application of the theory, like Clausius, was more considered in physics, namely on electrons, atoms, molecules, neutrons, photons, but since every physicist and mathematician is a philosopher, he extrapolated his theory on people and animals.
It is difficult to argue with the theory of self-organization, and I completely agree with the data from the postulate. There is more of a question of the applicability of a physical theory to social processes. The openness of systems is, of course, the main path to their effectiveness in terms of the flexibility of change.
Christopher Alexander Organic Growth Act (1977)
The law of organic growth was formulated for architecture and is based on using instead of a master plan - a meta-plan consisting of three parts:
- philosophy of gradual growth;
- a set of patterns or general design principles governing growth;
- local influence on the design of those who occupy space.
Objects gradually evolve and, through numerous light changes, become interconnected communities. Using general principles, they retain external harmony, but do not become the same.
It sounds sensible, and, unequivocally, you can use the approach in the world of startups. The employee's dream - office space is designed in fundamental harmony with the nature of the human being and allows a person to be human, emphasizes his being - he becomes both an individual and a member of a group.
But in large companies, things are not so romantic, but pragmatic and economical. All optimize costs, use 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.
The Law of David Parnassus (1979)
As a rule, software systems do not work well until they have been used, and more than once, in “combat” conditions.
IT adepts are trying to apply any laws and conclusions related to software development to absolutely every area of their life. In part of the teams, it looks like this: the new team, assembled from unfamiliar members, will work less efficiently than the already worked one. The triumph of evidence. An experienced cook, better than a beginner. A professional athlete is better than an amateur. The practical sense of these formulations is almost absent.
Hofstadter's Law (1980)
It will always take longer than you expect, even if you know the Hofstadter law.
Estimation of terms, cost of a project, work, tasks is always a non-trivial process in which accuracy is determined by agreement of the parties. And both sides will be right, who form the terms and those who disagree with them. Under market conditions, the timing estimate is a fixed agreement between the contractor and the customer.
Wilson Kelling's broken window principle (1982)
If one glass is broken in a building and no one replaces it, then after a while there will not be a single window in this building.
From the point of view of teams and organizations, non-compliance by participants with accepted norms of behavior provoke others to forget about the rules as well. However, the everyday statement: “anarchy is the mother of order”, which is widely known, only confirms one of the previous statements about the desire of systems for automatic ordering. Other rules and laws arise on the site of the rejected norms and the system stabilizes. If a building does not need to maintain order, in the generally accepted sense, it has no owner, it means that knowledge will become worthless, collapse or it should have a new owner who will restore and maintain order in it.
Goll law (1986)
A complex working system is invariably obtained from a simple working system. A complex system designed from scratch never works. And no improvements will make it work. Start with a simple working system.
Very controversial statement, applicable to the technologies and approaches of the past century. Any new modern system will be difficult 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 out” and become successful.
The Law of Hierarchical Compensations of Sedov (1988) and the Law of Entropy of Nazaretyan Teams (1991)
“The real growth of diversity at the highest level is ensured by its effective restriction at previous levels.”
“The law of Sedov” in the formulation of Nazaretyan: In a complex hierarchically organized system, the growth of diversity at the upper level is ensured by restricting 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 operation of Sedov’s Law is limited to the natural order of self-organization of systems, that is, in such a way of their construction, when the persons ensuring the construction of the system do not make purposeful efforts intended to circumvent the operation of this law. In other words, the effect of Sedov's Law may be artificially limited, although not completely stopped. In addition, there are serious grounds for believing that Sedov’s Law does not fully extend to super-large systems.
The 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 the structures of the underlying level. Further, there is a balancing of component parts, and the system as a whole. But, unfortunately, classical approaches to team building, project management are reviewed by many organizations in favor of Agile approaches, where restrictions to lower-level structures are removed and this brings improvements in quality and effectiveness, both at the command 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 comprehensive documentation.
Cooperation with the customer is more important than agreeing the terms of the contract
Readiness for change is more important than following the original plan.
And here everything is “not the glory of God.” Agile is like building communism. If all participants have no faith, then it will only get worse.
Dunbar number (2010)
The Dunbar number is a limit on the number of permanent social connections that a person can maintain. This number is defined as 150 through the extrapolation of relationships among monkeys to humans.
The usual example that is given is a circle of close friends, military formations, which is not very strongly connected with the management of distributed teams using technological platforms. Social networks and the development of mobile devices, platforms, cast doubt on this assertion.
Kelly Acts (2015)
The scale of the software will always increase in proportion to the resources available
Within each large development project there is a small side project outside the main task.
Globally, in the bureaucracy, in public administration, this is certainly true. The system will load itself, justify its existence, invent a work for itself, since, in general, it is not focused on the final result. But the IT world is a world of creative accomplishment, innovation, independence. In this world, everyone can be a creator, therefore, when meeting with these phenomena, determined by these postulates, it is necessary to 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, questioned their effectiveness, but one should not forget to look for something new. Now, in essence, the era of postmodernism is approaching in the world of creating information systems.
Try, experiment, take responsibility, change the “unchangeable”, share your experience with others, and future generations will use your example in a new evolutionary jerk.