02291: System IntegrationSoftware Development Process
Hubert [email protected]
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