Matt Jordan zeigt in seinem Talk, welche Herausforderungen bei der Übertragung von agilen Methoden auf die Entwicklung großer Open Source Projekte entstehen und wie auch in diesen agil entwickelt werden kann.
SLOC – ~26,628 commits over ~16 years – ~100 unique contributors per year Active: Past Week – +2457/-429 – 166 commits to all branches – 21 commits to master – 15 authors Global Developer Community – Digium team: ~10 devs – Digium: ~50% commits
“Backlog”, “Sprints”, “Stand-ups” are all tools – Issues are more fundamental Agile Development – Maximize productivity of a software team Open Source Development – Maximize contributions from a community (Thierry Carrez, DoE Open Stack Foundation) Obvious differences!
processes and tools Open Source: highly individualistic – Enterprise to contractors – Many motivations/goals Need a level playing field https://flic.kr/p/dRCKiT
“fuzzy” – The Agile Manifesto assumes we have an explicit customer – Open source development blurs the line between customer and developer You are not in control – The Agile Manifesto assumes an element of control over the team and environment – Open source development surrenders control Primary motivation is different – Agile development: focus is on the team – Open source development: focus is on the community Community != Team – Can we build one from it?
Very few driven solely by boredom – Customers each have different needs that may not overlap Contributors are customers! – Product is the project – Payment is contributions Customer collaboration is a constant Contract is the Open Source License
rules consistent – Give ownership Keep your (paying) customers happy – None of it matters if you can't eat – If you can eat, others will be able to as well Conflicts will occur – Be honest about conflict – Assume (most) people are reasonable
Very few driven solely by boredom – Customers each have different needs that may not overlap Contributors are customers! – Product is the project – Payment is contributions Customer collaboration is a constant Contract is the Open Source License
working on what you hope for Control is not explicit – There is no money exchanged – There are no contracts – Anyone may fork a project “Control” comes through mutually agreed benefits https://flic.kr/p/4wqLVF
are generally shared – High likelihood of overlap – Lack of overlap is not necessarily bad Problems are generally larger than the participants – Simple problems typically don't require open source Developers like to solve problems – Often, the harder, the better Transparency & Communication
– Everything that can be open must be open – People watch, then do – Open code is necessary but not sufficient for open source success Transparency builds teams out of loose groups https://flic.kr/p/4mnXV9
– Open Source requires a lot more – Written communication trumps all IRC/Chat E-mail Wiki docs Real Time Communication must be the last resort https://flic.kr/p/5UWkqe
practices assume a different environment – Well defined customer – Well defined team Adapting Agile requires: – Balancing two different customers Developers Those who pay you – More written communication Provides intrinsic planning Allows for participation Build the team from the community