02291: System Integration€¦ · I Extreme Programming (XP) (1999), Scrum (1995–2001), Lean...
Transcript of 02291: System Integration€¦ · I Extreme Programming (XP) (1999), Scrum (1995–2001), Lean...
02291: System IntegrationSoftware Development Process
Hubert [email protected]
DTU ComputeTechnical University of Denmark
Spring 2020
Success rate for software projects 2000—2008
I Challenges of SoftwareDevelopment
I On timeI In budgetI No defectsI Customer satisfaction
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, . . . )
2
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
3
Waterfall process
I 1970: Winston W. Royce how not to develop softwareI 1985: Waterfall was required by the United States
Department of Defence
4
Delays in waterfall processes
D I TA
Features
Release date Time
Implementation by layers and not functionality
5
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 projects with simple precise requirements, likemathematical functions
→ Bad for projects with unclear requirements or withevolutionary requirements
6
Problem in Software Engineering
I Liggesmeyer 1998I Improve the feedback cycle
I Fail fastI Short Analysis, Design, Implement, Test cylesI One cycle per user story
7
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 processesFunctionality
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
8
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 will not be implemented
9
Resource Triangle
Waterfall
D I TA
Features
Release date Time
AgileFunctionality
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
10
eXtreme Programming (XP)
I Kent Beck 1999I 12 Practices
Kent Beck, Extreme Programming 1st ed.
11
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
12
Lean Software Development
I Principles of Lean Production: coming from ToyotaI 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 bugs→ Test/behaviour-driven development
I time to change the system because it does not fit thecustomers requirements→ Customer on-site; build a system get feedback
I time for building infrastructure for future features→ YAGNI (You Ain’t Gona Need It)
I . . .
13
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
14
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
15
Online Kanban Tool: Trello
I www.trello.com: Electronic Kanban board useful foryour project
I Example https://trello.com/b/4wddd1zf/kanban-workflow
→ use recommended to keep track of userstories/features/tasks
16