66
Tuesday, June 7, 2022 31P5 Software Engineering I 1 31P5: Software Engineering I Project Management

4/28/10 31P5 Software Engineering I

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 1

31P5: Software Engineering I

Project Management

Page 2: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 2

Aims

• Understand the term “project management”

• Organize teams

• Specify project management plans

• Define and retire risks

• Estimate costs very early in the life cycle

• Create high level projects schedules

• Write a Software Project Management Plan

Page 3: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 3

Development process- when to do what phase- document: SPMP

Management structure- hierarchical, peer,...

Risk identification & retirement

Plan project

Integrate & test system

Analyze requirements

Design

Maintain

Test unitsImplement

Software Engineerin

g Roadmap

Corporate practices

Development phases

Schedule

Cost estimate

SPMP

Page 4: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 4

The Variables of Project

Management

Can somewhat vary the following factors.

1. The total cost of the project, e.g., increase expenditures

2. The capabilities of the product, e.g., subtract from a list of features

3. The quality of the product, e.g., increase the mean time between failure

4. The date on which the job is completed. e.g., reduce the schedule by 20%

e.g., postpone project's completion date one month

Page 5: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 5

Bullseye Figure for Project Variables

cost

capability duration

defectdensity

Target :$70K

Target : 30 wks

Target : 4 defects/Kloc

Target:100%

Page 6: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 6

Bullseye Figure for Project Variables

cost

capability duration

defectdensity

Target :$70K

Actual: 100%

Target : 30 wksTarget :

4 defects/Kloc

thisproject

Actual:1 defect/Kloc

Actual:20 wks

Actual:$90K

Target:100%

Page 7: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 7

Road Map for Project Management

1. Understand project content, scope, & time frame

2. Identify development process (methods, tools, languages, documentation and support)

3. Determine organizational structure (organizational elements involved)

4. Identify managerial process (responsibilities of the participants)

6. Develop staffing plan

5. Develop schedule (times at which the work portions are to be performed)

7. Begin risk management

8. Identify documents to be produced

9. Begin process itself

Page 8: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 8

Software Project Management Plan

• Software Project: – All technical and managerial activities required to deliver 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:– 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.– SPMP may be part of project agreement.

Page 9: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 9

Project Agreement

• Document written for a client that defines:– the scope, duration, cost and deliverables for the project.

– the exact items, quantities, delivery dates, delivery location.

• Can be a contract, a statement of work, a business plan, or a project charter.

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

• Deliverables (= Work Products that will be delivered to the client):– Documents

– Demonstrations of function

– Demonstration of nonfunctional requirements

– Demonstrations of subsystems

Page 10: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 10

Project Agreement vs Problem Statement

Manager Project TeamClient(Sponsor)

Problem Statement

Project Agreement

Software ProjectManagement Plan

Page 11: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 11

Project Management Activities(continued on next slide)

Initiation

Project kickoff

Team formation Communicationinfrastructure setup

Problem statementdefinition

Initial milestonesplanning

Initial top-leveldesign

Page 12: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 12

Installation

Steady state

Termination

Client acceptance test Postmortem

Project agreementProject replanning

Status monitoring Risk management

Project kickoff

Page 13: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 13

Project: Functions, Activities and Tasks

p:Project

f1:Function

f2:Function

a1:Activity a2:Activity a3:Activity

a2.1:Activity a2.2:Activity a2.3:Activity

t1:Task t2:Task t3:Task t4:Task

Page 14: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 14

Functions

• Activity or set of activities that span the duration of the project

p:Project

f1:Function

f2:Function

a1:Activity a2:Activity a3:Activity

a2.1:Activity a2.2:Activity a2.3:Activity

t1:Task t2:Task t3:Task t4:Task

Page 15: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 15

Functions

• Examples:– Project management

– Configuration Management

– Documentation

– Quality Control (Verification and validation)

– Training

• Question: Is system integration a project function?

• Mapping of terms: Project Functions in the IEEE 1058 standard are called Integral processes in the IEEE 1074 standard. We call them cross-development processes

Page 16: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 16

Tasks

• Smallest unit of work subject to management

