1 A Mature Profession Of Software Engineering A Mature Profession Of Software Engineering Ye Yint Win EC Member (Myanmar Computer Scientist Association) Managing Director (Bizsoft InfoCom Systems ) Date : 29/08/2004 (MICT PARK )
2 Contents Introduction Components of Profession Relationship Between Components of Profession Components of Mature Profession Conclusion
3 Introduction Software engineering (SE) as a discipline and profession is relatively young, some even say “immature”. (SEI- tr004.96) Do we need SE profession to be matured in order to develop Software Industry? How the software engineering profession might develop?
4 Components of Profession In 1996, Gary Ford and Norm Gibbs, of the SEI, published a report on the software engineering profession [Ford 1996].
5 Ford-Gibbs Model [Ford 1996]
6 Initial Professional Education initial professional education to denote the portion of that course of study that is completed prior to engaging in professional practice. Under Graduate Degrees Diploma Other Informal Training Courses
7 Accreditation Accreditation is a designation that an organization or business has met a combination of standards and abilities that are put in place for public safety, welfare and confidence.
8 Skills/Professional Development “Skills development” concerns engineers developing practitioner skills by applying knowledge learned in their “initial professional education”. On Job Training; Internship On Job Training; Internship “Professional development” concerns an SE becoming a “professional”, and maintaining that status. Additional study Undertaken after beginning of Professional Additional study Undertaken after beginning of Professional
9 Most Important Knowledge Areas [Lethbridge 2000]
10 Least Important Knowledge Area [Lethbridge 2000]
11 Certification and Licensing Certification is a voluntary process administered by a profession. Currently there are many certification programs for various computing technologies. Many are brand name certifications (e.g. Cisco, Java/Sun, Microsoft, Novell, etc.) and Some of them do not deal with the software engineering profession directly. Currently there are many certification programs for various computing technologies. Many are brand name certifications (e.g. Cisco, Java/Sun, Microsoft, Novell, etc.) and Some of them do not deal with the software engineering profession directly. The IEEE-CS offers a certification titled Certified Software Development Professional (CSDP) The IEEE-CS offers a certification titled Certified Software Development Professional (CSDP) JITEC Cross Certification JITEC Cross Certification Licensing is a mandatory process administered by a governmental authority.
12 Ethics and Professional Conduct Many professions (engineering, law, medicine) provide a code of conduct that defines and motivates professional and ethical behavior by its members. Why should we be interested in ethics and professional conduct? In additional to technical capability, the quality of software products depend on the ethics and professional conduct of the engineers. In additional to technical capability, the quality of software products depend on the ethics and professional conduct of the engineers. Today the quality of software produced by software engineers is critical to society. Today the quality of software produced by software engineers is critical to society. The success of many, if not most, human endeavors is dependent on high-quality software Lives depend on the safety and reliability of many software systems
13 SE Code of Ethics and Professional Practice In 1999, an SE Code was developed by a ACM/IEEE-CS Task Force The code addresses eight areas of concern. The following is short version of the SE Code: PUBLIC - Software engineers shall act consistently with the public interest. PUBLIC - Software engineers shall act consistently with the public interest. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
14 Interaction among components
15 Maturity Characteristics Non-existent Does not exist, even remotely Ad hoc Some form exists, but it’s not necessarily identified with the profession Specific Exists and is clearly identified with the profession Maturing Existed for many years, falls under the management of a professional body, and is continually improved
16 Elements of a Mature Profession in Myanmar Initial Professional Education Specific AccreditationSpecific Skills Development Ad hoc CertificationSpecific LicensingNon-existent Professional Development Ad hoc Professional Societies Specific Code of Ethics Ad hoc
17 Conclusion Software engineering is “maturing” profession. We need to ensure: our IT industry practitioners have the correct qualifications our IT industry practitioners have the correct qualifications our educational and business communities communicate effectively our educational and business communities communicate effectively that IT professionals keep their skills current that IT professionals keep their skills current In the coming years the software engineering profession will have to deal with the issues of providing appropriate initial and life-long professional education to its members providing appropriate initial and life-long professional education to its members providing a framework to ensure that its members act in a professional and ethical manner providing a framework to ensure that its members act in a professional and ethical manner
18 Thank You
19 References 1.Ford, Gary and Gibbs, Norman E., A Mature Profession of Software Engineering, CMU/SEI-96-TR-004, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, ( 2.Bourque P. and R. Dupuis, eds. Guide to the Software Engineering Body of Knowledge, IEEE CS Press, Los Alamitos, CA., ( 3.Canadian Information Processing Society (