A Proposal to Develop a Licensing Framework for Software Engineers in the State of Ohio

by Tracey Hughes


Date Submitted: June 2007

Purpose

This document proposes that due to the low quality of software being manufactured and their critical use in our society, software developers should be licensed in the state of Ohio.

Background

Many organizations rely on computer-based information systems to support and implement many aspects of their information strategy. This software is used to store, retrieve, organize, distribute, interpret information that is considered vital to the organization's goals and objectives. Computer-based information systems such as:

  • transaction processing
  • management decision support
  • expert
  • data mining
satisfy different aspects of an information strategy. For modern organizations, the information strategy and the computer-based information systems have an interdependent relationship where the success of one is based on the success of the other and both determine the success of any organization.

Quality assurance defined by IEEE is:

A planned and systematic pattern of all actions necessary to provide adequate confidence that the item or product conforms to established technical requirements.

Software quality assurance seems to be an elusive concept that has plagued the software industry for decades. A study commissioned by the Department of Commerce's National Institute of Standards and Technology (NIST) released in May 2002, reported software errors cost the US economy $22 billion dollars. There has been many efforts to establish standards and dependable best practices to improve the quality of software and software development methods but there exist no mechanism to enforce those standards and best practices. New untested methods such as “Agile” design methodologies and "Extreme" programming has been introduced for the purpose of shortening the development process but not improving the quality of the software.

Universities have diluted their computer science core curriculum, making them less rigorous in order to attract more students. Given the degree of the impact computer-based information systems has on the information systems of organizations and businesses, software developers and manufactures have a professional, ethical, and should have a legal obligation to produce and maintain quality products by adhering to well established software development and quality assurance standards. The licensing of software developers will require them to adhere to those standards.

How will the licensing software professionals benefit Ohio?

An example of an information system is an ERP. ERP is an acronym of Enterprise Resource Planning. ERP systems integrate business activities of various functional departments by combining ERP software with an organization's business processes. Many universities in the state of Ohio has installed and will install ERP systems to replace their current financial, student records and registration, and alumni systems with the hope of becoming more efficient and saving millions of dollars of payroll cost by eliminating in-house software development. In 1997, Cleveland State University was one of the first to install a complete student administration application developed by PeopleSoft Inc. (PeopleSoft has recently been bought by Oracle, an international developer of enterprise software systems.) The installation was not installed on time and ran up millions of dollars in cost overruns. CSU decided to file a $510 million dollar lawsuit against PeopleSoft/Oracle charging breach of contract and negligent misrepresentation. CSU claims that after installing several modules in 1998, the software caused problems in processing financial aid, enrolling transfer students and recording grades. After installing “hundreds of fixes”, the software failed to work properly. CSU also accuses PeopleSoft of falsely assuring that their applications would run on the university's IBM mainframe. The software system debacle cost the university more than $5 million due to lost revenues and the university's inability to track and collect receivables. The university also had to purchase an additional mainframe and a Sun Solaris server with an Oracle database.

This debacle is not unusual. According to the The Standish Group's “Chaos Report” of 2004:

  • 15% of projects will be canceled before they are completed
  • 52% of projects are completed but over-budget, over-time estimate and lacking critical features and requirements
  • 34% of projects considered successful
The Standish Group's Chaos Report and the Caper Jones Report also contains:

  • the scope of project failures
  • the major factors that cause software projects to fail
  • a discussion on what is needed to reduce projects failures
The Chaos Report emphasizes the perspective of project managers where the Caper Jones report emphasizes the perspective of the development team. Both views impact on the software development process. According to project managers, two of the top three factors associated with failed systems are:

  • insufficient user involvement early in the development of the project
  • ambiguous, changing requirements.
These issues can be addressed by using standard software development techniques such as requirements acquisition and specifications.

The Capers Jones Report states that for large systems, such as ERPs, with 10,000 function points in size, unsuccessful projects averages 7.0 defects per function. 14,000 total defects occur during development phase where 80% are removed before delivery to the user. 20% or 2,800 of those defects are serious. This is compared to 4.0 defects per function and 95% removal for successful projects. Of the 2,000 total defects, only 10% or 200 are considered serious. For successful projects, 65% of the defects are detected and removed during design and code inspections and the other 30% are detected and removed during testing phase. Defect removal and detection for unsuccessful projects primarily occurs during the testing phase because design and code inspections are not performed. This limits the defect removal efficiency to only 80%.

In order to achieve software quality assurance, a Software Quality Assurance Plan (SQAP) must be developed. The SQAP establishes:

  • the requirements for quality software
  • the enforcements of procedures used to develop and maintain the software
  • the implementation of procedures which evaluate the quality of a software product
Design and code inspections and testing are apart of the SQAP. The SQAP does not just include the development of the software but it also includes the management, personnel, and documentation of the project.

