As an experienced manager, you certainly understand that for an IT project to be successful, you need not only technical skills but also the ability to assemble the organisation to focus on delivering value to customers. Today, in a time of changing economic circumstances, agility is needed like never before in order to adapt to new market conditions.
Why can Agile be said to reduce risk AND make project management easier? In the webinar 'Agile as a way to Mitigate Risks in Software Development Projects,’ Paweł Słowikowski, an experienced Agile trainer, discusses the practical application of this approach. You can watch the entire webinar here.
In this article, we will focus on how Agile realistically brings value to organisations, reduces costs, and speeds up delivery. We are also practical and will discuss where implementing Agile is not always the ideal solution. So, is Agile for you? Let's analyse the arguments below.
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 avoid the trap of living in blissful ignorance for a while because you confuse project progress reports with the actual working solution (when integration of the entire product only happens at the end). In such a situation, the Agile approach quickly identifies emerging issues, even in projects with a strictly defined scope.
- You reduce the risk of incurring too much cost
With successive versions of an integrated, imperfect product, we can decide at any time whether a solution is already 'good enough' and either change direction or even stop further development. In classic projects, once we get too far down the road, we are unable to stop funding the project because by the end of it, we usually have nothing working (sunk cost syndrome).
- You are not left with an unfinished product.
We quickly get a working product that we can develop, for example, with the next round of funding. If we terminate the project at some point, there is at least some chance of continuing development. This is certainly greater than in Waterfall projects, where, for example, at some point, we may run out of funding and are left with a huge, unusable base of rapidly ageing code.
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
When delegating more autonomy to the teams, it is important to create a balance between standardisation of processes and practices, and the autonomy and freedom to choose our own approach. If we have different standards, e.g. alternating between one-week sprints and two-week sprints can make synchronisation difficult. It can be challenging to understand what has really been done if there are different definitions of what it is to complete a task (the so-called ‘Definition of Done’).
- Organisational culture at odds with Agile values
Organisational culture is the slowest stage of change because it consists of the values, behaviours, and habits of all people, especially leaders. It is easy to make mechanical changes in IT, but without changes in management the effect will only be superficial
- Scaling up the organisation
The shift towards Agile is difficult enough even in a stable environment AND with a team of people to support you in this change. However, when the company grows, it becomes much more complex and challenging. As the structures expand, it requires simultaneous standardisation of processes, clear visualisation of the value flow, and transparency of activities, or increasing the technical ability to release products frequently. Therefore, it is advisable to be cautious when carrying out Agile transformation and scaling at the same time. If we scale something that is not working well, it will only worsen the existing issues.
What can help implement Agile in your organisation?
You certainly need the support of experienced professionals who can work alongside you and truly understand the real problems within your organisation. This is possible by working with people who who take a holistic approach to each stage of the transformation, for example, through project outsourcing. Adopting a systems approach, where we look at the entire value stream, enables us to address global problems rather than solely implementing local improvements. Additionally, we develop the soft skills of leaders to help them understand the values underlying an agile approach, in addition to the technical elements of it.
Will Agile work for your project?
This is a question that everyone must answer for themselves. In summary, Agile is a proven approach, but it may not always be effective in every situation.
Sometimes the cost of transforming to this working model can outweigh the potential benefits. For example, if you are not prepared to address system issues, foster the right mindset among leaders, or invest in the technical aspects of rapid product delivery, you may only end up with expensive Agile training bills.
However, if you are willing to embrace new ideas, learn something different or want to use Agile to address organisational problems that will improve the entire value stream (e.g. agile budgeting, DevOps, fast feedback loop), then Agile will be highly advantageous for you.
If you are interested in discussing whether Agile is suitable for your organisation and would like to consult experienced digital transformation specialists in Germany, please get in touch. We would be happy to assess your organisation's needs and provide you with the best solutions.