Share this
The key benefits and costs to Agile software development
by Martin White on 12 May 2014
Equinox IT has delivered many New Zealand software development projects. Over the last four years we have used agile approaches for software development and we have found this a very successful way of working. In our experience using agile has many benefits and some costs and we summarise some of the key ones here:
Benefit: being responsive and flexible to change
Normally when you set up a software development project, you get funding, sign contracts, prepare a detailed project plan and set everything up. Once these are in place change becomes hard because you’ve got to change everything.
Using an agile software development approach, you still need to do all the same things you would on a traditional project, especially planning. Agile does not mean you don’t plan, it means that you plan in smaller chunks of time, which is more practical. It’s easier to do accurate planning when you are only planning for say a two week horizon from where you are. And every two weeks you get the opportunity to re-plan without having to restructure an entire plan for whole project. This allows projects to be much more flexible and accommodate change.
Benefit: owning the outcome
Often what happens in traditional projects is that the team who actually writes the code, tests the software and produces the end outcome is not necessarily involved at the time of planning, estimating, scheduling, and sequencing. They don’t get to have their input. They don’t get to say that it doesn’t make sense to develop component A before component B. They don’t get to apply to the planning process the benefits to their experience or what they learned on the project. Ultimately they become consumable resources as opposed to genuine contributors.
Using agile the team who is implementing the software is intimately involved in planning, including the planning of each sprint or iteration. They are more in control and contribute to how the work is done. This helps with people’s motivation and they feel they have a greater stake in what they are doing. They own the work and the outcome that is being delivered.
Benefit: delivering greater value to the business
Agile approaches encourage regular contribution during software development from the business, and this involvement influences the way that development goes. For example, when it comes down to a choice between feature A and feature B, then the product owner, representing the business, gets to choose which is more valuable for them. In this way, agile software development approaches create greater opportunities to take business value into account.
Furthermore, as stated earlier the ability to accommodate change using agile approaches often results in a software solution that is better aligned to what the business needs. In traditional software development projects you quite often end up developing features that are not used or are of a low value because you said you would in the plan, and you stick to the plan even when more important things come up. Even if your plan was perfect and you implement things at the rate that the plan said, all the way through, if other things come up during the project, then you can’t incorporate those without either dropping something else or extending the budget and timeframe. With agile you can insert new requirements into the backlog and if these deliver greater business value you can prioritise them ahead of other requirements or stories at next sprint, which for many agile projects is no more than two weeks away.
Cost: reduced sense of certainty
If you are starting a new project with a new team using agile you don’t know how fast the team will work and how many sprints or iterations it’s going to take them to achieve the functionality. The approach is foreign to the team and so often project teams need to do a sprint or two before they can tell the business how long it’s going to take to complete the whole project.
With this level of uncertainty, how do you convince the people providing the cash, (i.e the client or your senior management) that they are going to get what they want for the money they are spending? It’s pretty hard to do.
Often in this situation traditional fixed price approaches will be applied to create certainty (though it is debatable how much certainty you get when you expect to have to use change control to be responsive). This puts all of the risks onto the project team by saying “okay here is the budget we are going to give you and there’s no room to change”. The problem is that cynically, this motivates the development team to do the least amount of work possible to meet the stated requirements, regardless of quality and whether or not this actually delivers the required business value. Similarly, it motivates the client or the business to try and sneak in new features for the same fixed price, especially if the requirements are high-level or vague. These are just the wrong motivations.
With agile projects it is ideal to have a contractual structure that drives the right behaviour - to deliver the most business value for the money that is available. This may require a change in mind-set for many decision makers who are used to expecting to know exactly what they will get for the investment made.
Share this
- Agile Development (89)
- Software Development (68)
- Scrum (41)
- Agile (32)
- Business Analysis (28)
- Application Lifecycle Management (27)
- Capability Development (23)
- Requirements (21)
- Lean Software Development (20)
- Solution Architecture (19)
- DevOps (17)
- Digital Disruption (17)
- Project Management (17)
- Coaching (16)
- IT Professional (15)
- IT Project (15)
- Knowledge Sharing (13)
- Equinox IT News (12)
- Agile Transformation (11)
- IT Consulting (11)
- Digital Transformation (10)
- Strategic Planning (10)
- IT Governance (9)
- International Leaders (9)
- People (9)
- Change Management (8)
- Cloud (8)
- MIT Sloan CISR (7)
- Working from Home (6)
- Azure DevOps (5)
- Innovation (5)
- Kanban (5)
- Business Architecture (4)
- Continuous Integration (4)
- Enterprise Analysis (4)
- Client Briefing Events (3)
- GitHub (3)
- IT Services (3)
- AI (2)
- Business Rules (2)
- Communities of Practice (2)
- Data Visualisation (2)
- Java Development (2)
- Lean Startup (2)
- Scaling (2)
- Security (2)
- System Performance (2)
- ✨ (2)
- Automation (1)
- FinOps (1)
- Microsoft Azure (1)
- Satir Change Model (1)
- Testing (1)
- March 2025 (1)
- December 2024 (1)
- August 2024 (1)
- February 2024 (3)
- January 2024 (1)
- September 2023 (2)
- July 2023 (3)
- August 2022 (4)
- July 2021 (1)
- March 2021 (1)
- February 2021 (1)
- November 2020 (2)
- July 2020 (1)
- June 2020 (2)
- May 2020 (3)
- March 2020 (3)
- August 2019 (1)
- July 2019 (2)
- June 2019 (1)
- April 2019 (3)
- March 2019 (2)
- December 2018 (1)
- October 2018 (1)
- August 2018 (1)
- July 2018 (1)
- April 2018 (2)
- February 2018 (1)
- January 2018 (1)
- September 2017 (1)
- July 2017 (1)
- February 2017 (1)
- January 2017 (1)
- October 2016 (2)
- September 2016 (1)
- August 2016 (4)
- July 2016 (3)
- June 2016 (3)
- May 2016 (4)
- April 2016 (5)
- March 2016 (1)
- February 2016 (1)
- January 2016 (3)
- December 2015 (5)
- November 2015 (11)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (7)
- June 2015 (7)
- April 2015 (1)
- March 2015 (2)
- February 2015 (2)
- December 2014 (3)
- September 2014 (2)
- July 2014 (1)
- June 2014 (2)
- May 2014 (8)
- April 2014 (1)
- March 2014 (2)
- February 2014 (2)
- November 2013 (1)
- October 2013 (2)
- September 2013 (2)
- August 2013 (2)
- May 2013 (1)
- April 2013 (3)
- March 2013 (2)
- February 2013 (1)
- January 2013 (1)
- November 2012 (1)
- October 2012 (1)
- September 2012 (1)
- July 2012 (2)
- June 2012 (1)
- May 2012 (1)
- November 2011 (2)
- August 2011 (2)
- July 2011 (3)
- June 2011 (4)
- April 2011 (2)
- February 2011 (1)
- January 2011 (2)
- December 2010 (1)
- November 2010 (1)
- October 2010 (1)
- February 2010 (1)
- July 2009 (1)
- October 2008 (1)