In 2001, a group of 17 esteemed programming gurus got together and decided to hammer out a set of policies which would comprise a manifesto for the agile method of (software) development. As to be expected, they found it quite difficult to reach agreements concerning what should be covered or even what comprised agile methodologies, but nevertheless, they were able to forge four core values from the summit, they are:
The values as they were originally printed are as follows…
1) Individuals and interactions over processes and tools
2) Working software over comprehensive documentation
3) Customer collaboration over contract negotiation
4) Responding to change over following a plan
If we were to extrapolate further meanings from these values we would arrive with descriptions which are similar to the following:
1) The Individual, communication and exchanges are always preferable over tools and / or methodologies
2) Functional software is always preferable over meticulous Beaurocracy
3) Emphasis should be placed on collaborating and servicing customers instead of endlessly debating and defining contracts
4) The ability to remain fluid and adaptive in the face of necessary changes which are integral to overall functionality
The agile manifesto is very important because it defines the correct attitudes that practitioners of the agile methodology should be entrenched in. This is to say that software developers who utilize an agile mindset in their everyday operations need to be aware of why and how they are conducting their operations, as well as who they are really serving and to what ends. Too often in the world of software development people become so enamored with their chosen method of working that they entirely lose sight of what should be their long-term objectives. This is especially true of software development project managers who might be inclined to develop “tunnel-vision” as they attempt to micro-manage various activities. The agile manifesto is simply one of the best attempts ever made to cut to the very heart of what top-notch software development should be comprised of.