Hurdles the sprint with impediments on the way to automation

Post on 15-Jun-2015

51 views 0 download

Tags:

description

Hurdles the sprint with impediments on the way to automation

Transcript of Hurdles the sprint with impediments on the way to automation

Vinod Purushothamanvinodpthmn@gmail.comFollow me @vinodpthmn

Hurdles > The sprint with impediments on the way to automation

Thomas Alva Edison

“I have not failed. I've just found 10,000 ways that won't work.”

First Agilist

images@google

Agile says the same thing!

Fail early, Fail often…

This would be the capital to start with

Automation

Automation Units

Database Automation

Testing Automation

Build Automation

Deployment Automation

Build Automation

Deployment Automation

Database Automation

Testing Automation

AutomationUnits

ContinuousIntegration

ContinuousDelivery

images@google

Background

25 – 30 members

images@google

Environments

DEV QA UAT Prod

Replica

Challenges

Need for change was visible

Automate!!!!

Automate!!!!

Automate!!!!

images@google

No body was ready for the extra mile

images@google

We were dealing with the hardest thing in this Universe

images@google

“ continue to persist in its state until it is compelled to change its state by force impressed.”

Everybody Every body

What Newton said is right…

source@google

images@google

Our Approach

SuccessThe Climax

The Pace

First Move

#1 First Move > It is always hard

images@google

Release Samurai

> Make the pain “evident”

Rotate release engineer roleimages@google

> Start with “Quick wins”

Pick the best one to sell firstimages@google

> Limit the automation WIP

images@google

> Go slow and steady

Start with simple steps and keep on building one by one

images@google

#2 The Pace > to succeed you should sustain

images@google

> Define the vision as a team

PastRetrospective

Notes

Automation Backlog

Automate as many manual, boring jobsimages@google

> Showcase during Retrospective Automation Backlog

Members started picking up line items voluntarilyand worked during the Sprint.

Retrospective

images@google

> No fixed plans

images@google

Don’t be a Modern Doctor, be an Ancient Doctor

> Do trial & error

Focus on “what works" not “what's best”images@google

> Your efforts are “Tip of the Iceberg”

Do it for the team, not for the business!

Your efforts

What business feel

images@google

#3 Climax> we all need positive happy ending

images@google

> Motivate team members

images@google

> Campaign “Go home early on release day…”

images@google

> Cast right tools for right problem

Again focus on “what works" not “what's best”images@google

> Set clear direction to the team.

Check-in GuidelinesConduct Group DiscussionTraining SessionsState Do’s & Don'ts

images@google

> Reach your destiny

Branching Strategy

Build Automation

Build Package

Compile Configuration Changes

Auto Release Emails

DeploymentAutomation

Db DeployAutomation

TestAutomation

Technical Details #1Challenges we faced! What we did? What we gained

No proper source controlbranching strategy, leadingto poor build/releasemanagement.

Introduced new branchingstrategy. Kept it simple .

More control over changes, more control over build/ releasemanagement.

Technical Details #2Challenges we faced! What we did? What we gained

Database deployment waspainful as we were using Redgate SQL as compared to generate delta script for the release.

Defined db script templates andtrusted developer to prepare thedeployment scripts and checkinto source control.

Apprised developers to vetdatabase scripts againstdevelopment database beforecheckin.

Switching to template driven database scripts saved us a lot of time. It no longer needed us to generate scripts by comparing the databases, a cumbersome and time consuming job.

Database scripts were automatically vetted at every environment and werestable by the time it reached theproduction release. This minimized database related release issues.

Technical Details #3Challenges we faced! What we did? What we gained

Compiling configurationchanges from variouschange request notes wascumbersome.

Took environment specificconfiguration files to sourcecontrol and pushed it along withbuild package.

Trusted developer to updateconfiguration file with respectivevalues.

Blending configuration changes from source control to build package eradicated the chance of configuration mismatches and errors.

Technical Details #4Challenges we faced! What we did? What we gained

Preparing build packagewas cumbersome.

Used ANT to build Java codeand parse Cold Fusion.

Used NANT to build .NET code.

Automated build and packaging saved a lot of time.

Increased the release readiness of the team and reduced post release production issues to a great extent.

Technical Details #5Challenges we faced! What we did? What we gained

Careless checkin and integration issues were breaking build during release.

Setup Cruise Control .NET asCI Server to perform nightlybuilds.

Nightly build ensured that there are no build errors and we are good.

ValuesGained

Vet every single

change

Quick round-trips(Testing Automation)

Avoid redundant

manual efforts

Rollout build more

frequently

QualityDeliverables

Release Readiness

Together Everyone Achieves Moreimages@google

There are several resons to go for automation, but we could die for one precious thing in this world!

images@google

You choose, if you believe…

Vinod Purushothamanvinodpthmn@gmail.comFollow me @vinodpthmnimages@google