Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
-
Upload
ethan-anthony -
Category
Documents
-
view
222 -
download
0
Transcript of Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
OntologiesReasoningComponentsAgentsSimulations
The Eclipse Process FrameworkThe Eclipse Process Framework
Breno Machado
The Eclipse Process FrameworkThe Eclipse Process Framework
EPF is an Open Source project within the Eclipse Foundation Goals:
An extensible framework and tooling for authoring, configuring and publishing processes Exemplary Process – first delivered is OpenUP
EPF is NOT: Only applicable for Eclipse Java development. Intended to create the “perfect process”
EPF is based in SPEM 2.0 (Software Process Engineering Metamodel)
The Eclipse Process FrameworkThe Eclipse Process Framework
EPF is for two audiences: Process Authors and Coaches (Process Management Team)
Tooling for creating and publishing processesFoundational process for starting pointLibraries of additional content that can be plugged-in
Process Consumers (Project Team)
Published website of process content for simple browsingGuidance in the form of checklists, concepts, guidelinesBrowse the content adapted to your experience level
Basic Concepts - EPFBasic Concepts - EPF
Method Library All Method Elements are stored in a Method Library
Method Plug-in Physical container for Method Packages and Process Packages
Method Configuration A logical subset of a Method Library
Delivery Process A complete and integrated approach for performing a specific type of project
Basic Concepts - EPFBasic Concepts - EPF
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
Basic Concepts - EPFBasic Concepts - EPF
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) End-End 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
Method Content - EPFMethod Content - EPF
Role Set of related skills, competencies and
responsabilities Are NOT individuals Individuals may play multiple roles Perform Tasks Are responsible for Work Products
Work Product Tangible things used, modified or
produced by a Task Roles use and produce Work Product
performing tasks Are responsability of a Role 3 types
Artifact Deliverable Outcome
Task Define a assignable unit of
work Perfomed by Roles Describe a work step-by-step
to achieve a goal. Modify or produce Work
Products Don’t define WHEN they are
performed in the lifecicle.
Method Content - EPFMethod Content - EPF
Guidance May be associate with Roles, Tasks and Work
Products Different types depending upon purpose Detailed methodology and supporting information
Tasks say “what” Guidance say “how-to”
Categories Group related method
elements Five Standard Categories
Discipline Domain Work Product Kind Role Set Tool
May be nested Can define custom categories Used to build views in
published website
Process Content - EPFProcess Content - EPF
Capability Patterns Sequence of related tasks, performed to achieve a greater purpose 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 - EPFProcess Content - EPF Capability Patterns
Capability Patterns may be nested and viewed graphically An Activity is an instance of a Capability Pattern
Activity(Instance of Capability Patterns)
Process Content - EPFProcess Content - EPF
Delivery Process Defined using Work
Breakdown Structure and/or Activity Diagrams
Define end-end full lifecycle process
May include Iterations, Phases, Milestones (type of Activity)
EPF Composer – EPF Composer – Authoring PerspectiveAuthoring Perspective
Library View
Configuration View
Task Editor (form based)
Authoring Perspective
EPF Composer – EPF Composer – Authoring PerspectiveAuthoring Perspective
Form based plain text
or…
…Rich Text editors
Processes Available as Reusable EPF Processes Available as Reusable EPF SpecificationSpecification
EPF available s examples of process to use OpenUP SCRUM XP
http://www.eclipse.org/epf/downloads/downloads.php
Interesting Aspects of OpenUPInteresting Aspects of OpenUPSpecified in EPFSpecified in EPF
“An Agile Inspired process with its roots in the UP”
An iterative software development process that is minimal, complete, and extensible
Minimal - Contains vital roles, tasks and guidance Complete - Complete for small co-located teams Extensible - Serves as a foundation that can be extended and tailored
OpenUP – Core PrinciplesOpenUP – Core Principles
OpenUP is based on a set of mutually supporting core principles: Collaborate to align interests and share understanding Evolve to continuously obtain feedback and improve Balance competing priorities to maximize stakeholder value Focus on articulating the architecture
OpenUP incorporates a number of agile practices… Test-First Design Continuous Integration Agile Estimation Daily Standup, Iteration Assessment, Iteration Retrospective Self-organizing teams
…within the context of an iterative, incremental lifecycle (UP).
OpenUP – Project LifecycleOpenUP – Project Lifecycle
OpenUP uses an iterative, incremental lifecycle. Proper application of this lifecycle directly addresses the first
core principle (Evolve). The lifecycle is divided into 4 phases, each with a particular
purpose and milestone criteria to exit the phase: 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.
OpenUP - DisciplinesOpenUP - Disciplines
A discipline is a collection of tasks that are related to a major "area of concern" within the overall project.
Within the lifecycle, tasks are performed concurrently across several disciplines.
Separating tasks into distinct disciplines is simply an effective way to organize content that makes comprehension easier.
OpenUP defines the following Disciplines:
OpenUP - RolesOpenUP - Roles
Roles define a set of related skills, competencies and responsibilities.
OpenUP defines the following Roles:
Interesting Aspects of XPInteresting Aspects of XPSpecified in EPFSpecified in EPF
eXtreme Programming is a development process that can be used by medium and small sized times in the face of vague or rapidly changing requirements.
Customer create “stories” that is a very lightweight use-cases Development is done iteratively and incrementally Every two weeks delivers working stories to the customer Programmers work on their programming tasks in pairs
XP ValuesXP Values
Communication XP emphasizes face-to-face communication
Simplicity XP presumes that it is better to do the simple thing today
Feedback Continuous feedback allows the customer to steer the project to success
Courage Perhaps a better name for this value is trust
Interesting Aspects of SCRUMInteresting Aspects of SCRUMSpecified in EPFSpecified in EPF
Is a mechanism in the sport of rugby for getting an out-of-play ball back into play
Scrum focuses on the social and collective aspect of development
Scrum Goal is to improve quality and productivity, with an empirical approach, relying on autonomous teaming
Empirism An empirical process requires a good visibility 2 regulation cycles
During Daily ScrumsDuring Sprint Reviews
Scope not describe all the software development activities - analysis, design, coding, testing