I have just been reading an article on the importance of scheduling and bug and feature tracking in software projects. Its a good article and worth a read, but its basic stuff really. However its often the basic stuff that gets neglected so don’t dismiss it on that basis. Anyway the article prompted me to think a bit more on the benefits of eating your own dogfood and regular/daily builds.
The key thing I missed in the previous article was the importance of the process to managing compromise, and often that compromise takes the form of cutting or dropping features in order to deliver to time and budget. The daily build/dogfood approach helps with this as follows:
- First it’s pretty key on all projects to put the basic platform elements in place first. These are the foundation elements upon which everything is built; they need to be the most reliable and therefore tested for the longest period. They are also needed normally before any realistic dogfood environment can be created. In my desktop example this basic building block would be a stable system image, with a core set of applications.
- From that point onwards you are into the features management game. Using …