IEEE has developed a standard for SQAP as part of the IEEE STD. 730-2002 accepted as an international standard in 2002. It was written to "provide uniform, minimum acceptable requirements for preparation and content of SQAP". This standard created by IEEE is one of many standards developed that can address the software development crisis and prevent such software debacles that occurred at CSU. The IEEE/EIA 12207 is a strategic standard that provides a framework for the software lifecycle process; it is an adaptation of the international standard, ISO/IEC 12207. We believe that the adherence to standards enforced by licensing and regulation holds the key to the improvement of software manufacturing.

Technology-based Economic Development in Ohio

The Third Frontier Project is a strategic plan to invest billions of dollars into private and public technology and science-based industries including but not limited to:

  • biomedical and life sciences
  • information science
  • electronics
and others. In the document “Innovation-The Future of Ohio's Economy: An Ohio Technology-Based Economic Development Strategy” 4% of Ohio's workforce are employed in science, computer and engineering related occupations. This is .5% below the national average. Of that 4%, 42% are in computer-related occupations, 19% below the national average concentration. 27% of Ohio's technology occupations are engineers. This is above the national average.

As far as education and training of professionals, Ohio has a number of educational institutions that graduate at least 50 students annually in a variety of technology fields:

  • 13 institutions with engineering programs
  • 14 institutions with advanced degree science programs
  • 32 institutions with computer science programs
  • 14 institutions with engineering technicians programs
These institutions generate more graduates in technology fields than jobs being created to employ those graduates. It is the goal of the "Third Frontier" project to invest in private and public industries in order to expand the market for technology-based professionals. This will also include an increased investment in educational institutions in order to continue to assure a high number of graduates. It is projected that computer programming and services will increase in large numbers that will double the current number of employees over the next 11 years.

As computer-based technology continues to grow and stimulate Ohio's economy, licensing will be an additional level in the development of a higher quality technology worker. This will help assure the economic growth in this sector.

Licensing

Licensing is a state activity required of those who provide professional services directly to the public. These professions are determined by the state that may include such services as electricians, engineers, nurses, physicians, dentists, and child car providers. There exist a licensing organization for the professional service that determines a model law and licensing regulations that is adopted by an individual state. An example of such a licensing organization is NSPE (National Society of Professional Engineers). The NSPE provides a model law and lobbies legislatures to adopt the proposed licensing regulation. There model law requires:

  • a four year degree from a university accredited by the EAC (Engineering Accreditation Committee) of the Accreditation Board for Engineering and Technology
  • an eight-hour examination on the engineering fundamentals
  • four years of acceptable experience
  • a second examination on principles and practice
  • written examination from other professional engineers
A professional engineer is required to be licensed in every state that requires a license she/he practices. The model law also requires professionals to be re-examined after so many years of practice. A licensed professional are accountable for their activities and assume legal liability if they practice beyond their level of competency. The state disciplines professionals by fines or lost of their license to practice.

Adoption of NSPE for Software Engineers

The model law for engineers is a model that can be used for licensing software engineers in the state of Ohio. It has also been suggested software engineers should be licensed by NSPE. This has been implemented in Texas and in Canada. In 1998, after many months of study, the Texas Board of Professional Engineers voted to add software engineering as one of the areas of engineering specialization for those seeking licensure. To date, the licensing in Texas has worked well due to the involvement and support of the software engineering and academic communities. Several universities have adopted undergraduate software engineering degree programs and has been accredited by ABET.

In Canada, June 2001, three Canadian universities were accredited by the Canadian Engineering Accreditation Board. Students have a choice of being accredited as computer scientists or software engineers. The graduates of these programs will be eligible for licensing as professional engineers after they gain supervised experience and pass the examinations on law and ethics. In September 2001, Canadian Information Processing Society accredited another university's program. There accreditation program has no legal component and graduates will not be required to be licensed engineers.

SCOPE

This proposal addresses licensing of software engineers in the state of Ohio should be be presented to the state licensing board. Its purpose is to identify the materials needed to develop a licensing guideline for software engineers.

APPROACH

We propose the construction of a task force that will identify the materials needed to develop a licensing guideline for the state of Ohio. It will be the goal of the task force to address the following:

(A) Determine if their is a "Body of Knowledge" for software engineers; exam materials developed by computer professional organizations that have created "Body of Knowledge" materials that could serve as a BOK for software engineers in the state of Ohio.

There has been efforts made by the IEEE and Software Engineering Coordinating Committee in developing a BOK. In 1998, ACM worked along with IEEE and SWECC to create a SWEBOK (Software Engineering Body of Knowledge) and recommendations related to licensing examinations. The ACM has since withdrawn from this effort labeling it as "misguided". But a SWEBOK has been developed, revised and finalized as of 2005. The SWEBOK does not classify itself as a 'body of knowledge' but a guideline to the development of a BOK. As quoted in the forward of the document:

