+ All Categories
Home > Documents > 1 Introduction to the Eclipse Process Framework. 2.

1 Introduction to the Eclipse Process Framework. 2.

Date post: 13-Jan-2016
Category:
Upload: agatha-campbell
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
54
1 Introduction to the Eclipse Process Framework
Transcript
Page 1: 1 Introduction to the Eclipse Process Framework. 2.

1

Introduction to the Eclipse Process Framework

Page 2: 1 Introduction to the Eclipse Process Framework. 2.

2

Page 3: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 3

• EPF is an Open Source project within the Eclipse Foundation

• The goals of EPF are to provide:– An extensible framework and tooling for authoring, configuring and

publishing processes

– Exemplary processes - first delivered is OpenUP

• EPF Project initiated in January 2006.

• EPF is NOT:– Only applicable for Eclipse Java development.

– Intended to create the “perfect process”

The EPF Project: Overview

Page 4: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 4

The EPF Project: Two Audiences

• Process Authors and Coaches (Process Management Team)– Tooling for creating and publishing processes– Foundational process for starting point– Libraries of additional content that can be plugged-in

• Process Consumers (Project Team)– Published website of process content for simple browsing– Guidance in the form of checklists, concepts, guidelines– Browse the content adapted to your experience level

Page 5: 1 Introduction to the Eclipse Process Framework. 2.

5

SPEM 2.0

Page 6: 1 Introduction to the Eclipse Process Framework. 2.

6

Page 7: 1 Introduction to the Eclipse Process Framework. 2.

7

EPF uses SPEM 2.0

• SPEM = Software Process Engineering Meta-model• Although the title implies Software Processes, any

process can be represented using SPEM.

Page 8: 1 Introduction to the Eclipse Process Framework. 2.

8

Basic Concepts – Method Library• Method Library

– All Method Elements are stored in a Method Library

• Method Plug-in– A Method Plug-in represents a

physical container for Method Packages and Process Packages. It defines a largest granularity level for the modularization and organization of method content and processes.

• Method Configuration– a logical subset of a Method

Library

• Delivery Process– a complete and integrated

approach for performing a specific type of project.

Base Concepts Plug-in

OpenUP Plug-in

DSDM Plug-in for OpenUP

depends on

extends

OpenUP Library

Page 9: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 9

Basic Concepts - Method Library• Libraries contain

– Method plug-ins– Configurations

• The OpenUP library has:– Three method plug-ins

• base_concepts• dsdm_openup• openup

– Two delivery processes • Openup_DSDM• openup_lifecycle

– Two configurations • OpenUP• OpenUPDSDM

Page 10: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 10

Basic Concepts – Method Content, Process

• Method Content (Who, What, Why, How)– Highly re-useable information– Definition of Roles, Tasks, Work

Products and associated relationships

– Includes Guidance and Categories– No timing information

• Process (When)– Sequence of Phases, Iterations,

Activities and Milestones that define the development lifecycle.

– Defines When tasks are performed via Activity Diagrams and/or Work Breakdown Structures

Page 11: 1 Introduction to the Eclipse Process Framework. 2.

11

SPEM 2.0

Method Content

Page 12: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 12

Basic Concepts - Role

• Roles define a set of related skills, competencies and responsibilities.

• Roles are not individuals

• Individuals on the development team may play multiple roles.

• Roles Perform Tasks

• Roles are Responsible for Work Products.

Page 13: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 13

Basic Concepts – Work Product• Work Products (in most cases)

represent the tangible things used, modified or produced by a Task.

• Roles use Work Products to perform tasks and produce Work Products in the course of performing tasks.

• Work Products are the responsibility of a Role.

• There are three types of work products:

• Artifact: typically a configuration managed item

• Deliverable: required customer/stakeholder deliverable

• Outcome: “intangible” result of a task such as an installed server or tool.

Page 14: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 14

Basic Concepts - Task• A Task defines an assignable

unit of work (usually a few hours to a few days in length).

• Tasks are performed by Roles (one primary, and optionally additional supporting roles).

• Tasks have a clear purpose, and provide step-by-step descriptions of the work that needs to be done to achieve the goal.

