Simberon Design Minute
 

Changing Requirements

I'm finishing work on a long and painful assignment. The painful part was that the requirements changed several times during development. Those changes demanded considerable changes to code that was already developed and in the end cost much more in terms of time and effort than it should have. It started off as a very simple task. Then, features started to creep in. To some extent, feature creep is normal, but sometimes even seemingly small features add significantly to the complexity. In our case, the clients decided that they wanted one editor to be able to save the user's work in progress so they quit and continue it later. This one feature meant that the object now had to be persisted in the database. This means you need a way of getting back to it later, a way of deleting it if you never want to use it again, and a way to control who can see the object and what they can do with it. The complexity of the feature grew dramatically. In the end, they decided that the saving wasn't so important and agreed to go with out it but not after much time and effort was spent on it. It's best to work these things out ahead of time to avoid the thrashing when possible.

Download