managing client expectations of agile in commercial software projects
TRANSCRIPT
Managing client expectations of Agile in commercial software
projectsSteve Adams
Project Delivery ManagerMSM Software
@msmsoftware MSM Software www.msmsoftware.com/blog
MSM Software
MSM specialise in taking complex business problems and turning them into workable and intuitive software solutions for corporates,
charities and companies looking to achieve growth.
About me
The UTMB – Waterfall or Agile?
”Keep putting put one foot in front of the other, and you will reach the finish line”
Setting the scene
Successful agile examples are typically in-house / internal deliveries
But we are an external supplier bidding for client projects against an RFP
The RFP is typically risk-averse, requiring a fixed price for a fixed outcome.
How do we overcome this fundamental obstacle to Agile delivery?
The main areas of focus for today
The main areas of focus for today
Identifying Agile fundamentals that are challenged by commercial realities
Understanding what it is clients actually want from Agile delivery
Identifying how to satisfy client’s Agile expectations despite the challenges
Examples of projects delivered successfully using Agile techniques
The underlying fundamentals
Agile Manifesto
Requirements Cost & schedule
Budget & schedule Requirements
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Pure agile and pure waterfall
Waterfall
Agile
Requirements Cost & schedule
Budget & schedule Requirements
What do our clients want?
Client Requirements & Cost Agile
Waterfall
Agile
Requirements Cost & schedule
Budget & schedule Requirements
Why do clients want agile?
They’ve heard that it delivers better results
They want the flexibility to absorb change
They want visibility of progress
They believe they will get something that better meets their needs
They want the option to implement features early
Why does a supplier want agile?
The chance to deliver better solutions
Lowers commercial risk
Foster long-term client relationships
It’s more interesting and engaging for developers
Shorter iterations are more rewarding
How to manage client expectations
1. Agile delivers better results
“We’ve heard that agile delivers better results. Everyone is using it…”
Understand exactly what aspects of agile they like the sound of and why
Explain that not all projects (or companies) suit an agile process
Explain opportunities for using add value agile techniques within any process
Recommend an appropriate approach based on their needs
Include agile techniques within standard internal processes (build quality in)
1. Agile delivers better results
2. Flexibility to change our minds
“We want the flexibility to add change requests. Isn’t agile all about being able to add changes within the budget?”
Ensure the client involves the right stakeholders early and consistently
Reduce the risk of change by effective analysis
Continue collaboration and visibility during design and development
A relationship based on trust will make the client feel comfortable to accommodate a contingency budget from the start
2. Flexibility to change our minds
3. Visibility of project progress
“We want to track and have visibility over how the project is progressing… ”
Regular, clear and meaningful progress updates
Breakdown project into releasable iterative deliveries
Maximise face to face meetings, collaboration and review sessions
Ensure the client is kept aware of importance of their deliverables
Use a collaborative web-based project tool such as Trello or Smartsheet
3. Visibility of project progress
4. Solution that better meets needs
“Agile development will make sure we get a solution that better meets our needs…”
Ensure the client involves the right stakeholders early and consistently
Continue collaboration and visibility during design and development
Provide opportunities for early beta testing
Breakdown delivery into iterative releases
4. Solution that better meets needs
5. Implement features early
“We want the option to implement features earlier during the development process if priorities change…”
Break down the development into separate or incremental deliverables
Ensure there is a willingness to adjust the plan
5. Implement features early
Delivering successful software projects
Assess each project delivery approach on a case by case basis.
Don’t revert to pure waterfall just because it cannot be pure agile.
Always take advantage of value-add agile techniques to provide the client with increased collaboration, visibility of progress and better outcomes.
Always use agile techniques internally to build in quality and automate processes.
Accept that client engaging in a pure agile approach is a longer term journey.
The following examples demonstrate these ideas.
No ‘one size fits all’
Client was looking for a local supplier to develop their fleet management system in collaboration with their internal IT team. Agile worked because:
There was a strong desire to build a good relationship with regular face to face communication
They knew fixed costs would limit the potential for shared development work
They came with no documentation
They accepted evolving requirements and wanted us to run their workshops
Pure agile client
Westfield needed a bespoke web-based booking system and front end portal to replace manual processes. A hybrid approach worked because:
Despite fixed requirements, the client was used to a flexible way of working outside of IT
Trust and rapport initiated from the very first face to face meeting
We were able to educate the client that with a flexible budget, as change requests emerged, we could safely accommodate them
Westfield used an external designer so the ability to adapt quickly was key
A creative client
We carry out regular developments on QBE’s high profile risk management system which is used globally. We persuaded them to adopt agile techniques:
Due to the relationship built over many years,
Delighted the client by providing early beta demos before development even went into testing
We able to demonstrate an understanding of requirements
Delivered an overall improvement in quality
A waterfall client
The UTMB – Iterative approach
”Keep putting put one foot in front of the other, and you will reach the finish line”
In Conclusion
Any agile is better than none at all
Where can agile add
value?
Project needs
Supplier needs
Client needs
Questions or talk to me afterwards
@msmsoftware MSM Software www.msmsoftware.com/blog