IEEE Software Engineering Standards Collection
In their article “Professional Software Engineering: Fact or Fiction?” (IEEE Software, December 1999), Steve McConnell and Leonard Tripp described the following seven essential elements of a mature profession:
Initial professional education
Accreditation of college curricula
Certification and/or licensing
Code of ethics
Because you have obtained this CD-ROM from the IEEE, you probably already understand the role of the professional society and you probably already have an initial professional education from an accredited college or university. This section will briefly describe the other items listed above.
Typically, education alone is not sufficient to develop the needed capabilities of a professional practitioner. Post-education skills development, typically under the supervision of other professionals, is important to obtain necessary practical skills. For software engineering, those skills are defined by the Software Engineering Body of Knowledge (SWEBOK). This CD-ROM contains the text of the SWEBOK Guide. More information about the SWEBOK project can be found at its web site at http://www.swebok.org.
After attainment of a professional degree and a period of skills development, many professions lead to an examination of one’s capability to undertake professional practice. In some cases, this examination is performed as a state-mandated licensing process. In other cases, a voluntary certification process is used. Although there are some exceptions, it is not yet typical to license software engineers. However, the IEEE Computer Society provides a voluntary certification, the Certified Software Development Professional (CSDP), to address the need. More information about the CSDP program can be found at http://computer.org/certification/.
Even after licensing or certification, professionals continue to maintain and improve their knowledge and skills through continued professional development. One aspect is the usage of professional standards, such as the ones contained in this CD-ROM. Many practitioners will want to improve their profession by contributing to the development of standards.
Within the IEEE, software engineering standards are developed by the Software Engineering Standards Committee (SESC; http://standards.computer.org/sesc/), which acts under the auspices of the IEEE Standards Association (IEEE-SA, http://standards.ieee.org/).
Another aspect of professional development is continuing education regarding new technologies. One source for continuing education is the IEEE Computer Society’s Distance Learning Program (http://computer.org/publications/dlib/).
Mature professions have a code of ethics to ensure that its practitioners conduct themselves in an ethical manner. Although enforcement mechanisms vary in strength, all address the need to articulate professional norms for conduct. The IEEE Computer Society and the Association for Computing Machinery have cooperated in the development of a Software Engineering Code of Ethics, contained on this CD-ROM. Additional information about the Code of Ethics can be found at http://computer.org/certification/ethics.htm.