Agile Preferences and Practices

Agile Preferences and Practices

The Manifesto for Agile Development declares four preferences and twelve principles.

It may be a coincidence, but the principles seem to nest comfortably under the preferences.

The four preferences

  • Individuals and interactions over processes and tools.

  • Working software over comprehensive documentation.

  • Customer collaboration over contract negotiation.

  • Responding to change over following a plan.

The twelve principles

  • Individual and Interactions 

    • 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.

    • The best architectures, requirements, and designs emerge from self-organizing teams.

  • Working Software 

    • Working software is the primary measure of progress.

    • Continuous attention to technical excellence and good design enhances agility.

    • Simplicity -- the art of maximizing the amount of work not done – is essential.

  • Customer Collaboration

    • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

    • 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.

  • Responding to Change 

    • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

    • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

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