21 Rules of Thumb for Shipping Great Software on Time. Jim McCarthy's essay 21 Rules of Thumb for Shipping Great Software on Time has wonderful advice for managing software projects. I couldn't say it better, and probably a lot worse.
Shipping great software on time is a difficult but not impossible task. Elements you think would count the most count for very little. Development methodology, process, technical prowess, excellence of tools and depth of project management skills all influence the outcome of a software development project; but nothing indicates success as much as the managerâs ability to focus on a few critical and conceptually simple things. These things can be expressed as rules of thumb.
I enumerate twenty-one of these rules of thumb. Pick a handful (or so), apply them, and your project will be more likely to succeed. I lump them into three groups: “Shipping,” “Great Software,” “On Time”. Duh. I cover them in a different order, because the concepts build a bit.
This step is particularly controversial, especially when you read the article comments:
12. Portability is for canoes: This sounds a bit dated. Back in the early 90's when this article was probably written, writing cross-platform software was really hard. Nowadays, we have so many options (Java, Mono, Perl, PHP, Python, etc). If you don't like Microsoft, you can use this as proof of their selfishness, but the truth is that most BigCo's act like this. Nevertheless, Jim is right when you are behind schedule – the number of platforms you ship on is one of the first things that developers should reduce. [PHP Everywhere – Thoughts on PHP and other programming technologies by John Lim]