Agile: the biggest ideological issue in IT

Original author: Cameron Handy
  • Transfer
image

In 2001, a group of technologists and programmers who shared non-trivial theories about how software development should be managed met at the Snowbird ski resort to write out some of these concepts in writing. This is how the Agile Manifesto was born - a deceptively simple document designed to redefine the dogma of software development. Agile-style software development has evolved into a new standard in organizing the work of programmers in an organization. Companies like Facebook , Amazon , Apple , Google, and Netflixbuilt their internal development processes in accordance with the basic provisions of this manifesto. Given the sheer magnitude of Agile and its public resonance among proponents, it is easy to see that Agile is the most influential of all formalized interpretations of software development. However, Agile is an ideology. The normative system of values ​​and beliefs, almost to the point of absorbing into the business of software development. Thus, the software industry today provides an interesting opportunity to evaluate how the nominal goals of a certain ideology are consistent with its implementation in practice.

In essence, Agile was a riot against corporate dominance in software development. For the first time, it was recognized that software development is a complex and often mysterious process that must be protected from corporate bureaucratization. Change, reinvention, flexibility, dynamism - these are the red threads that go through the Agile manifest. They have shown themselves to be infinitely attractive: according to one global study., About 97% of all organizations in one form or another practice the principles of Agile. Thanks to this widespread distribution, Agile has achieved total nominalization in the theory of software development management: today the term “agile” refers to the ideology, working methods, and even the systems used to develop software in a modern organization. Agile even extends beyond programmer teams and is increasingly practiced in other teams responsible for, for example, finance or human resources management. Agile, interpreted as a universal theory of management, has proven extremely accessible and popular - despite the scarcity of empirical evidence of its effectiveness and usefulness.

Interestingly, the Agile manifest does not attempt to articulate any specific working methods, rules, processes, systems or structures that would help develop Agile-style software. This is not surprising: after all, the Agile manifesto never claimed to have a detailed description of how to achieve the goals of this manifesto. Such a clear blur did not diminish the popularity of Agile: in fact, the rapid growth in demand for specific Agile methods and tools led to the emergence of a meta-industry based on Agile resources. This interest stimulated the introduction of Agile, the penetration into new industries of the ideology of Agile and its derivatives. The most clearly defined Agile methodologies (e.g. Scrum and Kanban — i.e., detailed process descriptions, which must be followed to translate the principles of the Agile manifest) and specialized software platforms specifically designed to support Agile development. Australian technology company Atlassian sells a range of products designed to support Agile-style software development processes; Of particular note are Confluence and Jira, which have de facto become industry standards. For those not cooked in the technology community, such products seem quite mysterious. A number of explanatory articles appeared before Atlassian got on the NASDAQ lists immediately afterwards. The articles were intended to explain what exactly Atlassian sells, and why the company has achieved such a high market capitalization. Australian technology company Atlassian sells a range of products designed to support Agile-style software development processes; Of particular note are Confluence and Jira, which have de facto become industry standards. For those not cooked in the technology community, such products seem quite mysterious. A number of explanatory articles appeared before Atlassian got on the NASDAQ lists immediately afterwards. The articles were intended to explain what exactly Atlassian sells, and why the company has achieved such a high market capitalization. Australian technology company Atlassian sells a range of products designed to support Agile-style software development processes; Of particular note are Confluence and Jira, which have de facto become industry standards. For those not cooked in the technology community, such products seem quite mysterious. A number of explanatory articles appeared before Atlassian got on the NASDAQ lists immediately afterwards. The articles were intended to explain what exactly Atlassian sells, and why the company has achieved such a high market capitalization. who does not cook in the technological community, such products seem very mysterious. A number of explanatory articles appeared before Atlassian got on the NASDAQ lists immediately afterwards. The articles were intended to explain what exactly Atlassian sells, and why the company has achieved such a high market capitalization. who does not cook in the technological community, such products seem very mysterious. A number of explanatory articles appeared before Atlassian got on the NASDAQ lists immediately afterwards. The articles were intended to explain what exactly Atlassian sells, and why the company has achieved such a high market capitalization.