• Tasks modify or produce Work Products.

• Tasks do not define when they are performed in the lifecycle.

Page 15: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 15

Basic Concepts - Guidance• Guidance may be

associate with Roles, Tasks, and Work Products.

• Different types of Guidance depending upon purpose.

• Use Guidance for detailed methodology and supporting information. This will simplify tailoring.– For example, Tasks should

tell you “what” needs to be done, Guidelines provide detailed “how to”.

Types of Guidance:

• Checklist

• Concept

• Example

• Guideline

• Estimation

Considerations

• Practice

• Report

• Reusable Asset

• Roadmap

• Supporting Material

• Template

• Term Definition

• Tool Mentor

• Whitepaper

Page 16: 1 Introduction to the Eclipse Process Framework. 2.

16

Basic Concepts – Guidance Examples

ChecklistIdentifies a series of items that need to be completed or verified. Checklists are often used in reviews such as walkthroughs or inspections.ConceptOutlines key ideas associated with basic principles underlying the referenced item. Concepts normally address more general topics than guidelines and span several work product and/or tasks or activities.ExampleProvides an example of a completed work product or performed tasks and activities.Reusable AssetLinks a prepackaged solution to a problem for a given context. Examples of asset are design patterns or mechanisms, solution frameworks, etc.

Page 17: 1 Introduction to the Eclipse Process Framework. 2.

17

Basic Concepts – Guidance Examples

GuidelineProvides additional detail on how to perform a particular task or grouping of tasks, or that provides additional detail, rules, and recommendations on work products and their properties.PracticeRepresents a proven way or strategy of doing work to achieve a goal that has a positive impact on work product or process quality. Practices are defined orthogonal to methods and processes. They could summarize aspects that impact many different parts of a method or specific process.ReportA template for an automatically generated description with extracted content one or several work products.

Page 18: 1 Introduction to the Eclipse Process Framework. 2.

18

Basic Concepts – Guidance Examples

RoadmapA linear walkthrough of a complex process or activity. (This is process specific guidance.)Supporting MaterialA catch-all for other types of guidance not specifically defined elsewhere. It can be related to all kinds of content elements.TemplateFor a work product, provides a predefined table of contents, sections, packages, and/or headings, a standardized format, as well as descriptions on how the sections and packages are supposed to be used and completed.Term DefinitionDefines terminology and is used to build up the Glossary.

Page 19: 1 Introduction to the Eclipse Process Framework. 2.

19

Basic Concepts – Guidance Examples

Tool MentorShows how to use a specific tool to accomplish some piece of work, either in the context of, or independent from, a task or activity.WhitepaperSimilar to concept, but has been externally reviewed or published and can be read and understood in isolation of other content elements and guidance.

Page 20: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 20

Basic Concepts - Categories

• Categories– Used to group related method

elements.– There are 5 Standard Categories

• Discipline: grouping of related tasks• Domain: grouping of related WP• Work Product Kind: similar to Domain• Role Set: Grouping of related Roles• Tool: Grouping of Tools

– Categories may be nested

– You can define your own Custom Categories

– Elements can be categorized via their property editor, or via Category properties.

– Used to build views in published website (we will see this later).

Page 21: 1 Introduction to the Eclipse Process Framework. 2.

21

SPEM 2.0

Process Content

Page 22: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 22

Basic Concepts: Capability Patterns

• Capability Patterns define the sequence of related Tasks, performed to achieve a greater purpose.

• Task can be specialized for the given context (ex. suppress steps, work products)

Role Descriptor

(instance of a Role)

Task Descriptor

(instance of Task)

Work Product Descriptor

(instance of a WP)

Page 23: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 23

Basic Concepts: Capability Patterns

• Capability Patterns may be nested and viewed graphically• An Activity is an instance of a Capability Pattern.

Activity

(instance of a capability pattern)

Page 24: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 24

Basic Concepts: Delivery Process

• Defined using Work Breakdown Structures and/or Activity Diagrams.

• Defines end-end full-lifecycle process

• May include Iterations, Phases, Milestones (types of Activities)

• This is just one example, any other lifecycle can be defined.

Page 25: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 25

