One the greatest things about today’s software is the ability to build features quickly and easily. But that only feeds into one of the classic problems of the startup entrepreneur: scope creep. No, “scope creep” is not a high tech term for a creepy voyeur – it means the tendency of developers to keep adding “just one more feature” – until schedules slip, bugs appear, memory requirements soar, and software gets slow and bloated. Not that everyone one of those disasters will befall the well-meaning developer who tells the product manager – and I remember hearing this many times “but I can implement that over the weekend!”
As I was taught by Bob Frankston at Software Arts, development is all about rapid iteration: build something quickly, get it out, fix it or change it, release again – it’s a cycle. Focusing on your customers, beta testers, or just friends and family and responding quickly to their needs and feedback (not necessarily their wants!) can help avoid developers being left to their own devices and adding features willy nilly.
While the days of 20 page specs are long gone and certainly not missed, that doesn’t mean having a spec or project roadmap with clear deliverables, milestones, and dates isn’t still the responsibility of the programming team and/or product management.
As Peter Drucker said, “If you can’t measure it, you can’t manage it”. That goes for software: you need to be able to manage your software by setting up measurable goals, resource budgets, and schedules.
Scope creep is a bit like weight gain, if you never step on the scale and have a tendency to gobble up sweet stuff on sight, you are going to gain weight. Before you know it, you’re fat. No one likes fat, slow, and late software. So beware of scope creep!