/ 18.11.2024
Table of Contents
Agile or Waterfall?
In many companies, projects are implemented using the classic waterfall approach. This is a plan-oriented approach that focuses on delivering everything within the scope of the project. Furthermore, each step in the project must be completed before moving on to the next step, i.e. all, successive functionalities must be delivered. Usually, in such a project, a detailed list of requirements is created at the beginning. Then, sometimes in sprints, successive functionalities are developed, and finally, the whole thing is integrated and tested. This approach is used when the client has a clear and fixed end goal and does not need (or want) to be involved in the co-development of the product. In Agile, on the other hand, a key element is iterative development. This involves delivering small pieces of the product that should be integrated with the rest of the solution. Although successive versions of the service are not perfect or have limited usability, they are important elements that provide feedback to help decide how to develop the service further. What’s more, by iteratively developing the solution, we can stop at any point where we determine that we already have a good enough product, thus saving expenditure on further development.What impact does the Agile or Waterfall approach have on project risk?
Imagine a steady, slow-moving ship that carries all the valuable cargo of a particular company. It sticks to its chosen course and is very predictable in its schedule. However, when it encounters a hazard in its path, such as an iceberg, it can be very difficult to divert it and the consequences of a collision are catastrophic. Similarly, you can characterise an organisation that has a huge project implemented in a Waterfall strategy. We think it’s great that it’s being built, and we look forward to the end result. However, when there is a market disruption or lack of funds to complete it, the damage to the organisation can be very significant, or even catastrophic. What’s more, we usually find out about problems very late – when it is already difficult to change direction. Now let’s look at a more ‘Agile’ approach. If we have a small sailboat, we won’t carry as much cargo as the huge ship we talked about earlier. On the other hand, such a sailboat is fast, agile, and can make a quick turn to avoid danger. If we have an armada of small ships, for example, when one sinks, we don’t lose much because we still have our cargo spread over the other ships. This is how an agile organisation works, it allows itself to change direction quickly based on the feedback it receives from different sources: customers, quality control, the market, stakeholders, etc. By having only small parts of a product or small projects that we work on, we can manoeuvre around the dangers and actually reduce the risks.Under what conditions does Agile bring the most value?
Agile is worth applying in all situations where we need frequent and quick feedback to help us make better decisions. It is ideal when we are considering a possible change of direction or stopping what we have been working on so far and quickly implementing a different concept.Examples of situations that may require an Agile approach:
– Trying to change user habits: We don’t know what will be successful, but we have a hypothesis and test small changes to see if they work or not. – Evaluating the usability of certain functionalities: We check which functionalities are most beneficial. We get quick feedback from the audience each time and evaluate the effectiveness of the measures. – Testing the viability of new technology and discovering another way to solve a complex problem: This is especially needed in software development when we have some unknown area to map or a functionality that we cannot use from another product. We then need to solve a problem in a different way, and frequent feedback helps a lot in testing the technology.In summary, what risks do you avoid with Agile?
- Late information about problems encountered
- You reduce the risk of incurring too much cost
- You are not left with an unfinished product.
When will Agile not necessarily work?
However, it is important to recognise that the full benefits of Agile may not be available everywhere. For example, when a project has a fixed scope, consisting of a list of ‘must have’ requirements, broken down into smaller milestones or iterations to be delivered within a fixed time frame, the widespread application of Agile becomes challenging. This is usually the case where we have a project, and the only thing we use from the Agile approach is that we split it into sprints. However, it is still a classic approach, just that with iterations. Having said that, even within this context, we can lower some risk factors by integrating the whole product frequently with subsequent parts and working in cross-functional teams.What can hinder the adoption of Agile?
Adopting Agile is a significant change in an organisation, which generates new challenges. The transition to Agile is more than just starting to work in sprints and meeting daily with development teams; it usually requires an organisation-wide effort involving many people.What are the most significant barriers to adopting Agile practices?
- Inconsistent processes
- Organisational culture at odds with Agile values
- Scaling up the organisation