“It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the body of knowledge that has been developing and evolving over the past four decades. Furthermore, this body of knowledge is not static. The Guide must, necessarily, develop and evolve as software engineering matures. It nevertheless constitutes a valuable element of the software engineering infrastructure.”

SWEBOK 2004 version includes guidelines for:

  • SOFTWARE REQUIREMENTS
  • SOFTWARE DESIGN
  • SOFTWARE CONSTRUCTION
  • SOFTWARE TESTING
  • SOFTWARE MAINTENANCE
  • SOFTWARE CONFIGURATION MANAGEMENT
  • SOFTWARE ENGINEERING MANAGEMENT
  • SOFTWARE ENGINEERING PROCESS
  • SOFTWARE ENGINEERING TOOLS AND METHODS
  • SOFTWARE QUALITY
  • RELATED DISCIPLINES OF SOFTWARE ENGINEERING

The SWEBOK could be used to define “course material, university curricula, university program accreditation criteria, job descriptions, role descriptions within a software engineering process definition, professional development paths and professional training programs, and other needs” as stated in the documents appendix. Any BOK would have to include existing standards and curriculum, and best practices.

(B) Determine if SE should be licensed by PE licensing body

Licensing SE as Professional Engineers has been adopted in the state of Texas. The argument against licensing SE as PE is it would require software professional to be educated in areas inappropriate to their field. The PE framework offers a specialization computer science component but may be too brief and narrow. The eight hour examination includes such topics as computer science along with several other fields:

Chemistry, Dynamics, Electrical Circuits, Engineering Economics, Ethics, Fluid Mechanics, Mathematics, Mechanics of materials, Statics, Thermodynamics.

A practicing engineer may be required to extrapolate knowledge from any of these fields.

(C) Determine if their are licensing bodies and frameworks that can serve as a model for the state of Ohio.

Although PE mechanism may not be an appropriate licensing framework for SE but it could serve as a viable model. Other licensing frameworks could also be examined. Certifications are also a possibility. Certifications already exist in the computer field and serve as a mechanism of competency in various aspects of computer technology. A volunteer licensing structure should also be considered.

(D) Identify professional agencies that could define performance criteria for software engineering licensing examinations.

In 1998, Texas approached the ACM to define a performance criteria.

(E) Determine if there already exist software engineering examinations that could be used as a basis for licensing and best practice examinations.

There exist many examinations developed by IEEE and ACM to measure competency.

(F) Address the concerns of the “ACM Task Force on Licensing of Software Engineers Working on Safety-Critical Software”

In 1999 ACM created two task forces to evaluate the SWEBOK. They were to determine ways the ACM may improve the quality of safety-critical software, and evaluate the SWECC efforts in the licensing SEs. The two task forces produced a final report in 2001 listing several reasons why they withdrew there support of the SWEBOK and efforts towards licensing of SE. The report stated:

“There have been suggestions by some government entities, by independent licensing bodies, and by individuals that software engineers should be licensed in order to protect the public interest. Having a licensing requirement might not solve the problem, however, and, in fact, it could make it worse. The real issue is not licensing per se, it is to determine how best to protect the public without unduly affecting engineering progress, the economy, the professions, or individual rights.
The report listed the following as there rationales for their conclusion:

  • Licensing as PEs would be impractical for software engineering
  • Licensing software engineers as PEs would have no or little effect on the safety of the software being produced
  • No attempt should be made to license software engineers engaged in the development of safety-critical software using the existing PE mechanism

These concerns should be addressed by the task force.

(G) Examine the eight approaches as alternatives to licensing
  1. (1) The development and use of a statement of ethical responsibility and codes of professional conduct
  2. (2) The specification of a standard software-engineering curriculum or body of knowledge
  3. (3) Revision of education strategies
  4. (4) Increasing oversight and regulation by the government
  5. (5) The development of standards
  6. (6) The development of codes of practice
  7. (7) Increasing the use independent inspection
  8. (8) Actions by the insurance industry and voluntary product and process certification.


(H) Determine how a state licensing program would handle software companies, vendors, and consultants from other states who wish to sell software in the state of Ohio.

Would there be a requirement on out-of-state vendors to be licensed in the state of Ohio in order to sell software to state government institutions and universities?

Artifacts of the Task Force

The Task Force will identify materials that can be used as a guideline to the development of a licensing framework for Software Engineers in the state of Ohio. These materials will include:

  • A Body of Knowledge or a Body of Knowledge Guideline
  • Fundamental and best practices examinations
  • A performance criteria
  • Recommendations of regulations

A report will be produced listing the recommended materials, why they chose the materials, and the purpose the material would serve within a licensing framework.

