Eclipse Process Framework (EPF)

First Committers Meeting

January 10-12, 2006

Summary

21 people from 14 organizations and 3 continents participated in this first committer meeting. Discussions were throughout open and constructive, and all meeting objectives were accomplished. Each organization presented their planned contributions and available resources. The team agreed to the mission and scope of the project, and to organize into 3 components (Basic Unified Process, Agile, and Tools / Metamodel). The team also agreed to a development plan, and outlined a future meeting schedule. Progress was also made in many other areas, including defining a governance process and agreeing on how to increase level of knowledge among committers and contributors

Meeting Objectives

•         Create a working relationship

o       Learn to know each other, build trust
o       Understand each others motivation

•         Understand who will contribute what

o       Resources, areas of interest, and assets

•         Agree on project direction and plan

o       When to release EPF v1.0
o       Scope of EPF v1.0
o       Project organization and execution
o       How to grow the community (committers, contributors, consumers)

•         Increase level of knowledge of the core technology

o       How to effectively use the tool and author content

Location

IBM Hillside Facility

4111 Northside Parkway

Atlanta, GA 30327

Attendees

•         Chris Armstrong - Armstrong Consulting 

•         Scott Ambler - AmbySoft

•         Sigurd Hopen – 2-Pro Mentor

•         Dave Thomas – Bedarra Research

•         Brian Haughton – BearingPoint

•         Karl Frank – Borland

•         Rene Maes - Capgemini

•         Kirti Vaidya - Covansys

•         Per Kroll  - IBM

•         Naveena Bereny - IBM

•         Charlie Yan -IBM

•         Kelvin Low -IBM

•         Ricardo Balduino - IBM

•         Peter Haumer - IBM

•         Bruce MacIsaac – IBM

•         Ivar Jacobson - Ivar Jacobson International

•         DJ de Villiers - Ivar Jacobson International

•         Brian Lyons – NumberSix

•         Zach Neis - Rally Dev

•         Kurt Sand – Telelogic

•         Steve Adolph – University British Columbi

Agenda and Summary of Decisions

Day 1: Tue Jan 10, 2006

  • Project Motivation: Introductions and discussion around motivation behind project
  • Planned Contributions. Each organization presented their planned contributions, reason for participating in the project, and areas of interest. See section Planned Contributions for a summary.
  • Team dinner with Cajun food, hosted by IBM.

Day 2: Wed Jan 11, 2006

  • Project organization: The team decided to divide project into 3 components: 1) Basic Unified Process (name to be finalized), 2) Agile, 3) Tool/Metamodel. We also had working sessions for each of the 3 components. See separate section for each component summarizing where they are at.
  • Working in Eclipse. Discussion of what it means to work within Eclipse led by Dave Thomas. People interested in being committers were pointed to forms to be filled out, which needs to be done asap.
  • Building a Community. Naveena Bereny led a discussion around how we can build a broader community of committers, contributors and consumers. See section Building a Community for a summary.
  • Team dinner.

Day 3: Thu Jan 12, 2006

  • Development plan was agreed to, see section Development Plan.
  • Project scope: Scope of project was established:
    • Methods and processes for development of software-intensive systems
    • Tools for management of the above processes
    • Metamodel for structuring the above. Assumption is that we can leverage the OMG specification SPEM.
  • Education: Increasing committer and contributor knowledge on core technology
    • It was decided that tutorials needs to be provided so people can self learn. Owner: Peter Haumer <?True>
  • Content governance process. Conditions and rules for evolving method and process content were discussed. Per Kroll to drive documentation of a governance process by 3/1.
  • Future meetings: It was decided that:
    • Monthly project meetings: The entire project team should have a monthly e-meetings on a rotating Tue, Wed, Thu. Time: 8 AM PST, 11 AM EST, 17:00 CET. Owner: Per K.
    • Committer Face-2-Face meetings:
      • Next committer F2F meeting in Europe within next 2 months. Owner: Per K. We should ongoing seek to have every few meetings in Europe, based on where committers are based.
      • Next US committer F2F meeting will be hosted in Santa Clara, California, in Conjunction with EclipseCon 2006 (March 20-22). Owner: Per K.
      • One more US F2F meeting will be held before EPF 1.0 release. Exact date to be determined later. Owner: Per K.
    • Component meetings: Each component should determine frequency of their e-meetings and F2F meetings.

