SlideShare a Scribd company logo
1 of 25
Download to read offline
The Eclipse Way
Daniel Megert
Eclipse Platform and JDT Lead
IBM Research - Zurich
2 © 2016 IBM Corporation
Why Did We Do Eclipse?
 Disrupt the growing dominance of Microsoft
 Solve our tool integration problems
 Create a community of plug-in providers
3 © 2016 IBM Corporation
How 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
4 © 2016 IBM Corporation
History
 1998 - IBM conceives idea of universal tool integration platform
– Work starts on SWT
 1999 - IBM team starts work to build Eclipse Platform and Java IDE
– Based on 10 years experience with Smaltalk, VA/Java, VA/MicroEdition
 2001 - IBM donates Eclipse Platform and Java IDE to open source ($40M)
 2001 - IBM Eclipse team leads Eclipse evangelism and seeds community
– IBM funded receptions and Eclipse community events
– Keynotes, conference talks, articles by IBM technical leaders
– 55 Full time developers improving Eclipse and fully engaged with community
– First Eclipse-based products
5 © 2016 IBM Corporation
November 2001: “Open Source”
Reaction from the development team
You want us
to do what?
Code in public?
Have technical
discussions in public?
Answer all those
dumb questions?
Why are we doing
this again?
6 © 2016 IBM Corporation
Key Lessons
– Transparency helps existing development
• Better understanding of current status
• Responding to feedback takes time, but pays off
– Use same communication channels inside as
outside
CommunityCommunity
Transparency
Feedback
and Support
DevelopersDevelopers
7 © 2016 IBM Corporation
Open Commercial Development
– Open Commercial Development is more than publishing
the source code
• Open, transparent process, from feature requests and
planning through delivery
– What can the community members do:
• Download milestones, try them, and provide feedback on
betas and incubators, including source code
• Access, Create, and update defects
• Access milestone and component iteration plans
• Access the development wiki
• Participate in discussions on the development community
newsgroups
– Example: www.jazz.net
8 © 2016 IBM Corporation
The Eclipse Way
 The secret of the success of the Eclipse team
 An agile software development process
 Used, developed and improved over time by the Eclipse team
9 © 2016 IBM Corporation
The Success of the Process
 The Eclipse team is shipping high quality
software on-time for many years now
–Continuous nightly builds on-time
–Weekly integration builds on-time
–Six week milestones on-time
–Yearly releases on-time
–Service releases on-time
 A healthy project
–Works on this high-level over years
–Continuously improving the process
Eclipse 1.0 Nov 2001
Eclipse 2.0 June 2002
Eclipse 2.0.1 Sept 2002
Eclipse 2.0.2 Nov 2002
Eclipse 2.0.3 Mar 2003
Eclipse 2.1 Mar 2003
Eclipse 2.1.1 June 2003
10 © 2016 IBM Corporation
Getting Started
 Milestones first
–Small cycles (+/- six weeks)
 Early incremental planning
–Essential for many agile processes
 Continuous testing, Continuous integration
–Essential for many agile processes
 Endgame
–Stabilizing the product at the end of the release cycle
– No feature work allowed
 Decompression
–Essential to recover and improve the process over time
11 © 2016 IBM Corporation
In the Past…
Time
Effort/
Pain
Level
Look at calendar
All the time in the world
Heads down
Say goodbye to your loved ones
Exhaustion
12 © 2016 IBM Corporation
Iterative – No hanging rope
fitness
no “hanging rope”
⇒ stress reduction
3.1
t
3.2In the
past
13 © 2016 IBM Corporation
Milestones First
 Break down release cycle into milestones
– We currently use 6 weeks
 Each milestone is a miniature
development cycle
– Plan, execute, test
– Teams refer to the release plan when
creating milestone plans
• Assign plan items to a milestone
• Milestone plans are public
 Result of a milestone
– Milestone builds: good enough to be
used by the community
 Milestones reduce stress!
