420 likes | 543 Views
Eclipse Process Framework – Open Source Initiative. Per Kroll Mgr. of Methods / EPF Project Lead IBM pkroll@us.ibm.com. Per Kroll - Background. Project lead – Eclipse Process Framework Development Manager – RUP / Rational Method Composer Process Technology Strategist – IBM Rational
E N D
Eclipse Process Framework – Open Source Initiative Per Kroll Mgr. of Methods / EPF Project Lead IBM pkroll@us.ibm.com Made available under EPL v1.0
Per Kroll - Background • Project lead – Eclipse Process Framework • Development Manager – RUP / Rational Method Composer • Process Technology Strategist – IBM Rational • (Co-) Author of • The Rational Unified Process Made Easy – A Practitioner’s Guide to RUP • Agility and Discipline Made Easy – Practices from OpenUP and RUP Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
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 Made available under EPL v1.0
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 Made available under EPL v1.0
Eclipse Process Framework (EPF) Project Provide an open and collaborative ecosystem for evolving software development processes Provide sample practices, process tooling and a metamodel, 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 Made available under EPL v1.0
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 Made available under EPL v1.0
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 Made available under EPL v1.0
EPF: Growing Ecosystem Co-developers Supporters Made available under EPL v1.0
Why Should Agile Community Care About EPF? • Facilitate development of a consolidated agile framework • Let the community evolve content to reflect what works • Combine the best from different processes • Make agile development mainstream in large organizations • Documented and auditable processes • Powerful delivery platform • Large organizations participating in EPF provides assurance • Move from big documented processes to ‘instrumented’ micro-processes • Intelligent and non-intrusive process facilitation (compare Java Developer Tools Quick-fix) Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
EPF Composer Capabilities • Create reusable method content • Roles, tasks, artifacts, guidelines, examples, templates • Create reusable process patterns • E.g. design, implement and test a scenario • Create processes for different project types • Create derivative method content and processes • Upgrade to new baseline of method content and processes • Integration: XML, MS Project, API, … Made available under EPL v1.0
Manage textual IC and reusable method content. Made available under EPL v1.0
Easy to use, form-based rich-text editing capabilities. Made available under EPL v1.0
Workflow Workflow Breakdown / Iterations / Increments / Sprints / Waterfall Assemble processes with reusable method content and process patterns. Consistent management of WBS and Activity diagrams. Made available under EPL v1.0
OpenUP applying four RUP phases lifecycle model OpenUP specific management approach Scrum-like process with a lifecycle model using Sprints Scrum specific management approach Capability Pattern reused from OpenUP method plug-in Made available under EPL v1.0
Demo • Create a new plug-in • Create a new task (prototype UI) and an artifact (UI interface) • Add new task to existing capability pattern • View end-to-end (delivery) process • View results Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
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 Made available under EPL v1.0
Analyst Stakeholder Tester Developer Project Manager Architect penUP Made available under EPL v1.0
Analyst Stakeholder Tester Developer penUP Project Manager Architect Made available under EPL v1.0
Analyst Stakeholder Tester Developer penUP Project Manager Architect Made available under EPL v1.0
Analyst Stakeholder Tester Developer penUP Project Manager Architect Made available under EPL v1.0
Analyst Stakeholder Tester Developer penUP Project Manager Architect Made available under EPL v1.0
Analyst Stakeholder Tester Developer penUP Project Manager Architect Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
Other Agile Methods in the Works • XP • Developed by Object Mentor, with technical assistance from IBM. Awaiting IP due diligence. • Scrum • Work in progress by Catalysts and others • AMDD • Scott Ambler in process of developing • DSDM • DSDM Consortium will donate subset of DSDM • Essential Unified Process (EssUP) • Ivar Jacobson International will contribute to EPF • Consolidated agile framework • Jim Highsmith and Mike Cohn have expressed interest Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
Milestones and key artifacts Mandatory Traditional process mission EPF Composer Principles & practices Guidance (Built from tasks, guidelines, artifacts, examples, templates, ….) Harvesting best practices Emerging practices … Tacit Knowledge Wiki … EPF and Wiki Technology Made available under EPL v1.0
Opportunities with Wiki • Rapidly gather useful feedback by writing comments associated around content (lock content from editing) • Build communities around key content areas (lock editing to be centered around dedicated topics) • Rapidly gather useful feedback by directly editing process content • Improve process content without learning the metamodel or Composer • Capture process related experiences through harvesting Made available under EPL v1.0
Current Status • LogicaCMG is investigating whether to donate working solution • Some technical issues needs to be resolved, such as usage of commercial components, etc. • Meanwhile, LogicaCMG is hosting OpenUP on a trial site so people can try out the technology Made available under EPL v1.0
Demo • Create a comment • Edit page • Review changes Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
Innovation “Open Source is not about Free. It's about Freedom. The freedom to collaborate. The freedom to innovate.” “Open source gives more people access to the building blocks of innovation, enabling diverse perspectives and influences to be integrated into the creative process. Nick DonofrioSr. VP, Technology&Manufacturing, IBMAt LinuxWorld August, 2004 Made available under EPL v1.0
Consolidated Agile Framework OPEN Process Framework OpenUP Collaborative Practices Agile ProjectMgmt Several Frameworks – Increasingly Shared Content Use Case Refactoring Network Design Made available under EPL v1.0
Innovation: Process Adaptability and Extensibility • Plug-ins can extend many different base processes • Using interface / port technology (ref: Kirti Vaidya, Covansys) • Example usage: Add UI content that can be added to XP or OpenUP • Practices to be used to chunk up process into adoptable slices • Wizards to customize the process, and to create an initial project plan Made available under EPL v1.0
Today HTML pages Tomorrow Automate the process through workflow and rules-based technologies (guides, wizards, intelligent agents, …) Game metaphor. Rule Book Finish here Start here Essential Practices Booster Practices Game Board Innovation: Presentation and Technology Made available under EPL v1.0
Agenda • What is EPF? • EPF Composer • OpenUP • Other agile methods • EPF and Wikis • Futures • Summary Made available under EPL v1.0
For More Information • Eclipse Process Framework (EPF) information • http://www.eclipse.org/epf/ • See right column for Getting Started, Newsgroup, Developers Mail List, etc • Articles in Rational Edge, www.therationaledge.com • DeveloperWorks: The Eclipse Process Framework Project, Kroll, http://www.ibm.com/developerworks/rational/library/05/1011_kroll/ • Eclipse Review: A Development Library at your Fingertips, Kroll and Sand, http://www.eclipsereview.com/retrieve/er_200609.htm • Rational Edge: Eclipse Process Framework Composer - Part 1: Key Concepts, Haumer, http://www.eclipse.org/epf/general/EPFComposerOverviewPart1.pdf • Rational Edge: Eclipse Process Framework Composer - Part 2: Authoring Method Content and Processes, Haumer, http://www.eclipse.org/epf/general/EPFComposerOverviewPart2.pdf • Books • Per Kroll and Bruce MacIsaac, Agility and Discipline Made Easy—Practices from OpenUP and RUP, Addision-Wesley (2006) Made available under EPL v1.0
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 +20 organizations • OpenUP • A open source implementation of the Unified Process • OpenUP/Basic - An iterative software development process that is minimal, complete, and extensible • Consolidated Agile Framework • A number of agile practice leaders are putting their know-how into EPF Made available under EPL v1.0
Questions? ? ? ? ? ? ? ? ? Made available under EPL v1.0