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