From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/...

15
From the Eclipse Way to Jazz 1 Dr. Erich Gamma IBM Distinguished Engineer IBM Rational Zurich Research Lab From Closed to Open to Transparent Software Development From Closed to Open to Transparent Software Development Eclipse Timeline Eclipse Timeline Closed Development Open Source 2003 2003 2000 2000 2001 2001 2002 2002 June March June June 2004 2004 June 2005 2005 2006 2006 November Fall June 3.1 2.1 3.0 2.0 3.2 1.0 Project Starts Tech Preview Open Source Open Open Source Source 2007 2007 Jazz Rational Team Concert 2011 2011 Open Commercial/ Transparent Eclipse VisualAge 2000

Transcript of From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/...

Page 1: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 1

Dr. Erich GammaIBM Distinguished EngineerIBM Rational Zurich Research Lab

From Closed to Open to Transparent Software

Development

From Closed to Open to Transparent Software

Development

Eclipse TimelineEclipse Timeline

Closed Development

Open Source

2003200320002000 20012001 20022002

JuneMarch JuneJune

20042004

June

20052005 20062006

NovemberFall June

3.12.1 3.02.0 3.21.0ProjectStarts

TechPreview

OpenSourceOpenOpen

SourceSource

20072007

JazzRational Team Concert

20112011

Open Commercial/Transparent

EclipseVisualAge2000

Page 2: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 2

Eclipse TimelineEclipse Timeline

Closed Development

Open Source

2003200320002000 20012001 20022002

JuneMarch JuneJune

20042004

June

20052005 20062006

NovemberFall June

3.12.1 3.02.0 3.21.0ProjectStarts

TechPreview

OpenSourceOpenOpen

SourceSource

20072007

JazzRational Team Concert

20112011

Open Commercial/Transparent

EclipseVisualAge2000

How we Started: Closed developmentHow we Started: Closed development

The Swiss Bank approach to software development If it hasn't shipped

it doesn’t exist

Strong firewall between developers and customers

The Swiss Bank approach to software development If it hasn't shipped

it doesn’t exist

Strong firewall between developers and customers

Page 3: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 3

Our cultureWe ship softwareOur cultureWe ship software

Our objective is to ship softwareAnything that contributes to this goal,

even indirectly, is considered goodAnything that does not is bad

Developer recognition is based on the ability to ship quality software on time

Our culture: “If you ship, then you may speak.”

Our question: “Did they ever ship anything?”

Our insult: “Yes, but they never ship anything!”

Our objective is to ship softwareAnything that contributes to this goal,

even indirectly, is considered goodAnything that does not is bad

Developer recognition is based on the ability to ship quality software on time

Our culture: “If you ship, then you may speak.”

Our question: “Did they ever ship anything?”

Our insult: “Yes, but they never ship anything!”

Our Team Globally DistributedOur Team Globally Distributed

ZurichBeaverton

Ottawa Saint-Nazaire

Raleigh

Toronto

Winnipeg

Bangalore

Page 4: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 4

Eclipse TimelineEclipse Timeline

Closed Development

Open Source

2003200320002000 20012001 20022002

JuneMarch JuneJune

20042004

June

20052005 20062006

NovemberFall June

3.12.1 3.02.0 3.21.0ProjectStarts

TechPreview

OpenSourceOpenOpen

SourceSource

20072007

JazzRational Team Concert

20112011

Open Commercial/Transparent

EclipseVisualAge2000

Eclipse visionEclipse vision

Industry open source tool platform

Seamless integration of previously unintegrated tools

A plug-in for everything

Users can assemble tools from different suppliers to make a tool environment the way they want it.

Industry open source tool platform

Seamless integration of previously unintegrated tools

A plug-in for everything

Users can assemble tools from different suppliers to make a tool environment the way they want it.

2001

Page 5: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 5

Why did you open source it?Why did you open source it?TOP 5 REASONS

5. No one company can deliver all the tool function that customers need

4. Customers don’t want to be locked in to one proprietary technology

3. Tool builders are reluctant to invest in building tools for a proprietary technology they have no control over

2. Open source is a great way to reach developers directly

1. The large blue company realized the only way eclipse would reach its full potential as an industry platform was if the tool builders and users had the opportunity to influence and contribute

Conclusion: Release eclipse under an open source license and establish an open source project as a communityfocal point to continue to evolve the technology.

TOP 5 REASONS

5. No one company can deliver all the tool function that customers need

4. Customers don’t want to be locked in to one proprietary technology

3. Tool builders are reluctant to invest in building tools for a proprietary technology they have no control over

