After many years of working with Agile and being a witness to its results, we found the main mistakes (the dark side) that usually come up when implementing this methodology. Take a look at some of the reasons why Scrum fails within the software development projects.
Author: Mauro Matrichuk, Hexacta, https://www.hexacta.com/
Agile is a word that has been in fashion for some time now, and many people love to say that they implement this methodology in their projects. In fact, there is a big gap between the aspiration and the actual implementation.
After more than a decade participating in software development projects, working with Agile methodologies, and being a witness to its results, I want to talk about the main mistakes (the dark side) that typically come up when implementing Agile in a team that is not used to working with this methodology.
Why do we need Agile?
Nowadays, every IT company should launch its application, product, or service as soon as possible. It is unfeasible to think up a product and launch it on the market a year and a half later. It is necessary to break down the original idea into functionalities until we reach a Minimum Viable Product (MVP) that allows us to be present in the market within a few months. From there, we can continue working on the improvement and development of the product based on the feedback made by customers and final users.
In a few words, a true Agile development practice offers three main benefits:
- Early and continuous value delivery
- Reduces the risk and impact of errors
- Better alignment with the client’s needs
Reasons why AGILE fails when adopting IT
Is not something new that a big part of the project’s success relies on how well we apply the methodology we decide to work with. This will be the framework on which we will build a product. Any variation to the process may cause things to fail.
Thinking about this, I wanted to highlight 5 reasons why development teams that adopt Agile methodology would not achieve the expected results.
1. Thinking that Agile is a new version of Waterfall
Convinced that they are implementing the Agile methodology, many teams still continue carrying out the Waterfall methodology. It is essential to be clear that projects that follow this methodology have well-marked and sequential phases (documentation of requirements, design, development, testing, error correction, and final adjustments), as well as knowing in advance how the final solution should look like.
A common mistake of the Scrum teams that previously worked with Waterfall is that they only divide the development phase into two-week Sprints, leaving out the rest of the phases and wasting all the benefits Agile offers. Therefore, when updating or migrating methodologies (from Waterfall to Agile), it is essential to forget about the phases and focus on the practices that Agile stipulates.
How do you avoid this?
It is important to understand that both methodologies have different objectives and functions. For example, generally in Agile, you don’t know what the solution will look like even before you start designing and building it. Agile also means moving forward iteratively, always encouraging early and periodic deliveries to the customer and seeking to add value and getting feedback to improve the final product.
2. There is not an active participation of the client
One of the biggest problems is the lack of involvement of the client or interested party, which can be due to several reasons such as the fact that they are participating in several projects simultaneously or that they are not used to working with this methodology, among others.
In practice, it is common to meet companies who only expect to give the specifications of the work and then obtain a weekly report with the status and progress of the project from the development team.
How do you avoid this?
For the project to be successful, it is key that the client is involved and participates in the main ceremonies (Reviews and Plannings) so that they can see the progress of the development and have the possibility to make the needed modifications after each Sprint. An active client within the process will avoid reprocessing and loss of time that will affect the final product.
3. The different areas are not involved from the beginning of the project
Generally, teams are composed of profiles from different areas (testers, designers, functional analysts, developers, etc.), and all of them contribute to the development process. However, sometimes it is only the team of developers who is involved in each Sprint, leaving aside the perspective of other professionals, which also promotes the waste of Scrum benefits.
How do you avoid this?
Maintaining a multidisciplinary Agile team that works together from the beginning of the project creates a synergy that allows the result to be richer, thanks to the fact that it is constantly nourished by the experiences, knowledge, and skills of each of the members.
4. Lack of dedication and commitment
Another important point that is aligned with the previous one has to do with the team’s dedication.
Having a multifunctional team dedicated to only one project is difficult, especially in small organizations, where there may be several ongoing projects and team members are expected to work on more than one project at the same time.
How do you avoid this?
It is indispensable that Agile team members remain involved and committed throughout the whole process. If it is not possible to ensure that project members are fully engaged in each iteration, it is important to ensure that they are included in the meetings with the development team, daily tasks, planning, and reviews. Only a team that communicates among themselves can make the project succeed.
5. Getting lost in the routine
The pre-established routines of the Agile methodology must be a useful mechanism for the team. They cannot be imposed if they are not going to be useful for the team, and they must allow the team to self-manage and decide autonomously. Experimentation and learning are key.
However, sometimes, the imposition of routines can lead to the emergence of bureaucratic routines and loss of time that do not add value for the learning of the team or the development of the product.
How do you avoid this?
Any Agile routine that does not generate learning to allow the team to grow and deliver value to the user is a waste of time. Since every team is different, it is essential to know and adopt the routines that best suit the team members and the project.
Conclusion
Are you still wondering why Agile fails within your projects? To achieve the best results with Agile, we need to give up the belief that Agile is a new version of Waterfall, where we simply split our development process into two-week Sprints. Also, it is very important to achieve customer involvement from the beginning of the project, that teams are multidisciplinary, and that only useful ceremonies are implemented. Getting the most out of Agile will help us avoid that hidden dark side that can appear if it is not used properly.
About the author
Mauro Matrichuk is a project manager for Hexacta. This article was originally published on https://www.hexacta.com/why-agile-fails-the-dark-side-and-how-to-avoid-it/ and is reproduced with permission from Hexacta.