7 Sensible Steps to Improve Software Quality
These pragmatic practices, from Forrester Research, won't break the bank, cause a revolt among application development team members or slow down development processes.
Tue, August 17, 2010
CIO — Software bugs are called "bugs" for a reason: These pests have been around for a long time, they always turn up in code at the most inopportune times, and there's no proven way to eradicate their existence.
Today's brutal business climate—a dearth of time and staff as well intense cost pressures—have made "the need for speed" a more apt mantra for development teams rather than assuring that "quality is job No. 1."
But that doesn't mean those apps dev teams have to accept the way it is ("Software will always have bugs") and toss away any notions of improving the quality of their code.
A new Forrester Research report, Seven Pragmatic Practices to Improve Software Quality, by analysts Margo Visitacion and Mike Gualtieri, offers practical, reality-based ways teams can make progress on improving their code's quality. (Forrester defines quality software as: "Software that meets business requirements, provides a satisfying user experience, and has fewer defects.")
[ Go inside American Eagle Outfitters' 8-Day Website Nightmare and Zappos.com's $1.6 million pricing mistake ]
The analysts are well aware of the top issues that plague application development teams, which is why their nuggets of wisdom aim to minimize the potential costs and pain involved.
"Many enterprise application development teams invest in tools, processes and people, yet many still struggle to improve quality," write Visitacion and Gualtieri. Hence, the analysts claim their seven pieces of pragmatic advice won't break the bank, cause a revolt among team members, or slow down development processes.
"Quality cannot be sprinkled onto an application right before it gets exposed to your clients," the analysts write. "Rather, it must be a part of the entire software development life cycle (SDLC) from inception through implementation. As such, responsibility for quality falls squarely on the shoulders of the application development manager—it is not solely the responsibility of QA professionals." Here are brief encapsulations of the seven steps taken directly from the Forrester report:
Pragmatic Practice 1 Define Quality to Match Your Needs
Impact on Quality: Meet business requirements; achieve a satisfying user experience.
Benefit: Your ability to achieve quality is improved because the application development team is not charged with unrealistically perfect expectations. Rather, it is chartered with a definition of quality that fits the given time, resource, and budget constraints.
Relevant Roles: Business stakeholders; entire application development team.
Pragmatic Practice 2 Broadcast Simple Quality Metrics
Impact on Quality: Reduce defects.
Benefit: Highly visible metrics keep quality top of mind for the entire team and expose when efforts fall short.
Relevant Roles: Entire application development team.