1 / 27

What is the Eclipse Process Framework

What is the Eclipse Process Framework. Agenda. What is Eclipse Process Framework (EPF) OpenUP Overview and Demo EPF Future Vision. What Development Teams Are Facing Today. Article on serialized java beans. Website with Configuration mgmt guidelines. Project plan templates.

sandro
Download Presentation

What is the Eclipse Process Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What is the Eclipse Process Framework

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

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

  4. A Better Approach Standardize representation and manage libraries of reusable Method Content Develop and manage Processesfor performing projects Content on agile development JUnit user guidance Lessons learnt from previous project and iteration Process assetspatterns Content on managing iterative development Content on J2EE Standard or reference processes Corporate guidelines on compliance Configuration mgmt guidelines Project plan templates Guidance on serialized java beans Configurea cohesive process framework customized for my project needs Create project plan templates for Enactmentof process in the context of my project

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

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

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

  8. EPF: Growing Ecosystem Co-developers Supporters

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

  10. Example Work-in-Progress • Process • OpenUP • OpenUP/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 • eXtreme 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

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

  12. A framework is based on a common set of principles A Method Framework JUnit Contains any number of extension plug-ins • Adds additional processes or modifies existing processes • Adds additional method content J2EE DistributedDevelopment Contains a base of standard content • Base content (principles, practices, roles, work products, tasks, …) • Optionally a base process (lifecycle) Base What Is 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

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

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

  15. Demo

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

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

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

  19. Core Principle: Architecture • Architecture promotes re-use 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

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

  21. Consolidated Agile Framework OPEN Process Framework OpenUP Collaborative Practices Agile ProjectMgmt Several Frameworks – Increasingly Shared Content Use Case Refactoring Network Design

  22. 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 PPM09: Incremental Adoption of RUP and OpenUP) 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 Innovation: Process Adaptability and Extensibility

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

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

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

  26. Questions

  27. Thank You

More Related