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

re: Mis-conceptions of Agile methods

Mike,

You are spot-on, that was my misunderstanding.

Now I understand how to sell this... We sell it as putting the client in the change control seat and tell them that they can change anything they want, any time before it's built. We (the technical firm) act as advisors to try and shepherd them through the process so they don't make a silly decision, but if they decide that Functionality B is not required half-way through the project then that's fine, we dump Functionality B and build Functionality C.

Of course, the client has to be educated that that decision must be made BEFORE Functionality B is built... :-)

In fact, we already work in a way similar to this. We present clients with an a la carte menu of options with estimates (in my business they are really fixed-price) and the client can pick and choose.

This was very illustrative, thanks Mike!

--Brad Einarsen

    Sponsored Announcements & Special Offers

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