• Small enough for adequate planning and tracking

• Large enough to avoid micro management

p:Project

f1:Function

f2:Function

a1:Activity a2:Activity

a2.1:Activity a2.2:Activity

t1:Task t2:Task t3:Task

Page 17: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 17

Tasks

• Smallest unit of management accountability– Atomic unit of planning and tracking

– Finite duration, need resources, produce tangible result (documents, code)

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

Page 18: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 18

Task Sizes

• Finding the appropriate task size is problematic– To do 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 activity identifies more tasks and modifies existing ones

• Tasks must be decomposed into sizes that allow monitoring– Work package usually

corresponds to well defined work assignment for one worker for a week or a month.

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

Page 19: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 19

Examples of Tasks

• Unit test class “Foo” • Test subsystem “Bla”• Write user manual• Write meeting minutes and post them• Write a memo on NT vs Unix• Schedule the code review• Develop the project plan• Related tasks are grouped into hierarchical

sets of functions and activities.• Action item

Page 20: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 20

Action Item

• Definition: A task assigned to a person that has to be done within a week or less

• Action items – Appear on the agenda in the Status Section (See lecture on

communication)

– Cover: What?, Who?, When?

• Example of action items:– Florian unit tests class “Foo” by next week

– Marcus develops a project plan before the next meeting

– Bob posts the next agenda for the Simulation team meeting before Sep 10, 12noon.

– The VIP team develops the project plan by Sep 18

Page 21: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 21

Activities

• Major unit of workwith precise dates

• Culminates in project milestone.

• Consists of smaller activities or tasks

p:Project

f1:Function

f2:Function

a1:Activity a2:Activity

a2.1:Activity a2.2:Activity

t1:Task t2:Task t3:Task

Page 22: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 22

Activities

• Major unit of work• Culminates in major

project milestone:– Internal checkpoint should

not be externally visible

– Scheduled event used to measure progress

• Milestone often produces baseline:– formally reviewed work

product

– under change control (change requires formal procedures)

• Activities may be grouped into larger activities:– Establishes hierarchical

structure for project (phase, step, ...)

– Allows separation of concerns

– Precedence relations often exist among activities (PERT Chart)

Page 23: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 23

Examples of Activities

• Major Activities: – Planning

– Requirements Elicitation

– Requirements Analysis

– System Design

– Object Design

– Implementation

– System Testing

– Delivery

• Activities during requirements analysis: – Refine scenarios

– Define Use Case model

– Define object model

– Define dynamic model

– Design User Interface

Page 24: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 24

Structure of a Software Project Management Plan

Front Matter1. Introduction2. Project Organization3. Managerial Process4. Technical Process5. Work Elements, Schedule, BudgetOptional Inclusions

Page 25: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 25

SPMP Part 0: Front Matter

• Title Page• Revision sheet (update history)• Preface: Scope and purpose• Tables of contents, figures, tables

Page 26: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 26

SPMP Part 1: Introduction

1.1 Project Overview– Executive summary: description of project, product summary

1.2 Project Deliverables– All items to be delivered, including delivery dates and location

1.3 Evolution of the SPMP– Plans for anticipated and unanticipated change

1.4 Reference Materials– Complete list of materials referenced in SPMP

1.5 Definitions and Acronyms

Page 27: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 27

SPMP Part 2: Project Organization

2.1 Process Model– Relationships among project elements

2.2 Organizational Structure– Internal management, organization chart

2.3 Organizational Interfaces– Relations with other entities

2.4 Project Responsibilities– Major functions and activities; nature of each; who’s in charge

Page 28: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 28

Process Model

• Shows relationships among– Functions, activities, tasks

– Milestones

– Baselines

– Reviews

– Work breakdown structure

– Project deliverables

– Sign-offs

• Visualization of process model

• Project Management Aids– MS Project (Microsoft)

– MAC Project (Claris)

– EasyTrak (Planning Control International)

Page 29: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 29

Example of an Organization Chart

Client Management Consultants

Cross-functional Teams

Logbook

Maintenance

Vehicle

Travel

VIP

Development Teams

Infrastructure Team