Planned Contributions

The below table summarizes the planned contributions from each company, as well as expected contributions in terms of full-time-equivalents (FTEs).

Company

Planned Contributions

FTEs assigned

IBM

• Basic Unified Process has been contributed, but still needs work

• Additional content has been contributed, to a total of ~300 pages.

• IBM has donated tools for method and process authoring, configuring, library mgmt and publishing.

• IBM has donated a metamodel that is an early version of Software Process Metamodel (SPEM).

• IBM intends to evolve initial contribution, and where feasible, derive commonalities between work in the agile and BUP components.

7 FTEs will be assigned distributed across ~10 people

Ivar Jacobson Consulting

TBD

TBD

Object Mentor

TBD

TBD

AmbySoft

• Agile Modeling techniques
• Database Refactoring process

TBD

Armstrong Process Group

• Facilitate modeling of the Agile process model (and review the BUP process model)

• Contribute content to both Agile and BUP process models (most likely with templates and examples)

• Provide feedback on suitability of tools and metamodel (especially as it relates to SPEM)

• Potentially facilitate contribution of Open Group process content (i.e. The Open Group Architecture Framework [TOGAF] and the Architecture Development Method [ADM])

TBD

Number Six

• Content, primarily BUP
- Requirements: Checklists, Guidance, Supplementary Requirements
- Architecture: Checklists , Guidance and depth
- Development: Step Detail, UC Realization Content/Concept, Checklists
- Project Management: Guidance, descriptions, etc.
- Test: Step Detail, Guidance


• Additional Content
- Examples: collaborating for an end-to-end example

1 - 1.5 "person effort" across ~4 people

Covansys

• Meta-model improvements to allow increased content extensibility through the concept of Work Components

• Exemplary content for Basic Unified Process (BUP) providing a Work Component based framework. It will include the concepts, guidelines, and a set of generic Work Components for every phase of BUP that could be instantiated as Microsoft Project gantlets.

• 1x resource: Up to 1 day a week
• 1x resource: As determined by Covansys based on need
.

Capgemini

• Best practices in agile development, captured in Capgemini’s global network of Accelerated Delivery Centres (ADC’s)

• Grounding work in "productivity accelerators" (e.g. frameworks, test-driven / use case-driven development, smart estimation, rapid specification workshops)

• Best practices in using process support tools ("process web") in ADC projects

• Best practices and concepts around Estimation & Measurement of agile projects

• Process patterns for distributed (offshore) projects

• Guidelines for the alignment of (Enterprise) Architecture and solutions design.

2 committers, with support form others as needed

BearingPoint

TBD

TBD

2-Pro Mentor

• Creation of an (abstract) process base
• Process enactment, establishing
• Meta model spec’s
• Process variants

1 resource depending on availability

University of British Columbia

TBD

TBD

Telelogic

• To contribute subject matter expertise in:
- System & SW development
- Requirements Driven Development
- Model Driven Architecture

• Community Outreach
- Author a Whitepaper on EPF process support for system and SW development
- Present EPF to Telelogic User Groups in US, Europe and Asia
- Issue press releases where it may be useful to leverage our participation in this project
- Be looking for marketing opportunities to communicate TLOG’s support for EPF

The equivalent of a full time resource

European Software Institute (not present, but presented electronically)

• MDD Process Framework: an existing MDD specific set of process elements for creating Software Development Processes, specified in SPEM, implemented in a plug-in running under RSM.

• Tool Development to supporting the enactment of these processes (links to project management tools and process execution)

• Participation in the development and submission of SPEM2.0, mainly centred around process enactment and execution support.

• Community outreach activities: write articles and papers for journals and conferences, participate in the exhibition of the EPF at conferences.

TBD

Component: Basic Unified Process

