For those software development rookies, estimating an accurate time table for the tasks assigned to them seems a difficult job. Project manager always faces the same situation here: an repeatable development deadline postponement. As a developer with 4 years working experience, I still make a promise to my project manager sometimes to claim that the job could be done within x days no more. And usually I need to make an apology and ask them to give me more time to complete the task. Why such things always happen? Why developers couldn't avoid it happens? And no matter what new software development strategies or new development tools come out, the problem never be solved completely.
An important reason that developer underestimates development time is they only think about one feature at the time and miss the intersaction part in certain of functions. It usually happens on the rookie developers who have limited working experience or rarely join a scale software project. Also by the specification they made, we see the ambiguious design and roughly features. So for the co-work developers, it is hard to understand the whole picture in the blue print. Maybe for the rookies themselves they don't have a clue too! They just try to illuminate their idea by an immature mind.
Another key is developers always put too much features into "must have" list. They never figure out what kind of features are necessary and what kind of features should be considered as "nice to have". They always dream a fantastic picture about their software is going to be and are unable to see the implement difficulty. Well, in my words, developer especially rookie just like the share investor who always have a great confidence to the market and refuse to be aware of incoming bear wave. They will learn from the failure and grow but not now. They need to fall down at least one time to gain the experience and no short cut for them.
沒有留言:
張貼留言