Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence...

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

Transcript of Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence...

Page 1: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

Essence Workshop June 20, 2013

www.semat.org

Applying Essence in Practice Ed Seidewitz

Ivar Jacobson International

Page 2: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 3: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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.

Page 4: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 Stakeholders Opportunity

focuses >

use and consum

e >

supports >

Set

up

to

addr

ess

>

Endeavor

Opportunity Opportunity Stakeholders

4

Page 5: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 6: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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.

Page 7: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 8: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 9: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 10: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

What is the real situation

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

Software System

Work

Team

Requirements

Page 14: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

Plan: Determine Current State

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

Achieved Not Achieved

Page 15: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

Identify States by Applying State Cards

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

Page 16: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Development Idea

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

Page 18: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 19: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 20: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

Running Agile Development with Scrum

Product Backlog

To Do Doing Done

Customer Representatives Team

Scrum Master

Production

Decision to Fund Decision to Go Live

Development Idea

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

Page 22: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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?

Page 23: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 24: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 25: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Page 26: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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 stories Use 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

Page 27: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Presenter
Presentation Notes
The outline of the course is as follows: Method engineering Eclipse Process Framework (EPF) Software architecture ATHENA baseline methodology for software development and integration References
Page 28: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Presenter
Presentation Notes
The outline of the course is as follows: Method engineering Eclipse Process Framework (EPF) Software architecture ATHENA baseline methodology for software development and integration References
Page 29: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Presenter
Presentation Notes
The outline of the course is as follows: Method engineering Eclipse Process Framework (EPF) Software architecture ATHENA baseline methodology for software development and integration References
Page 30: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Presenter
Presentation Notes
The outline of the course is as follows: Method engineering Eclipse Process Framework (EPF) Software architecture ATHENA baseline methodology for software development and integration References
Page 31: Applying Essence in Practice - OMG · 2015-11-09 · Applying Essence in Practice / Essence Workshop / 20 June 2013 3 • Alpha is an acronym for an Abstract-Level Progress Health

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

Presenter
Presentation Notes
The outline of the course is as follows: Method engineering Eclipse Process Framework (EPF) Software architecture ATHENA baseline methodology for software development and integration References