Monday, March 26, 2007

How to deliver software on time?

After reading the article provided by Steve McConnell, it gave me a sense to bargain with my boss. You can find this article below in this post.

To deliver software on time is the most difficult task for me. I could say that it just like “Mission Impossible X – James Bone version”. Say, you have features A, B, and C in version 1 and deliver it within two months, then your boss want you to add on feature D without any adjustment on timeline. This feature most probably will drag seven days from your resource plan. What can you do?

For me, I’ll add feature D to meet my boss requirement, but I’ll cut down some fancy work for features A, B, and C without any adjustment on timeline. Of course you need to have a nice conversation with your boss as well. At the end of this conversation, your boss will still requires you to remain the fancy work for feature A, B, and C plus feature D. Then what can you do?

My suggestion is to tell him everything, tell him the problems that you are facing, tell him about your needs, negotiate the “MUST HAVE” features with your boss (ignore the NICE-TO-HAVE stuff), and also request for necessary tools and resources to speed up your development.

Learn to negotiate is a very good “subject” for developer to defence their timeline. Just like my mom bargain in sales. Developers should learn from them in order to buy the cheapest time. Conclusion, if you don’t negotiate about your needs, you will be three days two night without sleeping (or may be you sleep not more than eight hours) in order to deliver your software on time. What is the purpose of doing this? I am not saying that this is the wrong way of doing things. Unless the software project having a very attractive revenue. We should work hard and smart, but not work like a cow!

Article: How to defend an unpopular schedule

No comments: