02291: system integration - imm.dtu.dk · 02291: system integration software development process...

Post on 25-Sep-2019

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

02291: System IntegrationSoftware Development Process

Hubert Baumeisterhuba@dtu.dk

DTU ComputeTechnical University of Denmark

Spring 2019

Success rate for software projects 2000—2008

Sheet1

Page 1

2000 2002 2004 2006 2008

succeeded 28% 34% 29% 35% 32%

failed 23% 15% 18% 19% 24%

challenged 49% 51% 53% 46% 44%

2000 2002 2004 2006 2008

0%

20%

40%

60%

80%

100%

120%

challenged

failed

succeeded

CHAOS Summary 2009 Report

I Succeeded: 32%I Failed: 20%I Challenged: 48% (over

time, over budget, lots ofdefects, low customersatisfaction. . . )

Failed or challengedI AmandaI RejsekortetI Obamacare WebsiteI German road toll systemI Denver airport baggage

systemI . . .

Scaling software development

Small hutI one personI no special knowledge

SkyscraperI not possible with one

personI special knowledge: static,

electricity, water, waste,elevator, . . .

Scaling software development

Small hutI one personI no special knowledge

SkyscraperI not possible with one

personI special knowledge: static,

electricity, water, waste,elevator, . . .

Types of software (Lehmann)

I s-type: mathematical function, sorting: completespecfication

I p-type: real world problems, e.g., chess: modelling the realworld

I e-type: embeded into socio-technical systems.Requirements change as the environment changes.System changes the environment: e.g., operating system

I Continuing ChangeI Increasing ComplexityI Conservation of Organisational Stability (invariant work

rate)I Continuing GrowthI Declining Quality

Activities in Software Development

I Understand and document what the customer wants:Requirements Engineering

I How to build the software: DesignI Build the software: ImplementationI Validate: Testing, Verification, Evaluation→ Waterfall

Waterfall process

I 1970: Winston W. Royce how not to develop softwareI 1985: Waterfall was required by the United States

Department of Defence

Example: Empire State Steel Construction

From The EmpireState Building by JohnTauranac

From Building the Empire State by Willis,1998

I Kept the budgetI Was finished before

deadlineI Built in 21 month (from

conception to finishedbuilding) (1931)

→ Basic design in4 weeks

I Fast-track construction

→ Begin theconstructionbefore the designis complete

→ create a flow

Delays in waterfall processes

D I TA

Time

Features

Release date

Implementation by layers and not functionality

Costs of changing requirements: Waterfall

I Changed / new requirements change the design andimplementation

I Cost of change not predictable→ Avoid changing/new requirements if possible

→ Good for s-type projects, not applicable to p-type ande-type projects

Iterative Processes: E.g. Rational Unified Process(1996)

Problem in Software Engineering

I Liggesmeyer 1998

Agile Software Development Methods (1999)I Extreme Programming (XP) (1999), Scrum (1995–2001),

Lean Software Development (2003), . . .I Kanban (2010): not a method; tool to improve processes

Functionality

TimeAD IT

AD ITR

AD ITR

AD IT

R

AD IT

R

AD IT

R

F 1

F 2

F 3a

F 8

F 4

F 5

F 6

RAD IT

1. Iteration

Database / Infrastructure Layer

Presentation Layer

Application Layer

Domain Layer

UserStory

UserStory

UserStory

I Highest priority user storyfirst

I If delayed: importantfeatures are implemented

Changing Requirements: Agile Methods

Scott Ambler 2003–2014 http://www.agilemodeling.com/artifacts/userStory.htm

I Cost of changeI New / changed requirements not done yet: zero costsI Changed requirements already done: the cost of a

requirement that can not be implemented

Resource Triangle

Plan Driven

D I TA

Time

Features

Release date

Agile

Database / Infrastructure Layer

Presentation Layer

Application Layer

Domain Layer

UserStory

UserStory

UserStory

eXtreme Programming (XP)I Kent Beck 1999I 12 Practices

Kent Beck, Extreme Programming 1st ed.

Scrum

Working incrementof the software

Sprint Backlog SprintProduct Backlog

30 days

24 h

file:///Users/huba/Desktop/Scrum_process.svg

1 of 1 /18.3.13 24:16

Wikipedia

I Robert Martin (Uncle Bob) about ”The Land that ScrumForgot”http://www.youtube.com/watch?v=hG4LH6P8Syk→ History about agile methods, the agile manifesto, and

Scrum and its relationshop to XP

Lean Software Development

I Lean Production:I Value for the customerI Reduce the amount of waste in the production processI Generate flow

I Waste: resources used which do not produce value for thecustomer

I time needed to fix bugsI time to change the system because it does not fit the

customers requirementsI time waiting for approvalI . . .

Generating flow using Pull and Kanban

WIP = Work in Progress Limit

1324

A T IWork Item DoneDQueue WIP Queue QueueQueue WIP WIP WIP

8

7

9

10

5

6

BlahComposite

Leaf Assembly4 2 3

3 3 3 3

Flow through Pull with Kanban

I Process controlling: local rulesI Load balancing: Kanban cards and Work in Progress

(WIP) limitsI Integration in other processes

Figure from David Anderson www.agilemanagement.net

Online Kanban Tool: Trello

I www.trello.com: Electronic Kanban board useful foryour project

I Kanban board the exam project example https://trello.com/b/CqzwTiRT/02291-example-lean

I Another https://trello.com/b/4wddd1zf/kanban-workflow

top related