View
226
Download
0
Category
Tags:
Preview:
Citation preview
2
Agenda
• What is Eclipse Process Framework (EPF)• OpenUP Overview and Demo• EPF Future Vision
3
What Development Teams Are Facing Today
• No common language or terminology between processes - redundancy and inconsistencies
• Knowledge cannot easily be customized for different projects or new best practices
• No central community or communication framework to facilitate convergence of best practices across domains
Book on J2EE
Article on serialized java beans
Website with Configuration mgmtguidelines
Lessons learnt from previous project and iteration
Knowledge base onmanaging iterative development
Corporate guidelineson compliance
Wiki on agile development
JUnit user guide
Latest research on effectiveness of pair programming
Project plantemplates
4
A Better Approach
Project plantemplates
Lessons learnt from previous project and
iterationContent onmanaging
iterative developmentCorporate guidelines
on compliance
Content on agile development
JUnit user guidance
Content on J2EE
Configure a cohesive process frameworkcustomized for my project needs
Create project plan templates for Enactment of process in the context of my project
Standardize representation and
manage libraries of reusable Method Content
Develop and manage Processesfor performing projects
Process assetspatterns
Standard or reference processes
Guidance on serialized java beans
Configuration mgmtguidelines
5
Eclipse Process Framework (EPF) Project
Serves as a foundation for an evolving open source software development process ecosystem
Provides tooling, a unified metamodel, and content that can be used as the foundation for a large variety of processes to address IT needs
Uses the Eclipse community to gain wide acceptance of the framework
6
EPF Ecosystem
TOOLING (Authoring, Publishing) TOOLING (Authoring, Publishing)
Free Process
Content
Plug-ins
Free Process
Content
Plug-ins
META MODEL (Unified Method Architecture)META MODEL (Unified Method Architecture)
ECLIPSEECLIPSE
Commercial
Process
Content
Plug-ins
Commercial
Process
Content
Plug-ins
Tool Extensions
Tool Extensions
Extensible, Customizable, FlexibleExtensible, Customizable, Flexible
Common Language & VocabularyCommon Language & Vocabulary
Open Source DevelopmentOpen Source Development
Inhouse
Content
Plug-ins
Inhouse
Content
Plug-ins
Basic Unified Process
Adapted from RUP
Basic Unified Process
Adapted from RUP
TOOLING (Authoring, Publishing) TOOLING (Authoring, Publishing)
Free Process
Content
Plug-ins
Free Process
Content
Plug-ins
META MODEL (Unified Method Architecture)META MODEL (Unified Method Architecture)
ECLIPSEECLIPSE
Commercial
Process
Content
Plug-ins
Commercial
Process
Content
Plug-ins
Tool Extensions
Tool Extensions
Extensible, Customizable, FlexibleExtensible, Customizable, Flexible
Common Language & VocabularyCommon Language & Vocabulary
Open Source DevelopmentOpen Source Development
EXTENSIONS
• Project Mgmt.
• Oper. Mgmt.
• Systems Mgmt.
EXTENSIONS
• Project Mgmt.
• Oper. Mgmt.
• Systems Mgmt.
EXTENSIONS
• Project Mgmt.
• Oper. Mgmt.
• Systems Mgmt.
EXTENSIONS
• Project Mgmt.
• Oper. Mgmt.
• Systems Mgmt.
Inhouse
Content
Plug-ins
Inhouse
Content
Plug-ins
OpenUP
OpenUP/
DSDM
OpenUP/
DSDM
OpenUP/
Business Rules
OpenUP/
Business Rules
Open Unified Process (OpenUP)
• XP
• Scrum
Other agile processes
• DSDM
• AMDD
7
Professional
Desires: - Simplicity - Templates - Examples - Guidance
Who Uses EPF?
Process Author
Produces: - Base methods - Plug ins
Management
Requires: - Realistic consistency - Viable governance - Improved ROI
Service Provider
Provides: - Training - Consulting - Mentoring - Adoption services
Wants to: - Build tools - Sell tools - Sell services
Tool Provider
Needs: - Teachable material - Teach process development - Use in student projects - Bring research to mainstream
Academia
Process Coach
Performs: - Tailoring - Publishing - Support - Training
8
EPF: Growing Ecosystem
Co-developers
Supporters
9
EPF Community – growing everyday!
• 27 committers from 11 organizations• +1,000 downloads per week
• Committer and Supporter Meetings– Over 80 people attended the 5 face-to-face meetings from 20
organizations and 9 countries– Weekly conference calls for various component teams
• Press Stories– +100 mentioning
• Newsgroup postings– Good interest in the newsgroups – 30 – 40 posts each month. – Developer email list – over 30 posts each DAY
• EPF v1.0 Release date – September 2006
10
Example Work-in-Progress
• Process– OpenUP
• OpenUP/Basic – evolved by ~10 organizations
• Model-Driven Architecture – ESI, Capgemini, IBM, …
• Value-Based Software Engineering – University Southern California
– Agile • DSDM Consortium - DSDM
• Agile modeling – Scott Ambler
• eXtreme Programming – Object Mentor / IBM
• Scrum – Catalysts
• APM – Catalysts / Highsmith
– OPEN Process Framework - Contribution pending for OPFRO
• Tool– XML schema– Proposed set of APIs– Export to Microsoft Project
11
Agenda
• What is Eclipse Process Framework (EPF)• OpenUP Overview and Demo• EPF Future Vision
12
A Method FrameworkA framework is based on a common set of principles
What Is a Method Framework?
DistributedDevelopmentDistributed
Development
J2EEJ2EE
JUnitJUnit
Contains any number of extension plug-ins Adds additional processes or modifies existing processes Adds additional method content
Base
Contains a base of standard content Base content (principles, practices, roles, work products, tasks, …) Optionally a base process (lifecycle)
All pieces within a framework fits together Enables rapid assembly of a diverse set of processes A process framework can contain sub frameworks
13
What Is the Open Unified Process (OpenUP)
• A process framework united by a set of core principles– Application of an iterative lifecycle that mitigates risk early and
often, and shows results early and often – Focus on the collaboration within a development team including
the product stakeholders to maximize results – Management of requirements in a form that represents
stakeholder value and drives the development process – Cognizance of architecture as a means to increase quality and
technical understandability
• OpenUP consists of – A base process - OpenUP/Basic– Extensions to this base process, such as MDA content
14
What Is OpenUP/Basic?
An iterative software development process that is minimal, complete, and extensible.
• Minimal - only fundamental content is included
• Complete - can be manifested as an entire process to build a system
• Extensible - can be used as a foundation on which process content can be added or tailored as needed
16
Core Principles: Iterative Lifecycle
• Unified Process Lifecycle – Inception, Elaboration, Construction, Transition
• Work item list – a list of all things to potentially work on. Work items references use cases and other artifacts for details.
• Project plan – a high-level plan briefly outlining expected resource needs and results from each iteration.
• Iteration plan – Created at the beginning of each iteration – team defines what subset of work items to work on.
• Status Assessment - At end of each iteration, the team assess what works well, and determines how they can improve.
17
Core Principle: Collaboration
• Collaborative practices– Share the dream (Vision, architecture, …)– Buddy up (Adjacent programming, ying-yang buddies)– Tear down the wall (Daily team meetings, collocation,
customer representative ,…)– High-trust environments
• Tasks performed by multiple roles – primary performer + additional performers– Some examples
• Assess Results (Project Manager + Stakeholders + team)
• Initiate Iteration (Project Manager + team)– PM could either assign or ask people to volunteer for work
• Expecting more community contributions in this area
18
• Management of requirements in a form that represents stakeholder value and drives the development process
• Work item list contains a list of all types of requirements
• Functional requirements are expressed as Use Cases or Scenarios
• For iteration planning purposes, requirements need to be narrow enough to map to a few days or weeks work
Core Principle: Requirements
19
Core Principle: Architecture
• Architecture promotes re-use and maintenance tasks, enhances intellectual control, and avoids technical risks
• Architecture must not be an afterthought
• A key differentiator compared to many other agile processes
• Architectures needs to be grown, start small and grow it
20
Agenda
• What is Eclipse Process Framework (EPF)• OpenUP Overview and Demo• EPF Future Vision
21
Several Frameworks – Increasingly Shared Content
Consolidated Agile Framework
OPEN ProcessFramework
OpenUP
Refactoring
Use CaseCollaborative Practices
Agile ProjectMgmt
Network Design
22
Innovation: Process Adaptability and Extensibility
Today
• Plug-ins focusing on specific areas of concerns (compare aspect)– Size / complexity, formality,
technology / technique, industry vertical, …
• Practices can specify a slice of process– Currently not used much (see
PPM09: Incremental Adoption of RUP and OpenUP)
• Customize by choosing – A set of plug-ins and method
packages – Modify out-of-the-box delivery
processes
Tomorrow
• Plug-ins can extend many different base processes– Using interface / port technology
(ref: Kirti Vaidya, Covansys)
• Practices to be used to chunk up process into adoptable slices
• Customize by choosing– Practices or plug-ins and method
packages– Wizards to customize the
process, and to create an initial project plan
23
Innovation: Presentation and Technology
Today• HTML pages• Process advisor (not
a part of EPF)
Tomorrow• Automate the process through
workflow and rules-based technologies (guides, wizards, intelligent agents, …)
• Game metaphor (ref Ivar Jacobson’s presentation on Moving to a Next Generation Process).
Booster Practices
Essential Practices
Sta
rt h
ere
Fin
ish
her
e
Game Board
Rule Book
24
Innovation: Community and Process
• Involve practitioners and increase the value of the process experience– Wiki – collective authoring by the team, continuous process
improvement– Integrate discussion and other collaboration technology with
process guidance
25
Summary
• Eclipse Process Framework (EPF)– An eclipse open source project serving as the foundation for a
process ecosystem
– Extensible tooling, metamodel, and content organized in several different method frameworks
– Developed by a growing ecosystem of +10 organizations
– Constitutes an open source kernel of RMC
• OpenUP– A open source implementation of the Unified Process
– A method framework built with OpenUP/Basic as a base
– OpenUP/Basic is an iterative software development process that is minimal, complete, and extensible
Recommended