Essence Workshop June 20 2013 Applying Essence in

  • Slides: 31
Download presentation
Essence Workshop June 20, 2013 Applying Essence in Practice Ed Seidewitz Ivar Jacobson International

Essence Workshop June 20, 2013 Applying Essence in Practice Ed Seidewitz Ivar Jacobson International www. semat. org

The Essence Specification § “Foundation for Agile Creation and Enactment of Software Engineering Methods”

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

What is an alpha? • Alpha is an acronym for an Abstract-Level Progress Health

What is an alpha? • 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. Applying Essence in Practice / Essence Workshop / 20 June 2013 3

The Kernel Alphas Customer < provide nd ma st oa dd e <d re

The Kernel Alphas Customer < provide nd ma st oa dd e <d re ss Software System < fulfils scopes and constrains s nge a h dc > n sa ^ ate d p u < performs and plans Work <g u Way of ide in Practice / Essence Workshop / 20 June lies Applying Essence p s < ap 2013 Working supports > Requirements Endeavor elp Stakeholders Opportunity use and consume > Solution <h focuses > Set up to address > Opportunity ^ produces Team 4 4

The Alpha structure An Alpha Checklist q q State q XXXXXXXXXXXXXXXXXX q XXXXXXXXXXXX State

The Alpha structure An Alpha Checklist q q State q XXXXXXXXXXXXXXXXXX q XXXXXXXXXXXX State q XXXXXXXXXXXX ……. . Applying Essence in Practice / Essence Workshop / 20 June 2013 5

Requirements– one of the alphas What the software system must do to address the

Requirements– one of the alphas What the software system must do to address the opportunity and satisfy the stakeholders. Applying Essence in Practice / Essence Workshop / 20 June 2013 6

Requirements – states Conceived The need for a new system has been agreed. Bounded

Requirements – states Conceived The need for a new system has been agreed. Bounded The purpose and theme of the new system are clear. Coherent The requirements provide a coherent description of the essential characteristics of the new system. Acceptable The requirements describe a system that is acceptable to the stakeholders. Addressed Enough of the requirements have been addressed to satisfy the need for a new system in a way that is acceptable to the stakeholders. Fullfilled The requirements have been addressed to fully satisfy the need for a new system. Applying Essence in Practice / Essence Workshop / 20 June 2013 7

Checklist for requirements states Conceived Recognized Bounded Coherent q The initial set of stakeholders

Checklist for requirements states Conceived Recognized Bounded Coherent q The initial set of stakeholders agrees that a system is to be produced. q The stakeholders that will use the new system are identified. q The stakeholders that will fund the initial work on the new system are identified. q There is a clear opportunity for the new system to address. Acceptable Addressed Fullfilled Applying Essence in Practice / Essence Workshop / 20 June 2013 8

Checklist for requirements states Conceived Bounded Coherent Acceptable Addressed Fullfilled q The stakeholders involved

Checklist for requirements states Conceived Bounded Coherent Acceptable Addressed Fullfilled q The stakeholders involved in developing the new system are identified. q The stakeholders agree on the purpose of the new system. q It is clear what success is for the new system. q The stakeholders have a shared understanding of the extent of the proposed solution. q The way the requirements will be described is agreed upon. q The mechanisms for managing the requirements are in place. q The prioritization scheme is clear. q Constraints are identified and considered. q Assumptions are clearly stated. Applying Essence in Practice / Essence Workshop / 20 June 2013 9

Company X, Dave and Smith § Company X runs many development projects , both

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

Situation: Encounter with Small Team A § Smith meets a small team A and

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

Collecting the evidence § The team gave Smith some documents – Business Case –

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

What is the real situation Requirements Software System Work Team Applying Essence in Practice

What is the real situation Requirements Software System Work Team Applying Essence in Practice / Essence Workshop / 20 June 2013 13

Plan: Determine Current State Achieved Not Achieved Applying Essence in Practice / Essence Workshop

Plan: Determine Current State Achieved Not Achieved Applying Essence in Practice / Essence Workshop / 20 June 2013 14

Identify States by Applying State Cards Applying Essence in Practice / Essence Workshop /

Identify States by Applying State Cards Applying Essence in Practice / Essence Workshop / 20 June 2013 15

Situation: Executives Demand a Plan § Cliché: If you don’t plan to succeed, you

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

Steps to Planning § Determine Major Decision Points § Refine the Decision Points §

