INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n...

76
Telecom and Informatics 1 INF5120 and INF9120 ”Modelbased System development” Lecture 3: 01.02.2016 Arne-Jørgen Berre [email protected] and [email protected]

Transcript of INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n...

Page 1: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 1

INF5120 and INF9120”Modelbased System development”

Lecture 3: 01.02.2016Arne-Jørgen Berre

[email protected] and [email protected]

Page 2: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Course components

2

Model DrivenEngineering (MDE)-1

Business ArchitectureEngineering (BAE)-2

Software/System ArchitectureEngineering (SAE)-3

"Citizense"3 OBLIGS

Page 3: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Course parts

3

n Model Driven Engineeringn MDE-0-a: Modeling of Structure in systems (UML class diagrams, components)n MDE-0-b: Modeling of Behaviour in systems (UML Activity diagrams, BPMN, Interaction, …)n MDE-1: Model driven engineering – Metamodels, DSL, UML Profiles, EMF n MDE-2: DSLs – Graphical and Lexical Editors, Eclipse Sirius etc. n MDE-3: Model driven engineering, transformation technologies, MOFScript, ATLn MDE-4: Method Engineering, SPEM/EPF, ISO 24744, ESSENCE, Scrum - Symphonical, IJIn MDE-5: Enterprise Architecture, TOGAF, UPDM, SysML – DSLs etc.

n Business Architecture Engineering (The System is a business/enterprise)n BAE-1: Business Architecture – Business Model Canvas - Strategyzer tool. n BAE-2: BA and BPMN process, VDML and BMC with Strategyzer, MagicDrawn BAE-3: Service Innovation and Service Design, AT ONE, Smaply - Customer Journeyn BAE-4: User experience and Touchpoints/UI Design – Balsamiq/WebRation BAE-5: Agile User stories and Use cases 2.0, Backlog, with MD/Symphonical o.a.

n System/Software Architecture Engineering (The System is software/hardware)n SAE-1: IFML and WebRatio for Mobile App developmentn SAE-2: Domain/Information/Ontology modeling, UML, ISO 19103 n SAE-3: Non Functional requirements – OCL and PLanguagen SAE-4: UML Service Modeling, ServiceML,SoaML, UML 2.0 Composition, MagicDraw

Page 4: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 4

This Lecture, February 1, 2016

Metamodeling and metamodels

Business Architecture, Business Engineering and Business Model Canvas

n Establishments of groups for Obligs. Introduction to the Obligs

n Introduction to tools

Page 5: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 5

Models and Meta models

Page 6: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Core Book on Model-Based system development

6

n Model-Driven Software Engineering in Practicen ISBN 978-1-60845-882-0n Morgan&Claypool Publishers, Synthesis lectures on Software Engineeringn 2012, 166 pagesn Marco Brambilla, Jordi Cabot and Manuel Wimmer

Page 7: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

The metamodel – 1: Core - Content

7

Page 8: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 8

Metamodels

n A metamodel is just another model (e.g. written in UML)n Model of a set of models

n Metamodels are specificationsn Models are valid if no false statements according to metamodel (e.g. well-formed)n Metamodels typically represents domain-specific models (real-time systems, safety

critical systems, e-business)n The domain of metamodelling is language definition

n A metamodel is a model of some part of a languagen Which part depends on how the metamodel is to be usedn Parts: syntax, semantics, views/diagrams, ...

n Meta-metamodeln Model of metamodelsn Reflexive metamodel, i.e., expressed using itselfn Minimal reflexive metamodel

Page 9: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 9

What is a metamodel?n In its broadest sense, a metamodel is a model of a modelling language.n The term ”meta” means transcending or above, emphasising the fact that a

metamodel describes a modelling language at a higher level of abstraction than the modelling language itself.

n In order to understand what a metamodel is, it is useful to understand the difference between a metamodel and a model.

n Whilst a metamodel is also a model, a metamodel has two main distinguishing characteristics.n Firstly, it must capture the essential features and properties of the language that is