Architecture

HCI

Web Master

Documentation

Configuration Mgt

Page 30: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 30

Project Roles

• Planner• Analyst• Designer• Programmer• Tester • Maintainer• Trainer• Document Editor• Web Master• Configuration

Manager

• Group leader• Liaison• Minute Taker• Project Manager

Page 31: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 31

Kinds of people

• Two people for the same job title may differ in at least one of the following ways:– ability to perform the work

– interest in the work

– experience with similar applications

– experience with similar tools or languages

– experience with similar techniques

– experience with similar development environment

– training

– ability to communicate with others

– ability to share responsibility with others

– management skills

• Each of these characteristics can affect an individual’s ability to perform productively

Page 32: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 32

Work styles

• You can think of your preferred work style in terms of two components:– the way in which your thoughts are communicated and ideas gathered,

and

– the degree to which your emotions affect decision making

• When communicating ideas, some people tell others their thoughts, and some ask for suggestions from others before forming an opinion

• Jung (1959) called the former extroverts, and the latter introverts

• Similarly, intuitive people base their decisions on feelings about and emotional reaction to a problem

• Others are rational, deciding primarily by examining the facts and carefully considering options

Page 33: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 33

Work styles

• Intuitive introverts are creative but apply creativity only after having gathered sufficient information on which to base a decision

• Intuitive extroverts base many decisions on emotional reaction, tending to want to tell others about them rather than ask for input

• Rational introverts avoid emotional decisions but they are willing to take time to consider all possible courses of action

• Rational extroverts tend to assert their ideas and not let gut feeling affect their decision making

Page 34: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I

INTUITIVE

RATIONAL

INTR

OV

ER

TEX

TR

OV

ER

T

INTUITIVEINTROVERT:Asks othersAcknowledges feelings

INTUITIVEEXTROVERT:Tells othersAcknowledges feelings

RATIONALINTROVERT:Asks othersDecides logically

RATIONALEXTROVERT:Tells othersDecides logically

Page 35: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 35

Team dynamics

• A commonly accepted model of how teams form and become productive is due to Tuckermann and Jensen (1965); this is a 4-stage model:– forming: the initial stage when the individual groups try to

determine the purpose of the group and what role they will play

– storming: a conflict-filled stage in which the individuals try to form a group by resolving differences in goals and perspectives. The individuals struggle for status and power within the team

– norming: having come to a common understanding of the goals and functioning of the team, the conflict disappears and members focus on the work at hand

– performing: the team has developed a clear identity with loyal team members who have a clear understanding of how the team operates and how they will interact as individuals

Page 36: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I

Two people 1 line of communication

Three people

Four people

Five people

3 lines of communication

6 lines of communication

10 lines of communication

n peoplen(n-1)/2 lines ofcommunication

Page 37: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 37

Optimal Size for Interaction (Approximate)

Number of people with whom developer must frequently interact

Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help.

Key: = engineer

3

Effectiveness per developer

Page 38: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 38

Optimal Size for Interaction (Approximate)

Number of people with whom developer must frequently interact

Developer communicates regularly with eleven people. Communication time outweighs benefits of interaction

Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help.

Key: = engineer

Approximateoptimal range

3 7

Effectiveness per developer

Page 39: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 39

Peer Organizations for Larger Projects

Team of leaders

Page 40: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 40

Project Roles

• Management roles – Organization and execution of the project within constraints.

Examples: project manager, team leader.

• Development roles– Specification, design and construction of subsystems. Examples:

Analyst, system architect, implementor.

• Cross functional roles– Coordination of more than one team. Example: API Engineer,

configuration manager, tester

• Consultant roles– Support in areas where the project participants lack expertise.

Examples: End user, client, application domain specialist ( problem domain), technical consultant (solution domain).

• Promoter roles – Promote change through an organization.

Page 41: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 41

Promoter Roles

• Promoters are self appointed individuals who identify themselves with the outcome of the project.

• They are member of the corporate organization and may not necessarily be directly involved with the project. Instead, they are interfaces to the rest of the corporate organization.

