A Proposal to Develop a Licensing Framework for Software Engineers in the State of Ohioby Tracey HughesDate Submitted: June 2007 PurposeThis 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.BackgroundMany 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:
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:
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:
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 OhioThe 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:
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:
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. LicensingLicensing 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:
Adoption of NSPE for Software EngineersThe 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. SCOPEThis 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.APPROACHWe 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:
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:
These concerns should be addressed by the task force. (G) Examine the eight approaches as alternatives to licensing
(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 ForceThe 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 report will be produced listing the recommended materials, why they chose the materials, and the purpose the material would serve within a licensing framework. PERSONNELA 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:
METHODOLOGIESThe Task would be broken down into areas of concern:
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/TIMEMembers 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.CONCLUSIONThe 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.CONTACTTracey Hughes logicworld@sbcglobal.netREFERENCESBooks
Reports
Standards
Articles
|