Using MadLibs to Create Actionable Principles/Practices

MadLibs can be an interesting approach to capturing or identifying principles, practices, values … etc.

Here’s an example attempting to encapsulate principles of agile development:

  • Write code to pass tests over __________

  • Measure progress by working software over __________

  • Improve internal consistency and clarity of code through re-factoring over __________

  • Leverage real-time communication over written documentation __________

  • Build releasable software in short time periods over __________

  • Close cooperation between the business and developers over __________

  • Respond to changing and emerging requirements over __________

Here’s one example:

  • Leverage real-time communication over written documentation

Of course, you can also leave off the front and contrast with the behavior you’d like to change
_________ … over static and stale communication approaches.

Notice the ..x “over” …y approach for the practices/principles above.  Sometimes laws/principles/rules come across as common sense or “yeah, I already mostly do that” until you sharply contrast.  It’s a challenge to both the principle/practice author (am I striking the precise and accurate chord?) and the principle/practice follower (am I really changing behavior?)

This approach works for values too: 

  • Action-centric or code-centric over document centric.

This is the approach used in the Agile Manifesto

So if you’re responsible for identifying/documenting your organizations principles/practices/values, you might try using a MadLibs approach and a Wiki.