Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Introduction.

Post on 01-Apr-2015

225 views 0 download

transcript

Vakgroep Informatietechnologie – IBCN

Software ArchitectureProf.Dr.ir. F. Gielen

Introduction

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2

Software Architecture

Software Architecture Software Economics Software Architecture Business Cycle What is Software Architecture ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 3

What is a business model ?

It is a description of how your company intends to create value in the market place.

It includes : the unique combination of products, services and

distribution. the organisation and the operational infrastructure. ….

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 4

Why make a business model ?

The business model unlocks the value of the technology

and justifies the capital requirements to implement it ..

Measured in technical domain Measured in economic domain

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 5

Functions of the business model

1. Articulate the value proposition, that is, the value created for users by the offering based on the technology;

2. Identify a market segment, that is, the users to whom the technology is useful and for what purpose;

3. Define the structure of the value chain within the firm required to create and distribute the offering;

4. Estimate the cost structure and profit potential of the offering

5. Describe the position of the firm within the value network linking suppliers and customers, including identification of potential complementors and competitors;

6. Formulate the competitive strategy by which the innovating firm will gain and hold advantage over rivals.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 6

Value Chain : Mobile entertainment

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 7

Software business models

Web-based applications sold using the ASP (application service provider) model: Initial service to setup and

customize the application. Priced on a one-time custom basis.

Support bundled with subscription fee.

Delivered as a hosted web application. Priced as a subscription based on number of users.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 8

Software cost economics

Manufacturing cost is close to zero. Product development cost vary dramatically

upon the type of product & the company’s competitive position. Microsoft R&D cost < 10% of revenue Majority of software businesses have R&D costs

between 10%-30%.

Marketing is typically the largest cost. One has to rise above the noise of thousands of new

software product.

Capital requirements (GIMV)

Target of 25 mio EUR revenue or more in year N+5

Local market can be a test market but overall insignificant given revenue target

Average VC spending in ICT in Europe over last 5 years was 2.9 bio EUR (VentureOne)

International management recruitment Challenged by tough international competition

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 9

Business model framework.

Customer Interface

Fulfillment & support

Info & insightRelationship

dynamicsPricing

Structure

Core Strategy

Business MissionProduct Market

scopeBasis for

differentiation

Strategic Resources

Core competencies

Strategic assets

Core processes

Value Network

SuppliersPartners

Coalitions

Efficiency – Uniqueness – Fit – Profit Boosters

Customer Benefits

ConfigurationCompany

Boundaries

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 11

Customer interface

The customer interface element has four aspects: Fulfillment and support describes the way the

firm reaches its customers, Information & insight, which describes the

customer information collection, and use, Relationship dynamics refers to the nature of

interaction between the customer and the firm Pricing structure describes the used

combination of different pricing methods.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 12

Strategy

The core strategy element includes three topics: Business mission describes the objective of the

strategy, Product/market scope of the business model refers

to the competition environment including customers, geographies, and product/market mix

Basis for differentiation describes how the company competes differently from its competitors.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 13

Resources

The strategic resources element consists of three topics: Core competences are skills and capabilities of the

firm, i.e. what the firm knows, Strategic assets are what the firm owns, like brands

patents, infrastructures, etc., Core processes are activities which are used in

creating value to customers from resources and assets.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 14

Value network

The value network element includes suppliers, partners and coalitions. Supplier topic describes the nature of relations

between producer and supplier. Partners are more integrated in the producer’s

business than suppliers.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 15

Business Model

The basic elements are linked together with three links. Customer benefits describe the actual offerings to

customers and how the firm’s core strategy fills the customer’s needs.

Configuration describes the unique way in which competencies, assets and processes are combined and interrelated in support of a particular strategy”.

Company boundaries describes the linkage of the firm to its surrounding environment that is the value network.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 16

GFF – a mobile multiplayer game

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 17

GFF 2/2

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 18

What’s unique about software ?

It is intangible. It has high intellectual content. The development process is labour intensive and

project based. Software does not exhibit a clear separation between

R&D and production. Software can change infinitely.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 19

In the real world this becomes ...

Only 26% of projects finish on time and within budget

28 % of projects are cancelled before delivery The remaining projects (late, over budget) only

delivered a fraction of the planned functionality.Standish Group CHAOS 2000 report

Software is increasing in :• complexity, size and functionality.• contribution to the balance sheet and profit and loss statements

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 20

Impact on the P&L : Game industry

Game development can take vast amounts of schedule. (Sony, Nintendo, …)

Teams can be very large : 20 to 30 people from a variety of disciplines:

Analysts, designers, programmers, testers Writers, artists, musicians Project Managers

Schedule must be managed very carefully to meet the holiday sales season.

If a game release misses its marketing window it will be a commercial failure (non-linear loss of revenue)

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 21

Budget allocation

Requirements [2%]Specification [5%]Design [6%]Module coding [5%]Module testing [7%]Integration [8%]Maintenance [67%]

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 22

