42
www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

Embed Size (px)

Citation preview

Page 1: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

www.electric-cloud.com

The Agile Heartbeat

John Graham-Cumming

Founder

Page 2: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 2

AgendaAgenda

Why Build Mangers control the heartbeat of software engineering

Page 3: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

www.electric-cloud.com

The MVP

And it’s not a developer

Page 4: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 4

The MVPThe MVP

Who are the engineering team MVPs?Managers?

Developers?

QA?

Wrong

The MVP is the build manager

Why?

Page 5: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 5

Who Else?Who Else?

The build manager actually builds the product that’s shipped

Sure, developers write the features and bugs

Sure, QA tests that the product works

Sure, managers do something valuable

But the build manager…… that guy actually built the thing your company ships

… that guy probably stayed up until 3am to make it happen

So why does that guy get no decent tools?

Page 6: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

www.electric-cloud.com

A Brief History of Build Management

Page 7: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 7

Once Upon a Time…Once Upon a Time…

The Dark Ages

Developers worked in small groups

They integrated their software with each other in an ad hoc manner

QA was ad hoc using builds thrown over the wall by developers

When the software had to be shipped someone typed ‘make’ on The Build Machine

Then they copied the installer to a floppy disk

There was no such thing as a build manager

Page 8: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 8

The Software Grew; the Build GrewThe Software Grew; the Build Grew

Homo Buildus Sapiens appears

Developers start using source code management systems and plan integration points

QA relies on semi-reliable builds to test against

The build grows to be a full-time responsibility: the build manager is born

People look down on the build manager

They give him cheap tools

He is expected to ‘crank out’ a build at 3am

Page 9: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 9

The EnlightenmentThe Enlightenment

The Build Manager puts his foot down

The software no longer builds during the 8 hour work-day

Developers are changing things too fast

The Build Manager takes control, introduces the ‘nightly build’

The Manager gives him expensive hardware to build on

He still uses rough-edged tools like Make and Perl

People start complaining about broken builds

The Build Manager introduces the ‘smoke test’

Page 10: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 10

Polling QuestionPolling Question

Currently, how long are your software builds?a) Less than ½ hour

b) ½ to 1 hour

c) 1-2 hours

d) 2-4 hours

e) 4-8 hours

f) Other

Page 11: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 11

The EnlightenmentThe Enlightenment

But that could only go on for so long…

Page 12: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

www.electric-cloud.com

The Big Bang

Page 13: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 13

The Big BangThe Big Bang

The very essence of builds suddenly breaks

The build takes longer than a night to build: 10, 11, 12 hours

There is no night anymore: Sunnyvale hands off to Bangalore at 6pm

Developers latch on to XP and Agile techniques

They build huge unit test suites

Requirements, implementation, tests change daily

The Build Manager is under enormous pressure to DO SOMETHING

He still gets to use rough-edged tools, many he built himself

Page 14: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 14

The Rise and Rise of the MVP Build The Rise and Rise of the MVP Build ManagerManager

Once upon a time…TBM didn’t exist, being TBM was a role taken on by a developer

Developers hated to be the ‘build guy’ for the day

The software grew; the build grew

TBM role is formalized, but developers still looked down on him

The EnlightenmentThe Manager invites TBM to join his weekly staff meeting; TBM matters now

Developers, QA and Management harass him about broken builds

MVP

Page 15: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 15

And The Big BangAnd The Big Bang

The Build Manager’s Revenge

Suddenly TBM is the most important member of the team

Developers need builds to run unit tests against…

… and they want them NOW!

QA needs builds to test against

Management looks to the build as a vital sign for software development

Some teams even install red/green lava lamps indicating the status of the latest build

TBM has gone from constantly criticized to mission critical

Page 16: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 16

The Developers ChantThe Developers Chant

Agile! XP!

Continuous IntegrationDevelopers want to be able to build and test the software themselves

Then check-in and get instant feedback on integration problems

That means really fast build and test on demand

