what is the eclipse process framework. 2 agenda what is eclipse process framework (epf) openup...

27
What is the Eclipse Process Framework

Upload: ursula-boyd

Post on 25-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

What is the Eclipse Process Framework

Page 2: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

2

Agenda

• What is Eclipse Process Framework (EPF)• OpenUP Overview and Demo• EPF Future Vision

Page 3: What is the Eclipse Process Framework. 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

Page 4: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 5: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 6: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 7: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 9: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 10: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 11: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

11

Agenda

• What is Eclipse Process Framework (EPF)• OpenUP Overview and Demo• EPF Future Vision

Page 12: What is the Eclipse Process Framework. 2 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

Page 13: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 14: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 15: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

15

Demo

Page 16: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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.

Page 17: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 18: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 19: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 20: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

20

Agenda

• What is Eclipse Process Framework (EPF)• OpenUP Overview and Demo• EPF Future Vision

Page 21: What is the Eclipse Process Framework. 2 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

Page 22: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 23: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 24: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 25: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

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

Page 26: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

26

Questions

Page 27: What is the Eclipse Process Framework. 2 Agenda What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision

27

Thank You