Space Short Monthly: dithering, inching and scope creep
Over time, I have become really good at mitigating scope creep.
Scope creep is when you have defined the purpose of your project, and from the purpose you get the features. And then the boss comes and asks —
And you’re like,
And then the boss explains how critical it is that the project also manage to do this and that and oh, don’t forget the other and-
You get the idea.
Now, sometimes the added feature really is important. However, sometimes it’s simply a reflection of the fact that projects take time, and the boss is already thinking of the next project. So the trick here is to ask questions, such as:
- What would happen if this feature would only be added in the next revision?
- Does this feature really belong in this project? Perhaps a separate project would be more appropriate?
- Do we have customers who expect this feature?
And depending on the answers, practice saying in a firm voice:
This feature will be added in the next revision, not the current one.
And I’m good at this. Really.
Unless it’s my own project.
Instead of using my hard-earned skills, I find myself dithering.
So what can help?
- Get opinions from people around you. Don’t ask them if to add another feature — you can always add another feature! — instead ask them “is the current product is good enough?”
- Create a deadline, even if it's artificial: “I will release on this date and no later”.
- Start creating a list for version 2.0.0, release, and start adding the new features.
I call the last option inching. I read about it first in Joel On Software about 15 years ago. The idea is that to get a good app, you need to first build basic functional code (though it has to be clear and readable! No spaghetti code here), and then, inch by inch (or cm by cm), you add a small improvement here, and then polish the UI there, and so on. In short, the process of programming is incremental. If I wait until Space Short is absolutely perfect, I will never release it. But I can release the first version, which despite my dithering is pretty awesome, and continue polishing it.
Do you dither? How do you solve it? Would love to hear your comments.
Understandably, part of the reason for my dithering and general instability is the current situation.
Image created using DreamStudio with prompt “Woman standing at a junction of paths with a lot of paths in a fantasy landscape”, Digital art style, and enhanced using GIMP. For reasons that escape me, choosing “fantasy art style” always results in a woman in a flowing white dress with long flowing hair. What kind of fantasy is DreamStudio watching…?