14 © 2016 IBM Corporation
Iterative – Time-boxed
endgame
Release 4.6
fitness
M1
plan
develop
stabilize
6 weeks
warm-up
retrospective
initialreleaseplan
decompression
4.5
M2
plan
develop
stabilize
…
plan
develop
stabilize
sign-offsign-off sign-off
6 weeks 6 weeks
fix
test
fix
test
15 © 2016 IBM Corporation
Early Planning
 Establish big picture
– Team input
– Community input
 Sub-projects define their plans
 PMC collates initial draft project plan
– Tradeoff: requirements vs. available resources
16 © 2016 IBM Corporation
The Plan is Alive
 The sub-project plans are updated as we go
– Progress on items
– New items
– Input from the community
 The project plan is updated quarterly
 Becomes final at the end of the release
 Before, and still practiced by many: static plans
– Accurate once, but no early feedback: non-existent until late
in the cycle.
17 © 2016 IBM Corporation
Continuous Integration
 Fully automated build process
 Build quality verified by automated unit tests
 Staged builds
– Nightly builds
• Discover integration problems between components
– Weekly integration builds
• All automated unit tests must be successful
• Good enough for our own use
– Milestone builds
• Good enough for the community to use
18 © 2016 IBM Corporation
Always Beta
 Each integration build is a release candidate; we expect it to work
 Results of the build process and the automated tests
– Indicate where we are
 As tool makers we use our own tools
– Developers use weekly integration builds
– Community uses release and milesone builds
 Continuously Consume Our Own Output
aka Eat your own dog food
19 © 2016 IBM Corporation
Community Involvement
 Problem: no one knew what was in a milestone,
– So there was no incentive to move to milestone builds
– So we received minimal feedback
• More stale defect reports
– Quality suffered
 Solution: publish New and Noteworthy
– Advertise what we have been doing
 Requires transparency
– Community needs to know what is going on to participate
 Requires open participation
– We value the contributions of the community
 We are the community
20 © 2016 IBM Corporation
Testing
 Innovate and refactor code with confidence
– Continuous incremental design
 Over 100'000 JUnit tests
 Tightly integrated into the build process
– Tests run after each build (nightly, integration, milestone)
– Milestone builds are only green when all tests pass
 Test / Report kinds
– Correctness tests: Assert correct behavior
– Performance tests: Allow to see performance regressions
• Based on a database of previous test run measurements
– Resource tests: no leaks and no resource consumption regressions
– API verification - breakage
– API verification - illegal use of internal/non API
21 © 2016 IBM Corporation
Endgame
 Convergence process applied before release
– Sequence of test-fix passes (RCs)
• Community event
 With each pass the costs for fixing are increased
– Higher burden to release a fix for a problem
– Focus on higher priority problems and trivial fix/polish items
 Endgame endurance
– We are only effective for so long
– Distribute Quality/Polish effort throughout the release
– Shared responsibility and commitment
– We all sign off
22 © 2016 IBM Corporation
Fixed Bugs
23 © 2016 IBM Corporation
Decompression
 Recover from release
 Retrospective of the last cycle
– Achievements
– Failures
– Process
– Cross-team collaboration
 Explore new stuff
 Start to plan the next release and cycles
24 © 2016 IBM Corporation
Our Practices – The Eclipse Way
milestones
first
API
first
end
game
retrospectives
always have
a client
continuous
integration
community
involvement
new &
noteworthy
adaptive
planning
continuous
testing
consume your
own output
component
centric
drive with
open eyes
validate
reduce stress
learn
enable
attract
to latest
transparency
validate
update
dynami
c
teams
show progress
enable
explore
validate
live
betas
feedback
sign
off
common agile practices
common Open Source practices
scaling-up practices
25 © 2016 IBM Corporation
Conclusion
 The team makes the process work
 The team defines and evolves the process

More Related Content

Viewers also liked

Managers Introduction to Agile
Managers Introduction to AgileManagers Introduction to Agile
Managers Introduction to AgileNaresh Jain
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
 
Technology Vision 2016 - Infographic
Technology Vision 2016 - InfographicTechnology Vision 2016 - Infographic
Technology Vision 2016 - InfographicAccenture Technology
 
How to build an agile organisation
How to build an agile organisationHow to build an agile organisation
How to build an agile organisationPierre E. NEIS
 
