Agile Software Integration James Haslam © 2006 IARC

advertisement
Agile Software Integration
James Haslam
j.haslam@warwick.ac.uk
© 2006 IARC
Agenda
The Problem
• Linear Software Development
• Example using The “V”-Model
• Suitability of The “V”-Model
• Software Integration
• Definition
• Example
• Linear Software Integration
• Unsuitability
• Integration Storm
• The Answer (Go Agile)
• Fusion
• Diagram
• Main Points (Planning, Meetings, Testing)
• Benefits
• Case-studies
•
© 2006 IARC
Agile Software Integration
2
The Problem
© 2006 IARC
Agile Software Integration
3
The Problem
Automotive = Projects run over time, features are cut,
testing is inadequate which causes more warranty claims.
Defence = Projects may take 7 years, with 25% “spare”
time planned at the end of the project to resolve issues.
© 2006 IARC
Agile Software Integration
4
Linear Software Developme
example using
the “V”-Model
© 2006 IARC
Agile Software Integration
5
Linear Software Development
Traditionally, typical Software Development projects
could be accomplished in-house:
•
Projects were small,
•
There was good contact with the customer,
•
All the requirements were understood,
•
The design was simple enough to know there were no upfront bugs,
•
There was only one team working on the software,
•
It was easy to unit-test as you went along.
© 2006 IARC
Agile Software Integration
6
Definition of Integration
The development of a complex software
system as simpler sub-systems that plug
together.
Often involving multiple teams or
suppliers to provide each sub-system.
© 2006 IARC
Agile Software Integration
7
Example of Integration
Example for an Automotive Infotainment
System:
Touch
screen
Satellite
Navigation
DAB
Radio
Controller
Amplifier
Bluetooth
Phone
Stereo
© 2006 IARC
Agile Software Integration
8
Linear Software Integration
© 2006 IARC
Agile Software Integration
9
Linear Software Integration
Nowadays, typical Software Development projects have
grown to be so complex, and require specialist features,
that a supply-chain is required:
•
Projects are very big,
•
The customers don't know what they want,
•
The customer changes their mind continually,
•
The design is too complicated to perfect up-front,
•
There are multiple suppliers working on the same project,
•
The suppliers don't have enough opportunity to communicate,
More…
© 2006 IARC
Agile Software Integration
10
Linear Software Integration
Continued…
•
The suppliers have resources tied up in other projects,
The suppliers won't release software until it is finished (= infrequent
integration testing),
•
Bugs are hard to find as the system is not developed gradually and
tested progressively,
•
•
All parties blame each other for problems,
Risk is only realizable at the end of the project (when all suppliers
integrate the finished product),
•
•
There is no time for testing.
© 2006 IARC
Agile Software Integration
11
The Integration Storm
© 2006 IARC
Agile Software Integration
12
The Answer?
•
Collaborative Planning
•
Synchronised Development
•
Evolutionary Development
•
Iterations
•
Time-boxing
•
Progressive Testing
© 2006 IARC
Agile Software Integration
13
fusion –
The merging of different
elements into a union.
A fusion of technologies,
teams, and cultures into one
unit.
© 2006 IARC
Agile Software Integration
14
The FUSION Process
© 2006 IARC
Agile Software Integration
15
Typical Agile Timeline
Development Monthly Timeline
Weekly
meeting
Planning Meeting
1
24
3
Development
Integration / Test
0
days
7
14
21
28
© 2006 IARC
Agile Software Integration
16
Main Points : Planning
• Dependencies
must be known before detailed
planning occurs
•Essential that everyone works at the same
level of decomposition
• Common format for managing product backlog items
© 2006 IARC
Agile Software Integration
17
Main Points : Meetings
• Meetings are critical for keeping the project
responsive
• Monthly – all suppliers and Integration Engineers
• Agree prioritised list of features for development
• Resolve integration problems from previous iteration
• Weekly – Integration Engineers
• Suppliers report to Integration Engineers ahead of meeting via a
form, answering:
• What did you do this week?
• What will you do next week?
• What is stopping you from delivering for this iteration?
© 2006 IARC
Agile Software Integration
18
Main Points : Testing
• Smoke Test at the end of each iteration
• Not detailed acceptance test
• No requirements for perfect bug-free code
• All suppliers must deliver what they have
• Detailed functional testing concurrently with
next iteration
• Outputs feed into next monthly planning meeting
• Acceptance testing required for agreed
integration points (separate from iteration plan)
© 2006 IARC
Agile Software Integration
19
Benefits of Fusion
• Early Risk Detection
• Collaborative Design, Development & Testing
• Enhanced supply-chain communications
• Platform-sharing
• Cooperative Testing
• Stronger systems-level
• Progressive Testing
• Evolutionary Requirements • Early bug detection
© 2006 IARC
Agile Software Integration
20
Case Studies
3 Case Studies with a large automotive manufacturer,
and 5 companies within their supply-chain
(1 completed, 1 on-going, 1 future)
•
Benchmarking for industrial best practice.
Companies within:
•
•
Aerospace
•
Automotive
•
Consumer Electronics
•
Medical Systems
© 2006 IARC
Agile Software Integration
21
Next Steps
•
Complete existing case studies and evaluate results
•
Publish results in international journals
•
Launch FUSION process as a website
•
Publish training materials and handouts
•
Contact large companies (inc. initial partners)
•
Share results with management
•
Run training Courses
•
Consult to deploy Fusion within companies
© 2006 IARC
Agile Software Integration
22
Download