2. Open source is a great way to reach developers directly

1. The large blue company realized the only way eclipse would reach its full potential as an industry platform was if the tool builders and users had the opportunity to influence and contribute

Conclusion: Release eclipse under an open source license and establish an open source project as a communityfocal point to continue to evolve the technology.

November 2001Reaction from the development teamNovember 2001Reaction from the development team

You want usto do what?

Code in public?

Have technical discussions in public?

Answer all those dumb questions?

Why are we doing this again?

Page 6: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 6

Transitioning to open developmentTransitioning to open developmentProject rules defined in the project’s charter1

Who may change the source code?Who is responsible for delivering?Who decides about the architecture?

Public “meritocracy”Only a small number of developers can modify

the source code: CommittersPeer pressure among committers

– continuous reviewingContinuous review and feedback by the community

Project rules defined in the project’s charter1

Who may change the source code?Who is responsible for delivering?Who decides about the architecture?

Public “meritocracy”Only a small number of developers can modify

the source code: CommittersPeer pressure among committers

– continuous reviewingContinuous review and feedback by the community

1http://www.eclipse.org/eclipse/eclipse-charter.html

Transitioning to open developmentOpen upTransitioning to open developmentOpen up

Learn to become more transparentProvide visibility into the processMake things visible even if unpleasant

Invest in delivering community interactionPrime the feedback loop

Break down the firewallEnable direct interactions between developers

and customers… and get ready for massive feedback

Learn to become more transparentProvide visibility into the processMake things visible even if unpleasant

Invest in delivering community interactionPrime the feedback loop

Break down the firewallEnable direct interactions between developers

and customers… and get ready for massive feedback

Page 7: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 7

Open developmentHaving a community is cool!Open developmentHaving a community is cool!

Project gives community Listen to feedback and reactDemonstrate continuous progress Transparent development

Project gives community Listen to feedback and reactDemonstrate continuous progress Transparent development

CommunityCommunityCommunityCommunityProject

Community gives projectAnswer user questionsReport defects and request featuresValidate technology by extensionValidate technology in a new configurationSubmit patches and enhancements

Community gives projectAnswer user questionsReport defects and request featuresValidate technology by extensionValidate technology in a new configurationSubmit patches and enhancements

CommunityCommunityCommunityProjectProject

Open developmentInteracting with the communityOpen developmentInteracting with the communityWhat is going on

in the project?All discussion in

defects/work itemsMailing lists

(but work items are preferred)

How can I use the project to do XYZ?NewsgroupsA wikiWhere do I start?Project portal

What is going on in the project?All discussion in

defects/work itemsMailing lists

(but work items are preferred)

How can I use the project to do XYZ?NewsgroupsA wikiWhere do I start?Project portal

Page 8: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 8

Open developmentShipping to the communityOpen developmentShipping to the community

Live betasContinuous listeningContinuous feedbackContinuous improvements

This requires…A healthy projectQuality any time, all the time

Live betasContinuous listeningContinuous feedbackContinuous improvements

This requires…A healthy projectQuality any time, all the time

Fitness

3.1 3.2

OriginalIBM Team

OutsideCommunity

Co

mm

un

ity

Act

ivit

yC

om

mu

nit

y A

ctiv

ity

TimeTime

A community reaching critical massA community reaching critical mass

Critical Mass

Page 9: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 9

The Eclipse Development PracticesThe Eclipse Development Practices

milestonesfirst

APIfirst

endgame

retrospectives

always havea client

continuousintegration

community involvement

new & noteworthy

adaptiveplanning

continuous testing

consume yourown output

componentcentric

drive with open eyes

validate

reduce stress

learn

enable

attract to latest

transparency

validateupdate

dynamic teams

show progress

enable

explore

validate

livebetas

feedback

signoff

common agile practices

common Open Source practices

scaling-up practices

This is all about: Feedback Transparency Predictability

Lessons learned Transparency and predictability enable feedbackLessons learned Transparency and predictability enable feedback

CommunityCommunityCommunityCommunity

Transparency

Feedbackand Support

DevelopersDevelopers

Transparency helps existing developmentBetter understanding

of current statusResponding to

feedback takes time, but pays off

Use same communication channels inside as outsideHelped communication

in our globally distributed team

Transparency helps existing developmentBetter understanding

of current statusResponding to

feedback takes time, but pays off

Use same communication channels inside as outsideHelped communication

in our globally distributed team

Page 10: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 10

Lessons learnedThe “village effect”Lessons learnedThe “village effect”

