02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process...
Transcript of 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process...
![Page 1: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/1.jpg)
02291: System IntegrationSoftware Development Process
Hubert [email protected]
DTU ComputeTechnical University of Denmark
Spring 2019
![Page 2: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/2.jpg)
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 . . .
![Page 3: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/3.jpg)
Scaling software development
Small hutI one personI no special knowledge
SkyscraperI not possible with one
personI special knowledge: static,
electricity, water, waste,elevator, . . .
![Page 4: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/4.jpg)
Scaling software development
Small hutI one personI no special knowledge
SkyscraperI not possible with one
personI special knowledge: static,
electricity, water, waste,elevator, . . .
![Page 5: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/5.jpg)
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
![Page 6: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/6.jpg)
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
![Page 7: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/7.jpg)
Waterfall process
I 1970: Winston W. Royce how not to develop softwareI 1985: Waterfall was required by the United States
Department of Defence
![Page 8: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/8.jpg)
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
![Page 9: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/9.jpg)
Delays in waterfall processes
D I TA
Time
Features
Release date
Implementation by layers and not functionality
![Page 10: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/10.jpg)
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
![Page 11: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/11.jpg)
Iterative Processes: E.g. Rational Unified Process(1996)
![Page 12: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/12.jpg)
Problem in Software Engineering
I Liggesmeyer 1998
![Page 13: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/13.jpg)
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
![Page 14: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/14.jpg)
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
![Page 15: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/15.jpg)
Resource Triangle
Plan Driven
D I TA
Time
Features
Release date
Agile
Database / Infrastructure Layer
Presentation Layer
Application Layer
Domain Layer
UserStory
UserStory
UserStory
![Page 16: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/16.jpg)
eXtreme Programming (XP)I Kent Beck 1999I 12 Practices
Kent Beck, Extreme Programming 1st ed.
![Page 17: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/17.jpg)
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
![Page 18: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/18.jpg)
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 . . .
![Page 19: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/19.jpg)
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
![Page 20: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/20.jpg)
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
![Page 21: 02291: System Integration - imm.dtu.dk · 02291: System Integration Software Development Process Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019](https://reader034.fdocuments.in/reader034/viewer/2022050715/5e10b7cd3ed34c30b01fd31a/html5/thumbnails/21.jpg)
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