The group had two separate sessions during this meeting where IBM presented the initial thoughts captured on BUP, followed by questions and discussion by participants. The group conducted an initial brainstorming of principles to be captured in the blurb.
Finally, the group agreed on having subsequent calls to address the following:
· Committing to one specific blurb, capturing the vision of this component
· Agreeing on naming/branding for the ‘product’ of this component. BUP is the suggested name by IBM, and while there is no consensus of what the name will be, this one will be used.
· Discussing current state of BUP, going deeply in details to understand current IBM contribution (to be conducted in January).
· Identify areas of interest/capability participants may have in order to work on the component (to plan how to spend the month of February preparing for the end of iteration 1 milestone at the end of February).

Component: Agile

This is a first summary of the Agile Process component which is working on Agile content to be released as part of Eclipse Process Framework (EPF) Project.  The work is based on inputs from project committers, reviewers and subject to change as more individuals and organizations take the opportunity to contribute to the body of knowledge. 

The initial participants included Scott Ambler for Ambysoft, Zach for Rally, Dave Thomas for Bedarra, and Object Mentor, Per Kroll form IBM Rational, and Ivar Jacobson from Ivar Jacobson and Chris Armstrong and Karl Frank from Borland.

The subproject was established to allow those from the Agile community to have a clear voice in the process space while seeking to share as much as possible with other process definitions efforts especially BUP.

Objectives

1.      The minimum short term objective is to provide Agile Process content which can be used by organizations and individuals who have a need for a documented process or at least the starting point for one. This will enable organizations to adopt Agile practices while at the same time meeting their process definition obligations for SOX, Six Sigma, CMM etc.

2.      A second more ambitious long term objective is to communicate the essence of Agile to all stakeholders in the software development life cycle.

Business Objectives

The Agile component shall seek maintain the visibility of the people center values of Agile development and their critical importance in the software development process. It is our hope that we can over time obtain the support of the Agile community through the endorsement of the Agile Alliance who currently view many process efforts with great suspicion. Informal discussions with the Agile community indicated that the community was neutral to EPF at this time and would take a watch and see what comes out attitude at this time.

Technical Objectives

1. Open Content Format.  Open content requires an open format.  The current view is that a compact XML Schema be used to document the format.  The actual schema would be owned and evolved by the EPF Composer tool component in response to user requirements. The open content format will facilitate the rapid import/export of existing content as well as the rendering of content in a form suitable for different audiences.

2.  Promote Neutral Vocabulary and Concepts. Each process uses a vocabulary and concepts which have a particular importance and familiarity to one or more audiences.  Our goal is to allow concepts such as Use Case and User Story to stand on their own without prejudicing one or the other with respect to their position in a concept hierarchy.

3.  Initial Content Contributions – Object Mentor/Bedarra will contribute the Agile/XP developer practices content and Ambysoft will contribute Agile Modeling content.  The initial contributions will be available in EPF Composer. IvarJacobson will contribute/collaborate with their EssUP process.

Component: Tool/Metamodel

The group defined a list of current priorities on work that needs to be done for the 1.0 release as well as identified and discussed some open issues and activities.

The IBM committer team agreed to work on the following items in the following priority:
• Develop and support an XML Schema for content interchange (import/export) to the EPF tool.
• Finalize and document APIs on donated code required for third parties to create EPF tool extensions.

Other issues discussed:
• Meta-model review: It was requested that the meta-model would be systematically reviewed. Individual questions and issues about the chosen terminology as well as structures can be discussed within these reviews. Peter Haumer will distribute the meta-model specification and set-up conference calls for a walkthrough and review sessions.
• Tool modeling: One concrete meta-model issue that was discussed was the question of how to represent tools. The discussion resulted in the preliminary decision to model tools as ‘first class’ elements that can be linked to tasks as resources and not categories. It was also suggested to come up with some kind of generalization or dependency relationship concept amongst tools to be able to model, for example, that tools are interchangeable / are used for similar purposes etc. No conclusions in that question have been reached.
• EPF meta-model versus SPEM2: It was asked and discussed which role the SPEM 2.0 work should play for the EPF project. In general there was broad agreement that there would many advantages if the SPEM 2.0 and EPF work could be synchronized (especially with such a strong overlap of committers participating in both projects). The assumption is that EPF will over time adopt SPEM 2.0, and EPF will provide value to SPEM 2.0 effort by making SPEM 2.0 practically useful. Only if SPEM 2.0 goes in a significantly different direction that makes it not useful for EPF goals, the EPF team will choose to rather prioritize usefulness and practicality over compliance with a specification.
• Meta-model refinement based on committed content: Another important source for meta-model and tool changes will be the content that will be created by the Agile component. The Agile group will start with the XML schema listed above. The tool/meta-model group will then analyze the results and evaluate which specific extensions and changes are necessary to support this component’s needs.
• Printing capabilities: Different forms of presenting method content and processes in a printed format have been discussed. Alternatives discussed were to either implement our own printing / report generator as part of the project or to rather support interfaces to either commercial or open source report generators such as Rational SoDA, Crystal Reports, Eclispe Birt, DataVision, etc. No conclusion has been reached.

