Social Security Administration
With 65,000 employees and over 200 million potential or existing clients, the Social Security Administration (SSA) is the largest insurance organization in the world. Social Security protects more than 145 million workers and pays benefits to 44 million people. At more than sixty years old, it has been described as the most successful domestic government program in history.
An enterprise of this size requires multiple, complex computer systems and specially designed software capable of tracking the earnings and benefits of tens of millions of people. SSA's Office of Systems, where half of the 4,000 employees are involved in software development, is the place where these programs are written and tested.
According to Dennis O'Mailey, leader of SSA's Software Measurement team, there are approximately 100 programs in use, with another 30 to 40 in development, at any given time. "Of the systems that we're maintaining, about 90 percent are written in Cobol," he says. "The new developments are in a client/server environment."
Dealing with Missed Orders of Magnitude
The Software Measurement team is responsible for estimating the size, effort, and schedule of software development projects; tracking the progress of existing software projects; and helping to institutionalize a process engineering tool within the Office of Systems. The group is also helping SSA become CMM (Capability Maturity Model) Level 2 and 3 compliant.
"With more than 600 programmers developing and maintaining many systems, we had a need for an accurate software estimating tool. The general feeling was the estimates we had were not good," says O'Mailey. "On many projects, we missed things by orders of magnitude. A good estimate depended on the knowledge and experience of the project manager. Project managers who were on a project for many years were more accurate than newer ones."
In August 1997, SSA's Office of Systems purchased SEER-SEMTM from Galorath Incorporated (www.galorath.com) of El Segundo, California. SEER-SEM is a parametric development and program management tool that predicts, measures, and analyzes the resources, staffing, schedules, and costs of software projects.
Perfecting the Tool
Currently, SSA is using SEER-SEM on dozens of projects and plans to use it for all software development and maintenance. "We do ‘what if ' analyses with the tool," says O'Mailey. "We change parameters and see what would happen. The ‘what if ' analyses are a big help."
"It's a quick tool for estimating size and effort on software projects," he adds. "Once the model is built for a project, you can run it over and over again. For example, as you make progress in a project, you can keep improving your estimates because you have more information."
"We're presently estimating all new projects, but we intend to also use SEER-SEM for maintenance," says George Freed, a senior metrics analyst who works with O'Mailey. "We'll use it to determine the cost of maintenance and whether or not we should drop a project."
They both find SEER-SEM's accuracy promising. "SEER-SEM is the kind of tool that the longer you use it, the more it can be refined," says O'Mailey. "Generally, the project managers we're dealing with think SEER-SEM estimates are on target."
Meeting CMM Requirements
O'Mailey and Freed's group has been working with SSA's Software Process Improvement team to speed the organization toward CMM compliance. CMM, which originated at Carnegie-Mellon University's Software Engineering Institute, is aimed at providing reference models for integrated process improvement and building a broad consensus of software standards.
"CMM is important," says O'Mailey, "because it means your software development operation is mature, not chaotic, and that you have a standard methodology for developing your systems." He points to a section of CMM called Software Project Planning (SPP) and quotes one of its central requirements: "‘Estimate the software project's effort and cost according to a documented procedure.' Our documented procedure is the use of SEER-SEM," he explains.
SEER-SEM allows us to calibrate the SSA experience to the tool," says Freed. "Once we can get SEER-SEM to echo our experience, we can make it more accurate. We want to be able to tell our managers within a realistic realm of possibility how long it's going to take to complete a project."
"If you manage your project from a good plan, and an integral part of that plan is a good estimate, there is going to be significant cost savings," says O'Mailey. "But the real benefit of SEER-SEM is helping project managers measure effort and schedule early in the project. The key is to know early in the game and throughout the life of the project how long the project will take and what resources it will require."