Towards a Push-Button Release


Published on

This is a 45 minute presentation I will be delivering at a company-wide meeting to discuss:

* How push-button release was used to help entire enterprise go from 6 month to 1 week release cycles
* How a "No Defect" team policy with ATDD drives greater productivity

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Towards a Push-Button Release

  1. 1. Towards a Push-Button Release Chris Sterling CTO at AgileEVM Inc. Web: Email: Blog: Follow Me on Twitter: @csterwa Hash Tag for Presentation: #swdebtWednesday, July 13, 2011
  2. 2. Chris Sterling – CTO at AgileEVM Inc. Author of Book “Managing Software Debt: Building for Inevitable Change” Consults on software technology, Agile technical practices, Scrum, and effective management techniques Certified Scrum Trainer Email: Web: Blog: Innovation Games® Trained Follow me on Twitter: @csterwa Facilitator Open Source Developer © 2011 2Wednesday, July 13, 2011
  3. 3. Reducing Configuration Management Debt “If releases are like giving birth, then you must be doing something wrong.” - Robert Benefield 3Wednesday, July 13, 2011
  4. 4. Case Study: Enterprise Agile Adoption 180+ person “Web 2.0” product organization Waterfall SDLC that development uses to deliver in 6 month release cycles Want to use Agile methods to be more responsive to users and keep up with other “Web 2.0” companies Transitioned to Agile methods on 15 teams in 3 months Changed release management strategy, added XP technical practices, and implemented Scrum product development framework for scaled coordination Able to release every week to users within 4 months Used streamlined deployment environment process to validate product changes daily using Continuous Integration and automated promotions © 2011 4Wednesday, July 13, 2011
  5. 5. The Power of 2 Scripts: Deploy and Rollback © 2011 5Wednesday, July 13, 2011
  6. 6. Automated Promotion to Environments © 2011 6Wednesday, July 13, 2011
  7. 7. Static Code Analysis to Identify Software Debt Early © 2011 7Wednesday, July 13, 2011
  8. 8. The Effect of a “No Defect” Mindset “What he needs is some way to pay back. Not some way to borrow more.” - Will Rogers 8Wednesday, July 13, 2011
  9. 9. Case Study: Field Support Application 2000+ users access application each day Application supports multiple perspectives and workflows from Field Support Operations to Customer Service Team of 5 people delivering features on existing Cold Fusion platform implementation Migrating Architecture to Spring/Hibernate in slices while still delivering valuable features 36 2-week Sprints, 33 production releases, and only 1 defect found in production So, what was the defect you say? Let me tell you… © 2011 9Wednesday, July 13, 2011
  10. 10. Can We Afford a “No Defect” Policy? This team worked on legacy codebase inherited from another vendor Other vendor had been slowing down month after month and cost of development was increasing In first iteration this team was able to deliver more than other vendor was able to in previous 2 months After 24 iterations this team was 10 times faster delivery than1st iteration Acceptance Test-Driven Development and Continuous Integration were greatest technical factors to support team in these results Can you afford not to have a “No Defect” policy? © 2011 10Wednesday, July 13, 2011
  11. 11. Acceptance Test-Driven Development © 2011 11Wednesday, July 13, 2011
  12. 12. Managing Software Debt “Promises make debt, and debt makes promises.” - Dutch Proverb 12Wednesday, July 13, 2011
  13. 13. Types of Software Debt Technical Debt: These are the activities that a team or team members choose not to do well now and will impede future development if left undone. Quality Debt: There is a diminishing ability to verify the functional and technical quality of software. Configuration Management Debt: Integration and release management become more risky, complex, and error-prone. Design Debt: The cost of adding features is increasing toward the point where it is more than the cost of writing from scratch. Platform Experience Debt: The availability of people to work on software changes is becoming limited or cost-prohibitive. © 2011 13Wednesday, July 13, 2011
  14. 14. Thank you Questions and Answers 14Wednesday, July 13, 2011