1 swe 513: software engineering people ii. 2 future experience what will you be doing one year from...
TRANSCRIPT
![Page 1: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/1.jpg)
1
SWE 513: Software Engineering
People II
![Page 2: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/2.jpg)
2
Future Experience
What will you be doing one year from now?
Ten years from now?
![Page 3: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/3.jpg)
3
Future Experience
What will you be doing one year from now?
Ten years from now?
1. Careers outside computing
2. Careers in which you personally continue to do technical work
3. Careers in which you are responsible for the technical work of others
![Page 4: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/4.jpg)
4
Careers outside Computing
A computing background can be valuable in any career: management, government, law, medicine, philanthropy, etc.
Education in computing is an asset:
• Computing is a vital part of almost every organization
• Education in logical thinking, tackling large tasks systematically
Education in computing is a potential weaknesses:
• Not every problem can be solved by rational thinking
• Importance of skills with people, judgment, etc.
![Page 5: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/5.jpg)
5
Technical Careers
Super-technical positions
A very few senior positions which are almost entirely technical:e.g., industrial research, universities
Even these have substantial organizational aspects
Mid-level technical positions
Numerous mid-level professional positions
Can be state-of-the-art or dead-end
Computer professional report satisfaction with their choice of careers
![Page 6: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/6.jpg)
6
Careers that take responsibility for the Technical Work of Others
A common career progression is from doing the technical work to leading others who do technical work
Senior personnel must be familiar with both the strategic organizational aspects and the computing aspects of the work, e.g.,
EntrepreneurChief Information OfficerSenior consultant
• Does not require detailed technical expertise
• Requires organizational, personnel, financial expertise
![Page 7: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/7.jpg)
7
Flexibility
Nobody knows where computing will go in the future, but …
If you do not learn continuously, you are going out of date fast!
• Go to seminars, conferences, training courses
• Be inquisitive – discover things for yourself
Technical expertise is most valuable when combined with other skills
• Understand the organization that you are part of, e.g., budgets, marketing.
• Develop organizational skills, e.g., presentations, writing, leadership
![Page 8: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/8.jpg)
8
Software Development as a Profession
Question: Is software development a branch of engineering?
Answer: It depends on how you define engineering.
Software development demands a high degree of
professionalism.
![Page 9: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/9.jpg)
9
From Lecture 1:The Craft of Software Development
Software products are very varied
--> Client requirements are very different
--> There is no standard process for software engineering
--> There is no best language, operating system, platform, database system, development environment, etc.
A skilled software developer knows about a wide variety of approaches, methods, tools. The craft of software engineering is to select appropriate methods for each project and apply them effectively.
![Page 10: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/10.jpg)
10
Crafts, Science, Engineering
Production
Craft
Commercial
Science
ProfessionalEngineering
From: Shaw and Garlan
![Page 11: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/11.jpg)
11
Crafts, Science, Engineering
Production
Craft
Commercial
Science
ProfessionalEngineering
From: Shaw and Garlan
algorithmsdata structures
compiler construction
software developmentmethodologies
![Page 12: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/12.jpg)
12
Professionalism: Software Process
Fundamental Assumption:
Good processes lead to good software
Good processes reduce risk
Good processes enhance visibility
![Page 13: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/13.jpg)
13
Software Engineering Institute Capability Maturity Model
1. Initial -- no effective management processes
2. Repeatable -- requirements management, project planning, scheduling and tracking, quality assurance, configuration control
3. Defined -- conformity to defined processes, design and code reviews, communication procedures, personnel development
4. Managed -- software quality management, quantitative process management
5. Optimizing -- continuous improvement of processes
Question: What is the evidence that the Capability Maturity Model reflects effective Software Engineering?
![Page 14: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/14.jpg)
14
From Lecture 1:Professional Responsibility
Organizations put trust in software developers:
• Competence: Software that does not work effectively can destroy an organization.
• Confidentiality: Software developers and systems administrators may have access to highly confidential information (e.g., trade secrets, personal data).
• Legal environment: Software exists in a complex legal environment (e.g., intellectual property, obscenity).
• Acceptable use and misuse: Computer abuse can paralyze an organization (e.g., the Internet worm).
![Page 15: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/15.jpg)
15
An Old Question: Safety Critical Software
A software system fails and several lives are lost. An inquiry discovers that the test plan did not consider the case that caused the failure. Who is responsible:
(a) The testers for not noticing the missing cases?
(b) The test planners for not writing the complete test plan?
(c) The managers for not having checked the test plan?
(d) The customer for not having done a thorough acceptance test?
![Page 16: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/16.jpg)
16
Client Responsibility
• Organization culture that expects quality
• Appointment of suitably qualified people to vital tasks (e.g., technical team that will build a critical system)
• Reviewing requirements and design carefully
• Establishing and overseeing the acceptance process
• Providing time and incentives that encourage quality work
• Working closely with the software team
Accepting responsibility for the resulting product
![Page 17: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/17.jpg)
17
Computing Management Responsibility
• Organization culture that expects quality
• Appointment of suitably qualified people to vital tasks (e.g., testing safety-critical software)
• Establishing and overseeing the software development process
• Providing time and incentives that encourage quality work
• Working closely with the client
Accepting responsibility for work of team
![Page 18: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/18.jpg)
18
Software Developers and Testers: Responsibilities
• Carrying out assigned tasks thoroughly and in a professional manner
• Being committed to the entire project -- not just tasks that have been assigned
• Resisting pressures to cut corners on vital tasks
• Alerting colleagues and management to potential problems early
![Page 19: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/19.jpg)
19
What is Engineering?
A definition of engineering
The profession of:
... creating cost-effective solutions ...
... to practical problems ...
... by applying scientific knowledge ...
... and established practices ...
... building things ...
and taking responsibility for them!
With this definition, software development is clearly engineering
![Page 20: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/20.jpg)
20
What is Engineering?
A second definition of engineering
A professional who
… is licensed by a professional society
… based on a set educational program with a standard body of knowledge and specified experience
… who is the only person permitted to oversee certain tasks
If this is your definition of engineering it is hard to see it applied to software development
![Page 21: 1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?](https://reader036.vdocuments.site/reader036/viewer/2022062804/5697bf831a28abf838c8622c/html5/thumbnails/21.jpg)
21
Software Engineering as Engineering?
• Part craft -- part engineering
• Embryonic scientific basis
• Evolving body of expertise
ACM conclusion: Software Engineering is in too much of a craft, too uncertain, and changing too much for the apparatus of a profession
• Who has the expertise to define a formal Body of Knowledge?
• What would be in an accreditation exam?