Why Pure Agile Doesn’t Work in Government: Part 1
When the 17 founders of the Agile philosophy met and agreed upon the values and principles of what has become the Agile Manifesto, they brought with them a wealth of experience, skill, and knowledge on developing, testing, and deploying software in private and commercial industries. But very few of the founders had much experience in developing software within the environment of government. As a result, the Manifesto reflects this limited background and does not align with governmental software projects.
The Agile Manifesto contains four foundational values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
While these values work very well within lesser regulated commercial markets, they don’t meet the demands of governmental requirements and mandates under which Federal, state, and local IT projects operate.
A more effective and appropriate set of values that make the necessary accommodations needed for public IT software-type projects are:
- Use of properly trained individual using vetted processes and tools
- Frequent delivery of working software and required documents
- User collaboration supported by flexible acquisition contracts
- Use of change-friendly processes described in meaningful plans
These modified values provide a more appropriate foundation for software projects within a government venue by shifting the mindset of both government agencies and their contractors towards an effective working solution that embodies the strengths of the Agile adaptive philosophy while supporting the more rigorous legalities of project management in government.
Agile and its many implements such as SCRUM, XP, Kanban, Lean, ScrumBan, and others are based on primary development methodology concepts of modular deconstruction, incremental application, and iterative processes. These concepts collectively provide a dynamic software developmental environment that facilitates a more discovery-based, collaborative approach allowing for a higher level of success.