Teradata Magazine Cover Teradata Magazine Online  
Register Help Password
Password:
Quick Links
Current Issue
Archives
Teradata.com
Teradata Magazine Rss Feed
ARCHIVES Search Teradata Magazine Online:  
RAISING THE BAR
Super models
A handful of quality models exist to help companies such as Teradata formalize best practices for quality. Some of these models include procedures directly applicable to software companies, while others address quality for all types of organizations.

Six Sigma: First created by Motorola Inc. in 1986, the model uses statistical methods to measure and improve success in meeting customer service requirements. The framework can be applied to a broad range of industries, including software development.

ISO 9000: Developed in 1987 by the ISO, an international standards organization, this quality framework offers guidelines for implementing and documenting high-quality processes across all types of industries. For accreditation, organizations must submit to an ISO audit twice a year.

Capability Maturity Model (CMM): Created in 1991 by the Software Engineering Institute, CMM provides procedures specific to creating repeatable, error-reducing software development practices. It remains one of the most widely accepted quality models for software companies worldwide.

Capability Maturity Model Integration (CMMI): Also from the SEI, this newer model, developed in 2001, builds on CMM with extensions that go beyond software engineering to include related fields such as sourcing and risk management.

 border=

Printable versionPrintable version Send to a colleagueSend to a colleague

Where form and function meet

Where form and function meet

Quality models provide standards for Teradata software development.

Software bugs aren't just annoying; they're costly. The U.S. economy loses almost $60 billion a year in costs related to errant software code, according to the National Institute of Standards and Technology. Bugs occur in today's large-scale enterprise applications primarily because the programs are so complex that writing perfect code almost requires a superhuman effort.

With so many interrelated components, even the best programmers with the best intentions aren't always perfect. Carnegie-Mellon University's Software Engineering Institute (SEI) estimates that experienced software engineers unwittingly introduce an average of 100 defects for every 1,000 lines of code they write.

So if diligence alone isn't enough, what can help software programmers produce high-quality programs?

The answer is software quality models, which are comprehensive process and procedure frameworks that are built on constantly updated best practices. Such models inject a commitment to excellence from a product's conception to its testing and delivery.

"Not every (company) uses them-just the smart ones do," explains Herb Krasner, director of the University of Texas at Austin's Software Engineering Industry Affiliates Program, a federally funded research and development group whose mission is to improve software-quality standards.

Art meets science
Frameworks make software development "more of an engineering discipline than an art form," says Jay Douglass, manager of business development at Carnegie's SEI. The organization developed two widely used quality models for software developers: the Capability Maturity Model (CMM) and CMM Integrated (CMMI). "In order for programming artists to do their magic, they've got to have a solid foundation to launch their creative talent," Douglass says. "Frameworks do this without stifling creativity; in fact, it's exactly the opposite. They standardize and take advantage of the best practices the industry has developed."

Teradata makes use of three such frameworks: CMM/CMMI, ISO 9000 and Six Sigma. Quality frameworks cover a wide range of activities for software publishers, including guidelines for an overall enterprise-wide management methodology and practices more narrowly focused on the job of producing high-quality software. Although they differ, each of these frameworks has the goal of making quality an inherent part of the organization's culture.

Software quality frameworks became an important part of Teradata's development process almost 15 years ago, when the company incorporated ISO 9000 into its business practices. While that methodology provided a standardized way to create, document and adhere to a quality policy, the model itself wasn't designed specifically for software engineering. Six Sigma, while an important part of Teradata's quality model mix, also doesn't apply specifically to software development.

So in 1997, when Teradata began using CMM, one of the oldest and most widely accepted approaches to reducing errors in software programming, the Teradata engineering community immediately embraced it.

"When we rolled out CMM, engineering said, 'This is what we should be doing,'" remembers Ron Weidemann, a Teradata senior consulting quality analyst based in San Diego. "It was immediately evident that these were best practices for a software company."

The framework includes close to 300 specific quality practices, nearly all of which Teradata associates believe add direct value to the development of Teradata products.

"I've been with NCR for 31 years, and this was the best received rollout of a corporate program I've seen in all those years," Weidemann recalls.

Since then, Teradata has seen concrete benefits from adhering to CMM. Overall software quality is improved and schedule milestones are met more consistently.

"We're more structured in how we do project management," Weidemann says. "Quality is part of the process itself, from the conception to the release of the product. CMM has also given us a more structured approach to project management, design, development and testing."

A particularly useful result of Teradata's CMM efforts is a communications infrastructure that allows development teams to share quality lessons quickly with other groups of programmers. This promotes what Weidemann calls "dynamic learning," the ability to discuss process and development refinements on an ongoing basis, not just during project post mortems.

To facilitate this exchange, Teradata created an Engineering Process Group (EPG) that is constantly looking for new tools and methods to improve software development. The company also has developed a Web-based collaboration system with repositories for process documents, best practice descriptions and project notebooks for easy access and deployment of improvements.

CMM isn't just important as an internal tool for Teradata. Enterprise customers increasingly view the use of the model as a valuable criterion for evaluating applications and vendors. "In 1997, we might have had one or two inquiries about whether or not we had adopted CMM," Weidemann recalls. "Now, we're getting maybe 30 inquiries a year. Some customers are demanding CMM as part of their RFPs-if you don't have it, you can't even bid."

Other organizations, including the U.S. Department of Defense (DOD), specify not only that contractors follow the CMM model, but also that they must have reached a certain level of "maturity" with the model. Appraisal teams evaluate CMM companies by comparing their software development methodology and processes to the industry's best, which are defined in the CMM.

"It's very clear that organizations that have become mature perform better, with striking differences in productivity and an order of magnitude better quality," Krasner says. This is why public-sector organizations such as the DOD "genuinely believe CMM adoption is a direct predictor of contractor performance," adds Douglass.

With seven years of CMM experience, Teradata is now moving to adopt the more extensive CMMI framework. CMMI builds on all the quality procedures in CMM by adding a number of related components that cover areas such as requirements development, supplier sourcing and risk management.

Douglass notes that CMMI is designed to meet a broader set of disciplines than just software development. "It deals more with the whole systems engineering world," he says.

Commitment is key
While their benefits are clear, quality models aren't always easy to implement, experts warn. The procedures are complex and require organizations to adopt fundamental procedural changes, rather than merely launch a few easy checklist items. "You don't just pick up a book and quickly read it," Krasner says, adding that the current CMMI documentation spans more than 700 pages. "There's definitely a steep learning curve."

Beyond that, the models often represent cultural changes, which quickly can lead to resistance among those being asked to do their jobs differently. "Organizational change is never easy," Douglass observes. "If you don't have senior managers in direct support of implementing a framework, then forget it. You can't do this from the bottom up. Everybody has to be on board."

Teradata's ongoing quality efforts have benefited from strong backing from several of the company's executives, including Alan Chow, senior vice president of Teradata research and development. "We made a presentation to him in February about whether we should migrate from CMM to CMMI," Weidemann explains. "He wanted us to aggressively pursue the new model."

Chow and Jason Chen, Teradata vice president of database engineering, have met with Watts Humphrey (CMM author) to present leading-edge methodologies that leverage the CMM/CMMI, called the Personal Software Process (PSP) and the Team Software Process (TSP).

Use of these methodologies has yielded improvement in quality during software development, and Teradata will be conducting two pilots in the third quarter of this year with the guidance of Humphrey and the SEI.

Weidemann observes, "We're fortunate to have this type of commitment from our leadership team."

© Teradata Magazine-September 2004




Copyright by Teradata Corporation 2001-2007.