Agile Development is becoming mainstream. At the same time, a lot of companies still don’t use it. Agile teams produce high-quality software faster and better and at a lower cost than what could be done using traditional methodologies. However, changing to agile development can be a challenge. Agile is a journey, and it may be an effort to get started, but it is a matter of constant improvement, and the journey never ends.
What does agile development mean?
Agile teams are generally self-organised and empowered to achieve business objectives without a project leader or managers guiding them. Also, agile teams deliver fully functional software at frequent intervals, which means there is a fast feedback loop. Agile reduces the risk of misunderstanding requirements with shorter feedback cycles. In this way, customers and users will be able to correct issues early and avoid challenges late in the process.
When using agile development, frequent feedback from customer or users ensures that such things are found early. Continuous feedback loops also help the team to try out ideas and see what works. Issues are found earlier in the project, which reduces overall project risk and stimulates innovation. Agile is not the same as traditional iterative development. Traditional development methodologies assume that requirements are defined at the beginning of the project. In agile methods, the focus is on “learning” what should be done. The philosophy is that it is not possible to know what works, and therefore, it must be tested. In a way, it can be seen as constant piloting and correcting using double loop learning in every step of the process. It reduces risks and costs from start to end.
Scrum is the most used agile development method, and there is substantial evidence that it works. Scrum was first mentioned in a landmark 1986 paper and was developed during the 1990s. The Agile paradigm was defined in the Agile Manifesto in 2001. For more information about agile, we have written another article.
How to start to use agile development?
There will always be resistance to change in any organisations. Therefore, it may be better to start with one team and support and protect them so that they can learn and deliver using Scrum. If and when this work, the method can be scaled inside the organisation.
Is there any evidence that agile development is better?
It is hard to compare software development in ways which would show beyond any reasonable doubt that agile development is better than traditional methodologies. In fact, at Gislen Software, we don’t claim to believe agile development is best for all types of projects. When requirements are unclear or emerging, agile is the best. Several surveys show that Agile is better in the sense of success rate, productivity, quality, stakeholder satisfaction and cost –
Atlassian, the developer of Jira, conducted an online survey about agile, which shows that the majority of software teams that use their software use agile development. Scrum Alliance conducted a study which shows a very high success rate for Scrum.
How long does it take for a company to become agile?
While Scrum is light-weight and easy to learn, individuals may not fully understand the underlying principles, and there may also be some resistance. It is always demanding to do things in a new way. Customers and managers may also resist the idea or see agile just as another fad. Hence, expect some resistance! However, with proper commitment from all stakeholders, you should be able to see tangible results within 3-6 months.
How to start with Agile development?
Agile methodologies are not proprietary methodologies (e.g. RUP, PSP/TSP, CMM and TickIT) and not owned by anyone. Anyone can use the methods and certification is not required for using them or calling something Agile or Scrum.
Get a few staff members to go through the Scrum Master certification course and get certified. All team members should read the Scrum Guide. First, create a product backlog and then a sprint backlog. Conduct a sprint planning meeting and run your first sprint. Only use some critical aspects of Scrum the first time. What is important is to conduct the review and retrospective meetings at the end. Implement all aspects of Scrum over time. We also recommend to use test-driven development together with scrum and have developers start to write test-cases before writing the code and to use a build server to continually verify that the code doesn’t break and that unit tests pass.
How we made the journey
Gislen Software is a Swedish owned Agile Software consulting company located in India, and we work predominantly with clients in the UK and Scandinavia. Gislen Software has used Agile for almost ten years. We started without really understanding the paradigm. The result came once we got a hang of the agile philosophy. Over the last five years or so, we have learned to become more and more agile. Before we started our agile journey, there was a lot of stress and challenges. While Scrum does not solve all problems, it certainly makes life simpler. We have found that a lot has to do with building an agile culture. In our experience, Scrum and agile development delivers!