+ All Categories
Home > Technology > ThoughtWorks Approach 2009

ThoughtWorks Approach 2009

Date post: 10-May-2015
Category:
Upload: thoughtworks-studios
View: 253 times
Download: 2 times
Share this document with a friend
Description:
Introduction to ThoughtWorks' Application Development Approach
Popular Tags:
35
ThoughtWorks Application Development Approach © ThoughtWorks 2009
Transcript
Page 1: ThoughtWorks Approach 2009

ThoughtWorks Application Development Approach

© ThoughtWorks 2009

Page 2: ThoughtWorks Approach 2009

The origin of Agile concepts

Page 3: ThoughtWorks Approach 2009

Software Project Outcomes: 2006

65% Over-budgetOver-time

Under-delivered

Failed

“The CHAOS Chronicles 2006”, The Standish Group

Page 4: ThoughtWorks Approach 2009

Why are they considered failures?

Over budget by 189%Over schedule by 220%

Only 61% of features are delivered

The Standish Group CHAOS Reports

Page 5: ThoughtWorks Approach 2009

Waste – majority of projects are over scoped

Study by The Standish Group, Jim Johnson Chairman 2002

Sometimes16%

Rarely19%

Always7%

Often13%

Never 45%

Always or often used : 20%

Rarely or never used : 64%

And the result is ..... waste

Page 6: ThoughtWorks Approach 2009

Reducing Waste is the Single Biggest Opportunity For Cost Reduction

Cost to build

Scop

e

Functional and Technical scope not needed

Waste in requirements

capture

Waste in defect

correction

Minimised Cost

Page 7: ThoughtWorks Approach 2009

Agile/Lean Principles

• Eliminate Waste• Develop iteratively/Release often

– Realise business value earlier

– Allow for regular reprioritisation

• Test continuously (and earlier in the process)• Create visibility and maximise feedback

– Between Business and IT

– Business IT management and development teams

– Within teams

Page 8: ThoughtWorks Approach 2009

A typical Agile project lifecycle

Page 9: ThoughtWorks Approach 2009

Inception Phase of an Agile project

QuickStart workshops

Page 10: ThoughtWorks Approach 2009

QuickStart: Agile Requirements Gathering

© ThoughtWorks 2008

Pre-meetFinal Showcase

Time Boxed

2 – 4 Weeks

Weekly Showcases

Page 11: ThoughtWorks Approach 2009

QuickStart: Collaborative and Inclusive

© ThoughtWorks 2008

Page 12: ThoughtWorks Approach 2009

Clear communication is the foundation

“I’m glad we’re all agreed then.”

Page 13: ThoughtWorks Approach 2009

Get those mental models out on the table

“Ah...”

Page 14: ThoughtWorks Approach 2009

An explicitmodel allows convergence through iteration

“Ah!”

Page 15: ThoughtWorks Approach 2009

A genuinely shared understanding

“I’m glad we’re all agreed then.”

Page 16: ThoughtWorks Approach 2009

Outputs of QuickStart workshops

Page 17: ThoughtWorks Approach 2009

Potential outputs

• Prioritised business objectives• Business vision• Roadmap • Architecture model• Low fidelity prototypes / prototypes• Prioritised estimated master requirements list• High level release plan

Page 18: ThoughtWorks Approach 2009

The master requirements list

• Master requirements list– It collects the output of the analysis as requirements (units of value)– These requirements are qualified by risks, issues, assumptions, dependencies and constraints

• For each requirement:– The business has an understanding of its business value– Those implementing the requirement (e.g. IT) have an understanding of the required effort (an estimate)

• The business then prioritises based on:– The estimate– Their knowledge of the business value– Input from those implementing the requirement, e.g. IT

(dependencies, end-to-end slice)

Page 19: ThoughtWorks Approach 2009

High level release plan

• The estimated and prioritised master requirements list provides an excellent foundation for the creation of the high level release plan

• In turn this gives preliminary answers to important planning questions, e.g.– Number of releases

– Content of those releases

– Sequencing / dependencies

– Duration

• All of which position the business to make the required decisions about implementation

Page 20: ThoughtWorks Approach 2009

Delivery Phase

Page 21: ThoughtWorks Approach 2009

Example of Release Cycle – as executed at clients

Itr 1

Ongoing testing: Unit Testing, Acceptance Testing, System Testing, Exploratory Testing, Performance Profiling Ongoing testing: Unit Testing, Acceptance Testing, System Testing, Exploratory Testing, Performance Profiling

Performance, Security and Operations Testing

Performance, Security and Operations Testing

System Integration Test

Regression Test

System Integration Test

Regression Test

UATUAT

Release

Production Candidate

Release

Production Candidate

50% through

Test Release

50% through

Test Release80% through

Test Release

80% through

Test Release

Itr 2 Itr 3 Itr . Itr . Itr . Itr . Itr . Itr . Itr n Deploy

System Integration Test

Regression Test

System Integration Test

Regression Test

System Integration Test

Regression Test

System Integration Test

