Recently, I’ve been hearing a similar theme about software project management from a couple of difference places. I like it so much that I want to pass it along.
When working on a project of any size, people naturally want to reduce or eliminate as many constraints as possible. We assume that adding more time, more money, and more people will help us deliver the end product we envisioned at the start. In reality, however, this doesn’t work very well. Parkinson’s Law says that
work expands so as to fill the time available for its completion and the Mythical Man Month says that adding more people to a project will actually make it run longer. As for having tons of cash, look no further than the many failed dot-coms that spent money so fast it was referred to as the “burn rate“.
The other, counter intuitive choice is to embrace and even create constraints. This is the approach used and evangelized by 37Signals, as discussed at Jason Fried’s Web 2.0 Conference presentation titled “Less as a Competitive Advantage“. I also happen to be reading Revolutionizing IT: The Art of Using Information Technology Effectively right now, which suggests similar limiting project scope based on time and people. Contrary to the title, however, the suggestions in the book aren’t nearly as revolutionary as those from the 37signals guys.