Download - Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Transcript
Page 1: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Enough Process Let’s Do Practices:

An Introduction to EssWork and EssUP

Ivar Jacobson

Page 2: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Next Generation Process

From the successes in modern software

development

Agile Methods Camp

The Software Engineering

Camp

Process Maturity Camp

In the future, an ever present but invisible process

We need a new paradigm

Process becomes second nature

Process is just a composition of

Practices

Practice is a First Class Citizen the unit of adoption, planning and execution of process

Unified ProcessExamples: CMMI, Spice XP, Scrum

Page 3: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Next Generation Process

From the successes in modern software

development

Agile Methods Camp

The Software Engineering

Camp

Process Maturity Camp

In the future, an ever present but invisible process

We need a new paradigm

Process becomes second nature

Process is just a composition of

Practices

Practice is a First Class Citizen the unit of adoption, planning and execution of process

Unified ProcessExamples: CMMI, Spice XP, Scrum

NEW

Page 4: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Problems with the Current Generation of Processes

• Denied Commonality• Process Completeness• Having to Adopt Whole Processes• The Process Being Out of Sync with What the Team

Does• Acquiring the Knowledge• The Process Adds Little Value

People don’t like processes.There is no one-correct process.They all have something to offer, but they’re hard to use together.

Page 5: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Current company processes

• Every large company has one or several processes manuals• Each process ”borrows” material from published processes• Each published process includes a soup of integrated ideas

AgileSoftware Engineering

Process Maturity

Company Processes A B C D N

Published Processes

A soup of ideas; it is a soup because you can not identify reusable elements

Page 6: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Current company processes

• Each process has very few unique, new ideas – say 5%• ”Borrowed” ideas comes from soups of ideas

Company Process A

New ideas say 5 %

A soup of soups of ideas “borrowed” and re-written by process engineers within the company

Software Engineering

Process Maturity

Published Processes

Agile

A soup of ideas

Page 7: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Next Generation Process is Practice-Centric

• Imagine that we can identify the unique ideas and keep them separate– A practices is a reusable method element that can be adopted separately

from other practices, and each practice give measurable result of value to the development organization

• Instead of creating published processes as a soup of ideas methodologists will focus on developing separate practices

• Company processes will be just collections of practices

Company Process A

New ideas say 5 %

A set of practices

= +

From potentially many different methodologists around the world –

essentially written by them

Page 8: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 9: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

What is a Practice?

Pragmatics• A Practice has a clear beginning and an end allowing it to be

independently applied• Examples of practices are

– Iterative development

– Use case driven development

– Project management à la Scrum

– Team practice incl workshops, war room,

pair programming, etc.

More precisely• A use-case module in our AOSD book

– It has a beginning and an end

– It may be a peer practice or extend an existing practice

Page 10: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 11: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

What is the Essential Unified Process?

More than just a Unified Process…. • This is where we started based on our heritage• A pre-built assembly of 8 core practices

…the first of a new generation of software development processes.

Page 12: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

The Unified Process

Ericsson Approach

Objectory Process

Late ’60s

‘87 –’96

‘97 –’98

IBM Rational Unified Process

Good Software

‘99 –’05

Building on our heritage

Page 13: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

The Practices in the Essential Unified Process

Software EngineeringPractices

Social Engineering Practices

Process Practices

Organizational Practices

Iteration

Component

Architecture Use Case

ModelingProcess Team

Title

EssUP Practices

ProductW

here

is te

stin

g?

It is

eve

ryw

here

!

Page 14: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 15: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Some new innovations are required….

…to bring the practices to life and make them useful.

Defining and using Practices in a new way.

Practice Smartness

Practice User Experience

Practice Separation

Page 16: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 17: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Building a process eco-system around 8 Essential Practices

• There will be 100s of practices extending the essentials

PSP / TSP Pair Programming

Social Engineering Practices

Extended CMMI

6 Sigma Prince2

Process Practices

Organizational PracticesPortfolio

Management

ProgramManagement

Enterprise Architecture

Product Line Eng.

SOA

REUSE Model Driven Architecture

Systems Engineering Business Use-Case

Domain Modeling

Robustness Analysis

Aspect Orientation

Software Engineering Practices

Iteration

Component

Architecture Use Case

ModelingProcess Team

Title

EssUP Practices