Strategic Workforce Planning Finally Gets Strategic
Strategic Workforce Planning Finally Gets StrategicStrategic Workforce Planning Finally Gets Strategic
Strategic Workforce Planning Finally Gets Strategicaccenture
 
Digital Disruption: Embracing the Future of Work
Digital Disruption: Embracing the Future of Work Digital Disruption: Embracing the Future of Work
Digital Disruption: Embracing the Future of Work accenture
 
The Uncharted - Tech Vision 2017 Trend 5
The Uncharted - Tech Vision 2017 Trend 5The Uncharted - Tech Vision 2017 Trend 5
The Uncharted - Tech Vision 2017 Trend 5Accenture Technology
 
Technology Vision 2017 infographic
Technology Vision 2017 infographicTechnology Vision 2017 infographic
Technology Vision 2017 infographicAccenture Technology
 

Viewers also liked (11)

Comunas Rurales
Comunas RuralesComunas Rurales
Comunas Rurales
 
Managers Introduction to Agile
Managers Introduction to AgileManagers Introduction to Agile
Managers Introduction to Agile
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
Technology Vision 2016 - Infographic
Technology Vision 2016 - InfographicTechnology Vision 2016 - Infographic
Technology Vision 2016 - Infographic
 
How to build an agile organisation
How to build an agile organisationHow to build an agile organisation
How to build an agile organisation
 
Scrum@accenture
Scrum@accentureScrum@accenture
Scrum@accenture
 
Strategic Workforce Planning Finally Gets Strategic
Strategic Workforce Planning Finally Gets StrategicStrategic Workforce Planning Finally Gets Strategic
Strategic Workforce Planning Finally Gets Strategic
 
Digital Disruption: Embracing the Future of Work
Digital Disruption: Embracing the Future of Work Digital Disruption: Embracing the Future of Work
Digital Disruption: Embracing the Future of Work
 
The Uncharted - Tech Vision 2017 Trend 5
The Uncharted - Tech Vision 2017 Trend 5The Uncharted - Tech Vision 2017 Trend 5
The Uncharted - Tech Vision 2017 Trend 5
 
Technology Vision 2017 - Overview
Technology Vision 2017 - OverviewTechnology Vision 2017 - Overview
Technology Vision 2017 - Overview
 
Technology Vision 2017 infographic
Technology Vision 2017 infographicTechnology Vision 2017 infographic
Technology Vision 2017 infographic
 

Similar to The Eclipse Way

Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationRogue Wave Software
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case studyDavid Marsh
 
Lessons Learned with Time-Based Releases for EFL
Lessons Learned with Time-Based Releases for EFLLessons Learned with Time-Based Releases for EFL
Lessons Learned with Time-Based Releases for EFLSamsung Open Source Group
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?Samsung Open Source Group
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to buildDanHeidinga
 
Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mfMichelle Ferrier
 
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source StrategyEMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy{code}
 
DevOps @ Enterprise - Lessons from the trenches
DevOps @ Enterprise - Lessons from the trenchesDevOps @ Enterprise - Lessons from the trenches
DevOps @ Enterprise - Lessons from the trenchesMarcelo Sousa Ancelmo
 
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)Greg Hodgkinson
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsTechWell
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinDiego Garber
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...{code}
 
A301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoringA301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoringMichael Dawson
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterpriseSanjeev Sharma
 
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...{code}
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationPeter Muessig
 

Similar to The Eclipse Way (20)

All About Jazz Team Server Technology
All About Jazz Team Server TechnologyAll About Jazz Team Server Technology
All About Jazz Team Server Technology
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integration
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
Lessons Learned with Time-Based Releases for EFL
Lessons Learned with Time-Based Releases for EFLLessons Learned with Time-Based Releases for EFL
Lessons Learned with Time-Based Releases for EFL
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to build
 
Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
 
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source StrategyEMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
 
DevOps @ Enterprise - Lessons from the trenches
DevOps @ Enterprise - Lessons from the trenchesDevOps @ Enterprise - Lessons from the trenches
DevOps @ Enterprise - Lessons from the trenches
 
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development Teams
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 Medellin
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
 