• Because of the power, knowledge of technology, or familiarity with the project’s processes, they are able to promote and push specific changes through the organization.

Page 42: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 42

Power Promoter

• Also called executive champion• Pushes the change through the existing

organizational hierarchy. – not necessarily at the top of the organization, but must

have protection from top level management, otherwise project opponents might be able to prevent the success of the project.

• Tasks: – constantly identify difficulties, resolve issues, and

communicate with the project members, especially with the developers.

• Example at project level: Project Manager. • Example at corporate level: Chief Executive

Officer (CEO).

Page 43: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 43

Knowledge Promoter

• Also called the technologist, • Promotes change arising in the application domain

or the solution domain. Usually associated with the power promoter.

• Tasks: Acquire information iteratively, understand the benefits and limitations of new technologies, and argue its adoption with the other developers.

• Example at project level: System architect. – Reports to project manager

– Does not have any direct subordinate in the reporting hierarchy

– Has final say over all technical decisions in the system.

• Example at corporate level: Chief Technical Officer (CTO).

Page 44: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 44

Process Promoter

• The process promoter has intimate knowledge of the projects processes and procedures.

• The process promoter is in constant interaction with the power promoter to get consensus on the overall goals.

• Tasks: Bridge between the power and knowledge promoters, who often do not speak or understand the same language.

• Example at project level: Development lead. Responsible for the administrative aspects of a project, including planning, milestones definition, budgeting and communication infrastructure.

• Example at corporate level: Chief Information Officer (CIO)

Page 45: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 45

Project Management: Hierarchical Project Organization

Chief Executive

First Level Manager(“Front-Line Manager”)

Project Members

Basis of organization:Complicated information and control flow

across hierarchical boundaries

Basis of organization:Complicated information and control flow

across hierarchical boundaries

A B

A wants to talk to B: Complicated Information FlowA wants to make sure B does a certain change: Complicated Control flow

Information Flow

Control Flow

Page 46: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 46

Example of Hierarchical Organization:Chief Programmer Team

Chief Programmer

Librarian Administration Tester

Junior Programmer

AssistantChief Programmer

Senior Programmer

Page 47: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 47

Another Project Organization: Egoless Programming Team (Weinberg)

Analyst

Designer Librarian

Tester Programmer

Page 48: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 48

Project-Based Project Organization

Project Leader

Coaches

Team Members

Basis of organization:Nonlinear information flow across dynamically formed units

Basis of organization:Nonlinear information flow across dynamically formed units

Subsystem Team Subsystem Team Subsystem Team

A B

A wants to talk to B: Communication FlowA wants to make sure B does a certain change: Decision Flow

Page 49: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 49

Associations in organizational structures

• Reporting association:– Used for reporting status information

• Decision association– Used for propagating decisions

• Communication association– Used for exchanging information needed for decisions (e.g.,

requirements, design models, issues).

Page 50: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 50

Observations on Management Structures

• Hierarchical structures – “Reports”, “Decides” and “Communicates-With” all mapped on

the same association

– Do not work well with iterative and incremental software development process

– Manager is not necessarily always right

• Project-based structures– “Reports”, “Decides” and “Communicates-With”are different

associations

– Cut down on bureaucracy reduces development time

– Decisions are expected to be made at each level

– Hard to manage

Page 51: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 51

Hierarchical Structure

• Projects with high degree of certainty, stability, uniformity and repetition.– Requires little communication

– Role definitions are clear

• When?– The more people on the project, the more need for a formal

structure

– Customer might insist that the test team be independent from the design team

– Project manager insists on a previously successful structure

Page 52: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 52

Project-Based Structure

• Project with degree of uncertainty– Open communication needed among members

– Roles are defined on project basis

• When?– Requirements change during development

– New technology develops during project

Page 53: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 53

Assigning Responsibilities To People

“To Do” List for the Project

• Item 1

• Item 2

• Item 3

• Item 4

• Item 5

• Item 6

• Item 7

• Item 8

• Item 9

Item 1Item 2Item 9

Role 1

Item 4Item 5Item 7

Role 2

Item 3Item 6Item 8

Role 3

Person A

Role 1

Role 2

Person B