QA needs fully-tested builds for their workThey need regular builds (perhaps at most once daily) that have undergone more testing

Page 17: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

www.electric-cloud.com

The Build Manager Responds

Page 18: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 18

And The Build Manager SaysAnd The Build Manager Says

I need fast buildsThat means better build structureFast build machines, special software for parallel buildsgmake -j doesn’t give the speedup up I need

I’m doing 200 builds a day, I need better toolscron just won’t cut itI need real management tools

I need reporting toolsEveryone wants live build feedbackPerl + Excel isn’t enough

I need this because builds are now the heartbeat of software engineering

Page 19: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 19

The Agile HeartbeatThe Agile Heartbeat

Fast builds because you’re not doing 1/day any more!

Scheduled builds to satisfy regular needse.g. QA wants a fresh tested build ready at 9am

e.g. Bangalore needs a fresh build at 5pm

On demand builds for special needse.g. Putting out a patch release of an old version

Stimuli builds for when things changee.g. Developer commits changes, wants an espresso build: a full build and unit test while he drinks a coffee

Page 20: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 20

Getting There: DIYGetting There: DIY

Fast buildsBuy lots of SMP hardware and try out GNU Make parallelism or manually parallelize the build.

Scheduled buildsUse cron for that

On demand buildsBuild an intranet page, integrate it yourself with the current build and source code management system

Stimuli buildsBuild ad-hoc script attached to source code management system

Page 21: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 21

DIYDIY

You could try that

Before you do think about…How much time do you have to write all that code?

How you are going to manage 200+ builds per day?

How are you going to get the build down from 4 hours to 15 minutes?

How are you going to manage hardware failure in your build system?

Build Managers now control the heartbeat of software engineering

They need something more than a creaky Perl script

Page 22: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 22

Polling QuestionPolling Question

Where is your organization in its adoption of agile techniques?a) Discussed, but no impending plans

b) Actively working toward that now

c) Planning to implement in next 6-12 months

d) Planning to implement more than 12 months from now

e) Standardized on a agile method

Page 23: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 23

Better Tools for MVPsBetter Tools for MVPs

Build speed toolsLike ElectricAccelerator

Build visualization and troubleshooting toolsLike ElectricInsight

Build management toolsLike ElectricCommander

Together these tools enable TBM to build, package, test, and deploy software

And they enable Agile development

Page 24: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 24

TBMs: Call to ActionTBMs: Call to Action

Go to your VP of EngineeringMake the sound of a heart beatingOK, maybe not

Tell him I said you were the MVPOK, he’s never heard of me

Get AgileHighly recommended is Continuous Integrationwww.martinfowler.com/articles/continuousIntegration.html

Look into available toolsOpen Source and Commercial

Set yourself a goal…

Page 25: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 25

GoalGoal

Put in place a Production Management System within six months

Tell your VPYou’re enabling Agile development

About the projects you can’t work on today because you are babysitting builds

How much more productive developers will be with Agile builds

Page 26: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 26

Stepping Stones (1)Stepping Stones (1)

Step 1: Put full builds in the hands of developers

Set up an internal web page that allows a developer to fire off a build

The developer should be able to select:Which branch to build…… or the location of his personal source treeWhether to run unit tests or not

The build runs and the engineer gets an email with the result

Start a new rule: developers run on demand builds before they commit

Page 27: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 27

Stepping Stones (2)Stepping Stones (2)

Step 2: Buy those lava lamps

Set up the full build system to run more than once per day

Set up a system the feedback to the entire team whether the full build succeeded

red/green lava lamps or

a flat panel screen mounted high enough for engineering to see and

a web page showing live build status

Scheduled builds start to be the heartbeat of engineering

Page 28: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 28

Stepping Stones (3)Stepping Stones (3)

Step 3: Speed up the build

Look into tools that can speed up your build

Set an under-60 minute goal for a full build and smoke test

Announce to the team that multiple integrations can now happen per day, during the day

These fast builds begin to enable agile development