A large organization can act like a smaller organizationFlat hierarchies

Visible accountability

Communication flows,plans, and progress are visible for all to see

A large organization can act like a smaller organizationFlat hierarchies

Visible accountability

Communication flows,plans, and progress are visible for all to see

Eclipse TimelineEclipse Timeline

Closed Development

Open Source

2003200320002000 20012001 20022002

JuneMarch JuneJune

20042004

June

20052005 20062006

NovemberFall June

3.12.1 3.02.0 3.21.0ProjectStarts

TechPreview

OpenSourceOpenOpen

SourceSource

20072007

JazzRational Team Concert

20112011

Open Commercial/Transparent

EclipseVisualAge2000

Page 11: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 11

Reflections from an Eclipse PMC LeadReflections from an Eclipse PMC Lead

Many Eclipse observers do not realize the amount of work/stress/human factor involved in shipping on time every time.

It reminds me of the duck quietly advancing on the pond, but no one realizes that it is paddling like crazyunderwater.

Philippe Mulet – former Eclipse PMC Lead

Many Eclipse observers do not realize the amount of work/stress/human factor involved in shipping on time every time.

It reminds me of the duck quietly advancing on the pond, but no one realizes that it is paddling like crazyunderwater.

Philippe Mulet – former Eclipse PMC Lead

Jazz: Open, extensible, web-centric, integration architectureJazz: Open, extensible, web-centric, integration architecture

StorageCollaboration

QueryDiscovery

Administration:Users, projects, processPresentation:

Mashups

RationalClearQuest

3rd-Party Offerings

RationalTeam

Concert

RationalQuality

ManagerRational

Build Forge

Rational Requirements

Composer

Best Practice Processes

Open Services Web Integrations

HTTP / REST API

Built on Jazz Integrated with Jazz

Page 12: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 12

Open Commercial DevelopmentOpen Commercial Development

Products use a commercial license but development is done in the open

Open, transparent process, from feature requests and planning through delivery

Same communication channels for inside and outside of the projects

Direct access to developers

Products use a commercial license but development is done in the open

Open, transparent process, from feature requests and planning through delivery

Same communication channels for inside and outside of the projects

Direct access to developers

Open Commercial DevelopmentOpen Commercial DevelopmentWhat can the community members do:Download milestones, try them, and provide

feedback on betas and incubators, including source code

Access, create, and comment in defects, enhancement requests

Access milestone and component iteration plansAccess the development wikiParticipate in discussions on the development

community newsgroups

What can the community members do:Download milestones, try them, and provide

feedback on betas and incubators, including source code

Access, create, and comment in defects, enhancement requests

Access milestone and component iteration plansAccess the development wikiParticipate in discussions on the development

community newsgroups

Page 13: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 13

Our Expanded Practices TodayOur Expanded Practices Today

milestonesfirst

APIfirst

endgame

retrospectives

always havea client

continuousintegration

community involvement

new & noteworthy

adaptiveplanning

continuous testing

consume yourown output

componentcentric

drive with open eyes

validate

reduce stress

learn

enable

attract to latest

transparency

validateupdate

dynamic teams

show progress

enable

explore

validate

livebetas

feedback

signoff

End of iterationdemos/reviews

Product Backlog

Burndown Stories

Daily Standup AdoptionsExpectationsTracking

Demo TransparencyDemo Transparency

www.jazz.netwww.jazz.net

Page 14: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 14

27

28

Page 15: From Closed to Open to Transparent Software …...Rational Team Concert 2011 Open Commercial/ Transparent VisualAge Eclipse 2000 From the Eclipse Way to Jazz 2 Eclipse Timeline Closed

From the Eclipse Way to Jazz 15

29

Summary - Our Journey from Eclipse to Jazz/RTC and ALMSummary - Our Journey from Eclipse to Jazz/RTC and ALMWe developed Eclipse…

Started to reflect practices that worked for us

the “Eclipse Way”

Then we started to tool the Eclipse Way

Jazz & Rational Team Concert

and integrated other Jazz tools across disciplines

Application Lifecycle Management

We developed Eclipse…

Started to reflect practices that worked for us

the “Eclipse Way”

Then we started to tool the Eclipse Way

Jazz & Rational Team Concert

and integrated other Jazz tools across disciplines

Application Lifecycle Management

Eclipse Way

ALM

30

See it live at jazz.netSee it live at jazz.net Transparent development

Jazz architecture

Jazz products

Self-hosting

Using Jazz products…

… to develop Jazz products

Learn about Jazz at jazz.net

Try it Sandbox available

Free small teams