This document describes the definition of an Open And Agile Development Manifesto and Principles. We have adopted and adapted the original for Agile Software Development and Twelve Principles of Agile Development to accomodate for the fact that an open development community is more diverse and distributed when compared to a typical agile development team.

Status

Second Draft

summary of changes and open issues in Draft 2

View a diff of changes between draft 1 and draft 2

Please see discussion of this document in our mailing list.

Manifesto for Open and Agile Software Development

Naturally we started this work with the Manifesto for Agile Software Development. We found that the vast majority of the Agile Manifesto was equally applicable in the open development space. However, one key difference was identified. The Agile Manifesto says "Customer collaboration over contract negotiation", we felt that the focus on "customer" here was difficult in an open development model since there is no single customer in an open project. We also felt that the focus on "contract negotiation" was out of place in an open development project where contracts are external to the open project. We therefore changed this line of the manifesto to Contibutor collaboration over organisational objectives in order to recognise that there are many types of contributor in an open project and that individuals within that project should consider the health of the project community over the individual interests of their organisation.

Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

Principles of Open and Agile Development

These principles are inspired by the Twelve Principles of Agile Development

We follow these principles:

  1. Our highest priority is to enable collaborators to "scratch their own itch" through early and continuous delivery of valuable software code [Collaboration]

  2. Welcome changing requirements, even late in development. Open and agile processes harness change for the collaborators competitive advantage. [Change]

  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. [WorkingSoftware]

  4. Build projects around motivated individuals. Give them the environment, support and recognition they need, and trust them to get the job done. [MotivateIndividuals]

  5. Optimal solutions are the product of collabarating minds. All decision making and development processes must facilitate distributed engagement, no contributor is to be unnecessarily excluded from participation. [Access]

  6. Working software is the primary measure of progress. [RealeaseEarlyReleaseOften]

  7. Open and Agile processes promote sustainable development. Open projects transparently capture, document and distribute their history to enable survival beyond the departure of any contributor. [ProjectMemory]

  8. Continuous attention to technical excellence and good design enhances agility. [TechnicalExcellence]

  9. Simplicity--the art of maximizing the amount of work not done--is essential. [Simplicity]

  10. The best architectures, requirements, and designs emerge from self-organizing teams. [SelfOrganisation]

  11. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. [Reflection]

  12. All constructive contributions, no matter how small, are to be encouraged, recognised and rewarded publicly [Recognition]

Justification of Principles

Suggested Principles from Expert Workshop

In July 2009 OSS Watch held an expert workshop where the following principles for open development were suggested. We note which principle covers each of these points below.

Agile Principles

Many of these principles are direct modifications of the original agile principles. The main difference is the change in focus from "customer" to "collaborator". That is we are focussing on the developers of the product. Note that in an open project developers can include customers of collaborators who would submit feature requests and bug reports.

The following agile principles have been removed or modified

Further Reading

OSSWatchWiki: OpenAndAgileDevelopment (last edited 2013-04-15 13:56:15 by localhost)

Creative Commons License
The content of this wiki is licensed under the Creative Commons Attribution-ShareAlike 2.0 England & Wales Licence.

OSS Watch is funded by the Joint Information Systems Committee (JISC) and is situated within the Research Technologies Service (RTS) of the University of Oxford.