being modelled.n Thus, a metamodel should be capable of describing a language’s concrete syntax,

abstract syntax and semantics.n Secondly, a metamodel must be part of a metamodel architecture.

n Just as we can use metamodels to describe the valid models or programs permitted by a language, a metamodel architecture enables a metamodel to be viewed as a model, which itself is described by another metamodel.

n This allows all metamodels to be described by a single metamodel.n This single metamodel, sometimes known as a meta-metamodel, is the key to

metamodelling as it enables all modelling languages to be described in a unified way.

Page 10: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 10

Why metamodel?

n System development is fundamentally based on the use of languages to capture and relate different aspects of the problem domain.

n The benefit of metamodelling is its ability to describe these languages in a unified way.n This means that the languages can be uniformly managed and manipulated thus

tackling the problem of language diversity.n For instance, mappings can be constructed between any number of languages

provided that they are described in the same metamodelling language.n Another benefit is the ability to define semantically rich languages that

abstract from implementation specific technologies and focus on the problem domain at hand.n Using metamodels, many different abstractions can be defined and combined to

create new languages that are specifically tailored for a particular application domain.

n Productivity is greatly improved as a result.

Page 11: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 11

Uses for a metamodel

n Define the syntax and semantics of a language.n Explain the language.n Compare languages rigorously.n Specify requirements for a tool for the language.n Specify a language to be used in a meta-tool.n Enable interchange between tools.n Enable mapping between models.

Page 12: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 12

The metamodelling process

n There is a clearly defined process to constructing metamodels, which does at least make the task a well-defined, if iterative, process.

n The process has the following basic steps:n defining abstract syntaxn defining well-formedness rules and meta-operationsn defining concrete syntaxn defining semanticsn constructing mappings to other languages

Page 13: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

The 4 layers in practice

© OMG

Page 14: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 14

Model-Driven Architecture

Metamodel

Metamodel element

MetametamodelMetametamodel element

conformsTometa

conformsTo

Model

Model element

conformsTometa

repOfSystem

meta MOF

Relationalmetamodel

M3

M2

M1

UMLmetamodel…

… …

Page 15: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 15

Model-Driven Architecture: Example

repOf

Relational Model

Book

conformsTo

Relational Metamodel

MOF Metametamodel

ClassAssociationsource

destination

conformsTo

conformsTo

System

…………

…………

AuthorIdPagesNbTitleBookId

Type

name: String

Table

name: String+ type*+ col

+ owner

+ keyOf + key1..* *

*

Column

name: String{ordered}

Page 16: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 16

MDA technology standardsn Unified Modeling Language (UML)

n UML is the de-facto standard industry language for specifying and designing software systems.n UML addresses the modelling of architecture and design aspects of software systems by

providing language constructs for describing, software components, objects, data, interfaces, interactions, activities etc.

n Meta Object Facility (MOF)n MOF provides the standard modelling and interchange constructs that are used in MDA.n These constructs are a subset of the UML modelling constructs.n This common foundation provides the basis for model/metadata interchange and

interoperability.n XML Metadata Interchange (XMI)

n XMI is a format to represent models in a structured text form.n In this way UML models and MOF metamodels may be interchanged between different

modelling tools.n Common Warehouse Metamodel (CWM)

n CWM is the OMG data warehouse standard.n It covers the full life cycle of designing, building and managing data warehouse applications and

supports management of the life cycle.n MOF Queries/View/Transformations (QVT)

n The goals of the QVT are to provide a standard specification of a language suitable for querying and transforming models which are represented according to a MOF metamodel.

Page 17: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 17

How does MDD work?n Developer develops model(s)

based on certain metamodel(s).

n Using code generation templates, the model is transformed to executable code.

n Optionally, the generated code is merged with manually written code.

n One or more model-to-model transformation steps may precede code generation.

ModelModelModel

Transformer TranformationRules

Model

TransformerCode