The cost of faults:

1 3 4 1052

368

050

100150200250300350400

Req

uir

emen

ts

Sp

eci

fica

tio

n

Des

ign

Imp

lem

enta

tio

n

Inte

gra

tio

n

Mai

nte

na

nce

Relative cost to fix faults

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 23

Software Architecture Business Cycle

Software Architecture Software Economics Software Architecture Business Cycle What is Software Architecture ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 24

Take 5 minutes to:

Write down your own definition of Software Architecture.

Write 5 tasks in the daily life of an architect.

When done , tell the others ...

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 25

StakeholdersDevelopment

Manager

Marketing

ManagerEnd user Maintenance

ManagerCustomer

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 26

The ABC: Architecture Business Cycle

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 27

GFF part 2: initial software architecture

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 28

Information & Monetary flows

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 29

The GFF value network

Publisher

Game Developer

Players

Service Provider

SW architecture

Platform technology

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 30

Extended architecture

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 31

Business models evolution

Operator Centric: develop services buy content

Service Centric: Service provisioning Provide interfaces billing

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 32

Mapping Business models to SW architecture

Create the initial architectures for each stakeholder using reference architecture.

Align business models and the value networks integrating stakeholder architectures

Map business models to non-functional properties of deployed architecture.

Handle evolution of business models and architecture.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 33

Skills of a software architect .

Handle ( conflicting ) requirements from: business organisation customer finance people

Be a technical guru.Be a diplomat…with great communication skills

Do you still want the job …. ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 34

RUP: Software Architect

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 35

Influence of the architect ...

Organisation Subsystems = teams & skills Budget & schedule Build up the skill base for the company

Business impact Development & maintenance cost Time to market Relax customer requirements (trade-offs)

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 36

Take your mobile phone and …

Write down what a feature is.

Give some examples of features (in a mobile phone).

How do these features interact ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 37

Feature Interaction = Complexity

A feature is a capability of a system which provides value to the final user.

Features interact: Feature A invokes feature B Feature B interrupts feature A Feature B modifies the behaviour of feature A

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 38

Architect a Doghouse

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 39

Architecting a High rise

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 40

Dimensions of complexityHigher technical complexity - Embedded, real-time, distributed, fault-tolerant - Custom, unprecedented, architecture reengineering - High performance

Lower technical complexity - Mostly 4GL, or component-based - Application reengineering - Interactive performance

Highermanagement complexity - Large scale - Contractual - Many stake holders - “Projects”

Lowermanagement complexity - Small scale - Informal - Single stakeholder - “Products”

Defense MIS System

Defense Weapon SystemTelecom

Switch

CASE Tool

National Air TrafficControl System

Enterprise IS(Family of ISApplications)

CommercialCompiler

BusinessSpreadsheet

IS ApplicationDistributed Objects

(Order Entry)

Small ScientificSimulation

Large-ScaleOrganization/Entity

Simulation

An average software project: - 5-10 people - 10-15 month duration - 3-5 external interfaces - Some unknowns & risks

EmbeddedAutomotive

Software

IS ApplicationGUI/RDB

(Order Entry)

Walker Royce, Rational

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 41

Software Process for ABC

Create the business case .. Is more then assessing the market needs ! Think about future requirements and time to market.

Understand requirements Look at similar systems Build prototypes Conflicting requirements

Create the architecture Communicate the architecture to all stakeholders Analyze the architecture

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 42

Software Architecture

Software Architecture Software Economics Software Architecture Business Cycle What is Software Architecture ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 43

Software Architecture Definition

The Software Architecture of a program or computing system is the structure or

structures of the system, which comprises software elements, the external visible properties of those elements and the

relationships among them.

Requirements DesignSoftware

Architecture

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 44

Qualities in Software Architecture

SystemQualities

Functionality

BusinessQualities

ArchitecturalQualities

Software

Architecture

Have an architecture that makes sense before you write 3.5 millionlines of code. - Patrick Naugton

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 45

The Role of Software Architecture (1/2)

Communication among stakeholders Understanding, vocabulary for structure , system and

constraints. Making architectural choices. Make early design decisions (incontournable) Resource allocation Organisation and work breakdown

Inhibit and enables quality attributes High performance -> time budgets Scalable -> high capacity requirements Re-usable -> coupling

Change Management local and non-local changes architectural changes

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 46

The Role of Software Architecture (2/2)

Analysis System level analysis , verify structural constraints,

consistency checking.Construction

Partial blueprint, construction instructionsEvolution

Allowable envelope of change, change impact analysis.Reuse

of components, and patterns for the organisationManagement

evaluation of milestones, identification of risksBasis for evolutionary prototyping

Skeletal construction - vertical strip. Blow-up often and early

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 47

Architecture , Variability and Reuse

How many different models does an average mobile phone manufacturer in Finland produce ?

List the 5 differences & variations they must support across all models.

Write down the problems an organisation may face in achieving this.