Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SE Cha 2

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

Chapter two

Planning a Software and


software Project Management
Outlines
Cost Estimation

Project Scheduling

Staffing Personnel Planning

Software Configuration Management

Quality Assurance Plans

Project Monitoring Plans

Risk Management

2
Introduction
 Responsibilities of a software project manager

 Software project managers take the overall


responsibility of steering a project to success.

 Most managers take responsibility for project


proposal writing, project cost estimation, scheduling,
project staffing, project monitoring and control,
software configuration management, risk
management, interfacing with clients, managerial
3

report writing and presentations, etc.


Project Planning
 Once a project is found to be feasible, software project
managers undertake project planning.

 Project planning is undertaken and completed even


before any development activity starts.

 Project planning consists of the following activities or


estimation
 Project size: What will be problem complexity in terms of the
effort and time required to develop the product?
 Cost: How much is it going to cost to develop the project?
4
Project Planning
 Duration: How long is it going to take to complete development?
 Effort: How much effort would be required?

The effectiveness of the subsequent planning activities is based on the


accuracy of these estimations.

Scheduling manpower and other resources.

Staff organization and staffing plans.

Risk identification, analysis, and abatement planning

Miscellaneous plans such as quality assurance plan, configuration


management plan, etc.
5
Project Planning
Precedence ordering among planning activities

6
Cost Estimation
 Predicting the resources required for a software
development process.
 Fundamental estimation questions

1 How much effort is required to complete an activity?


2. How much calendar time is needed to complete an
activity?
3. What is the total cost of an activity?
• Project estimation and scheduling and interleaved
management activities 7
Cost Estimation
 An approximate judgment of the costs for a project
– Many variables
 Often measured in terms of effort (i.e., person
months/years)
 Different development environments will determine
which variables are included in the cost value
– Management costs
– Development costs
• Training costs
• Quality assurance
– Resources
8
Software Cost Components
 Hardware and software costs
 Travel and training costs
 Effort costs (the dominant factor in most projects)
– salaries of engineers involved in the project
– Social and insurance costs
 Effort costs must take overheads into account
– costs of building, heating, lighting
– costs of networking and communications
– costs of shared facilities (e.g library, staff
restaurant,
etc.)
9
Project scheduling

 Split project into tasks and estimate time and


resources required to complete each task.
 Organize tasks concurrently to make optimal
use of workforce.
 Minimize task dependencies to avoid delays
caused by one task waiting for another to complete.
 Dependent on project managers intuition and
experience.

10
The Project scheduling process

11
Scheduling problems
 Estimating the difficulty of problems and hence the
cost of developing a solution is hard.
 Productivity is not proportional to the number of
people working on a task.
– Adding people to a late project makes it later
because of communication overheads.
 The unexpected always happens. Always allow
contingency in planning. 12
Bar charts and activity networks
 Graphical notations used to illustrate the project
schedule.
 Show project breakdown into tasks. Tasks should not
be too small. They should take about a week or two.
 Activity charts show task dependencies and the the
critical path.
 Bar charts show schedule against calendar time.

13
Task durations and dependencies

14
Activity timeline

15
Staff allocation

16
Staffing and personnel planning
 Staffing means appointing competent persons
according to the importance of the post in the
organization.
 It means that more capable persons are appointed
on more important posts, and comparatively less
competent persons can be appointed on less
important posts.

17
Staffing and personnel planning…
Importance
helpful in discovering and obtaining competent
personnel
Helpful in better performance
Helpful in optimum utilization of human resource

18
Software configuration management
 Large software development effort typically consist of a large
number of objects, e.g. source code, design document, SRS
document, test document, user’s manual, etc.
 These objects are usually referred to and modified by a number
of software engineers through out the life cycle of the software.
 The state of all these objects at any point of time is called the
configuration of the software product.
 The state of each deliverable object changes as development
progresses and also as bugs are detected and fixed.
19
Software configuration management
 Configuration management is the art of identifying,
organizing, and controlling modifications to the
software being built by a programming team. The goal
is to maximize productivity by minimizing mistakes.
 Software configuration management is a set of
activities that have been developed to manage change
throughout the life cycle of computer software.
 What is the origin of these changes?
20
Software configuration management
1. New business conditions dictate changes in product
requirements or business rules.
2. New customer needs demand modification of data produced by
information systems, functionality delivered by products, or
services delivered by a computer-based system.
3. Reorganization or business growth/downsizing causes changes
in project priorities or software engineering team structure
4. Budgetary or scheduling constraints cause a redefinition of the
system or product.
21
Necessity of software configuration management

The following are problems that appear if CM is not used.


Inconsistency problem when the objects are replicated

Considered, every software engineer has a personal copy of an


object (e.g. source code). As each engineer makes changes to his
local copy, he is expected to intimate them to other engineers, so
that the changes in interfaces are uniformly changed across all
modules.
However, many times an engineer makes changes to the interfaces
in his local copies and forgets to intimate other teammates about
the changes. 22
Necessity of software configuration management

This makes the different copies of the object inconsistent. Finally,


when the product is integrated, it does not work. Therefore, when
several team members work on developing an object, it is necessary
for them to work on a single copy of the object, otherwise
inconsistency may arise.

23
Quality assurance plan
 Quality assurance consists of the auditing and reporting
functions of management.
 The goal of quality assurance is to provide management with
the data necessary to be informed about product quality, thereby
gaining insight and confidence that product quality is meeting
its goals.
 Of course, if the data provided through quality assurance
identify problems, it is management’s responsibility to address
the problems and apply the necessary resources to resolve
quality issues. 24
Risk management
 Risk management is concerned with identifying risks
and drawing up plans to minimize their effect on a
project.
 A risk is a probability that some adverse
circumstance will occur
– Project risks affect schedule or resources;
– Product risks affect the quality or performance of the
software being developed;
– Business risks affect the organization developing or
procuring the software.

25
Software risks

26
Risk management process
 Risk identification
– Identify project, product and business risks;
 Risk analysis
– Assess the likelihood and consequences of these risks;
 Risk planning
– Draw up plans to avoid or minimize the effects of the
risk;
 Risk monitoring
– Monitor the risks throughout the project;

27
Risk management process…

28
Risk management process
Risk identification
• Technology risks.
• People risks.
• Organizational risks.
• Requirements risks.
• Estimation risks.

29
Risk management process
Risk analysis
• Assess probability and seriousness of each risk.
• Probability may be very low, low, moderate, high or
very high.
• Risk effects might be catastrophic, serious, tolerable
or insignificant

30
Risk management process
Risk planning
• Consider each risk and develop a strategy to manage that risk.
– Avoidance strategies
• The probability that the risk will arise is reduced;
– Minimisation strategies
• The impact of the risk on the project or product
will be reduced;
– Contingency plans
• If the risk arises, contingency plans are plans to
deal with that risk;

31
Risk management process
Risk monitoring
• Assess each identified risks regularly to decide
whether or not it is becoming less or more probable.
• Also assess whether the effects of the risk have
changed.
• Each key risk should be discussed at management
progress meetings.

32
nd!
e e n ?
h
T uest i o
y q
A n
33

You might also like