Let The Developers Add Lots Of Cool Features
How many times have you heard developers complain about the dreaded "feature creep?" "The customers have changed their minds again." "They want to add more functionality!" I used to shake my head at the seemingly fickle customers, too. Then I caught myself doing it! Feature creep, I mean.
Funny how subtle the "adding extra bits" disease can get you. One minute you're casually constructing a component, design in hand, and then you have (another) neat idea. It makes such sense to add an extra piece of functionality while you have "the hood up." "They will just love this!" is what you're thinking. Almost without knowing it, you've deviated from scope; the scary thing is that nobody may ever find out.
My advice to developers is to take a long, hard look in the mirror. You're looking at possibly the worst offender of feature creep. Not the customeryou.
I was project managing a Web development project recently. We were using prototypes and use cases to derive requirements. The prototype had just been frozen, and work on development was beginning. I offered to develop a couple of minor pages to help the team. Things were going swimmingly. I was cranking out ASP code like the wild thing I am. After awhile, I came across a question on the interface, and I pulled up the prototype to confirm. Whoa! It had changed! Luckily, I had instigated the shared room approach, and so could call out to the prototyper (or should I say perpetrator), "What has happened to the mockup?". You'll never guess what she said, "Well, I had this great idea last night..."
The annoying thing was that it was a great idea! So, I did what any sane project manager would do: I told her I loved the idea, but take it out. The customer had not asked for it; we are not going to deliver it. It was so small, so minor. Why not squeeze in this itty-bitty feature?
"How does a project get late? The answer is: "one day at time."
Bottom line: If you want to make your deadline, watch the development team and rigorously rein in changes. Or, should I say, cool ideas.