Steps to Planning § Determine Major Decision Points § Refine the Decision Points § Fill in more Details Decision Points Idea Development Decision to Start Dev. (Start Coding) Production Decision to Go Live (Release) Applying Essence in Practice / Essence Workshop / 20 June 2013 17

Planning Development with Alphas Before Approval In Development Developing the Software Building the Business

Planning Development with Alphas Before Approval In Development Developing the Software Building the Business Case Decision To Fund Skinny System Available Usable System Available In Production Decision To Go Live Operating the Software Applying Essence in Practice / Essence Workshop / 20 June 2013 18

Different Development, Different Planning Agile Phases Before Approval Decision To Start Requirements Decision To

Different Development, Different Planning Agile Phases Before Approval Decision To Start Requirements Decision To Go Live In Production Software Sys. Requirements Software Sys. Conceived Bounded Coherent In Development Traditional Acceptable Architecture Selected Coherent Architecture Selected Acceptable Demonstrable Useable Usable Ready Addressed Operational Fulfilled Retired

Situation: Get the Team Moving § Dave wants Smith not only to conduct their

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

Running Agile Development with Scrum Idea Development Decision to Fund To Do Production Decision

Running Agile Development with Scrum Idea Development Decision to Fund To Do Production Decision to Go Live Doing Done Product Backlog Customer Representatives Scrum Master Team Applying Essence in Practice / Essence Workshop / 20 June 2013 21

Agreeing on how to Iteration Objectives What requirement items will the team need to

Agreeing on how to Iteration Objectives What requirement items will the team need to develop to achieve the above target states? Browse Comments Post Comments Browse Album What tasks will the team need to do to achieve the above target states? New Hire Training Applying Essence in Practice / Essence Workshop / 20 June 2013 Prioritizing Work items 22

Tasks and Sub-Alphas Objectives To Do Doing Done Task 1 Task 5 Task 2

Tasks and Sub-Alphas Objectives To Do Doing Done Task 1 Task 5 Task 2 Set up test environment Task 3 Complete Requirement-Item A Task 4 Complete Requirement-Item B Complete Requirement-Item C Task 7 Task 8 Task 9 Complete more Requirement-Items Task 6 Applying Essence in Practice / Essence Workshop / 20 June 2013 23

Situation: Replicating Success § Dave wants Smith to help replicate success in other teams.

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

Documenting Practices High Tacit Practices Sufficient Explicit Practices Needed Low Tacit Practices With Coaching

Documenting Practices High Tacit Practices Sufficient Explicit Practices Needed Low Tacit Practices With Coaching Explicit Practices With Coaching Capability Common Different Background Applying Essence in Practice / Essence Workshop / 20 June 2013 25

A Practice Architecture Core Banking Development Method Enterprise Integration Method Mobile Application Development Method

A Practice Architecture Core Banking Development Method Enterprise Integration Method Mobile Application Development Method Acceptance Test Driven Development Waterfall Lifecycle Modern Lifecycle Architecture Centric Emerging Architecture Traditional Requirements Use Cases Emerging Architecture User stories Defect/Issue Tracking Configuration Management Improvement Endeavor Type Specific Practices Common Practices Kernel Applying Essence in Practice / Essence Workshop / 20 June 2013 26

Practice Explorer The Practice Explorer shows Practice Workbench projects The Essence Kernel project contains

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

ETextile, Guideline and Card views The ETextile Source view provides the main editor for

ETextile, Guideline and Card 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 When selecting an element in the Practice Explorer you can switch between different views The Overview Card Preview renders the card presentation Applying Essence in Practice / Essence Workshop / 20 June 2013 28

Scrum Essentials The Scrum practice is created as a separate practice project in the

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

Scrum Roles Product Owner (Guideline Preview) Scrum roles are represented as Patterns Product Owner

Scrum Roles Product Owner (Guideline Preview) Scrum roles are represented as Patterns Product Owner (Card Preview) Applying Essence in Practice / Essence Workshop / 20 June 2013 30

Scrum Sprint (Card Preview) Sprint is represented as a sub-alpha of Work The Sprint

Scrum Sprint (Card Preview) Sprint is represented as a sub-alpha of Work The Sprint has States with Checkpoints Sprint in Under Control State (Card Preview) 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 Under Control (State Card Preview) Applying Essence in Practice / Essence Workshop / 20 June 2013 31