Lecture Notes on ICS 125: Project Management, Cost Estimation, and Team Organizations, Slides of Project Management

Lecture notes from ICS 125, a course focused on project management, cost estimation, and team organizations in software development. Topics covered include project planning, scheduling, cost estimation, types of plans, and team organization. The notes also discuss various models and techniques used in project management and cost estimation.

Typology: Slides

2021/2022

Uploaded on 08/01/2022

fabh_99
fabh_99 🇧🇭

4.4

(53)

543 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ICS 121 Lecture Notes Spring Quarter 96
Project Management,
Cost Estimation, and
Team Organizations
1
ICS 125
Project Management,
Cost Estimation, and
Team Organizations
Software Project Management
Cost Estimation
Managing People
Project Management,
Cost Estimation, and
Team Organizations
2
ICS 125
Project Management
Poor managment is the downfall of many software
projects
ÐDelivered software was late, unreliable, cost several times th e original
estimates and often exhibited poor performance characteristics
Software project management is different from other
engineeering management
Ðproduct is in tangible
Ðstill no clear understanding of the software process or evalu ation
criteria
Ðmost software projects are new and technically innov ative
Good management cannot guarantee project success,
but bad management usually results in project failure!
Project Management,
Cost Estimation, and
Team Organizations
3
ICS 125
Management Activities
Proposal writing
Ðoverview, estim ates, justification
Project costing
Ðsoftware cost estimation
Project planning and scheduling
Ðmilestones, options to m inimize risks
Project monitoring and reviewing
Ðprogress, compare to schedu le and planned costs, predict prob lems
Personnel selection and evaluation
Ðskill, ex perience, training, resources
Report writing and presentation
Ðprimary sum mary documentation and progress review s
Project Management,
Cost Estimation, and
Team Organizations
4
ICS 125
Project Planning and Scheduling
Project planning determines a project schedule based
upon
Ðproject constraints (delivery, staff, budget)
Ðproject parameters (structu re, size, functions)
Ðproject milestones and deliverables
Planning and scheduling must estimate risk associated
with each decision
Project scheduling involves separating work into tasks
and predicting task completion
Ðcoordinate parallel tasks to optimize w ork force
Ðallow for problems
Schedule must be periodically revised with progress
Project Management,
Cost Estimation, and
Team Organizations
5
ICS 125
Types of Plans
Quality plan
ÐDescribes the quality procedu res and standards th at will be used in the
project
Validation plan
ÐDescribes the approach, resources and schedule used for system
validation
Configuration management plan
ÐDescribes the configuration m anagement procedures and strcutures to
be used
Maintenance plan
ÐPredicts the maintenan ce requirements of th e system, main tenance
cost and effort requ ired
Staff development plan
ÐDescribes how the skill s and experience of th e project team m embers
will be devel oped
Project Management,
Cost Estimation, and
Team Organizations
6
ICS 125
The Project Plan
Introduction
ÐBriefly describes the objectives of the product and sets out the constraints
(budget, time, etc.)
Project Organization
ÐDescribes the way in which the development team is organized
Risk analysis
ÐDescribes possible project risks and risk reduction strategies
Hardware & Software resource requirements
ÐHardware/Software required to carry out the development
Work breakdown
ÐBreakdown of the project into activities, identification of milestones and
deliverables
Project schedule
ÐDescribes the dependencies between activities, the estimated time required to
reach each milestone and the allocation of people to activites
Monitoring and reporting techniques
ÐDescribes the management reports which should be produced
pf3
pf4
pf5

Partial preview of the text

Download Lecture Notes on ICS 125: Project Management, Cost Estimation, and Team Organizations and more Slides Project Management in PDF only on Docsity!

Cost Estimation, and Team Organizations

1

ICS 125

Project Management,

Cost Estimation, and

Team Organizations

o Software Project Management

o Cost Estimation

o Managing People

Cost Estimation, and Team Organizations

2

ICS 125

Project Management

o Poor managment is the downfall of many software

projects

  • Delivered software was late, unreliable, cost several times the original estimates and often exhibited poor performance characteristics

o Software project management is different from other

engineeering management

  • product is intangible
  • still no clear understanding of the software process or evaluation criteria
  • most software projects are new and technically innovative

o Good management cannot guarantee project success,

but bad management usually results in project failure!

Project Management, Cost Estimation, and Team Organizations

3

ICS 125

Management Activities

o Proposal writing

  • overview, estimates, justification

o Project costing

  • software cost estimation

o Project planning and scheduling

  • milestones, options to m inimize risks

o Project monitoring and reviewing

  • progress, compare to schedule and planned costs, predict problems

o Personnel selection and evaluation

  • skill, experience, training, resources

o Report writing and presentation

  • primary summary documentation and progress reviews

Project Management, Cost Estimation, and Team Organizations

4

ICS 125

Project Planning and Scheduling

o Project planning determines a project schedule based

upon

  • project constraints (delivery, staff, budget)
  • project parameters (structure, size, functions)
  • project milestones and deliverables

o Planning and scheduling must estimate risk associated

with each decision

o Project scheduling involves separating work into tasks

