When coders have crazy unreadable code its referred to as “spaghetti code.” Single strands of code are impossible to trace through the tangled masses coders can weave. When this happens, it becomes incredibly difficult to understand the original intent of the code, the order in which changes were made, and how to go about making things better. This creates something known as “technical debt”. As time goes on, the difficulty in interpreting the code makes it time consuming and expensive to expand upon or to fix bugs.
It strikes me that this is very similar to the specifications that I have seen through the years. At project conception, one person might sit down and write a spec. Between conception and the start of coding, any number of people might edit that spec, introducing, editing, or removing features from the project. As the project begins and progresses, the spec is altered even more. Change orders occur. Off-line detailed conversations are hastily added to the spec or worse yet, included as an addendum. Soon we have spechetti - a document that has been through the hands of many, with differing intents, reflecting dozens of unrecorded conversations.
Spechetti creates a type of “legal debt.” Teams are required to satisfy difficult-to-decipher legal code that can be easily interpreted differently by others. Conflicts grow as interpretations diverge. Interpretations diverge the more granular (and difficult to find) operational clarity is in the spec. This makes the product time consuming and expensive to finalize.
The goal for projects should therefore not be to create a comprehensive spec that can be argued about at completion, but to create a legal and management system that actually drives agreement, clarity, and good business decisions while the project is in-flight. To do this, emphasis is placed on contracting for operational imperatives and not implementation specifics.
Existing contracting mechanisms create legal debt as a matter of course. We need a new kind of collaborative, non-punitive contracting system that replaces mounting legal debt with a mechanism that actually creates social, creative, and business capital.
Well, that sounds easy doesn’t it?
Tune in next time for what will kick off a series on Agile Contracting.





When: November 17, 2009
Where: Twitter
Modus Cooperandi is excited to announce our upcoming personal kanban project, where we will use our Personal Kanban techniques in a directed exercise with knowledge workers from around the world. From the 21st through the 25th of September, Jim Benson and Tonianne DeMaria Barry will be working with The World Agroforestry Centre and the World Bank to lead their Capacity Building Program on the Opportunity Costs of Reducing Emissions from Deforestation and Land Use Change (OpCost) Writeshop, at the World Bank Institute in Washington D.C. The intent of this directed exercise is to create a comprehensive technical document. As small working groups and as a unified team, participants will use personal kanban to maintain project coherence and track completion. The project is expected to achieve rapid release of a highly technical product by knowledge workers from around the world. The multi-lingual, multi-disciplinary group will benefit from personal kanban's visual controls and work flow.
On the 2nd of November, 2009, Jim Benson will be teaching Enterprise 2.0 as part of 