Regression Test

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

Showcase

UATUAT UATUAT

Performance, Security and Operations Testing

Performance, Security and Operations Testing

Performance, Security and Operations Testing

Performance, Security and Operations Testing

Solution Architecture evolves ongoing through all iterationsSolution Architecture evolves ongoing through all iterations

End to End process review in every iteration End to End process review in every iteration

Page 22: ThoughtWorks Approach 2009

Test earlier and continuously

Page 23: ThoughtWorks Approach 2009

Agile Practices

• Test Driven Development (TDD)• Automated testing• Continuous integration• Spikes (fast, time-boxed evaluation of technical approach – Fail

Fast) • Refactoring• Low-fi prototyping • Automated deployment

Page 24: ThoughtWorks Approach 2009

Measuring Progress – Burn Charts• Used to Show

– Total Scope and any changes over time (scope creep)

– Completed Scope (completed means tested, production quality software)

– Scope remaining to be completed

– Helps drive decisions – scope Vs budget Vs time

Project Burn Up Chart

0

50

100

150

200

250

300

1 2 3 4 5 6 7 8 9

Iteration

Po

ints

Start Scope Current Scope Complete Planned Burn

Page 25: ThoughtWorks Approach 2009

Burn-up chart

0

20

40

60

80

100

120

140

160

180

1 2 3 4 5 6 7 8 9 10

Original Scope

Actual Scope

Actual Points

Predicted Velocity

Page 26: ThoughtWorks Approach 2009

© ThoughtWorks 2008

Example: One Click Showcase

Ti mel i ne – Rel ease 1

We are here.

15/ 1020/ 08

Iterati on 3+4 (combi ned)

Iterati on 5+6 (test & depl oy)

Iterati on 2

Iterati on 1

We are here

0% 100%

% Compl ete – Rel ease 1

Proj ect Tracki ng

0 212 pts

55 pts (49%)

Iterati on 0

I’ n 1 –34pts

Page 27: ThoughtWorks Approach 2009

Fix / Integrate $

Test

Code

DesignSpecifications

Use Cases / Functional Specs

Requirements Gathering

Project Plan/Estimation

$Release 1

Inception

$Release 2

$Release 3

Release 4 $

Waterfall compared with Agile

• Short Iterations• Frequent Releases• Earlier ROI

Page 28: ThoughtWorks Approach 2009

Lower cost of change through higher quality software

Agile system cost profile

Cost of change curve

Page 29: ThoughtWorks Approach 2009

Benefits of Agile

• Delivers business value early, and often• Faster time to market• Maximises return on investment (business value prioritised)• Encourages higher quality, simpler code (lower maintenance costs)• Better Business-IT alignment• Increases visibility into project progress and reduces risk• Handles changing requirements and priorities• Lowers cost of change

Page 30: ThoughtWorks Approach 2009

Discipline in an Agile project

Page 31: ThoughtWorks Approach 2009

Rigour in the Agile methodology (1)

• To be able to deliver effectively in an Agile project, much more discipline is required than in traditional projects. The constant feedback and transparency give the business on-going control and a mechanism to make and change decisions from beginning to end of the project. Surprises late in the project are prevented.

• Part of the Initiation phase are QuickStart workshops which provide:– Input for Business Case– Release Plan– Estimates– Technical vision– Architecture Design– Test Strategy

Page 32: ThoughtWorks Approach 2009

Rigour in the Agile methodology (2)

• The Solution Architecture is developed and reviewed on-going through the iterations.

• Each iteration delivers a showcase which provides the business and stakeholders with a sign-off point on progress regarding scope, time and budget.

• Documentation is produced on the ‘just enough’ principle making it efficient and effective by ensuring that what is produced will be used, thereby reducing waste. The documentation deliverables are adapted to the clients requirements.

Page 33: ThoughtWorks Approach 2009

Traditional vs Agile planning

• With any kind of planning– A little effort helps a lot (80/20 rule). – A lot more effort only helps a little.

• Traditional Planning: Spend a lot of time upfront and understand the problem in detail to come up with an “accurate” plan.

• Agile Planning: – Spend just enough time upfront to get

started and plan to change as the project travels.

– Do just enough to enable effective decision making, covering:• Business case• Requirements• Architecture• Design

– Review these artefacts on an ongoing basis at iteration checkpoints.

• Goal of agile planning is to establish a process that embraces changing the plan by making change easy to manage.

Acc

urac

yEffort

Page 34: ThoughtWorks Approach 2009

34

When do we plan?

QuickStartQuickStart

Release 1Release 1

11 22 …… nn

Release NRelease N

11 22 …… mm

Initial Planning Constant Planning and Re-Planning

Stories

Iterations

Releases

Page 35: ThoughtWorks Approach 2009

Why ThoughtWorks?

ThoughtWorks is • A thought leader in application development • A world leader in the application of Agile practices

ThoughtWorks delivers the best value for money through• Short time to benefit / market • The ability to adapt to changing requirements continuously• Minimising risk


Recommended