Game Development Community

Project Management

by Eric Preisz · 12/14/2006 (10:19 am) · 5 comments

It's been a while since I posted and I thought I would kill some time before a meeting.

Just had an interesting conversation with someone about feature creep and I thought I would document some of my feelings on the subject as well as some other thoughts on project management in video game software.

1) Feature creep arises from the result of a successfully proceeding project.

2) If you don't feel like you are two weeks ahead, then you are two weeks behind.

3) It's not the things you schedule that cause you to miss milestones; it's the things you forget or don't know about.

4) An estimate without an associated risk is not an estimate.

5) I doesn't matter what you've done for someone. It's how they feel about it that matters.



#1 Feature Creep - when people feel good about a project they get excited. When they are excited, their imagination flows. Next thing you know, the fire hydrant you created now has facial animations and a pocket full of magic missile #5. If you don't see feature creep then your project is not going well. If you aren't actively managing feature creep and your project is going well then you are screwed.

#2,#3 Two weeks ahead - this one ties together with number three. It's what you don't forsee that kills you. Therefore, if you aren't two weeks ahead you are two weeks behind. If you are two weeks ahead, you don't have two additional weeks to add features.

#4 Estimates - I never give an estimate without an associated risk number. A job that you have done before that takes two weeks should not equal a job you have never done before that you THINK takes two weeks. The difference? Risk. If something goes wrong on job #1 you may loose a day. If something goes wrong on job #2 you could loose a month.

#5 Managing Expectations - If you've done nothing for a client and they feel good about it, then they are happy. If you've done a lot for a client and they don't feel good about it, they are unhappy. This tells us that making a client happy doesn't always mean the same as meeting their needs. Meeting their needs is not as important as meeting their expectations. The good news? Meeting expectations is manageable.

If you have a child and they never does anything but lie around, eat your food, use your electricity, you are not going to be happy. At the same time, that's exactly what your dog does and it's mans best friend. The difference? Your expectations.

But that's just my 2 cents.

About the author

Manager, Programmer, Author, Professor, Small Business Owner, and Marketer.


#1
12/14/2006 (11:00 am)
So, you're saying that there aren't fire hydrants resembling Desi Arnez that dance and sing "Babbalou" while hurling magic missiles at you in the Middle East?

I have to agree that the majority of feature creep comes from a project going well. I think if you feel like things are going well then you get overly confident and start looking for that coup de grace that will make it even better. I think the inverse of that is also true, where if a project isn't going well at all then you may start looking to add more features to make the project interesting or exciting again.
#2
12/14/2006 (12:04 pm)
Great blog. I wish more project managers actually understood this :P
#3
12/14/2006 (12:37 pm)
Good read. I agree with Scott though and would append to #1... I think theres actually two sides to feature creep.

1. You are right about the teams excitement about a project leads to feature creep. This is something that you have to be careful of. Do the new features really add value to the project or is it just a 'this would be cool if...' idea from the team. If a project is well funded and we are encouraged to come up with cool stuff that can be really great for everyone involved. I worked on an interactive project for the Navy where the client knew what they wanted, but it was up to us to come up with cool ways to do it and they loved it! That project was an awesomely challenging project and I loved developing it.

2. Feature creep from the client side of the project. I've seen a lot of projects get feature creep from the client. The project plan gets ammended and the team has to take the brunt of it. I think this is probably one of the hardest things to balance in project management. How do you push back on a client if they really want a feature but dont really consider the impact on the project itself? Any project manager who can balance client needs, wants, and expectations with the quality of life of the team will have my vote for president. I've been on many projects where the project manager doesnt consider the team and just says 'yea' to the client on features. Then I make them buy me dinner :D
#4
12/14/2006 (1:27 pm)
@Tom,

I compare client side feature creep to feeding your children candy for dinner. Sure, it's what they want but they are likely to end up with nightmares.

I think there is only one way to handle client side feature creep. Ask them to prioritize and trade the new feature for an old one and use your contract as your defense for the estimate you provided. If they want the best of both worlds then that should be added to the contract and you can provide an estimate. However, if you truly are managing expectations then you should have left a little room in your estimate to keep them happy (see #5).
#5
12/15/2006 (2:04 am)
Thats actually a good way to look at it with your analogy. Although I've been on projects where the client wanted what they wanted and didnt really want to spend more. This is what strains the relationship of the developer and client depending on how good or bad the project manager is at negotiating.