home

Have We Finished Yet?

by Suzanne Robertson

In his keynote talk on dependable software at the 2005 Requirements engineering conference, Daniel Jackson’s urged us to “move away from infatuation with completeness”. This started me wondering – how often does anyone ever finish anything? In our everyday lives we say we have finished cleaning the bathroom, cooking the dinner, watering the garden, ironing the shirt, cleaning our teeth and a myriad of other things. But we don’t really mean that we have finished. Instead we mean that we do not have any more time to devote to that task and we have done the best that we can within that constraint. We accept the fact that we have limited time and that few of life’s daily tasks are finished to one hundred per cent perfection. Why should building software systems be any different?

A common complaint of software developers is that they don’t have enough time to finish a project. People in other professions for example engineers, architects, doctors, composers have the same problem but they have learnt to treat this as a normal constraint of their profession. They accept that:

  • there will always be more to do than fits into the time available
  • dynamics of the world mean that there will be changes that necessitate negotiation and replanning
  • they need to be able to communicate their plans to their clients.

This perspective is about how software developers can use these principles to free themselves from “infatuation with completeness”.

AttachmentSize
Have We Finished Yet.pdf183.88 KB

Expectations about completeness

I'm beginning to think that I live in a different world than many of the other BAs here. A harsher world, a less cooperative world. I'm a bit worried that it's me, but I don't think it is...

This article is fine as far as it goes, and illustrates a very "Agile-like" mindset about requirements... create a list and do as much as you can and ignore the lower priority ones.

My world isn't like that. If I started with 50 business functions and the client was prepared to pay $50,000 for those 50 business functions I would get a very different response to the following quote from the article:

ME:
"We have implemented software to support these 35 business events and we can show you precisely which business requirements are supported by which pieces of software and what business value is being provided. The current plan is to add the remaining 15 business events to the second version of the software when the funding is approved.”

CLIENT:
"The plan shows 50 business events for $50,000. I'll pay you $35,000 now and pay you the remaining $15,000 when you've completed the remaining 15 business events."

The underlying assumption with all Agile-like methods of work is that the client understands and accepts that software is impossible to predict. I have simply not worked with these clients yet nor have I had any luck converting clients to that way of thinking...

Thanks for the article, very thought-provoking...

--Brad Einarsen

    Sponsored Announcements & Special Offers

© 2007-2010 Requirements Networking Group All rights reserved. contact | advertise | privacy
Requirements Networking Group