the eclipse way

he page taken as our search engine crawled the Web.
The web site itself may have changed. You can check the current page or check for previous versions at the Internet Archive. Yahoo! is not affiliated with the authors of this page or responsible for its content.
the eclipse way 1
© 2005 by International Business Machines; made available under the EPL v1.0 | February 28, 2005
the eclipse way
processes that adapt
Erich Gamma, John Wiegand
Eclipse Project Management Committee Members
IBM
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
outline
on the way to 3.1
the Eclipse way 2
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
on the way to 3.1
Q1
Q4
2005
M6
Q2
Q3
M7
3.1
M5
M4
M3
M2
M1
3.0
M6
M5
M4
M3
M2
M1
EclipseCON
2005
M7
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
3.1 themes
scaling up
enterprise ready
design for extensibility: be a better platform
simple to use
rich client platform improvements
J2SE 5 support
broadening the community 3
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
UI
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
CVS 4
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
Debug
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
J2SE 5 5
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
JDT Quick Fixes
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
JDT UI 6
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
JDT NLS support
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
Ant 7
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
SWT
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
PDE/RCP 8
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
user assistance
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
outline
on the way to 3.1
the Eclipse way 9
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
why the eclipse way?
our process has evolved over time
stay aware, adapt, change
our process has helped us (the platform) to achieve:
predictability
quality delivery on time
share what we have learned
influence by example similar as JDT
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
I've been following the development of Eclipse for some
time and
I'm continually amazed as the extended team
hits each projected milestone and ship date with
precision.
Until this experience, I was convinced that
such a feat was impossible for a software project of any
size and complexity.
So... the question is how is this really accomplished?
And the immediate follow-up of course is, how can this
process be replicated elsewhere?
-
a post to the eclipse developers mailing list 10
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
eclipse practices
milestones
first
API
first
end
game
retrospectives
always have
a client
built to
last
continuous
integration
community
involvement
new &
noteworthy
early
incremental
planning
continuous
testing
consume your
own output
component
centric
drive with
open eyes
validate
reduce
stress
learn
enable
attract

to latest
transparency
validate
update
dynamic
teams
show
progress
enable
explore
validate
it
it
s all about feedback!
s all about feedback!
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
project rhythm
milestones
first
API
first
end
game
retrospectives
always have
a client
built to
last
continuous
integration
community
involvement
new &
noteworthy
early
incremental
planning
continuous
testing
consume your
own output
drive with
open eyes
validate
reduce
stress
learn
enable
attract

to latest
transparency
validate
update
dynamic
teams
show
progress
enable
explore
validate
component
centric 11
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
eclipse release cycles
1.0
Nov 2001
2.0.1
Sep 2002
2.0
June 2002
2.0.3
Mar 2003
2.0.2
Nov 2002
2.1.1
June 2003
2.1
Mar 2003
2.1.2
Oct 2003
2.1.3
Feb 2004
3.0
June 2004
3.0.1
Nov 2004
3.0.2
Mar 2005
3.1
June 2005
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
milestones first
break down release cycle into
milestones
we currently use 6 weeks
each milestone is a miniature
development cycle
plan, execute, test, retrospective
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
at the end of each milestone we do a
retrospective
what went well, what did not?
milestones reduce stress!
before
/
after
t
quality
ready to ship
2.0
3.0 12
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
continuous integration
fully automated build process
build quality verified by automatic unit tests
staged builds
nightly builds
discover integration problems between components
(weekly) integration builds
all automatic unit tests must be successful
good enough for our own use
milestone builds
good enough for the community to use
reality: build failures occur
rebuild to create acceptable integration, milestone builds.
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
always beta
each build is a release candidate; we expect it to work
results of the build process and the automatic tests
indicate where we are
as tool makers we use our own tools
component team use the latest code daily
project team use integration builds (weekly)
community use milestone builds
continuously
Consume Our Own Output 13
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
community involvement
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
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
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
testing
milestones
first
API
first
end
game
retrospectives
always have
a client
built to
last
continuous
integration
community
involvement
new &
noteworthy
early
incremental
planning
continuous
testing
consume your
own output
component
centric
drive with
open eyes
validate
reduce
stress
learn
enable
attract

to latest
transparency
validate
update
dynamic
teams
show
progress
enable
explore
validate 14
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
testing
innovate with confidence
continuous incremental design
> 20,000 JUnit tests
tightly integrated into the build process
tests run after each build (nightly,
integration, milestone)
integration builds are only green when
all tests pass
test kinds
correctness
tests
assert correct behavior
performance
tests
assert
no performance regressions
based on a database of
previous test run
measurements
resource
tests, leak tests
assert no resource consumption
regressions
Defects
Testing
Kent Beck JUnit Handbook
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
test report 15
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
performance test report
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
finishing
milestones
first
API
first
end
game
retrospectives
always have
a client
built to
last
continuous
integration
community
involvement
new &
noteworthy
early
incremental
planning
continuous
testing
consume your
own output
drive with
open eyes
validate
reduce
stress
learn
enable
attract

to latest
transparency
validate
update
dynamic
teams
show
progress
enable
explore
validate
component
centric 16
The Eclipse Way | © 2005 by International Business Machines; made available under the EPL v1.0
endgame
convergence process applied before release
sequence of test-fix passes
c