Applying Essence in Practice

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

description

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.

Transcript of Applying Essence in Practice

Page 1: Applying Essence in Practice

Essence WorkshopJune 20, 2013

www.semat.org

Applying Essence in Practice Ed Seidewitz

Ivar Jacobson International

Page 2: Applying Essence in Practice

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

20132

Page 3: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

3

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.

Page 4: Applying Essence in Practice

The Kernel Alphas

Applying Essence in Practice / Essence Workshop / 20 June 2013

4

Customer

Solution

scopes and constrains

updates and changes >

< performs and plans

< fulfils

^ produces

Work Team

SoftwareSystem

Requirements

Way of Working

^

< guides < applies

< provideStakeholdersOpportunity

< helps to address< demand

focuses >

use and consum

e >

supports >

Set

up

to

add

ress

>

Endeavor

Opportunity OpportunityStakeholders

4

Page 5: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

5

The Alpha structure

State XXXXXXXXXXXXXXXXXX

XXXXXXXXXXX

XXXXXXXXXXXX State

XXXXXXXXXXXXXXXXXX

XXXXXXXXXXX

XXXXXXXXXXXX State

XXXXXXXXXXXXXXXXXX

XXXXXXXXXXX

XXXXXXXXXXXX

……..

Checklist

An Alpha

Page 6: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

6

Requirements– one of the alphas

What the software system must do to address the opportunity and satisfy the stakeholders.

Page 7: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

7

Requirements – states

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.

Page 8: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

8

Checklist for requirements states

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.

Page 9: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

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

Coherent

Acceptable

Bounded

Addressed

Fullfilled

Conceived

Page 10: Applying Essence in Practice

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

Page 11: Applying Essence in Practice

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

Page 12: Applying Essence in Practice

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

Page 13: Applying Essence in Practice

What is the real situation

Applying Essence in Practice / Essence Workshop / 20 June 2013

13

SoftwareSystem

Work

Team

Requirements

Page 14: Applying Essence in Practice

Plan: Determine Current State

Applying Essence in Practice / Essence Workshop / 20 June 2013 14

Achieved Not Achieved

Page 15: Applying Essence in Practice

Identify States by Applying State Cards

Applying Essence in Practice / Essence Workshop / 20 June 2013

15

Page 16: Applying Essence in Practice

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

Page 17: Applying Essence in Practice

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

Page 18: Applying Essence in Practice

Planning Development with Alphas

Before Approval

Building the Business Case

In DevelopmentDeveloping the Software

Skinny System Available

UsableSystem

Available

Applying Essence in Practice / Essence Workshop / 20 June 2013

18

DecisionTo Fund

DecisionTo Go Live

In Production

Operating the Software

Page 19: Applying Essence in Practice

Different Development, Different Planning

Agile Traditional

Phases

Conceived

Bounded

Coherent

Acceptable

Addressed

Fulfilled

Architecture Selected

Demonstrable

Usable

Ready

Operational

Retired

BeforeApproval

In Development

Conceived

Bounded

Coherent

Acceptable

Addressed

Fulfilled

Architecture Selected

Demonstrable

Useable

Ready

Operational

Retired

In Production

Requirements Software Sys. Requirements Software Sys.

DecisionTo Start

DecisionTo Go Live

Page 20: Applying Essence in Practice

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

Page 21: Applying Essence in Practice

Running Agile Development with Scrum

Product Backlog

To Do Doing Done

CustomerRepresentatives

Team

ScrumMaster

Production

Decision to Fund Decision to Go Live

DevelopmentIdea

Applying Essence in Practice / Essence Workshop / 20 June 2013

21

Page 22: Applying Essence in Practice

Agreeing on Iteration Objectives

Applying Essence in Practice / Essence Workshop / 20 June 2013 22

PrioritizingWork items

New HireTraining

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?

Page 23: Applying Essence in Practice

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 moreRequirement-Items

Task 9

Applying Essence in Practice / Essence Workshop / 20 June 2013

23

Page 24: Applying Essence in Practice

Applying Essence in Practice / Essence Workshop / 20 June 2013

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

Page 25: Applying Essence in Practice

Documenting Practices

Tacit Practices

With Coaching

Explicit Practices

With Coaching

Background

Capability

Common Different

ExplicitPracticesNeeded

TacitPracticesSufficient

High

Low

Applying Essence in Practice / Essence Workshop / 20 June 2013

25

Page 26: Applying Essence in Practice

A Practice Architecture

Mobile Application

DevelopmentMethod

Kernel

Core Banking Development

Method

Enterprise Integration

Method

Defect/Issue Tracking

Configuration Management

Defect/Issue Tracking

Configuration Management

Defect/Issue Tracking

Configuration ManagementCommonPractices

Waterfall Lifecycle Modern Lifecycle Modern Lifecycle

Architecture Centric Emerging Architecture

Emerging Architecture

Traditional Requirements User storiesUse Cases

Endeavor TypeSpecificPractices

Acceptance Test DrivenDevelopment

Acceptance Test DrivenDevelopment

Acceptance Test DrivenDevelopment

Improvement

Applying Essence in Practice / Essence Workshop / 20 June 2013

26

Page 27: Applying Essence in Practice

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

Page 28: Applying Essence in Practice

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

Page 29: Applying Essence in Practice

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

Page 30: Applying Essence in Practice

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

Page 31: Applying Essence in Practice

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