Are We There Yet? Defining Product Release Criteria
What does “done” mean on a software project? How do you know if you’re ready to release? Here are some suggestions.
I’ve worked with some software organizations that always meet their delivery schedules. When it becomes clear that the project won’t finish on time, the team enters a “rapid descoping phase.” They defer some planned functionality, whiz through testing, and release on schedule a crippled system with quality problems that provides no value to anyone. Then they declare success because they delivered on time. Yes, they delivered something on time, but it bore scant resemblance to expectations.
Defining your product’s release criteria is an essential part of laying the foundation for a successful project. Release criteria must be realistic, objectively measurable, documented, and aligned with what quality and success mean to your customers. Decide early on how you’ll determine when you’re done and then track progress toward those goals.
How Do You Know When You’re Done?
No one builds perfect software products that contain every imaginable function and function flawlessly. Every project team must decide when its product is good enough to go out the door. “Good enough” means the product has a blend of functionality, quality, timeliness, customer value, competitive positioning, and supporting infrastructure in place to achieve business success.
There’s no perfect, simple measure of software quality. The customer view of quality depends on functionality as well as factors such as usability, reliability, and performance. You need customer input to the release criteria. How would your customers judge whether the product was ready for use, whether they could cut over to a new application that replaces an existing system, or whether they’d be willing to pay for the new product?
Internal quality also is important. Can the software be modified and maintained efficiently during its operational life? Is documentation in place for the support staff? The project might end when you deliver the system, but the product could live on for years to come.