The Eclipse Process Framework Breno Machado Ontologies Reasoning
The Eclipse Process Framework Breno Machado Ontologies Reasoning Components Agents Simulations
The Eclipse Process Framework E EPF is an Open Source project within the Eclipse Foundation E Goals: E An extensible framework and tooling for authoring, configuring and publishing processes E Exemplary Process – first delivered is Open. UP E EPF is NOT: E Only applicable for Eclipse Java development. E Intended to create the “perfect process” E EPF is based in SPEM 2. 0 (Software Process Engineering Metamodel)
The Eclipse Process Framework E EPF is for two audiences: E Process Authors and Coaches (Process Management Team) ETooling for creating and publishing processes EFoundational process for starting point ELibraries of additional content that can be plugged-in E Process Consumers (Project Team) EPublished website of process content for simple browsing EGuidance in the form of checklists, concepts, guidelines EBrowse the content adapted to your experience level
Basic Concepts - EPF E Method Library E All Method Elements are stored in a Method Library E Method Plug-in E Physical container for Method Packages and Process Packages E Method Configuration E A logical subset of a Method Library E Delivery Process E A complete and integrated approach for performing a specific type of project
Basic Concepts - EPF E Libraries contain E Method plug-ins E Configurations E The Open. UP library has: E Three method plug-ins E base_concepts E dsdm_openup E Two delivery processes E Openup_DSDM E openup_lifecycle E Two configurations E Open. UPDSDM
Basic Concepts - EPF E Method Content (Who, What, Why, How) E Highly re-useable information E Definition of Roles, Tasks, Work Products and associated relationships E Includes Guidance and Categories E No timing information E Process (When) E End-End sequence of Phases, Iterations, Activities and Milestones that define the development lifecycle. E Defines When tasks are performed via Activity Diagrams and/or Work Breakdown Structures
Method Content - EPF E Role E Set of related skills, competencies and responsabilities E Are NOT individuals E Individuals may play multiple roles E Perform Tasks E Are responsible for Work Products E Task E Work Product E Define a assignable unit of work E Tangible things used, modified or produced E Perfomed by Roles by a Task E Describe a work step-by-step to E Roles use and produce Work Product achieve a goal. performing tasks E Modify or produce Work E Are responsability of a Role Products E 3 types E Don’t define WHEN they are E Artifact performed in the lifecicle. E Deliverable E Outcome
Method Content - EPF E Guidance E May be associate with Roles, Tasks and Work Products E Different types depending upon purpose E Detailed methodology and supporting information E Tasks say “what” E Guidance say “how-to” E Types: E Checklist E Concept E Example E Guideline E Estimate E Considerations E Practice E Report E Reusable Asset E Roadmap E Supporting Material E Template E Term Definition E Tool Mentor E Whitepaper E Categories E Group related method elements E Five Standard Categories E Discipline E Domain E Work Product Kind E Role Set E Tool E May be nested E Can define custom categories E Used to build views in published website
Process Content - EPF E Capability Patterns E Sequence of related tasks, performed to achieve a greater purpose E Tasks can be specialized for the given context Task Descriptor (instance of Task) Role Descriptor (instance of Role) Work Product Descriptor (instance of Work Product)
Process Content - EPF E Capability Patterns may be nested and viewed graphically E An Activity is an instance of a Capability Pattern Activity (Instance of Capability Patterns)
Process Content - EPF E Delivery Process E Defined using Work Breakdown Structure and/or Activity Diagrams E Define end-end full lifecycle process E May include Iterations, Phases, Milestones (type of Activity)
EPF Composer – Authoring Perspective Library View Task Editor (form based) Configuration View Authoring Perspective
EPF Composer – Authoring Perspective Form based plain text or… …Rich Text editors
EPF Composer Publishing
Processes Available as Reusable EPF Specification E EPF available s examples of process to use E Open. UP E SCRUM E XP E http: //www. eclipse. org/epf/downloads. php
Interesting Aspects of Open. UP Specified in EPF E “An Agile Inspired process with its roots in the UP” E An iterative software development process that is minimal, complete, and extensible E Minimal - Contains vital roles, tasks and guidance E Complete - Complete for small co-located teams E Extensible - Serves as a foundation that can be extended and tailored
Open. UP – Core Principles E Open. UP is based on a set of mutually supporting core principles: E Collaborate to align interests and share understanding E Evolve to continuously obtain feedback and improve E Balance competing priorities to maximize stakeholder value E Focus on articulating the architecture E Open. UP incorporates a number of agile practices… E Test-First Design E Continuous Integration E Agile Estimation E Daily Standup, Iteration Assessment, Iteration Retrospective E Self-organizing teams E …within the context of an iterative, incremental lifecycle (UP).
Open. UP – Project Lifecycle E Open. UP uses an iterative, incremental lifecycle. E Proper application of this lifecycle directly addresses the first core principle (Evolve). E The lifecycle is divided into 4 phases, each with a particular purpose and milestone criteria to exit the phase: E E Inception: To understand the problem. Elaboration: To validate the solution architecture. Construction: To build and verify the solution in increments. Transition: To transition the solution to the operational environment and validate the solution.
Open. UP - Disciplines E A discipline is a collection of tasks that are related to a major "area of concern" within the overall project. E Within the lifecycle, tasks are performed concurrently across several disciplines. E Separating tasks into distinct disciplines is simply an effective way to organize content that makes comprehension easier. E Open. UP defines the following Disciplines:
Open. UP - Roles E Roles define a set of related skills, competencies and responsibilities. E Open. UP defines the following Roles:
Interesting Aspects of XP Specified in EPF E e. Xtreme Programming is a development process that can be used by medium and small sized times in the face of vague or rapidly changing requirements. E Customer create “stories” that is a very lightweight use-cases E Development is done iteratively and incrementally E Every two weeks delivers working stories to the customer E Programmers work on their programming tasks in pairs
XP Values E Communication E XP emphasizes face-to-face communication E Simplicity E XP presumes that it is better to do the simple thing today E Feedback E Continuous feedback allows the customer to steer the project to success E Courage E Perhaps a better name for this value is trust
XP Practices
XP Roles
XP Work Products
Interesting Aspects of SCRUM Specified in EPF E Is a mechanism in the sport of rugby for getting an out-of-play ball back into play E Scrum focuses on the social and collective aspect of development E Scrum Goal is to improve quality and productivity, with an empirical approach, relying on autonomous teaming E Empirism E An empirical process requires a good visibility E 2 regulation cycles EDuring Daily Scrums EDuring Sprint Reviews E Scope E not describe all the software development activities - analysis, design, coding, testing
SCRUM Lifecycle
SCRUM Roles
SCRUM Artifacts
SCRUM – Colaboration Points
- Slides: 30