20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät...

22
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business 20. Lean Modeling Prof. Dr. Uwe Aßmann Technische Universität Dresden Software Engineering Group Version 0.7 http://st.inf.tu-dresden.de Dresden, 05.12.15 1) Canvases as collaborative tools 2) Lean modeling with canvases 3) Nested canvases 4) Metrics on flat and nested canvases 5) The canvas cactus as megamodel

Transcript of 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät...

Page 1: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business

20. Lean Modeling

Prof. Dr. Uwe AßmannTechnische Universität Dresden

Software Engineering Group

Version 0.7

http://st.inf.tu-dresden.de

Dresden, 05.12.15

1) Canvases as collaborative tools

2) Lean modeling with canvases

3) Nested canvases

4) Metrics on flat and nested canvases

5) The canvas cactus as megamodel

Page 2: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

2 Software as a Business

Literature

[CM03] Sitt Sen Chok, Kim Marriott. Automatic Generation of Intelligent Diagram Editors. ACM Transactions on Computer-Human Interaction, Vol. 10, No. 3, September 2003, Pages 244–276.

Page 3: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business

20.1 Canvases as Light-Weight Cooperation Tools

Page 4: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

4 Software as a Business

► A canvas is a collaborative frontend for a model, in which sticky notes demarcate the formal content from the informal text.

► A lean model is a semi-conceptualized model, an active document with informal and conceptualized content.

■ XML is a similar idea: semi-structured content■ Lean models transfer this idea to model-driven development

► Conceptualization Process: ■ Canvas -> Lean Model -> fully conceptualized Model

4

Canvases as Lean Models

Lean Model(semi-conceptualized)

Canvas Model

Value Proposition isA and B and C

Key partners

Chan

nels

are New

s,

Pres

s, Web

Cost structure is

100€, 2 per day

Page 5: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business

20.2. Lean Modeling with Canvases

Page 6: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

6 Software as a Business

Schemas for Flat Canvases as Grammars

► A (flat) canvas is a structured questionaire for collaborative development of a model■ Canvas fields with sticky text notes, Canvas questions or answers■ Intra-field constraints, Inter-field constraints■ Canvas left side vs. right side with canvas fill order (partial order)■ NO Subcanvases

► The canvas schema can be described by a grammar in EBNF and OCL or in an Constraint Multiset Grammar (CMG)

■ Example invariants: forall stickynotes in CustomerRelations there is a stickynote in Channels; there must be a revenue

Grammar Fields = Rules { Note ::= Question | Answer Root Field ::= StickyNote:Note *}Grammar BusinessModelCanvas = import FieldsRules { Root BMC ::= LeftPart ValueProposition:Field RightPart LeftPart ::= KeyPartners:Field KeyActivities:Field KeyResources:Field Costs:Field RightPart ::= CustomerRelations:Field Channels:Field CustomerSegments:Field Revenues:Field Invariant forall s:CustomerRelations.StickyNote* exists y:StickyNote, y in Channels.StickyNote* Invariant MUST exists r:StickyNote in Revenues.StickyNotes}

Grammar Fields = Rules { Note ::= Question | Answer Root Field ::= StickyNote:Note *}Grammar BusinessModelCanvas = import FieldsRules { Root BMC ::= LeftPart ValueProposition:Field RightPart LeftPart ::= KeyPartners:Field KeyActivities:Field KeyResources:Field Costs:Field RightPart ::= CustomerRelations:Field Channels:Field CustomerSegments:Field Revenues:Field Invariant forall s:CustomerRelations.StickyNote* exists y:StickyNote, y in Channels.StickyNote* Invariant MUST exists r:StickyNote in Revenues.StickyNotes}

Page 7: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

7 Software as a Business

VPC as Grammar with Constraints

► Invariants:■ Forall gains there must be a gain creator■ Forall pains there must be a pain killer■ Forall pain killers there should be a service or product■ Forall gain creators there should be a service or product

Grammar ValuePropositionCanvas = import Fields Rules { Root VPC ::= LeftPart RightPart LeftPart ::= GainCreator:Field PainKiller:Field ProductsAndServices:Field RightPart ::= Gain:Field Pain:Field CustomerSituation:Field Invariant forall s:Gain.StickyNote* exists y:StickyNote, y in GainCreator.StickyNote* Invariant forall s:Pain.StickyNote* exists y:StickyNote, y in PainKiller.StickyNote* Invariant forall s:PainKiller.StickyNote* exists y:StickyNote, y in ProductsAndServices.StickyNote* Invariant forall s:GainCreator.StickyNote* exists y:StickyNote, y in ProductsAndServices.StickyNote*}

Grammar ValuePropositionCanvas = import Fields Rules { Root VPC ::= LeftPart RightPart LeftPart ::= GainCreator:Field PainKiller:Field ProductsAndServices:Field RightPart ::= Gain:Field Pain:Field CustomerSituation:Field Invariant forall s:Gain.StickyNote* exists y:StickyNote, y in GainCreator.StickyNote* Invariant forall s:Pain.StickyNote* exists y:StickyNote, y in PainKiller.StickyNote* Invariant forall s:PainKiller.StickyNote* exists y:StickyNote, y in ProductsAndServices.StickyNote* Invariant forall s:GainCreator.StickyNote* exists y:StickyNote, y in ProductsAndServices.StickyNote*}

