02291: System Integration
Software Development Process
Hubert Baumeister huba@dtu.dk
DTU Compute Technical 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 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 . . .
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, . . .
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, . . .
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
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
Waterfall process
I 1970: Winston W. Royce hownot to develop software
I 1985: Waterfall was required by the United States Department of Defence
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
Delays in waterfall processes
D I T
A
Time Features
Release date
Implementation by layers and not functionality
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
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
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
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
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
eXtreme Programming (XP)
I Kent Beck 1999
I 12 Practices
Kent Beck, Extreme Programming 1st ed.
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
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 . . .
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
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
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