MTAT.03.243
Software Engineering Management
Lecture 01:
Course Introduction
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
Software Engineering Management
Consistent applica-on of
engineering principles and
methods to the development
of so5ware (intensive) systems
Engineering Principles:
Applica-on of systema-c (i.e., predictable, repeatable, scalable) procedures -‐ with well-‐defined goals (e.g., quality, func-onality/scope, cost, -me)
Software Engineering Management
Consistent applica-on of
engineering principles and
methods to the development
of so5ware (intensive) systems
Engineering Principles:
Applica-on of systema-c (i.e., predictable, repeatable, scalable) procedures -‐ with well-‐defined goals (e.g., quality, func-onality/scope, cost, -me)
-‐ with well-‐defined/structured products, processes, and organiza-on Adherence to exis-ng body of knowledge
Observa-on of constraints (standards, -me/cost/quality requirements, etc.)
Planning – deciding what is to be done Organizing – making arrangements
Staffing – selec-ng the right people for the job Direc-ng – giving instruc-ons
Monitoring – checking on progress
Controlling – taking ac-on to remedy hold-‐ups
Innova-ng – finding solu-ons when problems emerge Represen-ng – liaising with clients, users, developers and other stakeholders
The Three Ps in Software Projects
• Software
development
happens in
projects
Project
P ?
P ?
P ?
The Three Ps in Software Projects
• Products
• People
• Processes
Project
Products People Processes
The Three Ps in Software Projects
• Processes
help manage
products and
people
Project
Products People Processes
Process Taxonomy
H. Dieter Rombach, Mar-n Verlage, Direc-ons in So5ware 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 so5ware engineering the goal is
to build a so5ware product or to
enhance an exis-ng one
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
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
λ 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.
Exercise 1:
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?
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
Check Do Do Check Act
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
Homework 1: Introduction to SPI
Administrative information:
• This homework has to be done individually. Maximum number of marks: 3
• Submission deadline is Monday, 17-Feb-2014, at 17:00 sharp. If you don’t submit in time, you receive a penalty as follows:
– Late delivery until Tuesday, 18-Feb-2014, at 17:00 à 1 mark penalty (-33%)
– Late delivery after Tuesday, 18-Feb-2014, 17:00 à 3 marks penalty (-100%)
• 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/ 2014/SE_Man/spring/Main/Submission
• IMPORTANT: Only files in PDF format will be accepted! I won’t look at files that are not PDF.
– Please name the file as follows: HW1-LastnameFirstname.pdf (of course, replacing ‘Firstname’ and ‘Lastname’ with your
Structure of Lecture 01
• Clarification of Course Focus
• Exercise 1
• Homework 1
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%
Letter Grades
• A
- An excellent performance, clearly outstanding. The candidate demonstratesexcellent judgement and a high degree of independent thinking.
• B
- A very good performance. The candidate demonstrates sound judgementand a very good degree of independent thinking.
• C
- A good performance in most areas. The candidate demonstrates areasonable degree of judgement and independent thinking in the most important areas.
•
D
- A satisfactory performance, but with significant shortcomings. Thecandidate demonstrates a limited degree of judgement and independent thinking.
•
E
- A performance that meets the minimum criteria, but no more. The candidateCourse Content
• This course will expose students to
– concepts, models and methods pertaining to the management
of software engineering activities.
• In particular, the course will expose students to
– common problems and approaches related to the management
and improvement of software engineering processes,
– both in the context of single-site projects and in multi-site
projects.
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
Basic Literature
PROFESManual