Page 8: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

8 Software as a Business

Validating a Flat Canvas

► A flat canvas is called well-formed, if all fields fulfill all constraints.

► Validation:■ Parse the canvas with its sticky notes■ Evaluate constraints in OCL ■ or with an Attributed Grammar■ or with an Multiset Constraint Grammar

Page 9: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

9 Software as a Business

► A lean model can be merged with another lean model

► A canvas twin is a parallelly edited canvas, which can be merged into a lean model by unifying the fields

► Conceptualization Process: ■ CanvasTwin * -> Lean Model -> fully conceptualized Model■ Assembling all constraints■ Validating all constraints

9

Parallelly Edited Lean Models can be Merged

Lean Model(semi-conceptualized)

Canvases

Model

Value Proposition isA and B and C

Key partners

Chan

nels

are New

s,

Pres

s, Web

Cost structure is

100€, 2 per day

Page 10: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business

20.3 Nested Canvases

Page 11: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

11 Software as a Business

A Nested Canvas

► A nested canvas (deep canvas) is a link tree with level graphs■ Every canvas forms a sequence, graph or array of fields■ Sticky notes attach text to the fields■ Constraints constrain the content of the canvas fields■ Subcanvases form children

► The fill order of the canvas defines a phase structure on the link tree■ Metrics on advancement (hierarchical wavefront progress)

Page 12: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

12 Software as a Business

The Nested BMC (Deep BMC)

► Many subcanvases

BMC

VPC

Customer JourneyCanvas (CJC)

ReqEC

ChannelFlipbook Canvas

Pain CanvasPain Killer Canvas

Pain-GainBanana

Pain Portfolio CustomerEmpathy Map

CustomerBMCY

Customer DoubleFunnel Canvas

SPIN™ Canvas

Solution Selling™

Canvas

Page 13: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

13 Software as a Business

► A nested canvas twin is a parallelly edited nested canvas, which can be merged into a lean model by unifying the fields

► Conceptualization Process: ■ NestedCanvasTwin * -> Lean Model -> fully conceptualized Model

13

Parallelly Edited Lean Models can be Merged

Lean Model(semi-conceptualized)

Model

Value Proposition isA and B and C

Key partners

Chan

nels

are New

s,

Pres

s, Web

Cost structure is

100€, 2 per day

BMC

VPCCustomer

Empathy Map

BMC

VPCCustomer

Empathy Map

Nested Canvases

Page 14: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business

20.4 Metrics on Flat Canvases and Nested Canvases

Page 15: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

15 Software as a Business

SWOT Assessment in Matrix Canvas

► Grading is done by spanning up a grading dimension in a canvas matrix■ The grading dimension defines grading functions for sticky notes in the

fields

► BMC-SWOT grading matrix canvas uses the SWOT grading dimension

► LeanCanvas-SWOT uses SWOT grading dimension for LeanCanvas

► Grading on nested canvases: Define the grading functions for all tree nodes of the nested canvas.

■ Tree of canvas matrices■ Attributed Tree

Page 16: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

16 Software as a Business

Thresholds for Canvas Metrics

► Status of invariants is important for the maturity of the canvas

If a set of metric function on a nested canvas does not fulfil its threshold, or if not all invariants are fulfilled,

we call the canvas orange.

If a set of metric function on a nested canvas does not fulfil its threshold, or if not all invariants are fulfilled,

we call the canvas orange.

A green canvas fulfills all its invariants.A green canvas fulfills all its invariants.

A red canvas does not fulfill its MUST invariants.A red canvas does not fulfill its MUST invariants.

Page 17: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Software as a Business

20.5 The Canvas Cactus as Megamodel and its Metrics

Page 18: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

18 Software as a Business

The Evolving BMC-VPC Canvas Cactus (extended)

► Growing a tree with side edges (link tree - cactus) out of a first version■ Assess with red-yellow-green; choose a current “greenest” “champion”

► Every step tests hypotheses about the customer

► Not too many canvases are kept active (small dashboard)

Page 19: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

19 Software as a Business

The Megamodel of Evolving Canvases

► A megamodel describes a set of models

► A canvas cactus is a link tree of canvases, i.e., a link-tree-shaped megamodel of canvases

► Canvas cactus evolution evolves the megamodel

► The megamodel of canvases in a cactus is a link tree and can be analysed by RAG■ Metrics■ Constraints

Page 20: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

20 Software as a Business

Business Model Generation with Osterwalder/Pigneur

• CC-BY-SA: http://www.businessmodelgeneration.com/downloads/business_model_canvas_poster.pdf

Prof. U. Aßmann

Page 21: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

21 Software as a Business

21

Requirements Engineering Canvas (REC)

• [Oddoy], C. Wende, Belegarbeit at Chair of Software Engineering, Prof. Aßmann (2014)

Page 22: 20. Lean Modeling - TU Dresdenst.inf.tu-dresden.de/files/teaching/ws15/saab/... · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof.

Soft

war

e as

a B

usi

ness

, © P

rof.

Uw

e A

ßm

ann

22 Software as a Business

Fill Order of REC

22