Building a Community

Following a discussion on community outreach, the team agreed that we needed to raise the visibility of EPF with the process, agile, enterprise and academic communities.  We also believe that we wanted to educate and support users looking to adopt EPF 1.0.  And finally we wanted to reach additional influencers, committers and contributors

We established that the primary audience for EPF was Process Engineers and Project managers followed by software development project teams.  We also believed that we needed to reach out to academic institutions

Lastly, we agreed that we would achieve our goals of reaching out to the specific audience by:

  1. Participating in relevant conferences with the target audiences
  2. Creation of collateral on EPF to educate users on the project, its goals and futures
  3. Creation of collateral on EPF to help users adopt EPF 1.0
  4. Create awareness of EPF through existing community email lists
  5. Posting on relevant blogs, wikis and other open source forums

Development Plan

The team agreed to the following high-level development plan, including developer outreach activities.

  • Release date of Eclipse Process Framework 1.0.
    • September 1, 2006.
  • Release Objectives:
    • Governance process in place, including guidelines for how to work with CVS
    • Tutorials available to help people adopt EPF composer
    • Process tools matured and usable to produce a broad set of processes and method content.
    • Basic set of interfaces / APIs defined, stabilized, and delivered.
    • Deliver basic printing capability
    • Mature content. Deliver at least two exemplary processes; Basic Unified Process and Agile.
    • Generate a high level of interest around EPF v1.0. Press releases, papers, tutorials, workshops, presentations, etc.
    • Identify a broader set of process champions with an interest to contribute to EPF within a specific domain, such as MDA or project management, or a specific vertical such as telecom.
  • M0: 12/23, 2005 – 1/15, 2006.
    • Project acceptance and provisioning.
    • IBM donation. Project environment established.
    • Committer meeting. Project organization and plan agreed to.
  • M1: 1/15 – 3/1
    • Legal process to be completed by initial committers
    • Train all committers.
    • Provision project, set up website, mailing lists, etc.
    • Agree on structure of BUP, agree on how to structure of BUP into work units, principles and resources to evolve each unit.
    • Define structural work units for the Agile process
    • Define XML schema
    • Understand required changes to donated code and meta-model
    • Publish proposed set of APIs
    • Identify outreach activities
  • M2: 3/1 – 4/15
    • Naming convention agreed to
    • Freeze structural information for BUP (e.g. all guidelines, work products, etc. defined)
    • End-to-end agile process defined with outlined content.
    • Engage with additional contributors
    • Agree on user experience and have a few examples for agile content and BUP
    • Validate extensibility / composibility of BUP
    • Freeze feature request on tooling / meta model
    • Freeze XML schema
    • Freeze APIs
  • M3: 4/15 – 6/1
    • Produce documentation (online help, tutorials, etc.)
    • Identify an initial set of key promoters presenting at conferences, writing blogs and articles, etc. Well-defined plan for v1.0 launch.
    • Freeze structure of BUP and Agile/XP
  • M4: 6/1 – 7/15
    • G11N and accessibility validation
    • Finalize launch plan
    • Improve documentation (online help, tutorials, etc.)
    • Code and content freeze
  • M5: 7/15 – 9/1
    • End game
    • Produce launch collateral
    • Plan next release

Suggested Improvements for next meeting

  • Make sure internet connections are available during meeting so people can attend to urgent work items