Product

Page 18: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Add as many or few practices as you need

EssUP Practices My Own Process

Process Kernel

Use Case

Team

Iteration

Process

Title

Modeling

Component Product

Architecture

Page 19: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• How do you describe Practices?

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 20: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Apply card game metaphor for practice descriptions

• A card contains concise description of things to produce and things to do, etc.

• A practice is a set of cards

• A team/individual works on a set of instance cards

* Ward Cunningham invented CRC cards,

published in 1989

Essen

tial U

nifie

d Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revis

ion

24

A test

cas

e de

fines

a s

et o

f tes

t inp

uts

and

expe

cted

resu

lts fo

r the

pur

pose

of

eval

uatin

g w

heth

er o

r not

a s

yste

m

corr

ectly

impl

emen

ts a

spe

cific

sce

nario

.

Test C

ase

UCDD

Test

cas

es:

•Pro

vide

a fo

unda

tion

for d

esig

ning

and

impl

emen

ting

test

s

•Allo

w th

e co

mpl

etio

n of

sys

tem

spec

ifica

tion

•Allo

w te

sts

to b

e sp

ecifi

ed b

efor

e

impl

emen

tatio

n st

arts

Essen

tial C

onte

nts:

•1.

.n P

re-c

ondi

tions

for t

est

•1.

.n In

put

•1.

.n E

xpec

ted

Resul

ts

Refer

ence

s to

:

•1.

.n U

se-C

ase

Flow

s (d

efin

ing

a

scen

ario

to b

e te

sted

)

Scena

rio

Chose

n

Test D

ata

and

Resul

ts D

efin

edVar

iabl

es

Defin

ed

Speci

fied

Syste

m

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

Spe

cify

Tes

t

Sp

ecif

y a

test

to

:

•V

erif

y th

at t

he

exec

uta

ble

sys

tem

per

form

s as

sp

ecif

ied

•D

efin

e h

ow t

he

outc

om

es o

f th

e te

sts

are

eval

uat

ed t

o d

eter

min

e th

e te

st r

esu

lts

•F

ocu

s th

e d

evel

opm

ent

of

the

soft

war

e

tow

ard

s th

e te

sts

it m

ust

mee

t

The

acti

vity

is c

om

ple

ted

wh

en:

•Te

st:

Sp

ecif

ied

•Te

st S

pec

ific

atio

n: T

est

Cas

es Id

enti

fied

or

bey

on

d

Rec

om

men

ded

ap

pro

ach

es:

•In

dep

end

ent

syst

em t

est

•R

egre

ssio

n te

st

•In

teg

rati

on

tes

t

UC

DD

Tes

ter

Exe

cuta

ble

Sys

tem

Sp

ecif

ied

Sys

tem

Bac

klog

Dev

elop

er

Pro

ject

Lea

d

Test

Spe

cific

atio

n

Test

Inte

grat

e an

d Te

st

Exe

cuta

ble

Sys

tem

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

Sp

ecif

ied

Sys

tem

Tra

ck P

rog

ress

Co

mp

are

actu

al p

rog

ress

wit

h t

he

pla

n t

o:

•Q

uic

kly

iden

tify

pro

ble

m a

reas

•U

nd

erst

and

pro

gre

ss a

nd

vel

oci

ty

•P

red

ict

mile

sto

ne

com

ple

tio

n

•A

sses

s m

ilest

on

e ac

hie

vem

ents

Th

e ac

tivi

ty is

co

mp

lete

d w

hen

:

•T

est

Res

ult

s: E

valu

ated

•B

ackl

og

item

s ad

dre

ssed

(su

ch a

s

scen

ario

s an

d d

efec

ts)

hav

e b

een

mar

ked

as

Ver

ifie

d

•T

he

Use

-Cas

e M

od

ule

flo

ws

add

ress

ed

hav

e b

een

mar

ked

as

Ver

ifie

d

•M

ilest

on

e ac

hie

vem

ent

has

bee

n

reco

rded

an

d t

eam

vel

oci

ty is

kn

ow

n

Rec

om

men

ded

ap

pro

ach

es:

•C

on

tin

uo

us

pro

gre

ss t

rack

ing

•D

emo

nst

rate

res

ult

s re

gu

larl

y

UC

DD

Bac

klo

g

Dev

elo

per

An