GenerationTemplates

GeneratedCode

ManuallyWrittenCode

optional

Metamodel

Metamodel

optio

nal,

can

be

repe

ated

Page 18: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 18

> 1 million copies sold

30 languages

Page 19: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

The Business Model Canvas

Businss Model Innovation

Page 20: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Strategyzer (Osterwalder)

20

Page 21: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 21

Page 22: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 22

Page 23: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 23

Page 24: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 24

Page 25: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 25

Page 26: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Motivation: Business Analysis and Service and Interaction Design – as cooperative disciplinesfor System Development and Software Engineeringn Software Engineering should not happen in isolation –

Requirements Engineering needs to be strongly linked to the disciplines of Business Analysis/Business Engineering and Service and Interaction Design.

n We will learn how we can work with the tools and techniques of Business Analysts (i.e. Business Model and Value Proposition Canvas) and Service and InteractionDesigners (Service Design) – to ensure the best possiblesynergy effects between these and software and requirements engineering tools and techniques.

26

Page 27: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Value Proposition Canvas

27

Value needsValue offer(Opportunity) (Requirements)

Page 28: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

BMI – Canvases/Models

28

Page 29: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Business Model Canvas and Value Proposition Canvas Resourcesn www.strategyzer.com

n http://www.alexandercowan.com/business-model-canvas-templates/

n BizCanvas App for the iPad

n …

29

Page 30: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Business Model (Definition)

nA Business Model describes the rationale ofhow an organization creates, delivers and captures value.

30

Page 31: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Reference examples in the course

n Concierge: A company with a system/service that offers advice and recommendations to people with respect to current and upcoming events, concerts, exhibitions etc.

n TravelAdvisor: A company with a system/service thatoffers advice and booking possibilities to travelers

31

Page 32: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Concierge

32

Page 33: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

TravelAdvisor

33

Page 34: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Colours

34

Page 35: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Use of colours (not standardised)

n 1. Relationship

This is used with the same colors relating to a particular client/customer segment.

2. Prioritizing

This is used to prioritize importance with Green, Yellow & Red markings only. The red notes are distinguished as immediate attention needed.

3. Distinguishing

This is a further distinction from the above prioritization by also using a purple note as a higher level purpose (or instructional)note

35

Page 36: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Segments

36

• The Customer Segments Building Block defines the different groups of people or organizations an enterprise aims to reach and serve

• Customers comprise the heart of any business model.• Without (profitable) customers, no company can survive for long• In order to better satisfy customers, a company may group them

into distinct segments with common needs, common behaviors, or other attributes.

• A business model may define one or several large or small Customer Segments

• An organization must make a conscious decision about which segments to serve and which segments to ignore

• Once this decision is made, a business model can be carefully designed around a strong understanding of specific customerneeds.

Page 37: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Value Propositions

37

• The Value Propositions Building Block describes the bundle of products and services that create value for a specific Customer Segment

• The Value Proposition is the reason why customer turn to one company over another.

• It solves a customer problem or satisfies a customer need. Each Value Proposition consists of a selected bundle of products and/or services that caters to the requirements of a specific Customer Segment. In this sense,

• Value Proposition is an aggregation, or bundle, of benefits that a company offers customers.

• Some Value Propositions may be innovative and represent a new or disruptive offer. Others may be similar to existing market offers, but with added features and attributes.

Page 38: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Relationships

38

• The Customer Relationships Building Block describes the types of relationships a company establishes with specific Customer Segments

• A company should clarify the type of relationship it wants to establish with each Customer Segment.

• Relationships can range from personal to automated

• Customer relationships may be driven by the following motivations:

• Customer acquisition• Customer retention• Boosting sales (upselling)

Page 39: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Channels

39

• The Channels Building Block describes how a company communicates with and reaches its Customer Segments to deliver a Value Proposition

• Communication, distribution, and sales Channels comprise a company's interface with customers. Channels are customer touch points that play an important role in the customer experience.

