Applying Essence in Practice

1,062 views

Published on

This presentation was given by Ed Seidewitz in Ivar Jacobson International in the Essence Information Day held in OMG Technical Meeting in Berlin, Germany on June 20, 2013.
The presentation explains Essence Kernel and how it can be used to plan and manage software engineering projects.

Published in: Technology, Business

Applying Essence in Practice

  1. 1. Essence Workshop June 20, 2013 www.semat.org Applying Essence in Practice Ed Seidewitz Ivar Jacobson International
  2. 2. The Essence Specification  “Foundation for Agile Creation and Enactment of Software Engineering Methods” (FACESEM) RFP issued June, 2011  Essence – Kernel and Language for Software Engineering Methods submitted February 2013  Essence 1.0 (alpha) adoption vote pending with OMG Board of Directors  Essence 1.0 Finalization Task Force chartered March 2013  Essence 1.0 (beta) adoption expected June 2014 Applying Essence in Practice / Essence Workshop / 20 June 2013 2
  3. 3. What is an alpha? Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health Attribute. • An essential element of the software engineering endeavor that is relevant to an assessment of the progress and health of the endeavor.
  4. 4. The Kernel Alphas Applying Essence in Practice / Essence Workshop / 20 June 2013 4 Customer Solution scopes and constrains < performs and plans < fulfils ^ produces Work Team Software System Requirements Way of Working ^ < provide StakeholdersOpportunity focuses> useand consume> supports> Setupto address> Endeavor Opportunity OpportunityStakeholders 4
  5. 5. The Alpha structure Applying Essence in Practice / Essence Workshop / 20 June 2013 5  State  XXXXXXXXXXXXXXXXXX  XXXXXXXXXXX  XXXXXXXXXXXX  State  XXXXXXXXXXXXXXXXXX  XXXXXXXXXXX  XXXXXXXXXXXX  State  XXXXXXXXXXXXXXXXXX  XXXXXXXXXXX  XXXXXXXXXXXX  …….. Checklist An Alpha
  6. 6. Requirements– one of the alphas Applying Essence in Practice / Essence Workshop / 20 June 2013 6 What the software system must do to address the opportunity and satisfy the stakeholders.
  7. 7. Requirements – states 7 Coherent Acceptable Bounded Addressed Fullfilled The need for a new system has been agreed. The purpose and theme of the new system are clear. The requirements provide a coherent description of the essential characteristics of the new system. The requirements describe a system that is acceptable to the stakeholders. The requirements have been addressed to fully satisfy the need for a new system. Conceived Enough of the requirements have been addressed to satisfy the need for a new system in a way that is acceptable to the stakeholders. Applying Essence in Practice / Essence Workshop / 20 June 2013
  8. 8. Checklist for requirements states 8 Recognized Coherent Acceptable Conceived Bounded Addressed Fullfilled  The initial set of stakeholders agrees that a system is to be produced.  The stakeholders that will use the new system are identified.  The stakeholders that will fund the initial work on the new system are identified.  There is a clear opportunity for the new system to address. Applying Essence in Practice / Essence Workshop / 20 June 2013
  9. 9.  The stakeholders involved in developing the new system are identified.  The stakeholders agree on the purpose of the new system.  It is clear what success is for the new system.  The stakeholders have a shared understanding of the extent of the proposed solution.  The way the requirements will be described is agreed upon.  The mechanisms for managing the requirements are in place.  The prioritization scheme is clear.  Constraints are identified and considered.  Assumptions are clearly stated. Checklist for requirements states 9 Coherent Acceptable Bounded Addressed Fullfilled Conceived Applying Essence in Practice / Essence Workshop / 20 June 2013
  10. 10. Company X, Dave and Smith  Company X runs many development projects , both small and large  Dave, the executive of Company X wants to improve software development capability  This task is assigned to Smith  Smith meets many diverse teams with different background and experience and helps them Applying Essence in Practice / Essence Workshop / 20 June 2013 10
  11. 11. Situation: Encounter with Small Team A  Smith meets a small team A and needs to understand the current state of development.  Ponder: How do you do that? What do you look for? What do you infer and how do you come to your conclusion? Applying Essence in Practice / Essence Workshop / 20 June 2013 11
  12. 12. Collecting the evidence  The team gave Smith some documents – Business Case – Use Case Model – Brief System Description  Smith asks some questions  What to ask? Applying Essence in Practice / Essence Workshop / 20 June 2013 12
  13. 13. What is the real situation Applying Essence in Practice / Essence Workshop / 20 June 2013 13 Software System Work Team Requirements
  14. 14. Plan: Determine Current State Applying Essence in Practice / Essence Workshop / 20 June 2013 14 Achieved Not Achieved
  15. 15. Identify States by Applying State Cards Applying Essence in Practice / Essence Workshop / 20 June 2013 15
  16. 16. Situation: Executives Demand a Plan  Cliché: If you don’t plan to succeed, you plan to fail.  Dave, the executive wants a plan.  Ponder: – How do you make the plan? – How do you communicate the plan? – How do you ensure that your plan works? – How detailed should your plan be? Applying Essence in Practice / Essence Workshop / 20 June 2013 16
  17. 17. Steps to Planning  Determine Major Decision Points  Refine the Decision Points  Fill in more Details Production Decision to Start Dev. (Start Coding) Decision to Go Live (Release) Decision Points DevelopmentIdea Applying Essence in Practice / Essence Workshop / 20 June 2013 17
  18. 18. Planning Development with Alphas Before Approval Building the Business Case In Development Developing the Software Skinny System Available Usable System Available Applying Essence in Practice / Essence Workshop / 20 June 2013 18 Decision To Fund Decision To Go Live In Production Operating the Software
  19. 19. Different Development, Different Planning Agile Traditional Phases Conceived Bounded Coherent Acceptable Addressed Fulfilled Architecture Selected Demonstrable Usable Ready Operational Retired Before Approval In Development Conceived Bounded Coherent Acceptable Addressed Fulfilled Architecture Selected Demonstrable Useable Ready Operational Retired In Production Requirements Software Sys. Requirements Software Sys. Decision To Start Decision To Go Live
  20. 20. Situation: Get the Team Moving  Dave wants Smith not only to conduct their development successfully but also to be grounded in a solid understanding of software development  In particular, Dave wants the team to adopt agile development Applying Essence in Practice / Essence Workshop / 20 June 2013 20
  21. 21. Running Agile Development with Scrum Product Backlog To Do Doing Done Customer Representatives Team Scrum Master Production Decision to Fund Decision to Go Live DevelopmentIdea Applying Essence in Practice / Essence Workshop / 20 June 2013 21
  22. 22. Agreeing on Iteration Objectives Applying Essence in Practice / Essence Workshop / 20 June 2013 22 Prioritizing Work items New Hire Training Browse Comments Post Comments Browse Album What tasks will the team need to do to achieve the above target states? What requirement items will the team need to develop to achieve the above target states?
  23. 23. Tasks and Sub-Alphas Task 1 Task 2 To Do Doing Done Task 3 Task4 Task 5 Task 6 Set up test environment Complete Requirement-Item A Complete Requirement-Item B Complete Requirement-Item C Objectives Task 7 Task 8 Complete more Requirement-Items Task 9 Applying Essence in Practice / Essence Workshop / 20 June 2013 23
  24. 24. Situation: Replicating Success  Dave wants Smith to help replicate success in other teams.  Some way to describe the way of working is necessary  Smith needs a way to get internal coaches to be consistent, but allow room to improvise and innovate Applying Essence in Practice / Essence Workshop / 20 June 2013 24
  25. 25. Documenting Practices Tacit Practices With Coaching Explicit Practices With Coaching Background Capability Common Different Explicit Practices Needed Tacit Practices Sufficient High Low Applying Essence in Practice / Essence Workshop / 20 June 2013 25
  26. 26. A Practice Architecture Mobile Application Development Method Kernel Core Banking Development Method Enterprise Integration Method Defect/Issue Tracking Configuration Management Defect/Issue Tracking Configuration Management Defect/Issue Tracking Configuration Management Common Practices Waterfall Lifecycle Modern Lifecycle Modern Lifecycle Architecture Centric Emerging Architecture Emerging Architecture Traditional Requirements User storiesUse Cases Endeavor Type Specific Practices Acceptance Test Driven Development Acceptance Test Driven Development Acceptance Test Driven Development Improvement Applying Essence in Practice / Essence Workshop / 20 June 2013 26
  27. 27. Practice Explorer The Practice Explorer shows Practice Workbench projects The Essence Kernel project contains the elements defined in the OMG Essence specification Alphas that represent the essential things to work with Activity Spaces that represent the essential things to do Applying Essence in Practice / Essence Workshop / 20 June 2013 27
  28. 28. ETextile, Guideline and Card views When selecting an element in the Practice Explorer you can switch between different views The ETextile Source view provides the main editor for authoring the practice using plain text and annotations The Guideline Preview renders how the guideline will be presented in HTML The Overview Card Preview renders the card presentation Applying Essence in Practice / Essence Workshop / 20 June 2013 28
  29. 29. Scrum Essentials The Scrum practice is created as a separate practice project in the Practice Workbench The Scrum practice extends the Essence Kernel by providing more detailed guidance. Drag and drop the relevant Alphas to extend from the Essence Kernel into the Scrum practice project Drag and drop the relevant Activity Spaces to extend from the Essence Kernel into the Scrum practice project Applying Essence in Practice / Essence Workshop / 20 June 2013 29
  30. 30. Scrum Roles Scrum roles are represented as Patterns Product Owner (Guideline Preview) Product Owner (Card Preview) Applying Essence in Practice / Essence Workshop / 20 June 2013 30
  31. 31. Scrum Sprint Sprint is represented as a sub-alpha of Work The Sprint has States with Checkpoints The Sprint has associated the Work Product Sprint Backlog that contains the set of Product Backlog items selected for the Sprint, and the plan for delivering the product Increment Sprint (Card Preview) Sprint in Under Control State (Card Preview) Under Control (State Card Preview) Applying Essence in Practice / Essence Workshop / 20 June 2013 31

×