MTAT.03.243 Software Engineering Management
Transcript of 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
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
• General Course Information/Overview
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
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
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
The Three Ps in Software Projects
• Software
development
happens in
projects
Project
P ?
P ?
P ?
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
The Three Ps in Software Projects
• Products
• People
• Processes
Project
Products
People Processes
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
The Three Ps in Software Projects
• Processes
help manage
products and
people
Project
Products
People Processes
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
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
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
• General Course Information/Overview
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
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
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
• General Course Information/Overview
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)
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
• General Course Information/Overview
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
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.
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
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.
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Further Information
https://courses.cs.ut.ee/2015/SE_Man2015/spring/Main/HomePage
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
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about agile and/or lean
methods?
A. YES
B. NO
YESNO
40%
60%
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about SCRUM?
A. YES
B. NO
YESNO
47%53%
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about Extreme Programming
(XP)?
A. YES
B. NO
YESNO
70%
30%
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about KANBAN?
A. YES
B. NO
YESNO
89%
11%
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about ‘Software Process
Modeling’?
A. YES
B. NO
YESNO
47%53%
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about ‘Software
Measurement’?
A. YES
B. NO
YESNO
11%
89%
MTAT.03.243 / Lecture 01 / © Dietmar Pfahl 2015
Do you know about ‘Process Assessment’?
A. YES
B. NO
YESNO
89%
11%
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