Agile development can look a bit crazy, at first. I’m writing this guide to explain the foundations of agility, outline its benefits, and show why it’s not so crazy after all.… Read More

Alistair Cockburn points out that traditional processes are based on an assumption that people will successfully accomplish things that they normally struggle with. In particular, it is assumed that people will change their habits to follow detailed new instructions.  Unfortunately, humans aren’t very good at that!  Old habits die hard and, unlike the computers we… Read More

Why do agile methodologies work?  More importantly, why do they work better than traditional methodologies?  I’ll single out two reasons. (Martin Fowler’s excellent article provides many more.)  Agile methodologies work because: They recognise, and emphasise, creativity They are based on real-world experience… Read More

People like to have a clear, precise instructions for success.  We see this in diet fads, where there are very clear rules and the implication that if you follow the rules, you will succeed in losing weight. Some people also follow clear, simple rules for other difficult tasks – getting rich, picking winning race horses… Read More

Do agile processes need flexible contracts? What about fixed price contracts? Fixed Price You actually can use traditional “fixed price” contracts on agile projects.  The catch is, they’re not necessarily the best option. Simple Time and Materials “Time and materials” contracts are another option. The customer pays by the hour, with no pre-arranged limit. This… Read More

Here’s a simple pictorial overview of software development methodologies. Its main purpose is to show how Crystal Clear compares to several better-known processes.… Read More

“Conventional wisdom holds that specifying and controlling scope in a contract is necessary to protect an organization from self-serving behavior on the part of the other party. However, the effect of this protection is a sub-optimized value stream… The bottom line? Organizations that use outsourcing as a way to save money will save more money… Read More

While fixed price contracts can be used with agile projects, flexible contracts fit more naturally with the agile approach. But, under a flexible contract, how can we ensure that neither party is exposed to excessive risks?  This page describes one solution.  It is a very common solution, which I call “Cancel-After-Any-Phase”.  First, let’s consider the… Read More

[Note: this post is now many years out of date.  Some of the links and technical details are now out of date, and modern javascript applications are making the whole premise out of date too… but I still kind of miss rich clients ;-)] Why does everyone want web applications?  What happened to old fashioned… Read More