Software Engineering II - Exercise · SPMP Clause 2 + 3: References + Definitions • 2. References...

Post on 11-May-2020

8 views 0 download

Transcript of Software Engineering II - Exercise · SPMP Clause 2 + 3: References + Definitions • 2. References...

1

Software Engineering II - Exercise

Bernd Bruegge Helmut Naughton

Applied Software Engineering Technische Universitaet Muenchen

http://wwwbrugge.in.tum.de

April 29th 2009

Software Project Management Plan

2

Date for the final exam

•  To be determined next week

3

Decision time

•  Can we reschedule exercises for WBS and Scheduling?

•  Change 1: WBS Exercise Wednesday May 27 -> Friday May 29, 14:00-15:30

•  Change 2: Scheduling Exercise Wednesday June 3 -> Friday June 5, 14:00-15:30

4

Basic Definitions: Project and Project Plan •  Software Project:

•  All technical and managerial activities required to turn over the deliverables to the client

•  A software project has a specific duration, consumes resources and produces work products

•  Management categories to complete a software project: •  Tasks, Activities, Functions

•  Software Project Management Plan (SPMP): •  The controlling document for a software project •  Specifies the technical and managerial approaches to

develop the software product •  Companion document to requirements analysis

document: Changes in either may imply changes in the other document

•  Also interdependent with the system design document •  The SPMP may be part of the project agreement.

5

Project: Functions, Activities and Tasks

UML

Function

Function Project

Activity

Task

Activity Activity

Activity Activity Activity

Task Task Task

A project has a duration and consists of project functions, activities and tasks

6

Tasks, Activities and Project Functions (UML Class Diagram)

Task

* Work

Activity

Project Function «invariant»

duration = project.duration

Project

duration

duration

7

Project Function Definition Project Function: An activity or set of activities that span the duration of the project (called Workflow in the Unified Process model)

Function

Function Project

Activity

Task

Activity Activity

Activity Activity Activity

Task Task Task

8

Examples of Project Functions

•  Configuration Management •  Documentation •  Quality Control (V&V: verification and validation) •  Training •  Testing •  Project management activities

Project functions in the IEEE 1058 standard (IEEE Standard for Software Project Management Plans) are called Integral processes in the IEEE 1074 standard (IEEE Standard for Developing a Software Project Life Cycle Process). Sometimes also called cross-development processes.

UML

9

Tasks

Function

Function Project

Activity

Task

Activity Activity

Activity Activity Activity

Task Task Task

•  Smallest unit of work subject to management •  Small enough for adequate planning and tracking •  Large enough to avoid micro-management

10

Tasks •  Smallest unit of management accountability

•  Atomic unit of planning and tracking •  Tasks have finite duration, need resources, produce tangible

result (documents, code, models) •  Specification of a task: Work package

•  Name, description of work to be done •  Preconditions for starting, duration, required resources •  Work product to be produced, acceptance criteria for it •  Risk involved

•  Completion criteria •  Includes the acceptance criteria for the work products

(deliverables) produced by the task.

11

Heuristics for Determining Task Sizes

•  Finding the appropriate task size is problematic

•  Todo lists from previous projects

•  During initial planning a task is necessarily large

•  You may not know how to decompose the problem into tasks at first

•  Each software development activitity identifies more tasks and modifies existing ones

•  Tasks must be decomposed into sizes that allow monitoring

•  Depends on nature of work and how well task is understood.

•  Work package should corresponds to a well defined work assignment for one participant for a week

12

Action Item •  Definition Action Item: A task assigned to a person (or in certain cases

a role) to be done by a certain time •  What?, Who?, When? •  Heuristics for Duration: be done within two week or a week

•  Definition Todo: An action item that is missing either the person/role or the deadline

•  Examples of todos: •  “Unit test class Foo”, “Develop the project plan for our project”.

•  Example of action items: •  “Bob posts the next agenda for the context team meeting before May, 12th,

