26
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen The Architecture Business Cycle - ABC

Sa002 abc

Embed Size (px)

DESCRIPTION

Architecture is a result of technical and business decisions

Citation preview

Page 1: Sa002 abc

Vakgroep Informatietechnologie – IBCN

Software ArchitectureProf.Dr.ir. F. Gielen

The Architecture Business Cycle - ABC

Page 2: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2

Software Architecture

Software Architecture Software creates Value Software Architecture Business Cycle What is Software Architecture ?

Page 3: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 3

What is a business model ?

It is a description of how your company intends to Create value Capture value

High Tech Innovation:

New product New Markets

Page 4: Sa002 abc

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 value domain

Page 5: Sa002 abc

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.

Page 6: Sa002 abc

Example: The Paperless Office

• What is the value proposition ?• What are the market segments ?• Who is your customer ?

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 6

Page 7: Sa002 abc

Value Chain : Customers & Users

A value chain is a “chain” of companies that work together to satisfy a market demand for a particular product.

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 7

Page 8: Sa002 abc

Example: On-line Games

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 8

Page 9: Sa002 abc

Example: The Paperless Office

• What is the value chain?• Who is your customer ?

p. 9 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN

Page 10: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 10

Only 28% of projects finish on time and within budget

23 % 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.• customer expectations • business value

Creating value In the real world

Page 11: Sa002 abc

… almost 10 years later

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 11

Only 32% of projects finish on time and within budget

24 % of projects are cancelled before deliveryStandish Group CHAOS 2009 report

Page 12: Sa002 abc

Failed projects : Motorola Iridium

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 12

• 7 billion USD development cost• 88 satelites• 3.000.- USD for a phone • 2 billion satellite opex per month

Page 13: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 13

Software Architecture Business Cycle

Software Architecture Software creates Value Software Architecture Business Cycle What is Software Architecture ?

Page 14: Sa002 abc

The ABC: Architecture Business Cycle

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 14

1. Stakeholder needs

2. Business management issues

3. Legal/contractual issues

4. Commercial & competitive pressures

5. Technical environment

6. Political issues

7. Life-cycle issues

An architecture is the result of a set of business and technical decisions

Page 15: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 15

Influence by StakeholdersDevelopment

Manager

Marketing

ManagerEnd user Maintenance

ManagerCustomer

Page 16: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 16

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 …. ?

Page 17: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 17

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 Meet customer requirements

Page 18: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 18

Architect a Doghouse

Page 19: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 19

Architecting a High rise

Page 20: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 20

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

Page 21: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 21

Software Architecture

Software Architecture Software creates value Software Architecture Business Cycle What is Software Architecture ?

Page 22: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 22

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

Page 23: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 23

Qualities in Software Architecture

SystemQualities

Functionality

BusinessQualities

ArchitecturalQualities

Software

Architecture

Page 24: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 24

The Role of Software Architecture (1/2)

Communicate among stakeholders Vocabulary for structure, system and constraints Making architectural choices

Make early design decisions 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

Analysis System level analysis , verify structural constraints,

consistency checking.

Page 25: Sa002 abc

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 25

Construction Partial blueprint, construction instructions.

Evolution Allowable envelope of change, change impact

analysis. Reuse components, and patterns for the organisation

Management evaluation of milestones, identification of risks

Basis for evolutionary prototyping Skeletal construction - vertical strip.

The Role of Software Architecture (2/2)