• Channels serve several functions, including:•Raising awareness among customers about a company’s products and services• Helping customers evaluate a company's Value Proposition• Allowing customers to purchase specific products and services• Delivering a Value Proposition to customers• Providing post-purchase customer support

Page 40: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Revenue Streams

40

• The Revenue Streams Building Block represents the cash a company generates from each Customer Segment (costs must be subtracted from revenues to create earnings)

• If customers comprise the heart of a business model, Revenue• Streams are its arteries. • A company must ask itself, For what value is each Customer

Segment truly willing to pay? • Successfully answering that question allows the firm to generate

one or more Revenue Streams from each Customer Segment. • Each Revenue Stream may have different pricing mechanisms,

such as fixed list prices, bargaining, auctioning, market dependent, volume dependent, or yield management.

Page 41: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Key Resources

41

• The most important assets required to make a business modelwork

• Every business model requires Key Resources. • These resources allow an enterprise to create and offer a Value

Proposition, reach markets, maintain relationships with Customer Segments, and earn revenues.

• Different Key Resources are needed depending on the type of business model.

• A microchip manufacturer requires capital-intensive production facilities, whereas a microchip designer focuses more on human resources.

• Key resources can be physical, financial, intellectual, or human.• Key resources can be owned or leased by the company or acquired

from key partners.

Page 42: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Key Partnerships

42

• The Key Partnerships Building Block describes the network of suppliers and partners that make the business modelwork

• Companies forge partnerships for many reasons, and partnerships are becoming a cornerstone of many business models.

• Companies create alliances to optimize their business models, reduce risk, or acquire resources.

• We can distinguish between four different types of partnerships:1. Strategic alliances between non-competitors2. Coopetition: strategic partnerships between competitors3. Joint ventures to develop new businesses4. Buyer-supplier relationships to assure reliable supplies

Page 43: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Key Activities

43

• The Key Activities Building Block describes the most important things a company must do to make its business model work

• Every business model calls for a number of Key Activities. • These are the most important actions a company must take to

operate successfully. Like Key Resources, they are required to create and offer a Value Proposition, reach markets, maintain Customer Relationships, and earn revenues.

• And like Key Resources, Key Activities differ depending on business model type.• For software maker Microsoft, Key Activities include

software development.• For PC manufacturer Dell, Key Activities include supply

chain management. For consultancy McKinsey, Key Activities include problem solving.

Page 44: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Cost Structure

44

• The Cost Structure describes all costs incurred to operate a business model

• This building block describes the most important costs incurred while operating under a particular business model.

• Creating and delivering value, maintaining Customer Relationships, and generating revenue all incur costs.

• Such costs can be calculated relatively easily after defining Key Resources, Key Activities, and Key Partnerships.

• Some business models, though, are more cost-driven than others.• So-called "no frills" airlines, for instance, have built business

models entirely around low Cost Structures.

Page 45: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Business Model Patterns

n Unbundling Business Modelsn The Long Tailn Multi-Sided Platformsn Free as a Business Modeln Open Business Models

45

Page 46: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Business Model Design Techniques

n Customer Insightn Ideationn Visual Thinkingn Prototypingn Storytellingn Scenarios

46

Page 47: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Business Model Design Process -Phases

n Mobilizen Understandn Designn Implementn Manage

47

Page 48: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 48

October, 2014

Page 49: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Value Proposition Canvas

49

Page 50: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Profile

50

• Use the customer profile to visualize what matters to customers.

• Specify their jobs, pains, and gains.• Communicate the profile across your organization as a one-

page actionable document that creates a shared customer understanding.

• Apply it as a "scoreboard" to track if assumed customer jobs, pains, and gains exist when you talk to real customers.

Page 51: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Jobs

51

• Jobs describe the things your customers are trying to get done in their work or in their life.

• A customer job could be the tasks they are trying to perform and complete, the problems they are trying to solve, or the needs they are trying to satisfy.