noon” •  “The test team develops the test plan by Sep 18th”

•  Action items should be reviewed regularly (at least once a week) •  Status section in the meeting agenda.

13

Activities

Function

Function Project

Activity

Task

Activity Activity

Activity Activity Activity

Task Task Task

• Major unit of work with precise dates • Consists of smaller activities or tasks • Culminates in project milestone.

14

Activities

•  Major unit of work •  Culminates in major project

milestone: •  Internal checkpoint (not be

externally visible) •  External checkpoint,

synchronization with the client •  Scheduled event used to

measure progress •  A milestone often produces a

project baseline: •  Formally reviewed work product •  Under change control (change

requires formal procedures)

•  Activitites may be grouped into larger activities:

•  Establishes hierarchical structure for project (phase, step, ...)

•  Allows separation of concerns •  Precedence relations often

exist among activities

15

Work package, Product, Baseline, Deliverable

•  Work Package: •  A specification for the work to be accomplished in an activity or task

•  Work Product: •  Any tangible item that results from a project function, activity or task.

•  Project Baseline: •  A work product that has been formally reviewed and agreed upon. •  A project baseline can only be changed through a formal change

procedure •  Project Deliverable:

•  A work product to be delivered to the customer

16

Project Agreement (in traditional management approaches)

•  Project Agreement: In traditional management, the document written for a client that defines:

•  the scope, duration, cost and deliverables for the project. •  the exact items, quantities, delivery dates, delivery location.

•  Client: Individual or organization that specifies the requirements and accepts the project deliverables.

•  Deliverables: Work Products to be delivered to the client •  Documents •  Demonstrations of functions •  Demonstration of nonfunctional requirements •  Demonstrations of subsystems

•  The form of a project agreement can be a contract, a statement of work, a business plan, or a project charter.

17

IEEE Std 1058-1998: Standard for Software Project Management Plans (SPMP)

•  What it does: •  Specifies the format and contents of software project

management plans. •  It provides a standard set of abstractions for a project manager

or a whole organization to build its set of practices and procedures for developing software project management plans

•  Abstractions: Project, Function, Activities, Tasks

•  What it does not do: •  It does not specify the procedures or techniques to be used in

the development of the plan •  It does not provide examples

18

Project Agreement, Problem Statement, SPMP

Client (Sponsor) Project Manager Project Team

Project Agreement

Problem Statement Software Project

Management Plan (SPMP)

19

Pros and Cons of Project Plans

•  Advantages: •  Very useful to kick off a software project (to establish the goals,

organize the teams, and start with development) •  Useful also for software projects if the outcome is predictable

or when no major change occurs.

•  Disadvantages: •  Of limited value to control software project when the outcome is

unpredictable or when unexpected (“unusual”) events occur in the project that change the project context.

•  Examples of unexpected events: •  Appearance of new technology which was unknown at project

start. •  A visionary scenario turns out to be not implementable •  Company is merged with another one during the project

20

Project Documentation

•  Even in modern, agile project management styles, project documentation is important

•  Beneficiaries of well written documentation: •  The customer has a reference detailing the project to

be used for reviews or further projects •  The developing company can also use old project

documentation for planning future projects

•  Best practice: The Software Project Management Plan

IEEE Standard 1058-1998

http://standards.ieee.org/reading/ieee/std_public/description/se/1058-1998_desc.html

21

Structure of a Software Project Management Plan (*)

Front Matter 1. Overview 2. References 3. Definitions 4. Project organization 5. Managerial process plans 6. Technical process plans 7. Supporting process plans 8. Additional plans Back Matter

(*) The template in figure 13-14 in the textbook is out of date

22

SPMP: Front Matter

•  Title page •  Signature page •  Change history •  Preface •  Table of contents •  List of figures •  List of tables

23

SPMP Clause 1: Overview

•  1.1 Project Summary •  1.1.1 Purpose, scope and objectives