Like Atlassian software products, the vocabulary describing Agile processes and daily work methods has also become increasingly impenetrable to the uninitiated. Agile practitioners talk about sprints, Kanban boards, task diagrams, speeds, user stories, epics, and retrospectives - the meaning of all these words often changes depending on the context, and these terms themselves can be affiliated with one or more clearly defined Agile methodologies. Is it any wonder that, as the Agile methodology becomes more complex, there is a growing cohort of specialist consultants who help to make sense of all this. Bain & Company has approximately 1,000 Agile practitioners at its disposal. This is perhaps the most reliable indicator that shows how profitable the Agile consulting industry has become. However, if the Agile manifest is so simple, what it seems at first glance, why so many consultants? How tangibly do the services of any of them affect the quality and effectiveness of work in a typical technology company?

Despite the vocabulary, specialized tools and a huge body of resources available for anyone who wants to practice Agile-style software development in their company, it is often difficult to track how accurately Agile is implemented in practice - that is, it matches the spirit and letter recorded by the authors in the manifest Agile The Agile manifesto is intentionally and inevitably made abstract. Perhaps this led to a gradual distortion of the Agile methodology and, as a consequence, the entire management culture in the software industry as such. Something colossal was built on seemingly simple foundations - a mechanism that extremely disappointed those who laid the foundation for its first iteration. Moreover, due to the long popularity of Agile, specialists who do not have formal Agile qualifications began to lose competition to their colleagues, Agile supposedly professionally savvy. Many career bonuses await those who claim to understand the Agilr device and know how to use it. Such a reality stimulates conformism and drowns any attempts to doubt the dominance of Agile or to raise a question about its effectiveness.

Andy Hunt, co-founder of the Agile manifesto, complainsthat, due to the abstract formulation of the original Manifesto, endless rules appeared and spread that are used out of context and supposedly forming the basis of development in the Agile style. Over time, such rules are codified in the form of specialized methodologies that need to be thoughtlessly followed, while forgetting about the original guidelines of the Manifesto. In other words, the Agile ideology has proved extremely difficult to study, learn, and practice. Therefore, some characters rely on rigidly defined rules or heuristics that they give out as Agile, and then continue to replace these rules (often taken out of context) with Agile practices that are consistent with the objectives of the manifesto. In most organizations, no gradual refinement of the development process occurs; instead, managers fall into error, believing that the process does not allow changes, they refuse step-by-step improvement of the product, and strive to rip off three skins from the developers, operating with mostly canons taken from the ceiling and rigidly fixed. Organizations that fail to get any real benefit from Agile (and there are many of them) naturally gravitate toward monitoring the implementation of a certain Agile process, while ignoring the more blurred, but more important results of the process - that is, the delivery of workable software.

The heyday of Scrum and Kanban is, at best, an attempt to formalize and spread the Agile ideology. In the worst case, all of these methodologies are nothing more than an additional bureaucracy, generating ever new unreasonable rules and metrics that developers must follow. All this is imposed for reasons often not completely empirically supported. Mediocre managers, consultants, developers, and even entire organizations in such conditions thrive: it becomes easier to focus on the nominal rules of ideology, and gradually this turns out to be more priority than achieving real goals. Basically, there is a mania in the software development industrywith measurement of “contribution” and “return” from Agile at the level of individual employees. Such a mania has led to neglect of the original Agile ethics, a shift in the priorities for collecting statistics for each individual employee, while in fact it is necessary to gradually improve processes at the level of the entire organization.

The greatest irony of this degeneration is that the original Agile philosophy was designed to free the average programmer from the tyranny of micromanagement and unnecessary bureaucratic oversight. Instead, the very essence of this ideology in its current form is already difficult to recognize for those who created it. More generally, the fate of Agile as a software methodology is a bitter example of how a laconic and abstract ideology is gradually distorted and distorted as its influence grows, and more and more attempts are made to put it into practice.

Also popular now: