29
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015 MTAT.03.243 Software Engineering Management Lecture 01: Course Introduction Dietmar Pfahl email: [email protected] Spring 2015

MTAT.03.243 Software Engineering Management

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

MTAT.03.243

Software Engineering Management

Lecture 01:

Course Introduction

Dietmar Pfahl

email: [email protected] Spring 2015

Page 2: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Structure of Lecture 01

• Clarification of Course Focus

• Exercise 1

• Homework 1

• General Course Information/Overview

Page 3: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Software Engineering Management

Consistent application of engineering principles and methods to the development of software (intensive) systems

Engineering Principles: Application of systematic (i.e., predictable, repeatable, scalable) procedures - with well-defined goals (e.g., quality, functionality/scope, cost, time) - with well-defined/structured products, processes, and organization Adherence to existing body of knowledge Observation of constraints (standards, time/cost/quality requirements, etc.) Development and use of models

Page 4: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Software Engineering Management

Consistent application of engineering principles and methods to the development of software (intensive) systems

Engineering Principles: Application of systematic (i.e., predictable, repeatable, scalable) procedures - with well-defined goals (e.g., quality, functionality/scope, cost, time) - with well-defined/structured products, processes, and organization Adherence to existing body of knowledge Observation of constraints (standards, time/cost/quality requirements, etc.) Development and use of models

Planning – deciding what is to be done Organizing – making arrangements Staffing – selecting the right people for the job Directing – giving instructions Monitoring – checking on progress Controlling – taking action to remedy hold-ups Innovating – finding solutions when problems emerge Representing – liaising with clients, users, developers and other stakeholders

Page 5: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

The Three Ps in Software Projects

• Software

development

happens in

projects

Project

P ?

P ?

P ?

Page 6: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

The Three Ps in Software Projects

• Products

• People

• Processes

Project

Products

People Processes

Page 7: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

The Three Ps in Software Projects

• Processes

help manage

products and

people

Project

Products

People Processes

Page 8: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Process Taxonomy

H. Dieter Rombach, Martin Verlage, Directions in Software Process Research, Advances in Computers, Volume 41, Marvin V. Zelkowitz (Ed.), Pages 1-63, Academic Press, Boston, MA, 1995.

A Process … … defines Who does What, When

and How to reach a specific goal. In software engineering the goal is

to build a software product or to enhance an existing one

Processes

Page 9: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Plan-Do-Check-Act (PDCA): A systematic approach

to Software Process Improvement (SPI)

• PLAN what you want to accomplish

over a period of time and what you

might do, or need to do, to get there

• DO what you planned to do

• CHECK the results of what you did

to see if the objective was achieved

• ACT on the information –

standardize or plan for further

improvement

Page 10: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Structure of Lecture 01

• Clarification of Course Focus

• Exercise 1

• Homework 1

• General Course Information/Overview

Page 11: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Tasks:

• Form groups of two (or three) students

• Read the text below under headline ‘Case

Information’ (5-10 minutes)

• AFTER you have read the text below, put yourself

in the shoes of SI’s process engineer in charge of

planning the intended process change. Recall the

Plan-Do-Check-Act cycle presented in the lecture

and discuss within your group the following

question:

• What activities have to be planned?

• What information/data has to be

gathered/collected?

• In answering these questions, try to be as

detailed as possible. Write down your answers.

Work about 20 minutes on this.

• After 20-25 minutes, we will discuss all groups’

answers jointly in class.

Note: This exercise is a preparation for

Homework 1.

Exercise 1:

Introduction to SPI

Page 12: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Plan-Do-Check-Act – “Plan”

Where are we today?

How do we get there?

Where do we want to be?

How do we monitor?

How do we check whether we got to where we wanted to get to?

What have we learnt and how do we follow-up?

characterize context identify/list issues (and prioritize)

set goals and measurable targets

define what must be changed and how it must be changed

measure performance get feedback

analyse data compare data with targets

record lessons learnt, best practices update processes, models

Act

Check

Do

Do

Check

Act

Page 13: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Structure of Lecture 01

• Clarification of Course Focus

• Exercise 1

• Homework 1

• General Course Information/Overview

Page 14: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Homework 1: Introduction to SPI

Administrative information:

• This homework has to be done individually. Maximum

number of marks: 3

• Submission deadline is Monday, 16-Feb-2015, at 20:00

sharp. If you don’t submit in time, you receive a penalty as

follows:

