1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?

Slides:



Advertisements
Similar presentations
More CMM Part Two : Details.
Advertisements

CS 501: Software Engineering Fall 2000 Lecture 27 Software Engineering as Engineering.
Introduction to Project Management
CS CS 5150 Software Engineering Lecture 28 People 3.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 24 People 2.
CS CS 5150 Software Engineering Lecture 27 People 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
IS Audit Function Knowledge
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 1 Introduction to Software Engineering.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 26 People 1.
CS CS 5150 Software Engineering Lecture 23 People 1.
CS CS 5150 Software Engineering Lecture 27 People 3.
CS CS 5150 Software Engineering Lecture 25 People 1.
CS 501: Software Engineering Fall 2000 Lecture 1 Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 24 People 2.
CS CS 5150 Software Engineering Lecture 21 Reliability 3.
CS CS 5150 Software Engineering Lectures 25 & 26 People 1.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 24 People 2.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 24 People I.
The Analyst as a Project Manager
Quality evaluation and improvement for Internal Audit
Chapter 8 Assuring the quality of external participants’ contributions
SE 112 Slide 1 SE 112 l
CS 501: Software Engineering Fall 2000 Lecture 25 Management III Managing People.
Professional Codes of Ethics Professionalism and Codes of Ethics.
CS CS 5150 Software Engineering Lecture 26 The Business of Software Development.
Problem Identification
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Basic of Project and Project Management Presentation.
PROJECT MANAGEMENT. A project is one – having a specific objective to be completed within certain specifications – having defined start and end dates.
Strong9 Consulting Services, LLC 1 PMI - SVC I-80 Breakfast Roundtable Monthly Meeting Thursday, October 12, :00 am – 9:00 am.
1 Kingsley Karunaratne, Department of Accounting, University of Sri Jayewardenepura, Colombo - Sri Lanka Practice Management.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 1 Introduction to Software Engineering.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
CS CS 5150 Software Engineering Lecture 24 People 2.
CS CS 5150 Software Engineering Lecture 26 People 2.
CSCE 548 Secure Software Development Security Operations.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 25 People II.
CS 360 Lecture 19.  Professional staff are the major cost of software  Staff vary greatly in productivity:  Ability  Education and training  Motivation.
Copyright © 2014 by ABET Proposed Revisions to Criteria 3 and 5 Charles Hickman Managing Director, Society, Volunteer and Industry Relations AIAA Conference.
1 CS 501 Spring 2008 CS 501: Software Engineering Lectures 25 and 26 Performance of Computer Systems.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
CS CS 5150 Software Engineering Lecture 23 People 2.
CS 360 Lecture 20.  The software industry needs to take more responsibility for its products  Products are sold or licensed with no guarantees about.
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
Are you looking for an opportunity to join a company that has a long history and an exciting future? A place where you can grow within an international.
Health Management Dr. Sireen Alkhaldi, DrPH Community Medicine Faculty of Medicine, The University of Jordan First Semester 2015 / 2016.
First week. Catalog Description This course explores basic cultural, social, legal, and ethical issues inherent in the discipline of computing. Students.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.
Class-oriented metrics – Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion.
CS 501: Software Engineering Fall 199 Lecture 1 a) Administration b) Introduction to Software Engineering.
CS CS 5150 Software Engineering Lecture 26 Professionalism.
CS 501: Software Engineering Fall 1999 Lecture 22 (a) Managing the Software Process (b) Software Reuse.
 Overview of Project management. ◦ Management. ◦ Project Management. ◦ Software Project Management. ◦ Project(Dimensions, Characteristics, Complexity,
Advanced Software Engineering Dr. Cheng
Fundamentals & Ethics of Information Systems IS 201

An Introduction to Software Engineering
Systems Analysis and Design in a Changing World, 4th Edition
Responsibilities & Tasks Week 2
Professional Codes of Ethics
CS 5150 Software Engineering
Introduction To software engineering
PLANNING ENGINEERING AND PROJECT MANAGEMENT
CEng progression through the IOM3
Presentation transcript:

1 SWE 513: Software Engineering People II

2 Future Experience What will you be doing one year from now? Ten years from now?

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

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.

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

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., Entrepreneur Chief Information Officer Senior consultant Does not require detailed technical expertise Requires organizational, personnel, financial expertise

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

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.

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.

10 Crafts, Science, Engineering Production Craft Commercial Science Professional Engineering From: Shaw and Garlan

11 Crafts, Science, Engineering Production Craft Commercial Science Professional Engineering From: Shaw and Garlan algorithms data structures compiler construction software development methodologies

12 Professionalism: Software Process Fundamental Assumption: Good processes lead to good software Good processes reduce risk Good processes enhance visibility

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?

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).

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?

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

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

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

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

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

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?