alys

t

Pro

ject

Lea

d

Tes

ter

Use

-Cas

e

Mo

du

le

Bac

klo

g

Exe

cuta

ble

Sys

tem

Tes

t

Res

ult

s

Sp

ecif

ied

Sys

tem

Bac

klo

g

Exe

cuta

ble

Sys

tem

Ste

er P

roje

ct

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

A u

se-c

ase

spec

ific

atio

n d

escr

ibes

ho

w

an a

cto

r u

ses

a sy

stem

to

ach

ieve

a g

oal

and

wh

at t

he

syst

em d

oes

fo

r th

e ac

tor

to

ach

ieve

th

at g

oal

.U

se-c

ase

spec

ific

atio

ns:

•C

aptu

re r

equ

irem

ents

in c

on

text

•D

efin

e sc

enar

ios

•E

nab

le e

ffec

tive

sco

pe

man

agem

ent

•P

rovi

de

the

det

ail t

o d

rive

th

e o

ther

dev

elo

pm

ent

acti

viti

es a

nd

en

sure

th

at

they

del

iver

val

ue

Brie

fly D

escr

ibed

Ess

entia

l Out

line

Ful

ly D

escr

ibed

Bu

llete

d O

utlin

eUse

-Cas

e S

pec

ific

atio

nU

CD

D

Individual Flows may have different degrees of elaboration

Ess

enti

al C

on

ten

ts:

•1

Nam

e•

1 B

rief

Des

crip

tio

n•

1 B

asic

Flo

w•

0..n

Alt

ern

ativ

e F

low

s

Sp

ecif

ied

Sys

tem

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

Exe

cute

Tes

t

Tes

ter

Exe

cute

a t

est

to :

•V

erif

y th

at t

he

exec

uta

ble

sys

tem

mee

ts

the

eval

uat

ion

cri

teri

a o

f th

e te

st

•Id

enti

fy d

efec

ts a

nd

pla

ce in

th

e b

ackl

og

to e

nsu

re t

hat

th

ey a

re a

dd

ress

ed

The

acti

vity

is c

om

ple

ted

wh

en:

•Te

st:

Eva

luat

ed

•A

ny

Def

ects

: Id

enti

fied

and

adde

d t

o t

he

Bac

klo

g•

Test

Res

ult

s: A

nal

yzed

Rec

om

men

ded

ap

pro

ach

es:

•A

uto

mat

ed t

esti

ng

•P

rog

ram

mat

ic t

esti

ng

•M

anu

al t

esti

ng

UC

DD

Exe

cuta

ble

Sys

tem

Sp

ecif

ied

S

yste

m

Bac

klog

Tes

t R

esu

lts

Tes

t

Exe

cuta

ble

Sys

tem

Bac

klog

Def

ect

Inte

gra

te a

nd

Tes

t

Dev

elop

er

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revs

ion

24

Skill

ed a

t elic

iting

opp

ortu

nitie

s, n

eeds

and

stak

ehol

der r

eque

sts,

and

turn

ing

them

into

an

agre

ed s

yste

m s

peci

ficat

ion.

Ana

lyst

Ana

lyst

s he

lp th

e te

am to

:

•Id

entif

y an

d un

ders

tand

pro

blem

s an

d

oppo

rtun

ities

•Cap

ture

, und

erst

and

and

com

mun

icat

e

requ

irem

ents

•Cre

ate

and

agre

e sp

ecifi

catio

ns a

nd

mod

els

•En

sure

eve

ryon

e un

ders

tand

s w

hat t

he

spec

ified

sys

tem

sho

uld

do

Esse

ntia

l Ski

lls:

•Ve

rbal

and

writ

ten

com

mun

icat

ion

•Agr

eem

ent f

acili

tatio

n

•Req

uire

men

ts c

aptu

re

•Use

-Cas

e M

odel

ing

Cle

arly

Des

crib

es

Wha

t’s N

eede

d

Bui

lds

Mod

els

Faci

litat

es

Dis

cuss

ionsA

dapt

s

Tech

niqu

es

App

lies

Com

plem

enta

ry

Tech

niqu

es

Page 21: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

The “Essentials” are in the cards

Essential Unified Process © Ivar Jacobson International, 2006 revsion 24

Skilled at eliciting opportunities, needs and stakeholder requests, and turning them into an agreed system specification.