Concise summary of purpose, scope and objectives, integration with other projects, reference to requirements etc.

•  1.1.2 Assumptions and constraints Schedule, budget, resources, software to be reused/incorporated, technology to be employed, interfaces to other products

•  1.1.3 Project deliverables List of work items with delivery dates, locations and quantities (also includes delivery media and packaging & handling)

•  1.1.4 Schedule and budget summary Only itemization of major work activities here

•  1.2 Evolution of the SPMP Plans for anticipated and unanticipated change

24

SPMP Clause 2 + 3: References + Definitions

•  2. References •  Complete list of all documents and other sources of information

references in the SPMP (has to include author, title, report number, date, author, path/name for electronic access and publisher etc.)

•  3. Definitions •  Define all terms and acronyms required to properly understand the

SPMP

25

SPMP Clause 4: Project organization

•  4.1 External interfaces •  Organizational boundaries between project and external

entities (parent, subcontractor, others…)

•  4.2 Internal structure •  Interfaces among the units of the software development team.

Interfaces between project and supporting entities. Lines of authority, responsibility and communication within a project.

•  4.3 Roles and responsibilities

•  State and nature of major work activities and support processes and organizational units responsible for them. Often depicted in matrix form.

26

SPMP Clause 5: Managerial process plans

•  5.1 Start-up plan •  5.1.1 Estimation plan

Cost and schedule with estimation methods, tools and techniques. •  5.1.2 Staffing plan

Number of staff by required skill level, phase, duration. Staff sources. •  5.1.3 Resource acquisition plan

Resource acquisition process for equipment, training, transportation, facilities etc.

•  5.1.4 Project staff training plan Types of training, number of personnel to be trained, entry and exit criteria for training, training method. Both for technical and managerial training.

27

SPMP Clause 5: Managerial process plans

•  5.2 Work plan •  5.2.1 Work activities

Work breakdown structure with work packages detailing needed resources, estimated duration, work products to be produced, predecessor, successor, etc.

•  5.2.2 Schedule allocation Depicts time-sequencing constraints and opportunities for concurrency. Techniques include Gantt and PERT charts etc.

•  5.2.3 Resource allocation Detailed itemization of resources allocated to each major work activity. This includes personnel, tools, facilities, administrative support etc.

•  5.2.4 Budget allocation Breakdown of necessary resource budgets for each major work activity. Costs for personnel, travel, meetings, tools, etc.

28

SPMP Clause 5: Managerial process plans

•  5.3 Control plan •  5.3.1 Requirements control plan

Controls changes to project requirements •  5.3.2 Schedule control plan

Measure progress of work completed and corrective measures •  5.3.3 Budget control plan

Measure cost of work completed and comparison with budget •  5.3.4 Quality control plan

Quality control mechanisms (v&v, reviews, audits, etc.) •  5.3.5 Reporting plan

Reporting mechanisms, format, information flows •  5.3.6 Metrics collection plan

Methods, tools and techniques for collecting and retaining project metrics.

29

SPMP Clause 5: Managerial process plans

•  5.4 Risk management plan •  Identify, analyze and prioritize project risk factors. Describe

procedures for contingency planning and methods for tracking risk factors.

•  5.5 Closeout plan

•  Staff reassignment, archiving project materials, post-mortem debriefing plan, preparation for lessons learned and analysis of project objectives archived.

30

SPMP Clause 6: Technical process plan

•  6.1 Process model •  Flow of information and work products among activities and

functions. Timing of deliverables, reviews, milestones etc.

•  6.2 Methods, tools and techniques •  Development methodologies, programming languages, tools

and techniques etc. to be used in the project.

•  6.3 Infrastructure plans •  Development environment (workstations, LAN, software tools

etc.). Also includes policies, procedures, standards etc.

•  6.4 Project acceptance plan

•  Objective criteria for determining acceptability of deliverables.

31

SPMP Clause 7: Supporting process plans

