9. ConneXoX
Developing Free Software
with Agile
Free Software
for Agile
Teams
Free Software
and Agile
Reusing Free
Software in
Agile
Developing
Free Software
with Agile
10. Agile == Engineering Excellence
• Practical techniques to work in team
• Extreme Programming
• Clean Code
• “Agile Architecture”
• Regression testing
• …
10
11. Agile == Working Together
• Individuals and interactions…
• Customer Collaboration…
• Feature Teams!
11
12. Problem: Distributed Teams
Try:
• Remote Pair Programming
• Window to the other site
• Clean Code
• Tests as documentation
• Continuous Integration
• Regression Test as QC
• Always Potentially Shippable
12
13. Problem:Volunteers and Part-Time
Try:
• Scrum: Sprint as Forecast (as…)
• Kanban instead (best effort)
• Variable team/layers of “team” (but…)
• Documentation more important
(hint: tests!)
• Ensure product vision
is clear to everybody
13
15. Problem:Who is the Customer?
Try:
• Product Ownership
(as a surrogate)
• Lead “Customers”
But:What is your RoI?
15
Reacting
to
Change
over…
16. Problem:What’s the product, really?
Sometimes it’s middleware
Try:
• Test/Demo application
• Tests as documentation of the
interfaces
• Lead customer
giving direction
16
17. ConneXoX
Reusing Free Software
in Agile
Free Software
for Agile
Teams
Free Software
and Agile
Reusing Free
Software in
Agile
Developing
Free Software
with Agile
18. Problem: Big Black Box
Try:
• Mob Programming
• Product Backlog Refinement
as a Team - really!
18
Adaptability of the
product
(= Agility)
Amount of
coordination
% of system
understood by a
developer (average)
Amount of
specialised tasks
O
O
O
Amount of SW we
integrate “as a black
box”
O
Adaptability of the
product
(= Agility)
Amount of
coordination
% of system
understood by a
developer (average)
Amount of
specialised tasks
O
O
O
Amount of SW we
integrate “as a black
box”
O
Common Product
Backlog Refinement,
Sharing Knowledge
Tests as Integration
Documentation
20. ConneXoX
Free Software
for Agile Teams
Free Software
for Agile
Teams
Free Software
and Agile
Reusing Free
Software in
Agile
Developing
Free Software
with Agile
21. Free Software…
• […]
• The freedom to study how the
program works […]
• […] By doing this you can give the
whole community a chance to benefit
from your changes
21
Learning!!!
Learning!!!
22. Free Software for learning
• Learn cross-community, cross-
organisation
• Mean to establish good practices
• Access to a knowledge base
• Free Software and Agile: culturally close
22
➜Free Software
as a way to share
agile practices?