Towards a Push-Button Release

14
Towards a Push-Button Release Chris Sterling CTO at AgileEVM Inc. Web: www.AgileEVM.com Email: [email protected] Blog: www.GettingAgile.com Follow Me on Twitter: @csterwa Hash Tag for Presentation: #swdebt Wednesday, July 13, 2011

description

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

Transcript of Towards a Push-Button Release

Page 1: Towards a Push-Button Release

Towards a Push-Button Release

Chris SterlingCTO at AgileEVM Inc.Web: www.AgileEVM.comEmail: [email protected]: www.GettingAgile.com Follow Me on Twitter: @csterwaHash Tag for Presentation: #swdebt

Wednesday, July 13, 2011

Page 2: Towards a Push-Button Release

© 2011

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

Innovation Games® Trained Facilitator

Open Source Developer

2

Email: [email protected] Web: http://www.agileevm.comBlog: http://www.gettingagile.comFollow me on Twitter: @csterwa

Wednesday, July 13, 2011

Page 3: Towards a Push-Button Release

Reducing Configuration Management Debt

“If releases are like giving birth, then you must be doing something wrong.” - Robert Benefield

3

Wednesday, July 13, 2011

Page 4: Towards a Push-Button Release

© 2011

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

4

Wednesday, July 13, 2011

Page 5: Towards a Push-Button Release

© 2011

The Power of 2 Scripts: Deploy and Rollback

5

Wednesday, July 13, 2011

Page 6: Towards a Push-Button Release

© 2011

Automated Promotion to Environments

6

Wednesday, July 13, 2011

Page 7: Towards a Push-Button Release

© 2011

Static Code Analysis to Identify Software Debt Early

7

Wednesday, July 13, 2011

Page 8: Towards a Push-Button Release

The Effect of a “No Defect” Mindset

8

“What he needs is some way to pay back. Not some way to borrow more.” - Will Rogers

Wednesday, July 13, 2011

Page 9: Towards a Push-Button Release

© 2011

Case Study: Field Support Application

9

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…

Wednesday, July 13, 2011

Page 10: Towards a Push-Button Release

© 2011

Can We Afford a “No Defect” Policy?

10

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?

Wednesday, July 13, 2011

Page 11: Towards a Push-Button Release

© 2011

Acceptance Test-Driven Development

11

Wednesday, July 13, 2011

Page 12: Towards a Push-Button Release

Managing Software Debt

12

“Promises make debt, and debt makes promises.” - Dutch Proverb

Wednesday, July 13, 2011

Page 13: Towards a Push-Button Release

© 2011

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.

13

Wednesday, July 13, 2011

Page 14: Towards a Push-Button Release

Thank you

Questions and Answers

14

Wednesday, July 13, 2011