Agile, waterfall, or both? How it projects are conducted.
The most popular methodology for conducting projects is “agile, but…”. This is usually “agile but no client” or “agile but no flashback”. You also often hear about projects that are partially in line with agile, and partially using waterfall. You hardly ever hear of projects in pure agile or in pure waterfall. I personally participated in projects based on both approaches. I had much more to do with Agile, using scruma – a total of 3 projects. In addition, I had the opportunity for quite a long time, because 2.5 years, to work in a project based on the waterfall approach.
Two approaches experiment
I’m not in favor of mixing methodologies. For a simple reason: if a solution has been developed in this way, and not in any other way, then it is probably justified by something. Scrum or Prince2 were not created suddenly and are the result of the work of a group of people supported by many years of experience in project management. Breaking up complete, well-thought-out approaches and mixing two different” ideologies ” is a big experiment that will always be less effective and more risky. In my opinion, often the modification or mixing of a methodology is due to a lack of understanding of the principles of its operation. A good example of this is, for example, the abandonment of flashbacks in scrum. How do we want to streamline and improve the process without skipping the meeting that serves this purpose?
Agile bespoke IT
The idea of flexibility and adaptability fits the IT industry like no other. It’s tailor-made. Everyone wants to be “agile”, it just became fashionable. For years, there was a lack of methodology that would allow the client and the team to discuss the expected result at each stage of the work.
Agile delivers a working product on a continuous basis and engages the customer much more strongly in the project. An undeniable advantage is the cyclically determined scope of work, and thus dynamic adaptation to changes that occur during the manufacturing process. Very quickly you can react to such changes and make them, which allows you to “please” the customer. The disadvantages of agile, however, I see in the incorrect application of the methodology itself through an incomplete understanding, or worse, selecting only some elements of agile (in this case scruma) to run the project.
Agile is more suitable for new projects, where at the start there is no clear picture of what the final product should look like. This is a good methodology, in a situation where the requirements are not fully known, or are constantly evolving.
Waterfall too good
There are projects in which the waterfall will undoubtedly work better. The cascading model, or waterfall, is a good solution when the scope of work and requirements are stable and known at the start of the project. An important element is also the technology planned for use in the project. If we plan to use proven, well-known and stable technology, this is an additional argument for using waterfall.
The main advantage of this methodology is the reduced risk of failure in case of restrictions in the contract. I am referring here to contractual constraints (e.g. time of execution, budget), which are particularly important when implementing projects for the public sector. Among the disadvantages, I see the delivery of a working product only at the end of the manufacturing process. In my opinion, such a significant defect can cause that the end result can deviate from what the customer ordered.
How to choose?
A very important stage for the project is the choice of methodology. So think about what your client is like. What’s the project? Do you expect a volatile environment or stable work? Do the team and you know the technologies and do you have experience in similar implementations? Does the contract allow you to change the requirements? Whether we are talking about agile or waterfall, no project will succeed unless there is adequate stakeholder involvement in the project.
I advise against mixing approaches, but I recommend taking part in discussions on new methodologies. The emergence of a completely new methodology, which in popularity will equal agile and waterfall is very possible, and even certain. The IT industry is changing very quickly, and thus the methodologies of software production are changing. As was the case with agile, if the existing methodologies do not work or a niche arises, we will see the development of a new approach to project management.
Przemysław Pierzchała, Senior Software Developer, Robert Bosch SP. z O. O.