• Make sure you take the customer’s perspective when investigating jobs.

• What you think of as important from your perspective might not be a job customers are actually trying to get done.'

• Distinguish between three main types of customer jobs to be done and supporting jobs:

Page 52: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Jobs

52

Functional jobs• When your customers try to perform or complete a specific task or solve a

specific problem, for example, mow the lawn, eat healthy as a consumer, write a report, or help clients as a professional.

Social jobs• When your customers want to look good or gain power or status. These

jobs describe how customers want to be perceived by others, for example, look trendy as a consumer or be perceived as competent as a professional.

Personal/emotional jobs• When your customers seek a specific emotional state, such as feeling good

or secure, for example, seeking peace of mind regarding one's investments as a consumer or achieving the feeling of job security at one's workplace.

Page 53: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Jobs

53

Supporting jobs• Customers also perform supporting jobs in the context of purchasing and

consuming value ether as consumers or as professionals. These jobs arisefrom three different roles:

• BUYER OF VALUE: jobs related to buying value, such as comparing offers, deciding which, products to buy, standing in a checkout line, completing a purchase, or taking delivery of a product or service..

• COCREATOR OF VALUE: jobs related to cocreating value with your organization, such as posting product reviews and feedback or even participating in the design of a product or service.

• TRANSFERRER OF VALUE: jobs related to the end of a value proposition's life cycle, such as canceling a subscription, disposing of a product transferring it to others, or reselling it.

Page 54: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Job Context

54

• Customer jobs often depend on the specific context in which they are performed. The context may impose certainconstraints or limitations.

• For example, calling somebody on the fly is different when you are traveling on a train than when you are driving a car. Likewise, going to the movies with your kids is different than going with your partner.

Page 55: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Job Importance

55

• It is important to acknowledge that not al/jobs have the same importance to your customer. Some matter more in a customer's work or life because failing to get them done could have serious ramifications.

• Some are insignificant because the customer cares about other things more. Sometimes a customer will deem a job crucial because it occurs frequently or because it will result in a desired or unwanted outcome.

Page 56: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Gains

56

• Gains describe the outcomes and benefits your customers want. Some gains ore required, expected, or desired by customers. and some would surprise them.

• Gains include functional utility. social gains, positive emotions. and cost savings

• Seek to idenify fourtypes of customer gains in terms of outcomes and benefits.Required gains• These are gains without which a solution wouldn’t work. • For example. the most basic expectation that we have from smartphones is that

we can make a call with it.Expected gains• These are relatively basic gains that we expect from a solution. Even if it could

work without them.• For example. since Apple launched the iPhone. We expect phones to be well-

designed and look good.Desired gains• These are gains that go beyond what we expect from a solution but would love

to have if we could.• These are usually gains that customers would come up with if you asked them

For example. We desire smartphones to be seamlessly integrated with our otherdevices.

Page 57: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Gains

57

Unexpected gains• These are gains that go beyond customer expectations and desires. They wouldn't

even come up with them if you asked them. • Before Apple brought touch screens and the App Store to the mainstream. nobody

really thought of them as part of a phoneGain relevance• A customer gain can feel essential or nice to have. Just like pains can• feel extreme or moderate to them.

Tip: Make gains concrete.• As with pains. it's better to describe gains as concretely as possible to clearly

differentiate jobs. pains. and gains from one another. • Ask how much they'd expect or dream of when a customer indicates "better

performance" as a desired gain.• That way you can note "would love an increased performance of more than x."

When you understand how exactly customers measure gains (i.e., outcomes and benefits). you can design better gain creators in your value proposition.

Page 58: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Trigger questions – Gains:

58

• Which savings would make your customers happy? Which savings in terms of time, money, and effort would they value'

• What quality levels do they expect. and what would they wish for more or less of?

• How do current value propositions delight your customers? Which specific features do they enjoy? What performance and quality do they expect?

• What would make your customers’ jobs or lives easier? Could there be a flatter learning curve, more services. or lower costs of ownership?