Page 29: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 29

Stepping Stones (4)Stepping Stones (4)

Step 4: Fully automate

Integrate your fast builds with your source code management system

When the source code changes run a stimuli build and test it

Now the lava lamps really matter

Now the build is the heartbeat of engineering

Start referring to yourself as the Build Automator not the Build Manager

Page 30: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 30

Build or Buy?Build or Buy?

Each stepping stone can be implemented with home grown tools

But there are a number of vendors providing Production Management Software

What follows is a shameless product pitch…

Page 31: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

www.electric-cloud.com

Electric Cloud

The Leader in Software Production Management

Page 32: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 32

Software Production ManagementSoftware Production Management

PackagePackagePackagePackageBuildBuildBuildBuild TestTestTestTest DeployDeploy DeployDeploy Design, Define, CodeDesign, Define, Code Design, Define, CodeDesign, Define, Code

Software Creation

SoftwareProduction

Critically important processes, but little commercial support until now

SCM $1.1 BSCM $1.1 BSCM $1.1 BSCM $1.1 B

TestingTesting$1.5 B$1.5 B

TestingTesting$1.5 B$1.5 B

Dev ToolsDev ToolsMulti-BillionMulti-BillionDev ToolsDev Tools

Multi-BillionMulti-Billion

Too slow

Too hard to manage

Too hard to understand

Page 33: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 33Slide 33

Company BackgroundCompany Background

Founded 2002 by successful technologists, industry veterans

Deep intellectual property: nine patents…more to come

50 leading customers worldwide

In production at all customer sites: no shelf-ware

Page 34: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 34

Problems That We SolveProblems That We Solve

Error prone, script intensive, ad-hoc, manual systems

Disconnected build and test systems around the world

Broken production builds due to ‘fire and forget’ check-ins

Slow build and test systems

Dependencies that are difficult to identify, address, and manage

Difficulty answering compliance questions such as who built what & when and can we do it again

Poor visibility and reporting in the entire SPM process

Page 35: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 35

Page 36: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 36Slide 36

Software Production ManagementSoftware Production Management

Only Electric Cloud Solves the

Whole Software Production Problem

AccelerateAccelerate

AutomateAutomate AnalyzeAnalyze

Page 37: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 37

Electric Cloud SPM SolutionsElectric Cloud SPM Solutions

ElectricCommanderAutomate Production Processes

Build Package Test Deploy

ElectricInsightVisualize Software Builds

ElectricAccelerator10-20x Faster Builds

SCM Tools

Build ToolsMake, Ant,Maven, etc.

Package ToolsInstallers, etc.

Test ToolsUnit Test Tools,Code Coverage,

etc.

Deploy ToolsMisc.

Too slow

Too hard to manage

Too hard to understand

ElectricAccelerator

ElectricCommander

ElectricInsight

Page 38: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 38

Electric Cloud SolutionElectric Cloud Solution

Slide 38Slide 38

AccelerateAccelerate

AutomateAutomate AnalyzeAnalyze

Web-based, automated system

Unified solution with re-usable components

Enable pre-flight development builds

10X -20X speed improvements

Automated dependency management

Easily extract build information & results

Open, flexible, pinpoint reporting

Page 39: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 39

Customer SuccessCustomer Success

“With Electric Cloud, we compile and link Quickbooks every 30 minutes…broken builds are a thing of the past.”

“In the morning, our builds are more predictable, and they’re more accurate. That’s because, the testing is done at the same time and there are fewer mistakes. Electric Cloud has made my job easier.”

“Even if we assume that each engineer does only one build per week, the money saved in lost productivity pays for the system inside of six months.”

Page 40: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 40

Page 41: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 41

Page 42: Www.electric-cloud.com The Agile Heartbeat John Graham-Cumming Founder

December 6, 2006 Slide 42

Q&AQ&A

Submit your questions now

For more information:Visit our website: www.electric-cloud.com

E-mail: [email protected]

Phone: 650-962-4777