What is the Eclipse Process Framework Agenda What

  • Slides: 27
Download presentation
What is the Eclipse Process Framework

What is the Eclipse Process Framework

Agenda • What is Eclipse Process Framework (EPF) • Open. UP Overview and Demo

Agenda • What is Eclipse Process Framework (EPF) • Open. UP Overview and Demo • EPF Future Vision 2

What Development Teams Are Facing Today Project plan templates Article on serialized java beans

What Development Teams Are Facing Today Project plan templates Article on serialized java beans Website with Configuration mgmt guidelines Book on J 2 EE JUnit user guide Wiki on agile development Knowledge base on managing iterative development Lessons learnt from previous project and iteration Latest research on effectiveness of pair programming Corporate guidelines on compliance • No common language or terminology between processes - redundancy and inconsistencies • Knowledge cannot easily be customized for different projects or new best practices 3 • No central community or communication framework to facilitate convergence of best practices across domains

A Better Approach Standardize representation and manage libraries of reusable Method Content on agile

A Better Approach Standardize representation and manage libraries of reusable Method Content on agile development Content on managing iterative development Guidance on serialized java beans JUnit user guidance Develop and manage Processes for performing projects Lessons learnt from previous project and iteration Content on J 2 EE Configuration mgmt guidelines Process assets patterns Standard or reference processes Corporate guidelines on compliance Project plan templates Configure a cohesive process framework customized for my project needs Create project plan templates for Enactment of process in the context of my project 4

Eclipse Process Framework (EPF) Project Serves as a foundation for an evolving open source

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 5

EPF Ecosystem Inhouse Content EXTENSIONS • Project Mgmt. • Oper. Mgmt. • Systems Mgmt.

EPF Ecosystem Inhouse Content EXTENSIONS • Project Mgmt. • Oper. Mgmt. • Systems Mgmt. Plug-ins Free Process Content Plug-ins Open Unified Process (Open. UP) Commercial Open. UP/ DSDM Business Rules Basic. Open. UP Unified Process Adapted from RUP Process Content Plug-ins Other agile processes • XP • Scrum • DSDM • AMDD Extensible, Customizable, Flexible TOOLING (Authoring, Publishing) Common Language & Vocabulary META MODEL (Unified Method Architecture) Open Source Development Tool Extensions ECLIPSE 6

Who Uses EPF? Requires: - Realistic consistency - Viable governance - Improved ROI Produces:

Who Uses EPF? Requires: - Realistic consistency - Viable governance - Improved ROI Produces: - Base methods - Plug ins Process Author Management Provides: - Training - Consulting - Mentoring - Adoption services Service Provider Professional Desires: - Simplicity - Templates - Examples - Guidance Needs: - Teachable material - Teach process development - Use in student projects - Bring research to mainstream Wants to: - Build tools - Sell services Tool Provider Process Coach Performs: - Tailoring - Publishing - Support - Training Academia 7

EPF: Growing Ecosystem Co-developers Supporters 8

EPF: Growing Ecosystem Co-developers Supporters 8

EPF Community – growing everyday! • 27 committers from 11 organizations • +1, 000

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 v 1. 0 Release date – September 2006 9

Example Work-in-Progress • Process – Open. UP • Open. UP/Basic – evolved by ~10

Example Work-in-Progress • Process – Open. UP • Open. UP/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 e. Xtreme 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 10

Agenda • What is Eclipse Process Framework (EPF) • Open. UP Overview and Demo

Agenda • What is Eclipse Process Framework (EPF) • Open. UP Overview and Demo • EPF Future Vision 11

What Is a Method Framework? A framework is based on a common set of

What Is a Method Framework? A framework is based on a common set of principles A Method Framework § All pieces within a framework fits together § Enables rapid assembly of a diverse set of processes § A process framework can contain sub frameworks JUnit Contains any number of extension plug-ins § Adds additional processes or modifies existing processes § Adds additional method content Distributed Development J 2 EE Contains a base of standard content § Base content (principles, practices, roles, work products, tasks, …) § Optionally a base process (lifecycle) Base 12

What Is the Open Unified Process (Open. UP) • A process framework united by

What Is the Open Unified Process (Open. UP) • 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 • Open. UP consists of – A base process - Open. UP/Basic – Extensions to this base process, such as MDA content 13

What Is Open. UP/Basic? An iterative software development process that is minimal, complete, and

What Is Open. UP/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 14

Demo 15

Demo 15

Core Principles: Iterative Lifecycle • Unified Process Lifecycle – Inception, Elaboration, Construction, Transition •

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

Core Principle: Collaboration • Collaborative practices – Share the dream (Vision, architecture, …) –

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 17

Core Principle: Requirements • Management of requirements in a form that represents stakeholder value

Core Principle: Requirements • 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 18

Core Principle: Architecture • Architecture promotes reuse and maintenance tasks, enhances intellectual control, and

Core Principle: Architecture • Architecture promotes reuse 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 19

Agenda • What is Eclipse Process Framework (EPF) • Open. UP Overview and Demo

Agenda • What is Eclipse Process Framework (EPF) • Open. UP Overview and Demo • EPF Future Vision 20

Several Frameworks – Increasingly Shared Content Consolidated Agile Framework OPEN Process Framework Open. UP

Several Frameworks – Increasingly Shared Content Consolidated Agile Framework OPEN Process Framework Open. UP Collaborative Practices Refactoring Agile Project Mgmt Use Case Network Design 21

Innovation: Process Adaptability and Extensibility Today • Plug-ins focusing on specific areas of concerns

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 PPM 09: Incremental Adoption of RUP and Open. UP) • 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 22

Innovation: Presentation and Technology Today • HTML pages • Process advisor (not a part

Innovation: Presentation and Technology Today • HTML pages • Process advisor (not a part of EPF) Finish here Booster Practices Start here Essential Practices 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). Game Board Rule Book 23

Innovation: Community and Process • Involve practitioners and increase the value of the process

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 24

Summary • Eclipse Process Framework (EPF) – An eclipse open source project serving as

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 • Open. UP – A open source implementation of the Unified Process – A method framework built with Open. UP/Basic as a base – Open. UP/Basic is an iterative software development process that is minimal, complete, and extensible 25

Questions 26

Questions 26

Thank You 27

Thank You 27