and predicting task completion

  • coordinate parallel tasks to optimize work force
  • allow for problems

o Schedule must be periodically revised with progress

Project Management, Cost Estimation, and Team Organizations

5

ICS 125

Types of Plans

o Quality plan

  • Describes the quality procedures and standards that will be used in the project

o Validation plan

  • Describes the approach, resources and schedule used for system validation

o Configuration management plan

  • Describes the configuration management procedures and strcutures to be used

o Maintenance plan

  • Predicts the maintenance requirements of the system, maintenance cost and effort required

o Staff development plan

  • Describes how the skills and experience of the project team m embers will be developed

Project Management, Cost Estimation, and Team Organizations

6

ICS 125

The Project Plan

o Introduction

  • Briefly describes the objectives of the product and sets out the constraints (budget, time, etc.) o Project Organization
  • Describes the way in which the development team is organized o Risk analysis
  • Describes possible project risks and risk reduction strategies o Hardware & Software resource requirements
  • Hardware/Software required to carry out the development o Work breakdown
  • Breakdown of the project into activities, identification of milestones and deliverables o Project schedule
  • Describes the dependencies between activities, the estimated time required to reach each milestone and the allocation of people to activites o Monitoring and reporting techniques
  • Describes the management reports which should be produced

Cost Estimation, and Team Organizations

7

ICS 125

IEEE 1058.1,

SW Project Management Plan

  1. Introduction 1.1. Project Overview 1.2. Project Deliverables 1.3. Evoluation of the Software Project Management Plan 1.4. Reference Materials 1.5. Definitions and Acronyms
  2. Project Organization 2.1. Process Model 2.2. Organizational Structure 2.3. Organizational Boundaries and Interfaces 2.4. Project Responsibilities 3. Managerial Process 3.1. Management Objectives and Priorities 3.2. Assumptions, Dependencies, and Constraints 3.3. Risk Management 3.4. Monitoring and Controlling Mechanisms 3.5. Staffing Plan 4. Technical Process 4.1. Methods, Tools, and Techniques 4.2. Software Documentation 4.3. Project Support Functions 5. Work Packages, Schedule, and Budget 5.1. Work Packages 5.2. Dependencies 5.3. Resource Requirements 5.4. Budget and Resource Allocation 5.5. Schedule

Cost Estimation, and Team Organizations

8

ICS 125

Work Breakdown Structure

= one way of breaking down the major activity into

smaller components

o Example:

Compiler Project

Design Code Integration and Test

Write manual

Scanner Parser Code generator

Project Management, Cost Estimation, and Team Organizations

9

ICS 125

GANTT Charts

o Project control technique for scheduling, budgeting, and

resource planning

o Example: Gantt chart for simple compiler project

time

Jan 1, 1996 Feb 1, 11996 Mar 1, 1996 Apr 1, 1996 May 1, 1996

integration / testing

build scanner

build parser

write manual

design

start

build code generator

Project Management, Cost Estimation, and Team Organizations

10

ICS 125

GANTT Charts - 2

o Gantt charts can also be used for resource allocation

and staff planning

o Example:

time

Jan 1, 1996 Feb 1, 11996 Mar 1, 1996 Apr 1, 1996 May 1, 1996

Tom (^) training

Mary training

vacation

Bill

vacation

Project Management, Cost Estimation, and Team Organizations

11

ICS 125

PERT Charts

o A PERT ( P rogram E valuation and R eview T echnique) is

a network of boxes (or circles) and arrows

  • Boxes (or circles) represent activities, arrows show the dependencies of activities on one another
  • Activity at the head of the arrow cannot start before activity at the tail of the arrow is finished
  • Critical paths for the project are shown bold

start design

build scanner

build parser

build code generator

write manual

integration and test

finish

Jan 1, 1996 Jan 3, 1996

Mar 7, 96

Mar 7, 96

Mar 7, 96

Mar 7, 96

Nov 14, 96

Mar 18, 97

Project Management, Cost Estimation, and Team Organizations

12

ICS 125

Software Cost Estimation

o Principal components of project costs derive from

  • hardw are and software including m aintenance
  • travel and training
  • effort (cost of paying software engineers)

o Initial cost estimation should be based on firm, complete

requirements

o Continual cost estimation is required to ensure that

spending is in line with budget

o Software Cost Estimation should use multiple techniques

to predict costs:

  • historical cost information relating metrics and costs
  • analogies to similar systems
  • expert “guestimation”
  • hierarchical estimations

Cost Estimation, and Team Organizations

19

ICS 125

Management Structure

o Traditional hierarchical managment structure

Software Director/VP

Program Manager

Program Manager

Quality Manager

Team Leader

Project Manager

Project Manager

Project Manager

Team Leader

Team Leader

Team Leader

Quality Team Leader

Quality Team Leader

Cost Estimation, and Team Organizations

20

ICS 125

Team Organization

o Large software systems require a coordinated team of

software engineers for effective development

o Team organization involves devising roles for

individuals and assigning responsibilities

o Organizational structure attempts to facilitate

cooperation

o For long-term projects, job satisfaction is extremely

important for reduced turnover

o Need mix of senior and junior engineers to facilitate