Analyst

Analysts help the team to:

• Identify and understand problems and opportunities

• Capture, understand and communicate requirements

• Create and agree specifications and models

• Ensure everyone understands what the specified system should do

Essential Skills:

• Verbal and written communication

• Agreement facilitation

• Requirements capture

• Use-Case Modeling

Clearly Describes What’s Needed

Builds Models

Facilitates Discussions

Adapts Techniques

Applies ComplementaryTechniques

Page 22: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Supported by simple guidelines and references

I help withtest cases

Reference books

Intelligent Agents

RUP Knowledge Base

Page 23: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• How do you describe Practices?

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 24: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Bill Gates: The Road Ahead

Newsweek December 19, 2005:

”How ’intelligent agents’ and mind-mappers are taking our information democracy to the next stage.”

Page 25: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Smart Practices have Smart Tools: intelligent agents

I help withuse cases

I help witharchitecture

I help withIterative planning

I help withEmbedded

Systems

I help withBusiness Systems

Active Guidance gives you expert advice just when you want it (if you

want)

Active Review monitors status, progress and quality for you (if you

want)

Active Automationperforms mundane tasks for you (if you

want)

Virtual Pair ProgrammersAnalystsDesignerTesterProject Managers

You learn as you work

You learn as you work

Ivar Jacobson
can we update these slides based on Enuf process paper?
Page 26: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Smart Practices have Smart Tools: intelligent agents

I help withuse cases

I help witharchitecture

I help withIterative planning

I help withEmbedded

Systems

I help withBusiness Systems

Active Guidance gives you expert advice just when you want it (if you

want)

Active Review monitors status, progress and quality for you (if you

want)

Active Automationperforms mundane tasks for you (if you

want)

Virtual Pair ProgrammersAnalystsDesignerTesterProject Managers

You are in command

You are in command

Page 27: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Smart Practices have Smart Tools: intelligent agents

I help withuse cases

I help witharchitecture

I help withIterative planning

I help withEmbedded

Systems

I help withBusiness Systems

Active Guidance gives you expert advice just when you want it (if you

want)

Active Review monitors status, progress and quality for you (if you

want)

Active Automationperforms mundane tasks for you (if you

want)

Virtual Pair ProgrammersAnalystsDesignerTesterProject Managers

You focus on creative work

You focus on creative work

Page 28: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• How do you describe Practices?

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 29: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Knowledge Base

Agents and tools

Cards Guidelines

References

Practices

How it all fits together – summary this far

Sta

rt h

ere

Fin

ish

her

e

Process Kernel

I dotest cases

Page 30: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 31: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Remember the team goal…

GoodSoftware

Current Situation

andOpportunity

To produce good software, quickly!

Page 32: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Three collaborating games

Select Practices and Assemble a Process[Process Improvement Game]

Use the Process to Plan the Project[Planning Game]

Use the Process in a Project[Development Game]

GoodSoftware

Current Situation

andOpportunity

All implemented within Eclipse/EPF.

Page 33: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Playing the games

In more detail ... The Game Board is initially a practice independent Process Kernel

Compet

enci

es

Things

to P

roduce

Key Generic Artifacts

Things

to D

o

Key Generic Activities

Sta

rt h

ere

Fin

ish

her

e

Page 34: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Play your cards to assemble your process and your schema

• Where is the project in its lifecycle?• What have you produced already?• What do you do already?

Sta

rt h

ere

Fin

ish

her

e

People,Processes,

Current Practices

Your Team

Align

Page 35: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Play your cards to assemble your process and your schema

PracticePracticePracticePractice

Add

Sta

rt h

ere

Fin

ish

her

e

• What are you going to produce (artifacts)• What skills do you need (competencies)?• What are you going to do (activities)?

Page 36: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

All within Visual Studio

PracticePracticePracticePractice

Add

Instantiate only the practices you need within Eclipse.

Page 37: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Browse the Practices within Visual Studio

Practice ExplorerFor Browsing

Authoring, and Composing Practices

See Cards within Visual

Studio

Page 38: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 39: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Next Generation Process Challenge

• How do you get the practices into your organization?

• How do you adapt the practices into your organization?

• How do you make the practices stay relevant in your organization?

Multiply the challenges by the number of people and

projects in your organization

