ibm - build and release best practices

82
® IBM Software Group © IBM Corporation IBM - Build and Release Best Practices Jesse Tilly, IBM 5 September 2007

Upload: phelan-christensen

Post on 30-Dec-2015

26 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

®

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

How am I doing?

IBM Software Group | Rational Software | Build Forge

NFL Starts Tomorrow

How to Measure Success

IBM Software Group | Rational Software | Build Forge

IBM Software Group | Rational Software | Build Forge

Roster Status Report

Draft Complete

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

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

Where were we?

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

What is it:

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

Why It’s Important

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

What You Get

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

Whew

IBM Software Group | Rational Software | Build Forge

Almost there….

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