Thought for the Dazed

I've had to give up that Distance Learning course as I was having trouble seeing the teacher.

Flickr
www.flickr.com
RobMiles' items Go to RobMiles' photostream
Twitter
C# Yellow Book

Search entire site
« Awesome Windows Phone Video | Main | Lensbaby Bendy Lens »
Tuesday
Apr302013

Read the Specification. Please.

IMG_6292_3_4.jpg

I think that more software projects fail because of misunderstandings about the specification than for any other reason. The developer makes loads of assumptions about what the program needs to do and the customer can’t be bothered to keep an eye on what is being produced.

I was reminded of this when I was marking the first year coursework today. We set a tightly specified set of deliverables and then each student has 15 minutes to show what they have made. This is a lot of work. It takes five of us two and a half days to work through everyone. And then I have to spend at least two days going through the marked sheets and making sure that all the marks line up.

This year we set some quite complex deliverables and it was very pleasing to see that many students had risen to the challenge and produced some lovely stuff. But some of them had made really nice solutions to the wrong problem, because they had not read the specification in detail. They’d just read enough to convince themselves that they knew what was needed and then gone off and built it. And in many cases they needed to do more work to make their version than they would have needed to make the one that was required. Oh well.

Of course in a teaching situation this is not a huge problem. Folks lost a few marks and we moved on. And hopefully a lesson was learned, which is what it is all about.

One year I’m going to produce a huge, complex piece of coursework with a long and highly detailed description which has, right at the end, the phrase “Please ignore all the above. Just make me a program that prints “Hello World” in large friendly letters.”…

Reader Comments (3)

Maybe even put that line a bit higher than at the end, so folks that read the start and end won't really see it :)
May 2, 2013 | Unregistered CommenterTimotei
Screwing up like that in Year One is really beneficial. I managed to do so more spectacularly in year four which wasn't so good.

Still I've learned a valuable lesson which I sum up as the engineer's vow:

I promise to implement the spec, the whole spec and nothing but the spec.
May 2, 2013 | Unregistered CommenterCarl Pickering
As I recall Peter van der Linden's book Just Java had a comment very like that at the end of a chapter on databases. It said that if you were assigned this chapter as a reading exercise then you had to do something non-obvious like send a email to whoever assigned the reading with the words "pink elephant" in the title.

As an aside, Peter's book Expert C Programming: Deep C Secrets is flat out the best book ever written on the C language. Totally entertaining yet very informative, it is literally the only book I've ever read on programming that I couldn't put down.
May 3, 2013 | Unregistered CommenterAndrew

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.