While Agile Development is becoming mainstream there are still a lot of companies who still don’t use it. It is generally understood that 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 an agile paradigm 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. In addition, 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. Frequent feedback loops also help the team to try out things 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. While traditional development methodologies assume that requirements are defined at the beginning of the project agile focus is on learning what should be done. The philosophy is that it is not possible to truly 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 properly developed during the 1990s. The Agile paradigm was defined in the Agile Manifesto in 2001.
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 really work the method can be scaled inside the organisation.
Is there any evidence that agile development is actually 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. Having said that, a number of surveys show that Agile is better in 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 survey 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. It is expected that there will be some turmoil. 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 key 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 constantly 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 10 years. We started without really understanding the paradigm. The result came once we understood the agile philosophy. Over the last 5 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!