1 s e c

advertisement
Kristian Sandahl, IDA
krisa@ida.liu.se
Processes suitable for many projects
Kristian Sandahl, IDA
krisa@ida.liu.se
Detailed processes for teams and individuals
document
whiteboard
Processes adapted to a certain project or
product
Atomic
Worldly
The SLC is made up by:
Software life-cycle model
Activities
Kristian Sandahl, IDA
krisa@ida.liu.se
= time for concept -> time for “unavailability”
feed-back
out
side-effects
Universal:
in
resources
analysis design implementation
The software life-cycle
Feed-back
Resource consumption
Output
Input
decide
T
write SRS
X
M
V
Inspect
Entry
Task
Verify
Exit
Measure
SRS
# defects
Iterative model: “RUP”
Win-win spiral model
Spiral model
Incremental model
Waterfall model
Software life-cycle models
E
plan
Example:
itself
A process that exits
under certain criteria
Result: software items
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
ETVXM-architecture:
A process that verifies
Sequence of steps
Process levels
Kristian Sandahl
krs@ida.liu.se
Software processes
The effector process
Software process
1
resources
analysis &
planning
decision point
design &
implementation
Kristian Sandahl, IDA
krisa@ida.liu.se
calender time
One dynamic problem with the
waterfall model
Kristian Sandahl, IDA
krisa@ida.liu.se
Replacement
de Facto reference model
Requirements
forward engineering
Design
manageable
fixed documents
Implementation
frequent checks by SQA
Test
people
easy to understand good for
Installation
beginners
Operation
good for short projects < 12
weeks
Maintenance
Concept
exploration
Waterfall model
k
ac
-b
ed
e
f
Coding
Unit and
integration
testing
Implementation
Implementation
Implementation
Design
Design
Requirements
Design
Concept
exploration
Test
Test
Test
The release
planning
problem
Incremental model
Installation
Installation
Installation
Acceptance
testing
System
testing
Quality and process management
Program
design
System
design
Requirements
analysis
V-model
Kristian Sandahl, IDA
krisa@ida.liu.se
Rn
R2
R1
Kristian Sandahl, IDA
krisa@ida.liu.se
Downstream
activities
R8
dependsOn
legend
R11
R1
R3
R5
R2
R7
R4
R12
R10
R9
R13
R6
R14
Requirement dependencies
Does not mirror the reality
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Little room for problem solving and creativity
Late changes are practically not feasible
Many changes ⇒ large overhead costs
to become involved
Requires much experience from the customer
One-step delivery
Static problems with the waterfall
model
2
Concept
Test
(Rapid Application
exploration
Development)
Focus on feed-back
Design
Negative:
too early commitment Implementation
hard to obtain quality?
Sometimes called RAD
Prototypig
http://www.sei.cmu.edu/
cbs/spiral2000/
See:
Original goal: handle
risks
Involves early phases
in increments ⇒
the process is iterative
Design
Requirements
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Test
Implementation
The original spiral model
The MS way
Regression testing
Smoke tests
Usage-based verification
Dedicated use of ETVXM
Daily Build
Committed to formal specification
Frequent increment installation and test
Incremental method
Cleanroom process model
Incremental method
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
OpenUP/Basic
Idea: to always be prepared to deliver
Synchronise and Stabilise
See: http://www306.ibm.com/software/awdtools/rup/
RUP – Rational Unified Process
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
3
SCRUM
Source: www.methodsandtools.com/archive/scrum1.gif
See: http://www.extremeprogramming.org/
eXtreme Programming
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
available
Incremental
design
Stories
Code and Tests
Shared code
Root-cause
analysis
Shrinking teams
Team
continuity
Pay-per-use
Negotiated
scope contract
Daily
deployment
Single code
base
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Output: calendar time for analysis & planning
implementation
Input: calendar time for design &
different numbers
Animate, simulate or just make a table of
the code
All results are free to use
Success #1: Linux
”Software culture”
Play with the dynamics of the waterfall model
An interested community voluntarily evolves
Kristian Sandahl, IDA
krisa@ida.liu.se
The code is published
From: Roginski & Zmuda: LiTH-IDA-Ex-06/014-SE
Weekly cycle
Continuous
integration
Test-first
programming
Energized work
Pair
programming
Ten-minute
build
Informative
workspace
Slack
Whole team
Incremental
deployment
Secondary praxis
Real customer
involvment
Quarterly cycle
Primary praxis
Sit together
Home assignment
Kristian Sandahl, IDA
krisa@ida.liu.se
tests before it can be
released
Acceptance tests are run
often and the score is
published.
Refactor whenever and
wherever possible
Leave optimisation till last
No overtime
All code must pass all unit
programmed
Code the unit test first
All production code is pair
The customer is always
XP 2005
Open source
Values:
Communication
Simplicity
Feed-back
Courage
Respect
User stories are written
Make frequent small
releases
Move people around
Choose a system metaphor
Create spike solutions to
reduce risk
Some XP-rules
4
Download