managing client expectations of agile in commercial software projects

33
Managing client expectations of Agile in commercial software projects Steve Adams Project Delivery Manager MSM Software @msmsoftware MSM Software www.msmsoftware.com/blog

Upload: msm-software

Post on 15-Apr-2017

749 views

Category:

Technology


1 download

TRANSCRIPT

Page 2: Managing client expectations of agile in commercial software projects

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.

Page 3: Managing client expectations of agile in commercial software projects

About me

Page 4: Managing client expectations of agile in commercial software projects

The UTMB – Waterfall or Agile?

”Keep putting put one foot in front of the other, and you will reach the finish line”

Page 5: Managing client expectations of agile in commercial software projects

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?

Page 6: Managing client expectations of agile in commercial software projects

The main areas of focus for today

Page 7: Managing client expectations of agile in commercial software projects

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

Page 8: Managing client expectations of agile in commercial software projects

The underlying fundamentals

Page 9: Managing client expectations of agile in commercial software projects

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

Page 10: Managing client expectations of agile in commercial software projects

Pure agile and pure waterfall

Waterfall

Agile

Requirements Cost & schedule

Budget & schedule Requirements

Page 11: Managing client expectations of agile in commercial software projects

What do our clients want?

Client Requirements & Cost Agile

Waterfall

Agile

Requirements Cost & schedule

Budget & schedule Requirements

Page 12: Managing client expectations of agile in commercial software projects

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

Page 13: Managing client expectations of agile in commercial software projects

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

Page 14: Managing client expectations of agile in commercial software projects

How to manage client expectations

Page 15: Managing client expectations of agile in commercial software projects

1. Agile delivers better results

“We’ve heard that agile delivers better results. Everyone is using it…”

Page 16: Managing client expectations of agile in commercial software projects

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

Page 17: Managing client expectations of agile in commercial software projects

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?”

Page 18: Managing client expectations of agile in commercial software projects

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

Page 19: Managing client expectations of agile in commercial software projects

3. Visibility of project progress

“We want to track and have visibility over how the project is progressing… ”

Page 20: Managing client expectations of agile in commercial software projects

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

Page 21: Managing client expectations of agile in commercial software projects

4. Solution that better meets needs

“Agile development will make sure we get a solution that better meets our needs…”

Page 22: Managing client expectations of agile in commercial software projects

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

Page 23: Managing client expectations of agile in commercial software projects

5. Implement features early

“We want the option to implement features earlier during the development process if priorities change…”

Page 24: Managing client expectations of agile in commercial software projects

Break down the development into separate or incremental deliverables

Ensure there is a willingness to adjust the plan

5. Implement features early

Page 25: Managing client expectations of agile in commercial software projects

Delivering successful software projects

Page 26: Managing client expectations of agile in commercial 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’

Page 27: Managing client expectations of agile in commercial software projects

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

Page 28: Managing client expectations of agile in commercial software projects

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

Page 29: Managing client expectations of agile in commercial software projects

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

Page 30: Managing client expectations of agile in commercial software projects

The UTMB – Iterative approach

”Keep putting put one foot in front of the other, and you will reach the finish line”

Page 31: Managing client expectations of agile in commercial software projects

In Conclusion

Page 32: Managing client expectations of agile in commercial software projects

Any agile is better than none at all

Where can agile add

value?

Project needs

Supplier needs

Client needs