both accomplishing the task and training

o Adding people to a project introduces further delays

Project Management, Cost Estimation, and Team Organizations

21

ICS 125

Team Organizations

o Hierarchical organizations minimize and discourage

communication, while democratic organizations

encourage it

o Appropriate organization depends on project length

and complexity

  • small teams lead to cohesive design, less overhead, more unity, higher morale
  • but some tasks too compl ex
  • optimal size betw een 3 and 8

o Appropriate design leads to appropriate assignment

of tasks and appropriate team organization

Project Management, Cost Estimation, and Team Organizations

22

ICS 125

Group Cohesiveness

o In a cohesive group, members think of the group as

more important than the individuals in it

o Advantages of cohesive groups:

  • A group quality standard can be developed
  • Team m embers w ork closely together. Members can learn from each other
  • Team m embers can get to know each other´s work (continuity can be maintained should a team m ember leave)
  • Egoless programming can be practised (programs are regarded as team property rather than personal property)

o Problems:

  • Irrational resistance to a leadership change
  • Groupthink (consideration of alternatives is replaced by l oyalty to group norms and decisions)

Project Management, Cost Estimation, and Team Organizations

23

ICS 125

Group communication

o Several factors affect communications in a group

  • Status of the group members
    • Higher-status members tend to dominate communications with lower- status members
  • Personalities in the group
    • If there are too many people in the group who are task-oriented, this may inhibit effective communications (all are concentrated on technical issues and nobody discusses problems)
  • Sexual composition of the group
    • Studies have shown that men and women prefer to work in mixed-sex groups. Within these groups, communications are better than in single-sex groups
  • Communication channels
    • Communications are more effective if anyone in a group can easily contact anyone else

Project Management, Cost Estimation, and Team Organizations

24

ICS 125

Centralized-Control:

Chief Programmer Team Approach

o Hierarchical organizational structure and matching

pattern of communication

  • chief programmer reports to peer project man ager
  • programmers report to chief programmer
  • librarian responsibl e for central repository
  • specialists added as needed

o Works well with simple tasks that can be grasped by

one good engineer, but “single point of failure”

chief programmer

librarian programmersspecialists

project manager

Cost Estimation, and Team Organizations

25

ICS 125

Decentralized Control:

Democratic Team Approach

o Ring organization and connected communication

  • decisions made by consesus
  • all work is group w ork: “egoless programming”
    • leads to higher morale and job satisficaction
    • not appropriate for large teams

o More appropriate for less understood and more complex

programs with longer term project

Cost Estimation, and Team Organizations

26

ICS 125

Mixed Control

o Hierarchy with extra communication

  • senior engineers report to project manager
  • junior engineers report to senior engineers
  • control is vested in project manager and senior engineers
  • communication is decentralized among each set of peers and their supervisor

o Limits communication to a small group and realizes

benefits of group decisions by vesting authority

project manager

senior engineers

junior engineers

Project Management, Cost Estimation, and Team Organizations

27

ICS 125

Assessment of Team Organizations

o No team organization is appropriate for all tasks

o Decentralized control is best when communication among

engineers is necessary for achieving a good solution

o Centralized control is best when speed of development is

the most important goal and the problem is well

understood

o An appropriate approach tries to limit amount of

communication overhead

o An appropriate approach also has to take into account

other goals, such as personnel turnover, development of

junior engineers, dissemination of specialized knowledge

among personnel

Project Management, Cost Estimation, and Team Organizations

28

ICS 125

Training and Motivation

o Training is not only a way of ensuring that engineers

have necessary skills, but also demonstrates an

organization´s interest in its staff

o Training may also cause problems:

  • Learning new languages may also be very difficult, especially for older programmers (switch of the paradigm, e.g. from FORTRAN to C++/LISP/Prolog, etc.)
  • Programm er training requires consideration of different educational background and experience of programmers

o Motivation of people requires

  • satisfaction of their social needs (time for meeting co-workers, providing places to meet)
  • recognition of achievements
  • giving people responsibil ity for their own work

Project Management, Cost Estimation, and Team Organizations

29

ICS 125

Risk Management

o An engineering project is

  • expected to produce a reliable product
  • within a limited time
  • using limited resources

o Risk management

  • identifying project risks
  • assessing their im pact
  • monitoring and controlling the risks

o Approaches to reduce risks in Software Engineering

  • Prototyping
  • Incremental delivery
  • Modular design (i.e. handling risks of late changes)

Project Management, Cost Estimation, and Team Organizations

30

ICS 125

Common Risk Items in

Software Engineering [Boehm,1989]

Risk items Risk management techniques

Personnel shortfalls Staffing with top talent; job matching; team-building;

Unrealistic schedules & budgets Detailed multisource cost & schedule estimation; incremental development; software reuse

Developing the wrong software functions

Organization analysis; mission analysis; user surveys; prototyping; early users manuals

Developing the wrong user interface

Prototyping; scenarios; task analysis; user characterization

Continuing stream of requirements changes

Information hiding; incremental development (defer changes to later increments)

Real-time performance shortfalls

Simulation; benchmarking; modeling; prototyping