Quality

Achieving quality in IT development projects requires more than simply wishing for it to happen, or hoping everything goes right. Quality is a result of careful planning and develops naturally from an IT team that does not allow problems to escape the phase they were introduced. Quality is a team effort, it is without individual heroes. The best benefit: high quality output is both faster and cheaper than lower quality efforts.

A few of the lessons about quality we have learned:

Lesson #1: Simply keeping to a schedule should not be the basis for rewards. It doesn’t take exemplary effort to launch a worthless product on time. Instead, base rewards on quality metrics.

Lesson #2: Extraordinary rescue efforts late in the project cycle should not be rewarded. Instead, find reward efforts that resolve issues before they become a problem.

Lesson #3: Working your employees long hours may produce short term productivity benefits, but be aware that there will likely be long term costs.

Lesson #4: Always include QA and other project team members in all reviews, to ensure you receive feedback that is well-rounded and diverse.

Lesson #5: Documents sent by e-mail for approval are easy to ignore. No response typically means, “I didn’t have time to read it,” often incorrectly read to mean, “I approve.”

Lesson #6: If you start coding before requirements are stable and understood, have plenty of time available to cope with the frustration of reworking almost everything.

Lesson #7: Completing deployment depends on your product surviving testing and actually working. Effective testing is part of the development effort, not an optional item to jettison if your schedule is tight.

Lesson #8: If your test team is always grumpy, look closely at your process – they may have a good reason!