We need an Infrastructure!!!

Page 40: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Next Generation Process Infrastructure Advantage

Collect Distill Empower

• Discover, collect and describe the knowledge of thousands of experienced practitioners

• Dramatically reduce the work to access this knowledge

• Deliver the knowledge you need, and only that knowledge, when you need it and not before

• Make practices smart, so that they actively help you to do your job better

• Empower teams to create innovative and new ways-of-working

• Exploit and build on existing practices rather than recycle and replace them

Imagine You Can:

Page 41: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

EssWork – Bringing practices to life

Practice DeliveryPractice Development

CommunityEcosystem

TeamEnvironment

Run-Time Composition

Team Facilitation

Practice Application

Dynamic User Experience

Practice Authoring

Practice Separation

Practice & Process

Browsing

Practice Assembly

Page 42: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

EssWork: A Practice Centric Infrastructure

PracticeDefinition

PracticeManipulation and Execution

(EssWork Core)

Pra

ctic

e T

oo

lin

g

Pra

ctic

e U

ser

Inte

rfac

e

Practice Persistence

Page 43: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

EssWork: The Next Generation Process Infrastructure

EssWork Core (Java/Microsoft)

EssWorkNativeXML

Datastore

EssWorkWeb 2.0

User Experience

EssWorkMicrosoft

OfficeUser

Experience

EssWorkEclipseUser

Experience

EssWorkVisual StudioUser

Experience

MicrosoftTeam

FoundationServer

IBMRationalServer

JIRAServer

…. …

…. …

Page 44: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

EssWork: For the Microsoft Environment

EssWork Core (Java/Microsoft)

EssWorkNativeXML

Datastore

EssWorkWeb 2.0

User Experience

EssWorkMicrosoft

OfficeUser

Experience

EssWorkEclipseUser

Experience

EssWorkVisual StudioUser

Experience

MicrosoftTeam

FoundationServer

IBMRationalServer

JIRAServer

…. …

…. …

Page 45: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Visual Studio Team System (without EssWork)

Visual Studio

Team Foundation

Server

Client Side Server Side

WIQL

Page 46: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Visual Studio Team System (with EssWork)

Visual Studio

Team Foundation

Server

Ess

Wo

rk

EssWork Injects Practice Support into VSTS(on the client side and server side)

WIQLP3QL

Page 47: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Visual Studio Team System (with EssWork)

• Client Side • Server Side

• Adding EssWork Nature into existing workitems for practice guidance

• Adding practice based work items for greater control

• Practice development• Practice facilitation

Page 48: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Adding an EssWork Nature to TFS Work Items

Bug EssWorkNature

Scenario EssWorkNature

Task EssWorkNature

Guidance

EssWorkNatureComponent

EssWorkNatureUse Case

Existing Process (e.g. MSF Agile, MSF CMMI)

Selected Practices

(from EssUP)

pwng
This talks about server side, what we are going to do for 2007 Q2.
pwng
Adding EssWork natureto existing items protects customers from their existing investment in their work item tracking schema.
Page 49: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Practice Development and Facilitation

Practice Browsing and Authoring

Practice Facilitation

pwng
This talks about client side
Page 50: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

Agenda

• What is a Practice?• What is Essential Unified Process?• Making Practices useful

– Practice separation – Practice user experience– Practice smartness– How it all fits together – summary this far

• How do you use Practices?• Bringing Practices to Life with EssWork• Wrap up

Page 51: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

The current situation – methods and processes

1st Generation

tacit

Ad Hoc Knowledgein textbooks

2nd Generation

explicit

Structured Knowledge in an engineered PD

USDP,SA&SD, OOSE,

Scrum, XP

RUP, MSF,Select Perspective

Page 52: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

1st Generation

tacit

Ad Hoc Knowledgein textbooks

2nd Generation

explicit

Structured Knowledge in an engineered PD

USDP,SA&SD, OOSE,

Scrum, XP

RUP, MSF,Select Perspective

Interactive Knowledgein an active environment

3rd Generation

smart

Essen

tial U

nifie

d Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revis

ion

24

A test

cas

e def

ines

a s

et o

f tes

t inputs

and

expec

ted re

sults

for t

he purp

ose o

f

eval

uatin

g w

hether

or n

ot a s

yste

m

corr

ectly

imple

men

