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”.
| Attachment | Size |
|---|---|
| Have We Finished Yet.pdf | 183.88 KB |

No silver bullet
Hi Thomas,
I totally agree with you that there is no ONE solution that fits all problems. I've worked long enough in IT (hate to have to admit how long) to know that there are a multitude of different problems that we are trying to solve. I have seen too many 'ultimate solutions' come and go to believe that a single Agile methodology can be applied to all problems. Agile methodologies are by implication Agile! So the process needs to be changed to fit the problem not the other way round.
The Agile Alliance and Agile Modeling community recognise this fact and hence do not recommend a single methodology to fit all problems. They rather have a set of principles and best practices that should be followed no matter what methodology you are using. So the challenge is to find the best methodology to fit the problem AND the people involved in solving the problem. In some situations you will be able to be more Agile than in others but I firmly believe all problems will be solved more effectively by following as many of the Agile principles that the situation allows.
Regards,
Mike