agile case studies and lessons learned
DESCRIPTION
Presentation on agile delivered at Agile Tokyo focussing on success stories with agile on big projects, and lessons learned including the importance of building quality and innovation into your process at all levels.TRANSCRIPT
Agile: Case Studies and Lessons Learned
Jez Humble, ThoughtWorks Studios@jezhumble #continuousdeliveryAgile Tokyo, 20 July 2011
IT environment is ever more complex
Time-to-market is too long
Competitors are moving ever faster
IT costs are being squeezed
what’s the problem?
what if...
...you could get valuable software released faster, with higher quality, and reduced risk?
agile manifesto
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Previous attempt to create a new platform had failed
UK’s most popular newspaper website - 700 pages per second, 30% growth per year
Multi-year program to replace legacy content management systems
Interactive site with dynamic, multimedia content and social networking
Lessons from first section applied to next phases
Started with 2-week inception phase focusing on travel section
Travel section went live after 8 months - 10x increase in pages viewed per visitor
Each of subsequent 22 releases completed on time and with minimal disruption
customer feedback
“at 70% of the way through the project we were able to start adding to the project outside of planned activities. A multi-million pound project running on time and absorbing growth in scope - remarkable.”
Tom Turcan - General Manager, Digital
Scaling team from 50 to 200 people, distributed across UK and 2 sites in India
UK’s leading independent online train ticket retailer. 100k transactions per day. 8.4m users.
Multi-year program to replace huge legacy platform across multiple channels
Roll-out had to be incremental, keeping key customers and partners happy
Iterative delivery: 6 week release cycles
Started with rapid prototype to create roadmap
Used ThoughtWorks Studios agile ALM solution - Mingle, Go, Twist
Extensive use of build, test and deployment automation and virtualization
customer feedback
“We undertook a complex, technically challenging and business critical program of work with ThoughtWorks. We trusted them with the success of our future business and they delivered.”
David Jack – CIO
ThoughtWorks clients
agile is mainstream
“In this year’s Forrester/Dr. Dobb’s Global Developer Technographics® Survey, 37% of developers tell us that they use Agile development as their primary development process, up six points from last year’s survey”
Jeffrey Hammond, “Five Ways To Streamline Release Management”, Forrester
internal barriers stall change
“The main obstacles to improved business responsiveness are slow decision-making, conflicting departmental goals and priorities, risk-averse cultures and silo-based information.”
Economist Intelligence Unit: “Organisational agility:How business can survive and thrive in turbulent times”
agile triangle
Jim Highsmith: Agile Project Management
do less
Far more than 50% of functionality in software is rarely or never used. These aren’t just marginally valued features; many are no-value features.
The Standish Group, reported in the IEEE conference 2002
innovateYou can't just
ask customers what they want and then try to
give that to them.
By the time you get it built, they'll want
something new.Steve Jobs
scientific method
create hypothesis
deliver minimumviable product
get feedback
(repeat)
Customerdevelopent
Agile productdevelopment
Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
software always production ready
releases tied to business needs, not operational constraints
continuous delivery
Customer
Delivery teamConstant flow of new features into production
Automation: build, deployment, testing, release, infrastructure, databases
Patterns and practices: continuous integration, config management, deployment pipeline
Collaboration: developers, testers, operations (devops) work together throughout
continuous delivery
build quality in“Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place”
W. Edwards Deming
different kinds of testing
Functional acceptance tests
ShowcasesUsability testing
Exploratory testing
Unit testsIntegration tests
System tests
Non-functional acceptance tests
(performance, scaling, ...)
Business facing
Technology facing
Critiq
ue
pro
ject
Su
pp
ort
pro
gra
mm
ing
AUTOMATED
AUTOMATED
MANUAL
MANUAL / AUTOMATED
Diagram invented by Brian Marick
value your people
“Human beings have an innate inner drive to be autonomous, self-determined, and connected to one another. And when that drive is liberated, people achieve more and live richer lives”
Dan Pink, Drive
Create autonomous, cross-functional product teams
Create feedback loops
Continuous Improvement: the retrospective is the key agile process
enabling agile
http://continuousdelivery.com/http://studios.thoughtworks.com/gohttp://thoughtworks.com/
@[email protected]#continuousdelivery
thank you!