•  7.1 Configuration management plan •  Configuration accounting, control, status accounting,

evaluation, release management, change management etc.

•  7.2 Verification and validation plan •  Traceability, milestone review, progress review, peer review,

prototyping, simulation, modeling

•  7.3 Documentation plan •  Deliverable and non-deliverable documentation products

•  7.4 Quality assurance plan

•  Analysis, inspection, review, audit, assessment

32

SPMP Clause 7: Supporting process plans

•  7.5 Reviews and audits •  Schedule, resources, methods and procedures

•  7.6 Problem resolution plan •  Reporting, analyzing, prioritizing and processing software

problems

•  7.7 Subcontractor management plan •  Selecting and managing subcontractors

•  7.8 Process improvement plan •  Periodical assessment of the project to determine areas for

improvement and implementing improvement plans.

33

SPMP: Clause 8 & Back Matter

•  8. Additional plans •  Plans required to satisfy product requirements and contractual

terms (safety, privacy, security requirements, user training, integration, data conversion, system transition, maintenance etc.)

•  Back Matter • Annexes

•  Includes directly or by reference – provided supporting details that could detract from the SPMP if included in its body.

•  Index •  Index of key terms and acronyms.

34

Observations about planning

•  What type of model does the template defined by IEEE 1058-1998 represent?

•  Object model (UML class diagram) •  What is missing from an object model for

planning? •  Dynamic behavior - when do we do planning?

(UML sequence diagrams, activity diagrams and state machine diagrams)

•  Different approaches to planning: •  Traditional: Plan at the start of a project, then the plan is

fixed (at least for an iteration) [Royce, 1998] •  Transitional: Plan in parallel with the system design

(evolution of the architecture) [Paulish, 2002] •  Agile: Plan continuously during the project duration

(incremental and iterative refinement) [Cohn, 2006]

35

Readings

•  Information on topics covered today •  Bruegge/Dutoit, Chapter 14: Project Management •  Standard for Software Project Management Plans [IEEE

Std 1058-1998] •  Walker Royce, Software Project Management: A Unified

Framework, Addison-Wesley, 1998 •  Daniel J. Paulish, Architecture-Centric Software Project

Management: A Practical Guide, Addison-Wesley, 2002 •  Mike Cohn, Agile Estimating and Planning, Prentice Hall,

2006

36

Homework

•  Task: •  Choose a large software project and write an SPMP for

that project based on IEEE 1058-1998 •  Find (write) an (idealized) plan •  Do post-mortem analysis using information available

on the internet if necessary

•  You can work in teams with up to 6 participants •  Submission date is July 1st 2009, 2PM

37

If you cannot think of a suitable project

•  Organizing a hiking trip •  Organizing a wedding •  Organizing a reunion with your classmates •  Celebrating the end of SE II – POM

All of these are acceptable (even though they do not have anything to do with software engineering)

•  Or maybe you would like to take up a bigger challenge…

38

Example 1: Heathrow Terminal 5

39

Example 2: Airbus A380

40

Example 3: Toll collect

41

Example 4: Dolli (2)

42

Homework

•  Task: •  Choose a large software project and write an SPMP for

that project based on IEEE 1058-1998 •  Find (write) an (idealized) plan •  Do post-mortem analysis using information available

on the internet if necessary

•  You can work in teams with up to 6 participants •  Submission date is July 1st 2009, 2PM •  Oral presentation of these plans on July 1st 2009

in the exercise session

43

Summary •  Software engineering is a problem solving activity

•  Developing quality software for a complex problem within a limited time while things are changing

•  The system models addresses the technical aspects

•  Object model, functional model, dynamic model

•  Other models address the management aspects •  WBS, Schedule •  Task models, Issue models, Cost models

•  Important terms •  Software lifecycle, Project, Activity, Function, Task, WBS,

SPMP

•  This was an introduction to the managerial issues in software engineering

•  We will elaborate on many of these concepts in more detail as we go along through the lectures.