Upload
mckayla-carlyle
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
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
www.electric-cloud.com
The MVP
And it’s not a developer
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?
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?
www.electric-cloud.com
A Brief History of Build Management
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
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
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’
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
December 6, 2006 Slide 11
The EnlightenmentThe Enlightenment
But that could only go on for so long…
www.electric-cloud.com
The Big Bang
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
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
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
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
www.electric-cloud.com
The Build Manager Responds
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
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
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
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
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
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
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…
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
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
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
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
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
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…
www.electric-cloud.com
Electric Cloud
The Leader in Software Production Management
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
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
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
December 6, 2006 Slide 35
December 6, 2006 Slide 36Slide 36
Software Production ManagementSoftware Production Management
Only Electric Cloud Solves the
Whole Software Production Problem
AccelerateAccelerate
AutomateAutomate AnalyzeAnalyze
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
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
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.”
December 6, 2006 Slide 40
December 6, 2006 Slide 41
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