-
Notifications
You must be signed in to change notification settings - Fork 0
Reminders
Welcome to the Software-Development-and-Design wiki!
on Best Practices Column in IEEE Software by Steve McConnell
Study after study has found that motivation probably has a larger impact on productivity and quality than any other factor. However, motivation is a soft factor: it's difficult to quantify, and it often takes a back seat to other factors that might be less important but are easier to measure. Thus, many common management practices are penny-wise and pound-foolish, trading huge losses in motivation and morale for minor methodology improvements or dubious budget savings.
Without a coherent plan, projects tend to fall into a chaotic code-and-fix mode, which ios probably the least effective development approach for all but the smallest projects.
Projects that are in a hurry try to cut out nonessential activities, and since requirement analysis and architecture design don't directly produce code, they are easy targets for the schedule ax. This is also known as "jumping into coding". Time is wasted implementing hascks, which later have to be thrown out and redeveloped with more care. Projects that skimp on upstream activities typically have to do the same work downstream at anywhere from 10 to 100 times the cost of doint it earlier.
Silver-bullet syndrome occurs whenever managers or developers expect any single new tool or methodology to solve all their productivity problems. Silver bullet tools and methodologies damage projects in two ways:
-
New tools or methodologies virtually never deliver improvements as dramatic as promised.
-
Belief in silver bullets leads to serialization of improvements that could be made in parallel.
Because managers or developers put all their faith into one single silver bullet, they try promising new tools and methods one at a time, rather than two or more at a time, which slows the adoption of potentially beneficial new tolls and methods other than the silver bullet.
Generally, when a project is behind schedule, new people substract more productivity from existing staff than they add through their own work.
Short-cutting a day of QA activity early in the project is likely to add 3 to 10 days of unnecessary activity downstream.
Projects without early end-user involvement increase the risk of misunderstanding the project's requirements and are especially vulnerable to time-consuming requirements creep (需求蠕变).