A301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoringA301 ctu madrid2016-monitoring
A301 ctu madrid2016-monitoring
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterprise
 
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
 

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniNaresh Jain
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniNaresh Jain
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016Naresh Jain
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 ConferenceNaresh Jain
 
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimGetting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimNaresh Jain
 
MVP Design Hacks
MVP Design HacksMVP Design Hacks
MVP Design HacksNaresh Jain
 
Functional Conf 2015
Functional Conf 2015Functional Conf 2015
Functional Conf 2015Naresh Jain
 

More from Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimGetting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
 
MVP Design Hacks
MVP Design HacksMVP Design Hacks
MVP Design Hacks
 
Functional Conf 2015
Functional Conf 2015Functional Conf 2015
Functional Conf 2015
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

The Eclipse Way

  • 1. The Eclipse Way Daniel Megert Eclipse Platform and JDT Lead IBM Research - Zurich
  • 2. 2 © 2016 IBM Corporation Why Did We Do Eclipse?  Disrupt the growing dominance of Microsoft  Solve our tool integration problems  Create a community of plug-in providers
  • 3. 3 © 2016 IBM Corporation How 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
  • 4. 4 © 2016 IBM Corporation History  1998 - IBM conceives idea of universal tool integration platform – Work starts on SWT  1999 - IBM team starts work to build Eclipse Platform and Java IDE – Based on 10 years experience with Smaltalk, VA/Java, VA/MicroEdition  2001 - IBM donates Eclipse Platform and Java IDE to open source ($40M)  2001 - IBM Eclipse team leads Eclipse evangelism and seeds community – IBM funded receptions and Eclipse community events – Keynotes, conference talks, articles by IBM technical leaders – 55 Full time developers improving Eclipse and fully engaged with community – First Eclipse-based products
  • 5. 5 © 2016 IBM Corporation November 2001: “Open Source” Reaction from the development team You want us to do what? Code in public? Have technical discussions in public? Answer all those dumb questions? Why are we doing this again?
  • 6. 6 © 2016 IBM Corporation Key Lessons – Transparency helps existing development • Better understanding of current status • Responding to feedback takes time, but pays off – Use same communication channels inside as outside CommunityCommunity Transparency Feedback and Support DevelopersDevelopers
  • 7. 7 © 2016 IBM Corporation Open Commercial Development – Open Commercial Development is more than publishing the source code • Open, transparent process, from feature requests and planning through delivery – What can the community members do: • Download milestones, try them, and provide feedback on betas and incubators, including source code • Access, Create, and update defects • Access milestone and component iteration plans • Access the development wiki • Participate in discussions on the development community newsgroups – Example: www.jazz.net
  • 8. 8 © 2016 IBM Corporation The Eclipse Way  The secret of the success of the Eclipse team  An agile software development process  Used, developed and improved over time by the Eclipse team
  • 9. 9 © 2016 IBM Corporation The Success of the Process  The Eclipse team is shipping high quality software on-time for many years now –Continuous nightly builds on-time –Weekly integration builds on-time –Six week milestones on-time –Yearly releases on-time –Service releases on-time  A healthy project –Works on this high-level over years –Continuously improving the process Eclipse 1.0 Nov 2001 Eclipse 2.0 June 2002 Eclipse 2.0.1 Sept 2002 Eclipse 2.0.2 Nov 2002 Eclipse 2.0.3 Mar 2003 Eclipse 2.1 Mar 2003 Eclipse 2.1.1 June 2003
  • 10. 10 © 2016 IBM Corporation Getting Started  Milestones first –Small cycles (+/- six weeks)  Early incremental planning –Essential for many agile processes  Continuous testing, Continuous integration –Essential for many agile processes  Endgame –Stabilizing the product at the end of the release cycle – No feature work allowed  Decompression –Essential to recover and improve the process over time
  • 11. 11 © 2016 IBM Corporation In the Past… Time Effort/ Pain Level Look at calendar All the time in the world Heads down Say goodbye to your loved ones Exhaustion
  • 12. 12 © 2016 IBM Corporation Iterative – No hanging rope fitness no “hanging rope” ⇒ stress reduction 3.1 t 3.2In the past
  • 13. 13 © 2016 IBM Corporation Milestones First  Break down release cycle into milestones – We currently use 6 weeks  Each milestone is a miniature development cycle – Plan, execute, test – Teams refer to the release plan when creating milestone plans • Assign plan items to a milestone • Milestone plans are public  Result of a milestone – Milestone builds: good enough to be used by the community  Milestones reduce stress!
  • 14. 14 © 2016 IBM Corporation Iterative – Time-boxed endgame Release 4.6 fitness M1 plan develop stabilize 6 weeks warm-up retrospective initialreleaseplan decompression 4.5 M2 plan develop stabilize … plan develop stabilize sign-offsign-off sign-off 6 weeks 6 weeks fix test fix test
  • 15. 15 © 2016 IBM Corporation Early Planning  Establish big picture – Team input – Community input  Sub-projects define their plans  PMC collates initial draft project plan – Tradeoff: requirements vs. available resources
  • 16. 16 © 2016 IBM Corporation The Plan is Alive  The sub-project plans are updated as we go – Progress on items – New items – Input from the community  The project plan is updated quarterly  Becomes final at the end of the release  Before, and still practiced by many: static plans – Accurate once, but no early feedback: non-existent until late in the cycle.
  • 17. 17 © 2016 IBM Corporation Continuous Integration  Fully automated build process  Build quality verified by automated unit tests  Staged builds – Nightly builds • Discover integration problems between components – Weekly integration builds • All automated unit tests must be successful • Good enough for our own use – Milestone builds • Good enough for the community to use
  • 18. 18 © 2016 IBM Corporation Always Beta  Each integration build is a release candidate; we expect it to work  Results of the build process and the automated tests – Indicate where we are  As tool makers we use our own tools – Developers use weekly integration builds – Community uses release and milesone builds  Continuously Consume Our Own Output aka Eat your own dog food
  • 19. 19 © 2016 IBM Corporation Community Involvement  Problem: no one knew what was in a milestone, – So there was no incentive to move to milestone builds – So we received minimal feedback • More stale defect reports – Quality suffered  Solution: publish New and Noteworthy – Advertise what we have been doing  Requires transparency – Community needs to know what is going on to participate  Requires open participation – We value the contributions of the community  We are the community
  • 20. 20 © 2016 IBM Corporation Testing  Innovate and refactor code with confidence – Continuous incremental design  Over 100'000 JUnit tests  Tightly integrated into the build process – Tests run after each build (nightly, integration, milestone) – Milestone builds are only green when all tests pass  Test / Report kinds – Correctness tests: Assert correct behavior – Performance tests: Allow to see performance regressions • Based on a database of previous test run measurements – Resource tests: no leaks and no resource consumption regressions – API verification - breakage – API verification - illegal use of internal/non API
  • 21. 21 © 2016 IBM Corporation Endgame  Convergence process applied before release – Sequence of test-fix passes (RCs) • Community event  With each pass the costs for fixing are increased – Higher burden to release a fix for a problem – Focus on higher priority problems and trivial fix/polish items  Endgame endurance – We are only effective for so long – Distribute Quality/Polish effort throughout the release – Shared responsibility and commitment – We all sign off
  • 22. 22 © 2016 IBM Corporation Fixed Bugs
  • 23. 23 © 2016 IBM Corporation Decompression  Recover from release  Retrospective of the last cycle – Achievements – Failures – Process – Cross-team collaboration  Explore new stuff  Start to plan the next release and cycles
  • 24. 24 © 2016 IBM Corporation Our Practices – The Eclipse Way milestones first API first end game retrospectives always have a client continuous integration community involvement new & noteworthy adaptive planning continuous testing consume your own output component centric drive with open eyes validate reduce stress learn enable attract to latest transparency validate update dynami c teams show progress enable explore validate live betas feedback sign off common agile practices common Open Source practices scaling-up practices
  • 25. 25 © 2016 IBM Corporation Conclusion  The team makes the process work  The team defines and evolves the process