ts a

spec

ific

scen

ario

.

Test

Cas

e

UCDD

Test

cas

es:

•Pro

vide

a fo

undatio

n for d

esig

ning a

nd

imple

men

ting te

sts

•Allo

w th

e co

mple

tion o

f sys

tem

spec

ifica

tion

•Allo

w te

sts

to b

e sp

ecifi

ed b

efor

e

imple

men

tatio

n sta

rts

Essen

tial C

ontents

:

•1.

.n P

re-c

onditi

ons fo

r tes

t

•1.

.n In

put

•1.

.n E

xpec

ted

Results

Refer

ence

s to

:

•1.

.n U

se-C

ase

Flow

s (d

efin

ing a

scen

ario

to b

e te

sted

)

Scena

rio

Chose

n

Test D

ata

and

Resul

ts D

efin

edVar

iabl

es

Defin

ed

Specifi

ed S

yste

m

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

Spe

cify

Tes

t

Sp

ecif

y a

test

to

:

•V

erif

y th

at t

he

exec

uta

ble

sys

tem

per

form

s as

sp

ecif

ied

•D

efin

e h

ow t

he

outc

omes

of

the

test

s ar

e

eval

uat

ed to

det

erm

ine

the

test

res

ult

s

•F

ocu

s th

e de

velo

pmen

t o

f th

e so

ftw

are

tow

ard

s th

e te

sts

it m

ust m

eet

The

acti

vity

is c

omp

lete

d w

hen

:

•Te

st:

Sp

ecif

ied

•Te

st S

pec

ific

atio

n: T

est

Cas

es Id

enti

fied

or

bey

on

d

Rec

om

men

ded

ap

pro

ach

es:

•In

dep

end

ent

syst

em t

est

•R

egre

ssio

n te

st

•In

tegr

atio

n t

est

UC

DD

Tes

ter

Exe

cuta

ble

Sys

tem

Sp

ecif

ied

Sys

tem

Bac

klog

Dev

elop

er

Pro

ject

Lea

d

Test

Spe

cific

atio

n

Test

Inte

grat

e an

d Te

st

Exe

cuta

ble

Sys

tem

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

Sp

ecif

ied

Sys

tem

Tra

ck P

rog

ress

Co

mp

are

actu

al p

rog

ress

wit

h t

he

pla

n t

o:

•Q

uic

kly

iden

tify

pro

ble

m a

reas

•U

nd

erst

and

pro

gre

ss a

nd

vel

oci

ty

•P

red

ict

mile

sto

ne

com

ple

tio

n

•A

sses

s m

ilest

on

e ac

hie

vem

ents

Th

e ac

tivi

ty is

co

mp

lete

d w

hen

:

•T

est

Res

ult

s: E

valu

ated

•B

ackl

og

item

s ad

dre

ssed

(su

ch a

s

scen

ario

s an

d d

efec

ts)

hav

e b

een

mar

ked

as

Ver

ifie

d

•T

he

Use

-Cas

e M

od

ule

flo

ws

add

ress

ed

hav

e b

een

mar

ked

as

Ver

ifie

d

•M

ilest

on

e ac

hie

vem

ent

has

bee

n

reco

rded

an

d t

eam

vel

oci

ty is

kn

ow

n

Rec

om

men

ded

ap

pro

ach

es:

•C

on

tin

uo

us

pro

gre

ss t

rack

ing

•D

emo

nst

rate

res

ult

s re

gu

larl

y

UC

DD

Bac

klo

g

Dev

elo

per

An

alys

t

Pro

ject

Lea

d

Tes

ter

Use

-Cas

e

Mo

dul

e

Bac

klog

Exe

cuta

ble

Sys

tem

Tes

t

Res

ult

s

Sp

ecif

ied

Sys

tem

Bac

klo

g

Exe

cuta

ble

Sys

tem

Ste

er P

roje

ct

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

aco

bson

Inte

rnat

iona

l, 20

06

revi

sio

n 24

A u

se-c

ase

spec

ific

atio

n d

escr

ibes

ho

w

an a

cto

r u

ses

a sy

stem

to

ach

ieve

a g

oal

and

wh

at t

he

syst

em d

oes

fo

r th

e ac

tor

to

ach

ieve

th

at g

oal

.U

se-c

ase

spec

ific

atio

