Module 3-Chapter-2 Project Planning
Module 3-Chapter-2 Project Planning
Module 3-Chapter-2 Project Planning
(22CSE151)
Module 3
Quality management: Software quality, Reviews and inspections, Software measurement and
metrics, Software standards
Software pricing
Plan-driven development
Project scheduling
Agile planning
Estimation techniques
Project planning
Project planning is a crucial part of project management focused on creating a detailed plan
that outlines the steps and resources necessary to achieve the project's objectives, including
identifying the
-project's scope,
-establishing a timeline,
-assigning tasks and resources, and
-budgeting for the project.
Project planning
When you are bidding for a contract, you have to work out
the price that you will propose to the customer for
developing the software.
As a starting point for calculating this price, you need to
draw up an estimate of your costs for completing the
project work.
Estimation involves working out how much effort is
required to complete each activity and, from this,
calculating the total cost of activities.
Estimates are made to discover the cost, to the developer,
of producing a software system.
You take into account, hardware, software, travel, training and
effort costs.
Software pricing
There are three main parameters that you should use when
computing the costs of a software development project:
• effort costs (the costs of paying software engineers and
managers);
• hardware and software costs, including maintenance;
• travel and training costs.
Factors affecting software pricing
When calculating a price, you should take broader organizational, economic, political,
and business considerations into account, such as those shown below.
Factor Description
Market opportunity A development organization may quote a low price because it
wishes to move into a new segment of the software market.
Accepting a low profit on one project may give the organization
the opportunity to make a greater profit later. The experience
gained may also help it develop new products.
Cost estimate uncertainty If an organization is unsure of its cost estimate, it may increase
its price by a contingency over and above its normal profit.
Factor Description
Financial health Developers in financial difficulty may lower their price to gain a
contract. It is better to make a smaller than normal profit or break
even than to go out of business. Cash flow is more important than
profit in difficult economic times.
Plan-driven development
1. Introduction This briefly describes the objectives of the project and sets out the constraints
(e.g., budget, time, etc.) that affect the management of the project
2. Project organization This describes the way in which the development team is organized, the
people involved, and their roles in the team.
3. Risk analysis This describes possible project risks, the likelihood of these risks arising, and the
risk reduction strategies that are proposed
4. Hardware and software resource requirements This specifies the hardware and support
software required to carry out the development. If hardware has to be bought, estimates of the
prices and the delivery schedule may be included.
5. Work breakdown This sets out the breakdown of the project into activities and identifies the
milestones and deliverables associated with each activity. Milestones are key stages in the project
where progress can be assessed; deliverables are work products that are delivered to the
customer.
6. Project schedule This shows the dependencies between activities, the estimated time required
to reach each milestone, and the allocation of people to activities. The ways in which the schedule
may be presented are discussed in the next section of the chapter.
7. Monitoring and reporting mechanisms This defines the management reports that should be
produced, when these should be produced, and the project monitoring mechanisms to be used.
Project plan supplements
Plan Description
Quality plan Describes the quality procedures and standards that
will be used in a project.
Validation plan Describes the approach, resources, and schedule used
for system validation.
Configuration management plan Describes the configuration management procedures
and structures to be used.
Maintenance plan Predicts the maintenance requirements, costs, and
effort.
Staff development plan Describes how the skills and experience of the project
team members will be developed.
The planning process
Figure is a UML activity diagram that shows a typical workflow for a project planning process.
Contd.
Changing business goals also leads to changes in project plans. As business goals change, this
could affect all projects, which may then have to be replanned.
Constraints are the required delivery date, staff available, overall budget, available tools, and so on.
Milestones are points in the schedule against which you can assess progress, for example, the
handover of the system for testing.
Deliverables are work products that are delivered to the customer (e.g., a requirements document
for the system).
The process then enters a loop. You draw up an estimated schedule for the project and the
activities defined in the schedule are initiated or given permission to continue. After some time
(usually about two to three weeks), you should review progress.
If there are serious problems with the development work that are likely to lead to significant delays,
you need to initiate risk mitigation actions to reduce the risks of project failure.
Replan the project - A new schedule of work should be completed has to be established and agreed
with the customer.
If this renegotiation is unsuccessful or the risk mitigation actions are ineffective, then you should
arrange for a formal project technical review.
Split the project into tasks and estimate the 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.
Milestones and deliverables
Scheduling in plan-driven projects (Figure 23.4) involves breaking down the total work
involved in a project into separate tasks and estimating the time required to complete each
task. Tasks should normally last at least a week, and no longer than 2 months.
People working on a project may fall ill or leave, hardware may fail, and essential support
software or hardware may be delivered late. If the project is new and technically advanced,
parts of it may turn out to be more difficult and take longer than originally anticipated.
Scheduling problems
Person days is a term used in project management to measure the amount of work done by
a single person in one day.
Task Effort (person- Duration (days) Dependencies
days)
T1 15 10
T2 8 15
T3 20 15 T1 (M1)
T4 5 10
T5 5 10 T2, T4 (M3)
T6 10 5 T1, T2 (M4)
T7 25 20 T1 (M1)
T8 75 25 T4 (M2)
T9 10 15 T3, T6 (M5)
T10 20 15 T7, T8 (M6)
T11 10 10 T9 (M7)
T12 20 10 T10, T11 (M8)
Person Month
Person Month
Activity bar chart
Staff allocation chart
Agile planning
The price charged for a system does not just depend on its
estimated development costs; it may be adjusted depending on the
market and organizational priorities.
Plan-driven development is organized around a complete project
plan that defines the project activities, the planned effort, the activity
schedule and who is responsible for each activity.
Project scheduling involves the creation of graphical representations
the project plan. Bar chartsshow the activity duration and staffing
timelines, are the most commonly used schedule representations.
The XP planning game involves the whole team in project planning.
The plan is developed incrementally and, if problems arise, is
adjusted. Software functionality is reduced instead of delaying
delivery of an increment.
Chapter 23 – Project planning
Lecture 2
Software Project Estimation
Factors affect on Project Estimation
Steps of Software Project Estimation
About COCOMO Model
Software Project Types
Software Project Types
Types of COCOMO Model
EAF: Effort Adjustment Factor (is a value which is constant and built in value).
Type 2: Intermediate COCOMO Model
Type 2: Intermediate COCOMO Model Example
Type 3: Detailed / Complete COCOMO Model
Type 3: Detailed COCOMO Model Example
Advantages of COCOMO Model
Disadvantages of COCOMO Model
Estimation techniques
ESLOC- Estimate of Equivalent number of lines of code for new source code.
Post-architecture level
Product attributes
Concerned with required characteristics of the software product
being developed.
Computer attributes
Constraints imposed on the software by the hardware platform.
Personnel attributes
Multipliers that take the experience and capabilities of the people
working on the project into account.
Project attributes
Concerned with the particular characteristics of the software
development project.
The effect of cost drivers on effort estimates