– Late delivery until Tuesday, 17-Feb-2015, at 20:00 1 mark

penalty (-33% of maximum)

– Late delivery after Tuesday, 17-Feb-2015, 20:00 3 marks

penalty (-100% of maximum)

• No exceptions from the penalty-rules will be made!

• Submit your homework using the ‘Submission’ function

provided on the course web-page:

https://courses.cs.ut.ee/2015/SE_Man/spring/Main/Submiss

ion

• IMPORTANT:

– Only files in PDF format will be accepted! I won’t look at files

that are not PDF.

– Write your name and student id in the report (ideally, also put

a date and give the report a proper heading)

Page 15: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Structure of Lecture 01

• Clarification of Course Focus

• Exercise 1

• Homework 1

• General Course Information/Overview

Page 16: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Course Information/Overview

• Level: Advanced course at master's level (in English)

• Credits: 6 ECTS, 4 CP

• Prerequisite: MTAT.03.094 Software Engineering (6 ECTS, 4 CP)

• Work load:

– Lectures (incl. practical work): 56 hours

– Independent work: 100 hours

• Assessment:

– 4 Homework Assignment (individual and pairs) – 25% of grade

– Project (in groups): Report(s) and presentation – 35% of grade

– Exam (written) – 40% of grade

– Thresholds: HW – 10% / Project – 10% / Exam – 10%

• Grade scale: A (90%+), B(80%+), C(70%+), D(60%+), E(50%+), F

Page 17: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Letter Grades • A - An excellent performance, clearly outstanding. The candidate demonstrates

excellent judgement and a high degree of independent thinking.

• B - A very good performance. The candidate demonstrates sound judgement

and a very good degree of independent thinking.

• C - A good performance in most areas. The candidate demonstrates a

reasonable degree of judgement and independent thinking in the most important

areas.

• D - A satisfactory performance, but with significant shortcomings. The

candidate demonstrates a limited degree of judgement and independent

thinking.

• E - A performance that meets the minimum criteria, but no more. The candidate

demonstrates a very limited degree of judgement and independent thinking.

• F - A performance that does not meet the minimum academic criteria. The

candidate demonstrates an absence of both judgement and independent

thinking.

Page 18: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Learning Outcomes

At the end of the course you will ...

• have gained a good understanding of modern software

development processes, including Lean and Agile methods

• know the characteristics and effects of different development

processes

• be able to contribute to efficient organization, conduct and

improvement of software development processes

Page 19: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Basic Literature

PROFES

Manual

• PROFES - User Manual, 1999. Profes Consortium.

• Software Process Definition and Management by Jürgen

Münch, Ove Armbrust, Martin Kowalczyk and Martín

Soto, Springer: the Fraunhofer Series on Software and

Systems Engineering, ISBN 978-3-642-24291-5 (eBook),

DOI: 10.1007/978-3-642-24291-5

– Chapter 1 (Introduction)

• The Goal/Question/Metric method: A practical guide for

quality improvement of software development by Rini van

Solingen and Egon Berghout, McGraw-Hill, ISBN 0-07-

709553-7, December 1999.

• Electronic copies of the basic literature are available to

students through the course web.

Page 20: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Further Information

https://courses.cs.ut.ee/2015/SE_Man2015/spring/Main/HomePage

Page 21: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Further Information

https://courses.cs.ut.ee/2015/SE_Man2015/spring/Main/HomePage

Please register for the message board

Page 22: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about agile and/or lean

methods?

A. YES

B. NO

YESNO

40%

60%

Page 23: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about SCRUM?

A. YES

B. NO

YESNO

47%53%

Page 24: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about Extreme Programming

(XP)?

A. YES

B. NO

YESNO

70%

30%

Page 25: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about KANBAN?

A. YES

B. NO

YESNO

89%

11%

Page 26: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about ‘Software Process

Modeling’?

A. YES

B. NO

YESNO

47%53%

Page 27: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about ‘Software

Measurement’?

A. YES

B. NO

YESNO

11%

89%

Page 28: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Do you know about ‘Process Assessment’?

A. YES

B. NO

YESNO

89%

11%

Page 29: MTAT.03.243 Software Engineering Management

MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015

Next Lecture

• Date/Time:

– Monday, 16-Feb, 12:15-14:00 (room 404)

• Topic:

– Introduction to Software Process Improvement (SPI)

• For you to do:

– Start working on Homework 1

– Read chapter 1 of “Software Process Definition and

Management” by J. Münch et al., Springer 2012