ns:

•C

aptu

re r

equ

irem

ents

in c

on

text

•D

efin

e sc

enar

ios

•E

nab

le e

ffec

tive

sco

pe

man

agem

ent

•P

rovi

de

the

det

ail t

o d

rive

th

e o

ther

dev

elo

pm

ent

acti

viti

es a

nd

en

sure

th

at

they

del

iver

val

ue

Brie

fly D

escr

ibed

Ess

entia

l Out

line

Ful

ly D

escr

ibed

Bul

lete

d O

utlin

eUse

-Cas

e S

pec

ific

atio

nU

CD

D

Individual Flows may have different degrees of elaboration

Ess

enti

al C

on

ten

ts:

•1

Nam

e•

1 B

rief

Des

crip

tio

n•

1 B

asic

Flo

w•

0..n

Alt

ern

ativ

e F

low

s

Sp

ecif

ied

Sys

tem

Ess

entia

l Uni

fied

Pro

cess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revi

sion

24

Exe

cute

Tes

t

Tes

ter

Exe

cute

a t

est

to :

•V

erif

y th

at t

he e

xecu

tab

le s

yste

m m

eets

the

eval

uatio

n c

rite

ria

of t

he te

st

•Id

entif

y d

efec

ts a

nd

pla

ce in

the

bac

klog

to e

nsur

e th

at th

ey a

re a

ddre

ssed

The

activ

ity

is c

ompl

eted

whe

n:

•Te

st:

Eva

luat

ed

•A

ny

Def

ects

: Id

entif

ied

and

adde

d to

the

Bac

klog

•Te

st R

esul

ts:

An

alyz

ed

Rec

om

men

ded

ap

pro

ach

es:

•A

uto

mat

ed te

stin

g

•P

rogr

amm

atic

tes

tin

g

•M

anu

al te

stin

g

UC

DD

Exe

cuta

ble

Sys

tem

Sp

ecif

ied

S

yste

m

Bac

klog

Test

R

esul

ts

Test

Exe

cuta

ble

Sys

tem

Bac

klog

Def

ect

Inte

grat

e an

d Te

st

Dev

elop

er

Esse

ntia

l Uni

fied

Proc

ess

©Iv

ar J

acob

son

Inte

rnat

iona

l, 20

06

revs

ion

24

Ski

lled

at e

liciti

ng o

ppor

tuni

ties,

nee

ds

and

stak

ehol

der re

ques

ts, a

nd tu

rnin

g

them

into

an

agre

ed s

yste

m s

peci

ficat

ion.

Ana

lyst

Ana

lyst

s he

lp th

e te

am to

:

•Id

entif

y an

d un

ders

tand

pro

blem

s an

d

oppo

rtun

ities

•C

aptu

re, u

nder

stan

d an

d co

mm

unic

ate

requ

irem

ents

•C

reat

e an

d ag

ree

spec

ifica

tions

and

mod

els

•Ens

ure

ever

yone

und

erst

ands

wha

t the

spec

ified

sys

tem

sho

uld

do

Ess

entia

l Ski

lls:

•Ver

bal a

nd w

ritte

n co

mm

unic

atio

n

•Agr

eem

ent f

acili

tatio

n

•R

equi

rem

ents

cap

ture

•U

se-C

ase

Mod

elin

g

Cle

arly

Des

crib

es

Wha

t’s N

eede

d

Bui

lds

Mod

els

Faci

litat

es

Dis

cuss

ions

Ada

pts

Tech

niqu

es

App

lies

Com

plem

enta

ry

Tech

niqu

es

EssUP in EssWork

EssWork - Beyond Process DefinitionsAn interactive knowledge base

- bringing projects, teams, and tools together

The New Era – Interactive Practices

Page 53: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

EssWork – What is it all about?

Collect Distill Empower

• Thousands of experienced practitioners to describe their practices

• Dramatically reduce the work to access this knowledge

• Deliver the practices you need, and only that knowledge, when you need it and not before

• Make practices smart, so that they actively help you to do your job better

• Empower teams to create innovative and new ways-of-working

• Exploit and build on existing practices rather than recycle and replace them

Imagine You Can:

Page 54: Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson.

EssUP and EssWork Product Releases

Sign up for updates on EssUP, EssWork and free product releases at

www.ivarjacobson.com