Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to the Eclipse Process Framework. 2.

Similar presentations


Presentation on theme: "1 Introduction to the Eclipse Process Framework. 2."— Presentation transcript:

1 1 Introduction to the Eclipse Process Framework

2 2

3 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

4 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

5 5 SPEM 2.0

6 6

7 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.

8 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

9 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

10 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

11 11 SPEM 2.0 Method Content

12 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.

13 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.

14 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.

15 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 Estimate Considerations Practice Report Reusable Asset Roadmap Supporting Material Template Term Definition Tool Mentor Whitepaper

16 16 Basic Concepts – Guidance Examples Checklist Identifies a series of items that need to be completed or verified. Checklists are often used in reviews such as walkthroughs or inspections. Concept Outlines 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. Example Provides an example of a completed work product or performed tasks and activities. Reusable Asset Links a prepackaged solution to a problem for a given context. Examples of asset are design patterns or mechanisms, solution frameworks, etc.

17 17 Basic Concepts – Guidance Examples Guideline Provides 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. Practice Represents 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. Report A template for an automatically generated description with extracted content one or several work products.

18 18 Basic Concepts – Guidance Examples Roadmap A linear walkthrough of a complex process or activity. (This is process specific guidance.) Supporting Material A catch-all for other types of guidance not specifically defined elsewhere. It can be related to all kinds of content elements. Template For 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 Definition Defines terminology and is used to build up the Glossary.

19 19 Basic Concepts – Guidance Examples Tool Mentor Shows how to use a specific tool to accomplish some piece of work, either in the context of, or independent from, a task or activity. Whitepaper Similar to concept, but has been externally reviewed or published and can be read and understood in isolation of other content elements and guidance.

20 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).

21 21 SPEM 2.0 Process Content

22 Made available under EPL v1.0 22 Basic Concepts: C apability 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)

23 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)

24 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.

25 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.

26 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

27 Made available under EPL v1.0 27 Advanced Concepts Process 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.).

28 Made available under EPL v1.0 28 EPF Composer Introduction

29 EPF Composer 29

30 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

31 Made available under EPL v1.0 31 EPF Composer Authoring Perspective Library View Configuration View Task Editor (form based) Authoring Perspective

32 Made available under EPL v1.0 32 EPF Composer Authoring Perspective Form based plain text or… …Rich Text editors

33 Made available under EPL v1.0 33 EPF Composer Browsing Perspective Configuration View Preview View Browsing Perspective

34 Made available under EPL v1.0 34 Basic Concepts Configuration: Plug-in and Package Selection Select sub-set of method library for publishing to HTML or exporting to MS Project or XML Configurations Select Content

35 Made available under EPL v1.0 35 Basic Concepts Configuration: View Definition Categories group related elements Views defined by selecting Categories Standard Categories Custom Categories Define Views

36 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.

37 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

38 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.

39 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

40 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

41 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

42 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

43 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

44 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.

45 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

46 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

47 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.

48 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

49 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.

50 Made available under EPL v1.0 50 EPF Composer Publishing Configuration | Publish to start the Publish Method Wizard Various publishing options

51 Made available under EPL v1.0 51 Resulting Website

52 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.

53 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.

54 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


Download ppt "1 Introduction to the Eclipse Process Framework. 2."

Similar presentations


Ads by Google