Advanced Concepts: Method Variability

• Mechanism that allows you to customize method content without directly modifying the original content.

• Similar to inheritance in OO programming.– Permits re-use with specialization.

• For example, if plug-in B that extends elements in plug-in A:– Original elements in plug-in A are intact - all the changes are

defined in your plug-in B• Content variability is useful, for example:

– To change the description of an existing role

– To add steps to an existing task

– To add guidance to an existing task, and so on.

Page 26: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 26

Advanced Concepts: Method Variability

• There are four types of method variability:– Contribute: The contributing element adds content to the base element.

Resulting published element is the base element + contributing element.– Extends: The contributing element inherits the content of the base element

and specialized some or all of it. Both the base element and the extending element are published.

– Replace: The replacing element replaces the base element. The resulting published element is the replacing element.

– Extends-Replace: Similar to extends, however the base element is not published.

*Examples taken from “Integrating Personal Practices into a Development Process” by Brian Lyons, NumberSix Software

Page 27: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 27

Advanced ConceptsProcess Variability

• Similar re-use mechanism are available for Process content as well.

• In addition, Activities may also be created from CPs in the following ways:

– Extends: The activity inherits the properties of the capability pattern. Updates to the capability pattern are automatically reflected in the activity (Green colour in WBS in EPF Composer).

– Copy: An activity is created based on the capability pattern. It is not synchronized with the capability pattern (Black colour in WBS).

– Deep Copy: Similar to copy, but applied recursively to activities.

– Local Variability: When a capability pattern is defined (either by Extends or Copy) local variability may be done (ex. Suppress steps in a task descriptor, change performing role, etc.).

Page 28: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0

28

EPF Composer Introduction

Page 29: 1 Introduction to the Eclipse Process Framework. 2.

EPF Composer

29

Page 30: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 30

EPF Composer

• EPF Composer is built upon the Eclipse platform

• Supports many of the Eclipse plug-ins

• Different Views present specific information

– For example, Library view shows plug-ins and their content

• Perspectives group related views to support a workflow

• Standard Perspectives are:

– Authoring: for editing method content

– Browsing: for previewing published elements

Page 31: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 31

EPF ComposerAuthoring Perspective

Library View

Configuration View

Task Editor (form based)

Authoring Perspective

Page 32: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 32

EPF ComposerAuthoring Perspective

Form based plain text or…

…Rich Text editors

Page 33: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 33

EPF ComposerBrowsing Perspective

Configuration View

Preview View

Browsing Perspective

Page 34: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 34

Basic ConceptsConfiguration: Plug-in and Package Selection• Select sub-set of method library for publishing to HTML or exporting to

MS Project or XML

Configurations

Select ContentSelect

ContentSelect

Content

Page 35: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 35

Basic ConceptsConfiguration: View Definition• Categories group related elements• Views defined by selecting Categories

Standard Categories

Custom Categories

Define Views

Page 36: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 36

Customization Scenario A

• In this scenario, you are going to leverage the existing content without major customizations.

• You have reviewed the OpenUP content and feel that it would meet your needs with a minor change to remove the visual modeling aspects of the process.

• You are going to create a new configuration – based on an existing one - then pick and choose content packages that make sense for your team.

• Let’s try it:

Note: These are examples of customization scenarios.Not all possibilities have been explored due to lack of time for this tutorial.

Page 37: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 37

Creating a Plug-in (1/2)

• Right-click on any existing element in the library– Select New Method

Plug-in

• In the ‘Create a new method plug-in’ dialogue enter:– Name (lower case, no

spaces)

– Description (optional)

– Author (optional)

– Referenced Plug-ins

• ‘Referenced Plug-ins’ set the visibility to other plug-ins

Page 38: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 38

Creating a Plug-in (2/2)

New Plugin

• New plug-in created with default (empty) structure• Editor opens to permit you to change/update the

plug-in description.

Page 39: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 39

Creating a Method Content Package (1/2)

• Right-click on the ‘Content Packages’ Node– Select ‘New Content

Package’

• The new package is created

• The editor will open

Page 40: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 40

Creating a Method Content Package (2/2)

