Agile software development methods are used extensively in the software industry. This paper describes an argument to explain why these methods can be used within a multi-disciplinary project and provides a concrete description on how to implement such a method, using a case-study to support the rationale. The SOFIE (Intelligent Assisted Bicycle) project was created to develop mechatronic appliances to make bicycles more stable, i.e. safer. A bicycle stability test bench is created within this project and is used as the case study for this research. The relative complexity of the test bench development and partner structure within the SOFIE project has many similarities with large-scale complex projects found in industry. Thus it provides a good environment to research the application of Agile software methods to a multi-disciplinary project.
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Adrian cooke Presentation Mechatronics 2012
1. IntelligentAssisted Bicycles
Agile development for a multi-
disciplinary bicycle stability test
bench
Adrian Cooke(Presenter) September 24, 2012
G.M Bonnema, Wim Poelman
Funded by
PIDON (Overijssel, The Netherlands)
3. Agile Evolution
1. Lean and Agile
Manufacturing
Inspiration for Agile Software:
-KANBAN
-Pull-type systems
3 / 20
4. Agile Evolution
3. Agile Software Methods
Adaptations
-Concrete guidelines created.
-Advanced IT tools developed.
2. Adapted to
software.
1. Lean and Agile
Manufacturing
Inspiration for Agile Software:
-KANBAN
-Pull-type systems
3 / 20
5. Agile Evolution
3. Agile Software Methods
4. Adapted
Adaptations back to
-Concrete guidelines created. multi-
-Advanced IT tools developed.
disciplinary
systems.
2. Adapted to
software.
1. Lean and Agile
Manufacturing
Inspiration for Agile Software:
-KANBAN
-Pull-type systems
3 / 20
6. Agile Evolution
3. Agile Software describes
This Presentation Methods
Agile in brief and provides a 4. Adapted
Adaptations to apply the
method back to
Adaptation.
-Concrete guidelines created. multi-
-Advanced IT tools developed.
disciplinary
systems.
2. Adapted to
software.
1. Lean and Agile
Manufacturing
Inspiration for Agile Software:
-KANBAN
-Pull-type systems
3 / 20
8. Computer Model Experiments
14
13
11
10
12
16
2
2
15 4 4
z 9
8
y 1
r
x 6 3 7 1
5
5 z 3
y
w c x
5 / 20
9. Computer Model Bicycle Stability Experiments
Test Bench
14
13
11
10
12
16
2
2
15 4 4
z 9
8
y 1
r
x 6 3 7 1
5
5 z 3
y
w c x
5 / 20
10. Computer Model Bicycle Stability Experiments
Test Bench
14
13
11
10
12
16
2
2
15 4 4
z 9
8
y 1
r
x 6 3 7 1
5
5 z 3
y
w c x
5 / 20
11. Computer Model
Characteristics Bicycle Stability Experiments
- concurrent engineering Test Bench
- non-trivial technical
14
13
project
11
10
12
16
2
2
- multi-disciplinary
15 4 4
z 9
8
y 1
r
x 1
- dispersed team
7
6 3 5
5 z 3
y
w c x
5 / 20
12. Computer Model
Characteristics Bicycle Stability
Large-scale projects Experiments
- concurrent engineering - Get Test Bench
the points from
- non-trivial technical
13
14
the paper.
project
11
10
12
16
2
2
- multi-disciplinary
15 4 4
z 9
8
y 1
r
x 1
- dispersed team
7
6 3 5
5 z 3
y
w c x
5 / 20
13. Bicycle Stability
Large-scale projects Experiments
Computer Model
Characteristics Comparable
- concurrent engineering - Get Test Bench
the points from
- non-trivial technical
13
14
the paper. to large-
project
scale
11
10
12
16
2
2
- multi-disciplinary
15 4 4
z 9
8
projects
y 1
r
x 1
- dispersed team
7
6 3 5
5 z 3
y
w c x
5 / 20
15. Agile Background
The Agile software methods were designed to
respond to changing environments and user
requirements and they are a response to the heavy
traditional software development methodologies.
◮ Just-In-Time planning.
◮ Rapid development iterations with working code
(designs).
◮ Strong stakeholder interaction through demonstrations.
◮ Extreme Programming (best practices) and SCRUM.
Multi-disciplinary Agile: Adrian Cooke 7 / 20
16. XP-Extreme programming
◮ The planning game: Plan before each release.
◮ Small releases: Useful releases.
◮ Metaphor: Coherent story wherein everyone can work.
◮ Simple design: Pass tests with no duplication.
◮ Testing: All codes should be unit tested.
◮ Refractoring: Reorganising the code/design.
◮ Pair programming: One computer two people.
◮ Collective ownership: Change partners and tasks.
◮ Continuous integration: Test all the time.
◮ Coding standards: Easier to understand.
Multi-disciplinary Agile: Adrian Cooke 8 / 20
28. Case Study - Data logger casing
Problem definition: Design and build a casing for the
Sparkfun Logomatic v2 Serial SD Datalogger (Open source
and available at http://mobilitylabtwente.nl/sofie).
Multi-disciplinary Agile: Adrian Cooke 14 / 20
35. Conclusion and Future work
◮ SOFIE Project has been described.
◮ Brief description of Agile given.
◮ Agile used extensively in embedded systems
development.
◮ Case study shown and Agile continuously used within the
SOFIE project.
◮ XP provides relevant best practices for multi-disciplinary
projects.
◮ Agile is a different paradigm for project development.
◮ My question is:
How do I develop this research to make Agile
more useful for multi-disciplinary projects?
Multi-disciplinary Agile: Adrian Cooke 18 / 20