Role 3

Team A

Page 54: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 54

Possible Mappings of To Dos to People

• One-to-One– Ideal but often not worth to be called a project

• Many-to-Few – Each project member assumes several roles ("hats")

– Danger of over-commitment

– Need for load balancing

• Many-to-"Too-Many"– Some people don't have significant roles

– Bystanders

– Loosing touch with project

Page 55: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 55

Team Formation

• Top level Design– “Rough” Subsystem Decomposition (before requirements

analysis)

– Done during Predevelopment phase

• Team Formation done after Top Level Design• Heuristics:

– One team for each subsystem

– One cross-functional task per team

– 5-7 members per team

• Be prepared to iterate the team formation after system design when the subsystem decomposition is baselined

Page 56: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 56

Project Roles: Coach

• Listen to gripes from individual teams• Review weekly team reports• Attend weekly project meetings• Schedule and prepare meetings with client• Insist that guidelines are followed• Assign presentations (in-class project

meetings, client review, client acceptance test)

• Resolve conflicts if they cannot be resolved otherwise

Page 57: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 57

Project Role: Group leader

• Responsible for intra-group communication (Meeting Management: Primary Facilitator)– Run the weekly project meeting

– Post agenda before meeting

– Define and keep track of action items (who, what, when)

– Measure progress (Enforce milestones)

– Deliver work packages for the tasks to the project management

– Present problems and status of team to project manager

• The group leader has to be rotated among members of the team.

Page 58: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 58

Group Leader: Create an Agenda

Action Items(Check Previous

Meeting)

Issues(Check Previous

Meeting & BBoards)

• Purpose of Meeting• Desired Outcome• Information Sharing• Information Processing• Meeting Critique

Page 59: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 59

Project Role: Liaison

• Responsible for inter-group communication– Make available public definitions of subsystem developed by the

team to the architecture teams (ensure consistency, etc)

– Coordinate tasks spanning more than one group with other teams

• Responsible for team negotiations• Examples: API Engineer, Configuration

manager

Page 60: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 60

Project Role: Planner

• Plans and tracks the activities of an individual team and has the following responsibilities.

• Define project plan for team:– PERT chart, resource table and GANTT chart showing work

packages

– Enter project plan into project management tool

• Make project plan available to management• Report team status to project manager

No explicit planner in PAID. Responsibilities assumed by coaches

Page 61: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 61

Project Role: Document Editor

• Collect, proofread and distribute team documentation

• Submit team documentation to architecture team

• Collect agendas• Take minutes at meetings

Page 62: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 62

Web Master

• Maintain team home page• Keep track of meeting history• Keep track of design rationale

Page 63: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 63

Date

9/9/96

Agenda Minutes Action Items Issues

Agenda Minutes Action Items Issues

9/16/96 Agenda Minutes Action Items Issues

Web Master:

• Publish Meeting Information on Team Homepage– Must contain Agenda, minutes, action items and issues

– Possibilities:• One HTML document per meeting, with anchors (maintained by one role)

• Separate HTML documents for Agenda, Minutes, etc (maintained by several roles)

Page 64: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 64

How do you become a good project planner?

• Establish a project plan– Start with the plan based on your experience with the last

project(s)

• Keep track of activities and their duration• Determine difference between planned and

actual performance• Make sure to do a post-mortem

– Lessons learned

– Ask developers for feedback

– Write a document about what could have been improved

Page 65: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 65

Project Management Heuristics

• Make sure to be able to revise or dump a project plan– Complex system development is a nonlinear activity

• If project goals are unclear and complex use team-based project management. In this case– Avoid GANTT charts and PERT charts for projects with changing

requirements

– Don’t look too far into the future

• Avoid micro management of details• Don’t be surprise if current project

management tools don’t work:– They were designed for projects with clear goals and fixed

organizational structures

Page 66: 4/28/10 31P5 Software Engineering I

Monday, April 10, 2023

31P5 Software Engineering I 66

Summary

• In this lecture, we have looked at various aspects of project management, team organisation, and project management plans

• We still need to consider the problems associated with risk, cost estimation of a project, project schedules