• New package created with default (empty) structure– Only appropriate type of element can be created under each node.

• Enter name (lower case, no spaces) and brief description.

New Content Package

Page 41: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 41

Creating a Task (1/2)

• Right-click on the ‘Tasks’ node in the desired content package– Select ‘New Task’

• The new task is created

• The editor will open

Page 42: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 42

Creating a Task (2/2)

• Each method element has two names:– Name: the internal name, maps to filename (lower case, no

spaces)– Presentation Name: appears in published website

New Task

Page 43: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 43

Editing a Task

• The task editor has a number of tabs along the bottom edge:

– Description: to capture general attributes of task and variability

– Steps: to define the steps of the task

– Roles: to define responsible roles for the task

– Work Products: to define input/output work products for the task

– Guidance: to associate guidance elements with the task

– Categories: to categorize the task

– Preview: to preview the task (NOTE: variability not resolved).

• Each tab has a form to capture attributes

• Some fields have Rich Text Editing Capability

– Click the icon to open the RTE.

– The Rich Text Editor also has a tab to view/edit HTML

Page 44: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 44

Customization Scenario B

• In this scenario, you are going to add guidance for your team that is not part of the OOTB content.

• Your team wants to apply the CRC cards technique for representing design.

• You are going to create a new plug-in, create a contributing task (using the content variability concept introduced above) and add guidance on Class Responsibility Collaboration (CRC) cards technique.

• Let’s try it:

Note: These are examples of customization scenarios.Not all possibilities have been explored due to lack of time for this tutorial.

Scenario B Instructions

Page 45: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 45

Creating a Delivery Process (1/5)

• Right-click on the ‘Delivery Process’ node– Select New Delivery

Process

• The ‘New Process Component’ dialogue will open. Enter:– Name (lower case, no

spaces)– Default configuration

Page 46: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 46

Creating a Delivery Process (2/5)

New Delivery Process

• New Delivery Process is created• Editor opens to permit you to change/update content

Page 47: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 47

Creating a Delivery Process (3/5)

• The Delivery Process editor has a number of tabs along the bottom edge:

– Description: to capture general attributes of process

– WBS: to define activities of the process and their relationship

– Team Allocation: to view and edit roles

– Work Products Usage: to view and edit work products

– Consolidated View: to view and edit roles, activities, work product roll-up

• Usually we don’t need to edit the last three, they are populated automatically when activities are added to the WBS. They can be edited if one wishes to specialize the activities.

Page 48: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 48

Creating a Delivery Process (4/5)

• Drag/Drop capability patterns from the configuration view onto the WBS• Select Extend, Copy, or Deep Copy (see next slide)

Drag/Drop CP

Page 49: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 49

Creating a Delivery Process (5/5)

• When adding a capability pattern to a delivery process you can:

– Extend: This will maintain a link to the CP so that any updates to the CP will be reflected in your delivery process.

– Copy: this will make a local copy of the CP. It will not be linked to the original CP.

– Deep Copy: This is similar to copy, but applied recursively to sub-capability patterns.

• The most common is Extend. Copy and Deep Copy will increase maintenance overhead as updates must be made manually.

Page 50: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 50

EPF Composer Publishing

• Configuration | Publish to start the Publish Method Wizard

• Various publishing options

Page 51: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 51

Resulting Website

Page 52: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 52

Customization Scenario C

• In this scenario, you will create a new delivery process for your software development lifecycle.

• You have reviewed the OpenUP delivery process and would rather follow a process that is more like the Scrum lifecycle.

• You realize that you can reuse existing method and process content from OpenUP plug-in and simply re-define the lifecycle.

• Let’s try it:

Note: These are examples of customization scenarios.Not all possibilities have been explored due to lack of time for this tutorial.

Scenario C instructions

Page 53: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 53

EPF Composer Import

• File | Import to start the Import Wizard• Can import a Configuration, a plug-in, or raw XML.

Page 54: 1 Introduction to the Eclipse Process Framework. 2.

Made available under EPL v1.0 54

EPF Composer Export

• File | Export to start the Export Wizard• Can export a Configuration, a plug-in, raw XML or MS Project Template


Recommended