Nowadays flexible development is experiencing the peak of its popularity - a lot of IT (and not only IT) companies are working exclusively on the Agile. And those who are behind the trend hastily hire coaches, retrain their staff, regenerate their processes and implement the Agile in one form or another.
But is Agile as good and universal as it is claimed by its adherents? Since, while misuse it can bring far more problems and disappointments because of its flexibility than benefits? Let us sort things out together...
Let's look at the most common cases and issues of managers and business owners concern when they think about the transition to flexible development:
The answers to all these questions are not so trivial and require understanding of the flexible development basics, its strengths and weaknesses.
In our articles devoted to the peculiarities of work using Agile we will disclose to you all the secrets which will allow you to make deliberate and grounded decisions.
On the other hand, however, this approach leads to the inability to create detailed specifications (they are becoming meaningless, as any requirements changes entail a chain of changes in such a specification and moreover, it can completely lose its relevance after few iterations).
Also, Agile ceases to work effectively with long iterations. Is there any sense in flexible designs, if we see the result of our only corrections in half a year or a year?
But what to do in such a case, with complex projects, such as: the construction of bridges, buildings, the production of aircraft, rockets or medical equipment?
Is it possible to build the bridge using Agile if after implementing and demonstrating each of the components we will have been changed requirements and priorities?
In fact, in this case, the components will be modified and delivered according to the changing customer priorities, but not as it is required from an engineering point of view. Moreover, the design changes of some of the components can lead to disastrous consequences: the components can no longer be combined or the general requirements for durability and security structures can be violated...
In IT there are also a lot of complex projects which require detailed planning. This is software for financial or medical institutions, programs for designing of the various components in the airplanes, machines, rockets... It can be listed for long.
Everything sounds like it worth getting rid of Agile in complex projects and use the dear old Waterfall, with giant specifications, clear processes and complete inability to change anything after the launch of the project...
However, we believe that, even while the realization of any super complex tasks, flexible development is still possible, and it is necessary to apply, although having some provisos. In fact, Agile will give huge advantages to any project.
Thanks to the continuous corrections and feedback at all stages, the final product will be much more modern, will better meet the needs of your customers, will be implemented, taking into account the most recent trends and technologies, which of course we will be deprived in the case of Waterfall model.
Of course, it would be rather non-trivial challenge. It will require a team of experienced managers, deep involvement of technical experts, as well as powerful tools for visualization and tasks planning.
It is impossible even to try or undertake the development processes changes, if you manage projects using only the whiteboard with stickers, or use Excel, Outlook, or some other, obsolete and inconvenient applications. It is very important to have it as a powerful modern tool (such as TBB, Jira, Azure DevOps) which possesses a wide range of opportunities for monitoring of all the critical details of the project from different angles.
So, let's return to the bridge construction example. To be able to realize this project using Agile, first of all, a valid decomposition of the scope works on weakly dependent modules is required. (A similar scheme is applicable to any complex project)
After it is necessary to highlight:
In the process of implementation, the project team should carefully monitor all the changes especially in the areas of interaction of modules, thoroughly test them for compatibility and also carry out periodic audit of the whole project for compliance with common standards.
For example, we may decompose the structure of the bridge on the following modules:
Supports, bridge spans, the infrastructure around the bridge and bridge decorating.
Perhaps these recommendations sound a bit blurry. But each project is unique in its own and everyone should look for their way for flexible implementation. In this article, we have given a simplified example of the implementation of complex projects using the advantages of flexible approaches.
You can get acquainted with one of the highlighted project management tools and our other articles in more details here.