Friday, March 12, 2010

Beyond The Manifesto

It all started out with the Agile Manifesto of valuing:

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

Then there are the 12 principles of the Agile Manifesto covering continuous and frequent delivery at a constant pace, embracing change, team work, self organization, trust, craftsmanship, and retrospection:

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  •  Business people and developers must work together daily throughout the project.
  •  Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  •  The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress.
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity--the art of maximizing the amount of work not done--is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

This was followed by the Declaration of Interdependence:

  • We increase return on investment by making continuous flow of value our focus.
  • We deliver reliable results by engaging customers in frequent interactions and shared ownership.
  • We expect uncertainty and manage for it through iterations, anticipation, and adaptation.
  • We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.
  • We boost performance through group accountability for results and shared responsibility for team effectiveness.
  • We improve effectiveness and reliability through situationally specific strategies, processes and practices.

Then Jeff Atwood came along with the Programmer’s Bill of Rights:

  • Every programmer shall have two monitors.
  • Every programmer shall have a fast PC.
  • Every programmer shall have their choice of mouse and keyboard.
  • Every programmer shall have a comfortable chair.
  • Every programmer shall have a fast internet connection.
  • Every programmer shall have quiet working conditions.

Finally, there is the Software Craftsmanship Manifesto of valuing:

  • Not only working software but also well crafted software.
  • Not only responding to change, but also steadily adding value.
  • Not only individuals and interactions, but also a community of professionals.
  • Not only customer collaboration but also productive partnerships.

As the manifestos continue to evolve, what will be next?