• Ingen resultater fundet

02291: System Integration Software Development Process Hubert Baumeister

N/A
N/A
Info
Hent
Protected

Academic year: 2023

Del "02291: System Integration Software Development Process Hubert Baumeister"

Copied!
21
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

02291: System Integration

Software Development Process

Hubert Baumeister huba@dtu.dk

DTU Compute Technical University of Denmark

Spring 2019

(2)

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 of defects, low customer satisfaction. . . )

Failed or challenged

I Amanda

I Rejsekortet

I Obamacare Website

I German road toll system

I Denver airport baggage system

I . . .

(3)

Scaling software development

Small hut

I one person

I no special knowledge

Skyscraper

I not possible with one person

I special knowledge: static, electricity, water, waste, elevator, . . .

(4)

Scaling software development

Small hut

I one person

I no special knowledge

Skyscraper

I not possible with one person

I special knowledge: static, electricity, water, waste, elevator, . . .

(5)

Types of software (Lehmann)

I s-type: mathematical function, sorting: complete specfication

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

I e-type: embeded into socio-technical systems.

Requirements change as the environment changes.

System changes the environment: e.g., operating system

I Continuing Change

I Increasing Complexity

I Conservation of Organisational Stability (invariant work rate)

I Continuing Growth

I Declining Quality

(6)

Activities in Software Development

I Understand anddocument what thecustomerwants:

Requirements Engineering

I How to build the software: Design

I Build the software: Implementation

I Validate:Testing,Verification,Evaluation

→ Waterfall

(7)

Waterfall process

I 1970: Winston W. Royce hownot to develop software

I 1985: Waterfall was required by the United States Department of Defence

(8)

Example: Empire State Steel Construction

From The Empire State Building by John Tauranac

From Building the Empire State by Willis, 1998

I Kept the budget I Was finishedbefore

deadline

I Built in21 month(from conception to finished building) (1931)

Basic design in 4 weeks

I Fast-trackconstruction

Begin the construction before the design is complete

create a flow

(9)

Delays in waterfall processes

D I T

A

Time Features

Release date

Implementation by layers and not functionality

(10)

Costs of changing requirements: Waterfall

I Changed / new requirements change the design and implementation

I Cost of change not predictable

Avoid changing/new requirements if possible

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

(11)

Iterative Processes: E.g. Rational Unified Process

(1996)

(12)

Problem in Software Engineering

I Liggesmeyer 1998

(13)

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

Time

A DTI A DTI

R A DTI

R A DTI

R

A DTI R

A DTI

R

F 1 F 2 F 3a F 8 F 4 F 5 F 6

A DTIR

1. Iteration

Database / Infrastructure Layer Presentation Layer

Application Layer

Domain Layer

User Story

User Story User Story

I Highest priority user story first

I If delayed: important features are implemented

(14)

Changing Requirements: Agile Methods

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

I Cost of change

I New / changed requirements not done yet: zero costs

I Changed requirements already done: the cost of a requirement that can not be implemented

(15)

Resource Triangle

Plan Driven

D I T

A

Time Features

Release date

Agile

Database / Infrastructure Layer Presentation Layer

Application Layer

Domain Layer

User Story

User Story User Story

(16)

eXtreme Programming (XP)

I Kent Beck 1999

I 12 Practices

Kent Beck, Extreme Programming 1st ed.

(17)

Scrum

Working increment of the software

Sprint Backlog Sprint

Product 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 Scrum Forgot”

http://www.youtube.com/watch?v=hG4LH6P8Syk

History about agile methods, the agile manifesto, and Scrum and its relationshop to XP

(18)

Lean Software Development

I Lean Production:

I Value for the customer

I Reduce the amount ofwastein the production process

I Generateflow

I Waste: resources used which do not produce value for the customer

I time needed to fix bugs

I time to change the system because it does not fit the customers requirements

I time waiting for approval

I . . .

(19)

Generating flow using Pull and Kanban

WIP = Work in Progress Limit

1 3 2

4

A T I

Work Item D Done

Queue WIP Queue WIP Queue WIP Queue WIP

8 7

9 10 5

6

Blah Composite

Leaf4Assembly 2 3

3 3 3 3

(20)

Flow through Pull with Kanban

I Process controlling: local rules

I Load balancing: Kanban cards andWork in Progress (WIP) limits

I Integration in other processes

Figure from David Andersonwww.agilemanagement.net

(21)

Online Kanban Tool: Trello

I www.trello.com: Electronic Kanban board useful for your project

I Kanban board the exam project examplehttps:

//trello.com/b/CqzwTiRT/02291-example-lean

I Anotherhttps:

//trello.com/b/4wddd1zf/kanban-workflow

Referencer

RELATEREDE DOKUMENTER

Principles of Good Design Software Development Process Project Introduction...

User Stories Activity Diagrams Acceptance Tests...

→ Different software development processes: Waterfall, Iterative processes, agile,... Iterative

I Two classes: simple drawing tools and meta-model based modelling tools. I

– When the target class of an associations is not shown in the diagram – With datatypes / Value objects.. ∗ Datatypes consists of a set of values and set of operations on

Example Execution (Secret Panel Controller)... Example Execution (Secret

I Unified Modeling Language User Manual by Grady Boo, James Rumbaugh, and Ivar Jacobson, available

then create a table representing the association and create foreign keys in the new table referring to table A and to table B else