managing client expectations of agile in commercial software projects

Post on 15-Apr-2017

752 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related