• What positive social consequences do your customers desire? What makes them look good? What increases their power or their status'

• What are customers looking for most? Are they searching for good design. guarantees, specific or more features? What do customers dream about? What do they aspire to achieve, or what would be a big relief to them?

• How do your customers measure success and failure? How do they gauge performance or cost?

• What would increase your customers’ likelihood of adopting a value proposition? Do they desire lower cost. less investment. lower risk. or better quality?

Page 59: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Customer Pains

59

• Pains describe anything that annoys your customers before, during, and after trying to get a job done or simply prevents them from getting a job don

• Pains also describe risks, that is, potential bad outcomes, related to getting a job done badly or not at all.

• Seek to identify three types of customer pains and how severe customers find them:

• Undesired outcomes, problems, and characteristics• Pains ore functional (e.g .. a solution doesn't work, doesn't work well. or hos

negative side effects), social ("I look bad doing this ..” ), emotional ("I feel• bod every time I do this"), or ancillary ( .. It's annoying to go to the store for

this .. ).• This may also involve undesired choroctenst1cs customers don’t like (e.g.,

"Running at the gym is boring," or This design is ugly").

Page 60: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Risks (undesired potential outcomes)

60

• What could go wrong and have important negative consequences (e.g . "I might lose credibility when using this type of solution." or "A security breach would be disastrous for us").

Pain severity• A customer pam con be extreme or moderate. similar to how jobs can be

important or ms1gn1f1cant to the customer

Tip: Make pains concrete.• To clearly differenciate iobs. pains. and gains.describe them as concrete as

possible. • For example. when a customer soils "waiting in line was a waste of time.

ask afte how many minutes exactly it began to feel like wasted time. That way you can note “wasting more than x minutes standing in line” When you understand how exactly customers measure pain severity, you can design better pain relievers in your value proposition

Page 61: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Trigger Questions think of different potential customer pains:

61

• How do your customers define too costly? Takes a lot of time, costs too much money or requires substantial efforts?

• What makes your customers feel bad? What are their frustrations. annoyances. or thingsthat give them a headache?

• How ore current value proposition underperforming for your customers? Which features are they missing? Are there performance issues that annoy them or malfunctions they cite?

• What are the main difficulties and challenges your customers encounter? Do they understand how things work. have difficulties getting certain things done. or resist particular Jobs for specific reasons?

• What negative social consequences do your customers encounter or fear? Are they afraid of a loss of face, power. trust, or status?

• What risks do your customers fear? Are they afraid of financial. social, or technical risks. or are they asking themselves what could go wrong?

• What's keeping your customers awake at night? What are their big issues. concerns. and worries?

• What common mistakes do your customers make? Are they using of solution the wrong way?

• What barriers ore keeping your customers from adopting a value proposition? Are there upfront investment costs. a steep learning curve. Or other obstacles preventing adoption?

Page 62: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 62

Page 63: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Products and Services

63

• This is simply a list of what you offer.• Think of it as all the items your customer can see in your shop

window-- metaphorically speaking. • It's enumeration of all the products and services your value

proposition builds on• This bundle of products and services help your customers

complete either functional, social, or emotional jobs or help them satisfy basic needs.

• It is crucial to acknowledge that products and services don't create value alone-only in relationship to a specific customer segment and their jobs, pains, and gains.

Page 64: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Products and Services (Cont’d)

64

• Your list of products and services may also include supporting ones that help your customers perform the roles of:• buyer (those that help customers compare offers,

decide, and buy),• co-creator (those that help customs co-design value

propositions), and • transferrer (those that help customers dopose of a

product).

Page 65: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Products and Services (cont’d)

65

• Your value proposition is likely to be composed of various types of products and services:

Physical/tangible• Goods, such as manufactured products.Intangible• Products such as copyrights or services such as after-sales assistanceDigital• Products such as music downloads or services such as online

recommendationsFinancial• Products such as investment funds and insurances or services such as the

financing of a purchase.Relevance• It is essential to acknowledge that not all products and services have the

same relevance to your customers.• Some products and services are essential to your value proposition. some

are merely nice to hove.

Page 66: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Pain Relievers

66

• Pain relievers describe how exactly you products and services alleviate specific customer pains.

• They explicitly outline how you intend to eliminate or reduce some of the things that annoy your customers before, during, or after they are trying to complete a job or that prevent them from doing so.

• Great value propositions focus on pains that matter to customers, in particular extreme pains.

• You don't need to come up with a pain reliever for every pain you’ve identified in the customer profile- no value proposition can do this.

• Great value propositions often focus only on few pains that they alleviate extremely well.

Page 67: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Trigger questions – help alleviate pains

67

Ask yourself: Could your products and services …

• produce savings? In terms of time, money, or efforts.• make your customers feel better? By killing frustrations, annoyances. and other

things that give customers a headache• fix underperforming solutions? By introducing new features. better performance.

or enhanced quality• put an end to difficulties and challenges your customers encounter? By making

things easier or eliminating obstacles• wipe out negative social consequences your customers encounter or fear? In terms

of loss of face or lost power. trust. or status.• eliminate risks your customers fear? In terms of• financial, social. technical risks. or things that could potentially go wrong.• help your customers better sleep at night? By addressing significant issues.

Diminishing concerns or eliminating worries.• limit or eradicate common mistakes customers make? By helping them use a

solution the right way• Eliminating barries that are keeping your customer from adoptong value

propostions? etc

Page 68: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Relevance

68

• A pain reliever can be more or less valuable to the customer.• Make sure you differentiate between essential pain relievers

and ones that are nice to have • The former relieve extreme issues, often in a radical• way and create a lot of value.• The latter merely relieve moderate pain.

Page 69: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Gain Creators

69

• Gain creators describe how your product and services create customer gains.

• They explicitly outline how you intend to produce outcomes and benefits that your customer expects, desires, or would be surprised by, including functional utility, social gains, positive emotions, and cost savings.

• As with pain relievers, gain creators don't need to address every gain identified in the customer profile.

• Focus on those that are relevant to customers and where your products and services can make a difference.

Page 70: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Gain creator – trigger questions

70

• create savings that please your customers? In terms of time. money, and effort.• produce outcomes your customers expect or that exceed their expectations? By

offering quality levels. more of something, or less of something.• outperform current value propositions and delight your customers? Regarding specific

features. performance, or quality.• make your customers’ work or life easier? Via better usability. accessibility, more

services or lower cost of ownership.• create positive social consequences? By making them look good or producing an• increase in power or status• do something specific that customers are looking for? In terms of good design,

guarantees or specific or more features.• fulfill a desire customers dream about? By helping them achieve their aspirations or• getting relief from a hardship? • produce positive outcomes matching your customers· success and failure criteria? In• terms of better performance or lower cost.• help make adoption easier? Through lower cost, fewer investments. lower risk, better

quality, improved performance. or better design.

Page 71: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Test card with measurements(for hypothesis)

71

Page 72: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Learning Card (Observations and actions related to hypothesis)

72

Page 73: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

Strategyzer interface

73

Add people

Add canvas

Page 74: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 74

Next Lecture, February 8, 2016

Introduction to IFML and WebRatio

n Introduction to Agile development

n Introduction to Team management – using Someone.io –for Scrum and Kanban

n Further description for Obligs and tool training

Page 75: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics

"Citizense" - Project for spring 2016n www.biocaching.com

75

Page 76: INF5120 and INF9120 ”ModelbasedSystem development” · Telecom and Informatics Course parts 3 n Model Driven Engineering n MDE-0-a: Modeling of Structure in systems (UML class

Telecom and Informatics 76

Oblig 1, February 1, 2016

CitiSenze case – Oblig 1 part 1

n Group: Describe potential Business Model(s) for CitiSenze – using Strategyzer