PERSONNEL

A Task Force would be created that will examine existing material, identify materials that could be used in the licensing program, and consider alternative approaches. The Task Force would be managed by a professional and student chapter of the ACM and IEEE in the state of Ohio. The ACM and IEEE are two of the largest, oldest, and most influential professional computer associations in the world. Both associations have been intimately involved in the licensing controversy and stand on opposite sides of the issue. Yet both are highly concerned with the low quality of software being produced in the industry.

The ACM and IEEE members would form the core of the Task Force. There would be atleast four ACM Professional members and up to four ACM Student members. The Task Force would also consist of two from each of the following categories:

  • Academic Administrators: representing the concerns of universities in implementing the curriculum based on the BOK guidelines
  • Professors: representing the concerns of the creation of course material, books, projects, examinations based on the BOK
  • Industry Professionals: representing the concerns of existing professionals
  • Representative (or a knowledgeable individual) from the Licensing Board: serve as a source of information on the process of licensing in the state of Ohio.


METHODOLOGIES

The Task would be broken down into areas of concern:

  • Body of Knowledge and standards
  • Examinations
  • Licensing Implementation
  • Existing Licensing Mechanisms
  • Alternatives to Licensing
Each area would be assigned to an individual from the Task Force. That person would serve as a chair of a subcommittee charged to investigate the area assigned. It would be their mission to gather the appropriate materials and develop an interim report. That report would then be presented to the whole Task Force for discussion. A final report would also be produced by the chair of the subcommittees. The chair would choose atleast three members of the Task Force to work with them on the subcommittee. They are to gather relevant materials and conduct a number of discussions in order to determine the best materials for that area. Individual reports will be combined into one set of recommendations to be presented to the licensing board.

The process would be transparent. A website would be developed to be used as communication to the community. When appropriate a “request for comments” would be posted inviting the members of academic, private industry, government, and associations to comment. These comments would be discussed before the final report is written.

COST/TIME

Members of the Task Force are asked to volunteer their time. There may be cost involved in buying standards or other documents. It should take the Task Force no more than two and half years to complete its final report.

CONCLUSION

The licensing of Software Engineers is a discussion that has persisted for many years. With software being used in every aspect of our lives, software errors and failures threaten public safety and lead to unacceptable losses. It is required that software development be raised to a higher level of quality assurance than the current ad hoc manner. Software professional have a moral, ethical, and should have legal responsibility to produce a product of the high quality. Licensing or some type of certification that assures the public a level of competency of software developers is now more necessary than ever.

CONTACT

Tracey Hughes logicworld@sbcglobal.net

REFERENCES

Books

  1. Hoffer Jeffrey A., Joey F. George, Joseph S. Valacich, “Modern Systems Analysis Design”; Publisher Benjamin/Cummings Publishing Company, Reading MA, 1996.

  2. Jacobson, Ivar “Object-Oriented Software Engineering: A Case Driven Approach”, Publisher Addison Wesley, Workingham, England 1992.

  3. Gordan G., James I. McManus, “Handbook of Software Quality Assurance”; Publisher Van Nostrand Reinhold Company, New York 1987.

  4. Rowlett, Tom, “The Object-Orieneted Development Process”; Publisher Prentice Hall, Upper Saddle River, NJ, 2001

Reports

  1. Caper Jones, “Caper Jones Report” 2004.

  2. Standish Group (2004), “Chaos Report”, September 2006, www.scs.carleton.ca/~beau/PM/Standish-Report.html.

  3. Technology Partnership Practice Battelle Memorial Institute, “Innovation-The Future of Ohio's Economy, An Ohio Technology-based Economic Development Strategy”: Cleveland, Ohio: The Ohio Department of Development,

Standards

  1. IEEE/EIA 12207 “US Software Lifecycle Process Standards”

  2. IEEE Computer Society Professional Practices Committee (2004) “Guide to Software Engineering Body of Knowledge (SWEBOK)”, CS Press, Los Alamitos, California

  3. IEEE, “Best Practices”; Vol. 15 No. 1, January 1998.

Articles

  1. Bagert, Donald “Taking the Lead in Licensing Software Engineers”; Communications of the ACM, April 1999

  2. Bagert, Donald J. “Texas Licensing of Software Engineers: All's Quest, For Now”; Communications of ACM, November 2002.

  3. Gotterbarn, Don, “Software Engineering As A Profession”, Johnson City, TN.

  4. Knight John, Nancy Leveson (ACM Task Force), “On Licensing of Software Engineers Working On Safety-Critical Software”; ACM Publication, October 2001.

  5. McCalla, Gord “Software Engineering Requires Individual Professionalism”; Communications of the ACM, November 2002

  6. Parnas, David Lorge “Licensing Software Engineers in Canada”; Communications of ACM, November 2002.