future of sweed
DESCRIPTION
Presentación del Dr. Jorge L. Díaz-Herrera. The Future of Software Engineering Education. Charla dada el miércoles 3 de abril de 2013 en el Decanato de Ciencias y Tecnología.TRANSCRIPT
The Distinguished Visitors Program
The Future of Software Engineering Education
Dr. Jorge L. Díaz-Herreraprofessor and president
Keuka College, New York, USAfounded in 1890
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Introduction
The Challenges
Future Trends
Conclusions
The Future of Software Engineering Education
➡ Software is critical to strategic advances
2
Yet software success rates are disproportionally low!
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Software has become the bottom line for many organizations, even those who never envisioned themselves to be in the software business
Deploy new products and servicesAccommodate growing demand for new featuresConnect products in unexpected waysExploit rapidly changing technologyGain a competitive edge
3
Software is critical to strategic advances
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Horror stories of colossal Sw project failures abound
US$150B/year from project failures in US, with a further US$140 billion in EU
How did we get here?Unprecedented demand
Unforeseen problemsUnqualified professionals
4
Yet software success rates are disproportionally low!
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Inherent Difficultiessoftware turned out surprisingly complex and very easy to change
Accidental DifficultiesSoftware development methods andtools have become major traps!
* Fred Brooks, No Silver Bu!et, C.ACM 1987
5
UnforeseenProblems
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program No Physical Limitations
Software is governed by real constraints, but these tend to be multidimensional and abstract
Unrealistic expectations: If I tell you that I’m going to build a 1000 meter long concrete beam suspended at one end only, will you believe me?Of course no, you know it can’t be physically done!
But, anything and everything is possible is software!
6
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Changeability
“People believe software to be flexible, and therefore they flex it. They flex it beyond reasonable boundaries" (J. Millar)
Inability to visualize its boundaries encourages people to change their mind more frequently Excessive requests for new features or alteration of functions introduce unnecessary and undesirable complexity
7 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program UnforeseenProblems
Customer needs
Requirementsget lost
Designers unable to understand requirements
Design
Design corruptedas problems fixed
Developers unable toimplement design
Development
Patches slipped inwhen no one looking
Developers unable tomanage the “pieces”
Buggy softwarepassed on
TestingDevelopers unable to
fix found problems
Deployment
Wrong solutiondelivered
People can’tuse system
8
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Cobb’s Paradox
"We know why projects fail,we know how to prevent their failure –so why do they still fail?"
M. Cobb, Canada Treasury
9 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program Unqualified Professionals
Professionalism is absent
Education for practitioners is lacking
Project management importance is not well understood and underrated
Risk management is not applied effectively
Research is not reaching the practitioner
10
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
√ Introduction
The Challenges
Future Trends
Conclusions
The Future of Software Engineering Education
➡
11 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
We argue that the software engineering community could have a significant impact on the future of the discipline by focusing its efforts on improving the education of software engineers.
There are some bright spots There remain several key challenges
Improving SwE Practice
12
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
SwE Challenge
Put a process in place supported by methods, techniques, & tools to facilitate creation & continued dev. of software ... A difficult task
Technical problems (Complicated artifacts)Human factors (communication problems)Economics aspects (Labor-intensiveness)Uncertain information (Incomplete theory)Unstable and unpredictable qualityConflicting project goals
13 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
The Challenges
1) make programs attractive to students
2) focus education appropriately
3) communicate industrial reality effectively
4) define curricula that are forward-looking
5) provide education for existing practitioners
6) make education more evidence-based
7) ensure educators have essential knowledge
8) raise prestige and quality of SwE research14
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
(1) Programs’ appeal
Making programs attractive to appeal to good students and meet societal demand
Negative stereotypes tend to focus particularly hard on SwEMany bright mathematical minds interested in computing tend to be attracted to CS not SwEThe somewhat-true perception that SwE is much about process and not technical enoughsoftware quality is very bad ...
15 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
In ALL engineering disciplines a corresponding BS degree is required.
Professional Entry
16
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Professional Level ITWorkers
IT Degrees, including:Computer & information sciences, generalComputer scienceComputer systems analysisInformation services and systemsOther computer and information sciencesComputer and systems engineeringComputer programming
Engineeringother than Computer and Systems Engineering
Natural Sciences
Mathematics
Social Sciences
Business
Other
Of professional level IT workers
who hold bachelor's or higher level
degrees,87.5%
hold degrees in science, math or engineering
Educational Background of Professional-level IT Workers
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program 2) Focus Education Appropriately
Understanding SwE dimensions so we can focus education appropriately
What are the different educational needs of
computer scientists, computer engineers, networking engineers, software engineers, information systems, and web site developers, games developers, real-time systems developers, etc?
17
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Professional Level ITWorkers
IT Degrees, including:Computer & information sciences, generalComputer scienceComputer systems analysisInformation services and systemsOther computer and information sciencesComputer and systems engineeringComputer programming
Engineeringother than Computer and Systems Engineering
Natural Sciences
Mathematics
Social Sciences
Business
Other
Of professional level IT workers
who hold bachelor's or higher level
degrees,87.5%
hold degrees in science, math or engineering
Educational Background of Professional-level IT Workers
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
18
Knowledge Spectrum
Human factors
Social and economic issues
Politics & Law
Art
Architecture
Psychology,sociology
Economics
Industrialdesign
theo
ry
Science ProductionInstallation
EngineeringScience
EngineeringTechnology
EngineeringDesign
prac
tice
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Human factors
Social and economic issues
Politics & Law
Art
Architecture
Psychology,sociology
Economics
Industrialdesign
theo
ry
Science ProductionInstallation
EngineeringScience
EngineeringTechnology
EngineeringDesign
prac
tice
19
TechnicalProfessions
Discovers, creates new theories and principles
Scientist
Designs new artifacts applying engineering principles
and science
Engineer
Provides end-user solutions
Technologist
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Human factors
Social and economic issues
Politics & Law
Art
Architecture
Psychology,sociology
Economics
Industrialdesign
theo
ry
Science ProductionInstallation
EngineeringScience
EngineeringTechnology
EngineeringDesign
prac
tice
20
Computing Knowledge
• Symbols & abstractions• Computability Theory• Switching Theory• Information Theory• Algorithms and complexity
theory
• Design Process• Analysis &
Design Methods• Measurements
• Development environments• Implementation standards• V&V; Syst. Prototypes
• Syst. Admin.• Strategic planning• End-user support
• System Software• Information Storage• Computer Architecture• Computer and
Communications Systems
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program Computing Curricula Project (ACM/IEEE)
Computing Curricula 2005 – The Overview Report
! The computer engineering community published its CE2004 report in 2004 [CE2004].
! The CC2001 prediction of additional emerging computing disciplines has already proved correct. A
report on degree programs in information technology is under development. We anticipate that it will
be published in 2006 and thus refer to it as IT2006.
The diagram in Figure 1.1 represents the scope of what has become the Computing Curricula Series, a
continuing effort to provide guidelines and standards for computing curricula. The top-level Overview
block, CC2005, represents this report. Each of the first five sub-blocks represents a curriculum report for
one of the existing computing disciplines. The sixth sub-block is a placeholder for future reports on
additional computing disciplines as necessitated by the emergence of new computing disciplines. Online
copies of the computing curricula volumes can be found at http://www.acm.org/education/curricula.html
and http://computer.org/curriculum.
1.4. Guiding Principles
Five principles guided the development of this report.
1. The dramatic growth in the number of computing disciplines and their collective impact on society
requires that the computing disciplines articulate a shared identity. Given the importance of
computing to society, we in computing have a responsibility to help society understand what we do.
The fact that computing offers several kinds of academic programs is a major strength and an
opportunity but requires that we offer society a practical vision of our shared field, of the various
disciplines within it, and of the meaningful choices that face students, educators, and their
communities. The goal of this report is to articulate the shared identity, the separate identities of each
computing discipline, and the choices available to students, educators, and communities.
CC2001
(CS2001) Computer Science
Curriculum Volume
IS 2002
Information
Systems Curriculum
Volume
SE 2004
Software
Engineering Curriculum
Volume
CE 2004
Computer
Engineering Curriculum
Volume
IT2006
Information Technology Curriculum
Volume
CC2005
The Overview Volume
on Undergraduate
Degree Programs
in Computing
Other
curriculum volumes as needed for emerging disciplines
Figure 1.1. Structure of the Computing Curricula Series
Page 7
http://www.computer.org/education
21
Currently
under
revision
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
22
A Computing Spectrum
Software Engineering
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
23
Computer Science
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
24
Computer Engineering
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
25
Information Systems
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
26
Information Technology
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program 3) Communicate Industrial Reality
How to improve the synergy and communication between industry and academia?
What industrial practices are currently not being taught? How effective are these practices? Which should be taught to undergraduates?
Industrial Advisory BoardsSchool and program levels
27 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program 4) Define Forward-looking Curricula
Defining curriculum standards that are forward-looking
How can we achieve the level of understanding of industry practice necessary to create forward-looking curricula, taking into account academic constraints?What curriculum innovations should be considered?
28
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
November/December 2006 IEEE SOFTWARE 1 9
29 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
30
Currently
under
revision
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
SwE 2004 structure
Software Engineering Education Knowledge (SEEK)
Guiding principles (11)
Student educational outcomes (7)
A set of general guidelines (19) to help curriculum designers and educators
Model curricula (suggestions for how courses can be grouped)
Sample course descriptions (to which suggested SEEK coverage is described)
31 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program 5) Educating Practitioners
Provide education for existing practitioners“education, rather than technology, holds the key to improvements in software project success rates,”“Education is required at all levels, from senior directors to end users.” “The levels of professionalism observed in software engineering are generally lower than those in other branches of engineering,”
The Challenges of Complex IT ProjectsA report by members of the Royal Academy of Engineering and the British Computer Society
32
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program Certification and Licensing
Vary from country to country
Obtaining an engineering license now available to software engineers in some US states, and all Canadian Provinces
in the UK the British Computer Society and The Institution of Engineering and Technology offer Chartered status to suitably qualified and experienced members
33 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
International, IEEE-CS establishedAlignment to SWEBOKExam based on SE2004 guidelinesTest sites on all continents
Certified Software Development Professional
34
http://www.computer.org/portal/web/certification/csdp
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Preparation
CSDP Online CourseCSDP Workbook: A Self-Study Guide for Today's Software Professional - new publication CSDP Resource Guide -3rd edition now available Instructor Led CoursesCSDP Registered Education ProvidersCSDP Registered Preparation MaterialsSample Test QuestionsCompilation of Software Engineering TermsRecommended ReferencesCSDP Study Group Forum (yahoo: ieee-csdp)
35 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Other Challenges
6) make education more evidence-based
7) ensure educators have essential knowledge
8) raise prestige and quality of SwE research
36
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
√ Introduction
√ The Challenges
Future Trends
Conclusions
The Future of Software Engineering Education
➡
37 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Initially as a sub-discipline of CS
1970s: Masters programs appeared
1990’s: Explosion of progressBS degrees in US, Canada, UK, Australia, etc.Ph.D. programs separate from CS (e.g., CMU
SwE Education
Ph.D. programs MS programs BS programs
Research Disseminate Practice
38
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
SwE Coming of Age
Cooperation ACM, IEEE, BSC, JIS, IFIP, ...
Code of Ethics
Body of Knowledge (SwEBoK)
Educational Accreditation Criteria
Separate curriculum vol. (SE2004)
BS, MS and Ph.D. programs
Licensing & Registration Legislation
Professional Examination (IEEE CSDP)39 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
What Works
Industrial strength engineering:Cataloguing known solutions & systematic, strategic reuse via product lines
Project Management: Adherence to basic, well-established engineering management principles
Security Engineering: A rigorous engineering practice where security concerns are dealt with at each stage of the process
40
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program Industrial Strength Engineering
41
Systematic, Strategic Reuse©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program Project Management:The Role of Process
Even the finest people can’t perform at their best when the process is not understood or not operating at its best.
© 2005 by Carnegie Mellon University CMMI Overview Page 9
The Role of Process
Everyone realizes the importance of having a motivated,quality work forceand the latesttechnology, but eventhe finest peoplecan’t performat their best whenthe process is notunderstood oroperatingat its best.
PEOPLE
PROCESSTECHNOLOGY
42
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Security Engineering
Based at individual engieer/team
PSP/TSP: Framework for disciplined production of quality software
Produce one or two orders of magnitude fewer defects than current practice.
0.02 defects/KSLOC vs. 2 defects/KSLOCIf 5% of the defects are potential security holes, with TSP there would be 1 vulnerability per MSLOC.
43 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
√ Introduction
√ The Challenges
√ Future Trends
Conclusions
The Future of Software Engineering Education
➡
44
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Conclusions
Software Quality issues with have their root cause in human error.
These in turn arise from inadequate education
SwE Is NOT “Engineering”Software Engineering is a different kind of engineering, one that has to do with socio-technical systemsSimilarly, Computer Science is NOT Science
45 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Conclusions
Computing is its own disciplineseparate from math, science, & engineering
Computing is its own Facultythe Computing School with its own dean & academic standards
46
Computing
THE Discipline of the 21st Century
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
Discussion & Q/A
Gracias!!47 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
References
[1] P. Naur & B. Randell (Eds) Software Engineering: Report on a Conference Sponsored by the NATO Science Committee (7 – 11 October 1968). 1969.
[2] Model Law (1986) prepared by the USA National Council of Engineering Examiners.
[3] IEEE Standards Collection: Software Engineering, IEEE Standard 610.12-1990, IEEE, 1993.
[4] Speed, J., Software Engineering, Licensure Exchange, Texas Board of Professional Engineers, 2 (3), June, 1998:1-16.
[5]Parnas, D. L. & M. Soltys “Basic Science for Software Developers.” Department of Computing and Software, McMaster University. Hamilton, Ontario, Canada.
[6] Accreditation policy and procedure manual. Baltimore, MD: ABET, Inc., November 2000. (http://www.abet.org/images/policies.pdf)
[7] MIT Design Laboratory. http://design.mit.edu/ (Accessed July 10, 2006)
[8] Moore, J. Software Engineering Standards. IEEE-CS Press, 1998.
48
©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
References –2
[9] Bryant, A. “It’s Engineering Jim … but not as we know it.” International Conference in Software Engineering, Limerick, Ireland, 2000:78-87.
[10] SEI Report on Undergraduate Software Engineering Education (CMU/SEI-90-TR-003)
[11] McIlroy, D. “Mass produced software components.” NATO Conf. On Software Engineering. (1968):138-155.
[12] Weiss, D. M. & C. T. R. Lai. Software Product-Line Engineering. (Addison-Wesley, MA. 1999)
[13] Cohen, S., et al. Product Line Identification for ESC-Hanscom. (CMU/SEI-95-SR-024, Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University. 1995)
[14] Withey, J. Investment Analysis of Software Assets for Product Lines. (CMU/SEI-96-TR-010. Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University. 1996)
49 ©2013 J. L. Díaz-Herrera
The Distinguished Visitors Program
References –3
[15] Jacobson, I. “Succeeding with Objects: Reuse in Reality.” Object Magazine (July 1996):94-96.
[16] Díaz-Herrera, H. Chen and R. Alam.“An Isomorphic Mapping for SpecC in UML.” Lecture Notes in Informatics German Society of Informatics. 2002.
[17] Paulk, M. C., Curtis, B., Chrisis, M. B., and C. V. Weber. “Capability Maturity Model, Version 1.1,” IEEE Software, Vol. 10, No 4, July 1993:18-27.
[18] Humphrey, W. S. A discipline for Software Engineering. Addison-Wesley, MA: 1995
[19] Humphrey, W. S. Introduction to the Team Software Process. Addison-Wesley, MA: 2000.
[20] http://www.sei.cmu.edu/appraisal-program/profile/about.html (Accessed 4/1/2006)
[21] Brown, A. W. and K. C. Wallnau. The Current State of CBSE. IEEE Software (1998).
[22] van Solingen, Rini. Measuring the ROI of Software Process Improvement. IEEE Software, May/June 2004: 32-38.
[23] G. Böckle, et al. Calculating ROI for Software Product Lines. IEEE Software, May/June 2004: 23-31.
50