Of Broccoli and Stoppers

I don't like broccoli. Never have. Give me a plate of food with some broccoli on it and I'll eat the broccoli first. This is because I like to get rid of the bits I don't like before moving onto the stuff that I do. Note that I don't leave the broccoli. That would be impolite. And a waste of food.

I do this kind of thing in software projects too, as I was telling my project students this week. I reckon that step one of any project is to "Identify the stoppers". Stoppers are the tricksy things that must be made to work otherwise you don't have a working system. It might be storing the data. It might be getting the network to connect. It might just be being able to compile and run a program on the target device. These are the "broccoli" in your project. And you should eat them first.

It's tempting to start with the easy bits and leave the nasty, difficult bits to the end. However, this can lead to problems. You really don't want to be doing the hard bits when you are under time pressure at the end of the project. And you really don't want to find out at the end that one of your "stoppers" is actually impossible. Much more recoverable if you find out at the start.

I've asked my students to identify the stoppers in their projects and report back at the next meeting.