ibm - build and release best practices
DESCRIPTION
IBM - Build and Release Best Practices. Jesse Tilly, IBM 5 September 2007. Objectives. Introduce a set of fundamental building blocks – best practices. Objectives. Introduce a set of fundamental building blocks – best practices Discuss the practices - focus on measurement. Objectives. - PowerPoint PPT PresentationTRANSCRIPT
®
IBM Software Group
© IBM Corporation
IBM - Build and Release Best Practices
Jesse Tilly, IBM5 September 2007
IBM Software Group | Rational Software | Build Forge
Introduce a set of fundamental building blocks – best practices
Objectives
IBM Software Group | Rational Software | Build Forge
Introduce a set of fundamental building blocks – best practices
Discuss the practices - focus on measurement
Objectives
IBM Software Group | Rational Software | Build Forge
Introduce a set of fundamental building blocks – best practices
Discuss the practices – focus on measurement
Provide some suggestions to apply the practices
Objectives
IBM Software Group | Rational Software | Build Forge
Free Food
Introduce a set of fundamental building blocks – best practices
Discuss the practices – focus on measurement
Provide some suggestions to apply practices
Objectives
IBM Software Group | Rational Software | Build Forge
Roster Status Report
Draft Complete
No Deadweight
IBM Software Group | Rational Software | Build Forge
Roster Status Report
Draft Complete
No Deadweight
Know the rules
IBM Software Group | Rational Software | Build Forge
Roster Status Report
Draft Complete
No Deadweight
Know the rules
Know key players
IBM Software Group | Rational Software | Build Forge
Roster Status Report
Draft Complete
No Deadweight
Know the rules
Know key players
Entertainment Purposes Only
IBM Software Group | Rational Software | Build Forge
Stop!! Take a Step Back!!
Are these good measures?
IBM Software Group | Rational Software | Build Forge
Take a Step Back
My Business Objectives Score most points every week
IBM Software Group | Rational Software | Build Forge
Take a Step Back
My Business Objectives Score most points every week
Avoid bye-week gaps
IBM Software Group | Rational Software | Build Forge
Take a Step Back
My Business Objectives Score most points every week
Avoid bye-week gaps
Pick high-return/low-profile players
IBM Software Group | Rational Software | Build Forge
Take a Step Back
My Business Objectives Score most points every week
Avoid bye-week gaps
Pick high-return/low-profile players
Avoid injury risk
IBM Software Group | Rational Software | Build Forge
What’s NOT on this list
Bad Business Objectives Know every player (e.g. every backup QB)
Use only high-profile players
Use only rookie free-agents
Ignore obvious warnings
IBM Software Group | Rational Software | Build Forge
Blah?
BLAH BLAH BLAH?
Blah blah blah?
Blah blah blah?
IBM Software Group | Rational Software | Build Forge
Blah!
BLAH BLAH BLAH!
Blah blah blah!
Blah blah blah!
IBM Software Group | Rational Software | Build Forge
What are these “Best Practices”:
1) Measure performance against business objectives
2) Establish complete reproducibility
3) Centralized access & collaboration for all stakeholders
4) Build early and often
5) Link to deployment environments
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
What is it:
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
Align tasks to business objectives
What is it:
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
Align tasks to business objectives
Leverage data to measure objectives Release frequency Compliance Quality Aggregations
Communicate to the business
Uncover trends
Show value of software investment
What is it:
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
Why It’s Important
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
You cannot improve what you cannot measureWhy It’s Important
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
You cannot improve what you cannot measure
Process improvement requires good measurements RUP, CMMI, ISO, ITIL, Six Sigma, etc. Many organizations lack the ability
So do regulatory requirements PCI, HIPPA, SOX
Global trend is to align business and IT
Efficiency of “built-in” vs. “ad-hoc” Scrambling to assemble data is not scalable High risk
Communicate the value of your organization to others
Why It’s Important
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
What You Get
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
Improved visibility
Better business decisions
What You Get
IBM Software Group | Rational Software | Build Forge
1) Measure performance against business objectives
Improved visibility
Better business decisions
Establish baselines for comparisons
Forecast improvements
Justify software value Number of on-time releases Fixes per release Shorter audit requests Increase project volume Continuous monitoring
What You Get
IBM Software Group | Rational Software | Build Forge
Back to the List
1) Measure performance against business objectives
2) Establish complete reproducibility
3) Centralized access & collaboration for all stakeholders
4) Build early and often
5) Link build processes to deployment environments
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
What is it:
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
The ability to recreate (or duplicate) a task or series of tasks so that future instances produce the same results (aka precision). *
What is it:
* Source: Wikipedia
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Cause A -> Result A What is it:
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Opposite of Insanity - the conviction that repeatable behavior will result in different outcomes
What is it:
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Opposite of Insanity - the conviction that identical behavior will result in different outcomes
Logically….if you don’t have complete reproducibility, you and/or your project is insane.
What is it:
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Why it’s important:
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Why it’s important: Takes too Long to Do it Again
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Takes too Long to Do it Again
Consider all the components (think release not builds)
Complexity grows with previous versions and multiple platforms
Regulations and legislation mandate reproducibility
“It often takes development teams twice as long to detect/reproduce a problem as it does to repair it.”
-- Standish Group
Why it’s important:
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
What youget
IBM Software Group | Rational Software | Build Forge
2) Establish Complete Reproducibility
Short-Term Troubleshooting speed
Reliable baselines
Audit and security
Long-Term Higher responsiveness (Releases, SLA’s)
Increased productivity
Critical for compliance
What youget
IBM Software Group | Rational Software | Build Forge
The Best Practices:
1) Measure performance against business objectives
2) Establish complete reproducibility
3) Centralized access & collaboration for all stakeholders
4) Build early and often
5) Link build processes to deployment environments
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
What is it:
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
Share without chaosWhat is it:
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
Share without chaos
Essential for any team-oriented software projects
Essential for disperse environments (e.g. across street, across ocean)
Global view, yet still able to enforce policies
What is it:
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
Why It’s Important
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
Centralization allows for consistent policies and processes
Why It’s Important
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
Centralization allows for consistent policies and processes
Silos compromise security and policy requirements
No way to aggregate data or see the “big picture”
Without centralized control, teams cannot easily share or leverage others’ work
Communication and handoffs may fail, impacting release schedules and quality
Why It’s Important
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
What You Get
IBM Software Group | Rational Software | Build Forge
3) Centralized access & collaboration for all stakeholders
Greater participation
No compromising security or productivity
Centralized data is more secure and protected
Better visibility,
Better accountability
Eliminate the human bottlenecks Self-Service capabilities, real-time data available via web
Faster feedback loops
What You Get
IBM Software Group | Rational Software | Build Forge
The Best Practices:
1) Measure performance against business objectives
2) Establish complete reproducibility
3) Centralized access & collaboration for all stakeholders
4) Build early and often
5) Link build processes to deployment environments
IBM Software Group | Rational Software | Build Forge
4) Build early and often
Take advantage of the reproducibility
Uncover problems early in the cycleWhat is it:
IBM Software Group | Rational Software | Build Forge
4) Build early and often
Take advantage of the reproducibility
Uncover problems early in the cycle
More turns of the crank Minimum once a day; more frequent is common Can happen in conjunction with scheduled weekly or
milestone builds
Continuous integration
Common to integrate testing Test early and often
What is it:
IBM Software Group | Rational Software | Build Forge
4) Build early and often
If it can’t build….Why It’s Important
IBM Software Group | Rational Software | Build Forge
4) Build early and often
If it can’t build…
Early release cycles make the difference between success or failure
Feedback becomes immediate – correct problems early
You cannot test if your application does not build!
Why It’s Important
IBM Software Group | Rational Software | Build Forge
4) Build early and often
Higher quality releases delivered on time
Problems are addressed earlier in the development lifecycle, when they are quicker to resolve and less costly
More accurate forecast and status of remaining work to complete
Higher confidence that deliverables will meet requirements
Customer participation is possible earlier in the project, when adjustments are easier to make
What You Get
IBM Software Group | Rational Software | Build Forge
The Best Practices:
1) Measure performance against business objectives
2) Establish complete reproducibility
3) Centralized access & collaboration for all stakeholders
4) Build early and often
5) Link build processes to deployment environments
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
What is it:
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
Integrate release and delivery
What is it:
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
Integrate release and delivery
Releases are stages within the life cycle Integration, Test, QA, Staging, Production, etc.
Target environments can be final destinations, or intermediate “drop zones” for another application to pick up
Focus on “development-centric” release deliveries
Warning! Can be confused with deployment A release process is not an IT operations solution Lacks deployment management/monitoring
What is it:
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
Why It’s Important
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
Trace software assets end-to-endWhy It’s Important
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
Trace software assets end-to-end
“Over the wall” deliveries are high risk
Quickly identifying inputs (e.g. code) for a particular output (ie release) reduces troubleshooting time
Supports audit and compliance requirements
Integration deployment environments further reduces manual handoffs and human error
Why It’s Important
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
What You Get
IBM Software Group | Rational Software | Build Forge
5) Link build processes to deployment environments
Higher quality deployments
Eliminate incomplete transfers
Uncover unexpected application behaviors
Meet compliance and governance objectives Track the “chain of possession”
Reduce troubleshooting efforts
Get end-to-end visibility
Bridge between development and operations Remember the Buisness Goals thing?
What You Get
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
Two franchise players in key positionParker, Westbrook
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
Two franchise players in key positionParker, Westbrook
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
Two franchise players in key positionParker, Westbrook
Process to monitor and change in place
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
Two franchise players in key positionParker, Westbrook
Process to monitor and change in place
IBM Software Group | Rational Software | Build Forge
Roster Status Report – Take 2
Measurements for my Business Objectives
No rookies on Day 1
Two franchise players in key positionParker, Westbrook
Process to monitor and change in place
IBM Software Group | Rational Software | Build Forge
You Are Invited!
Business Driven Development with Build Forge
Location:
IBM Atlanta Technical Exploration Center
4111 Northside Parkway, Atlanta, GA 30327
Date: Tuesday, 11 September 2007
Time: Track 1—The Business Case 8:00 a.m. – 10:00 a.m.
Track 2—Build Forge Test Drive 8:00 a.m. – 12 noon
For more information and online registration:
www.islandtraining.com/info/AtlantaRegistration