© thoughtworks, 2008 improving productivity and quality with agile patrick kua
TRANSCRIPT
![Page 1: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/1.jpg)
© ThoughtWorks, 2008
Improving Productivity and Quality With Agile
Patrick Kua
![Page 2: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/2.jpg)
© ThoughtWorks, 2008
The Software Development Crisis…
![Page 3: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/3.jpg)
© ThoughtWorks, 2008
Who’s happy with:
![Page 4: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/4.jpg)
Requirements not met
![Page 5: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/5.jpg)
Software taking too long before it can be used
![Page 6: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/6.jpg)
Unhappy Users
![Page 7: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/7.jpg)
Unhappy Developers
![Page 8: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/8.jpg)
What’s working to fix this?
![Page 9: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/9.jpg)
© ThoughtWorks, 2008
Agile
![Page 10: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/10.jpg)
© ThoughtWorks, 2008
What is Agile?
![Page 11: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/11.jpg)
XPScrum
Lean DSDM
Crystal
…
![Page 12: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/12.jpg)
© ThoughtWorks, 2008
A guiding manifesto…
![Page 13: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/13.jpg)
© ThoughtWorks, 2008
The Agile Manifesto
![Page 14: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/14.jpg)
© ThoughtWorks, 2008
The Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan.
That is, while there is value in the items on the right, we value the items on the left (bold) more.
![Page 15: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/15.jpg)
© ThoughtWorks, 2008
What leads to poor productivity?
Poor Communication
Too much planning (no delivery)
Constant Handover
Priorities changing
![Page 16: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/16.jpg)
© ThoughtWorks, 2008
How does agile help?
Poor Communication
Too much planning (no delivery)
Constant Handover
Priorities changing
Timeboxed iterations
Constant feedback
Daily stand ups
Customer involvement
Iteration Showcases
Iteration planning games
Release planning
Pair programming
Cross functional teams
Iteration planning games
![Page 17: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/17.jpg)
© ThoughtWorks, 2008
What leads to poor quality?
Late Testing
Overcomplicated designs
No process improvementDelaying Integration
No knowledge transfer
Lack of Standards
![Page 18: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/18.jpg)
© ThoughtWorks, 2008
How does agile help?
Late Testing
Overcomplicated designs
No process improvementDelaying Integration
No knowledge transfer
Lack of StandardsCode standards
Collective Ownership
Continuous Integration
Frequent Releases
Refactoring
YAGNITest Driven Development
Automated acceptance tests
Unit tests
Daily stand ups
Pair programming
Behaviour driven development
Retrospectives
Informative Workspaces
Pair programming
![Page 19: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/19.jpg)
© ThoughtWorks, 2008
Example practices
![Page 20: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/20.jpg)
© ThoughtWorks, 2008
Continuous Integration
![Page 21: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/21.jpg)
![Page 22: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/22.jpg)
© ThoughtWorks, 2008
Testing
![Page 23: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/23.jpg)
© ThoughtWorks, 2008
Customer acceptance tests
Unit tests
supports...
“TDD produced code that passed between 18 and 50 percent more
external test cases than code produced by control groups
not using TDD.”
IEEE Article: Software Architecture Improvement through TestDriven Development by David S. Janzen
![Page 24: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/24.jpg)
© ThoughtWorks, 2008
Refactoring
![Page 25: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/25.jpg)
© ThoughtWorks, 2008
Pair Programming
• Constant code reviewing
• Very efficient
– second person prevents drift
– X hours longer vs. 15X hours bug fixing(source: http://www.pairprogramming.com)
![Page 26: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/26.jpg)
© ThoughtWorks, 2008
Reinforcing Practices
![Page 27: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/27.jpg)
© ThoughtWorks, 2008
WARNING!
![Page 28: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/28.jpg)
Only following practices…
![Page 29: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/29.jpg)
Coach
![Page 30: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/30.jpg)
© ThoughtWorks, 2008
Summary
Agile
Discipline
Quality
Speed
Productivity
![Page 31: © ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua](https://reader030.vdocuments.us/reader030/viewer/2022032702/56649cf45503460f949c25a3/html5/thumbnails/31.jpg)
© ThoughtWorks, 2008
Questions?