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
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
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
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
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?
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
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
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
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
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
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
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
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
From the Eclipse Way to Jazz 14
27
28
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