Project Scheduling and Estimation Tools
Project Scheduling and Estimation Tools
Engineering
Module 3
Project Scheduling and Tracking
Project Schedule
• Tracking
Project Planning is an important activity performed by Project Managers.
• Project Managers can use the tools and techniques to develop, monitor, and
control project timelines and schedules.
• The tracking tools can automatically produce a pictorial representation of the
project plan.
• These tools also instantly update time plans as soon as new information is entered
and produce automatic reports to control the project.
• Scheduling tools also look into Task breakdown and Risk management also with
greater accuracy and ease of monitoring the reports.
• It also provides a good GUI to effectively communicate with the stakeholders of
the project.
Features of Project Scheduling
• TimeTools
management: The project scheduling tools keep projects running the
way it is planned. There will be proper time management and
better scheduling of the tasks.
• PMs can then use these estimation strategies to give clients more accurate projections as
well as budget the funds and resources they’ll require for a project’s success.
• project estimation is a complex process that revolved around predicting the time, cost,
and scope that a project requires to be deemed finished.
• Project Estimation requires the use of complex tools & good mathematical as well as
knowledge about planning.
• In most cases, the whole estimation process would cost the company rather considerable
cost & time at the very first stage of developing a brand new website, app, or software.
However, this will act as the stepping stone to make the final result more credible,
realistic, and customer-satisfying.
• Whether big or small, every project is advised to employ project estimation as a crucial
step to avoid unpredictable failure in the future.
Estimations Take Place During A
• Project
There are six critical elements of a project that benefit from the use of project
estimating techniques.
• 1)Cost,2) Time,3) Size Or Scope,4) Risk,5) Resources,6) Quality
1) Cost:
• In project management, cost is one of the three primary constraints.
• The project will fail if you do not have sufficient funds to complete it.
• You can help set client expectations and ensure you have enough money to
complete
the work if you can accurately estimate project costs early on.
• Estimating costs entails determining how much money you’ll need and
when you’ll
need it.
2)Time:
• Another of the project’s three main constraints is the lack of time. It is critical for
project planning to be able to estimate both the overall project duration and the timing
of individual tasks.
• You can plan for people and resources to be available when you need them if you
estimate your project schedule ahead of time. It also enables you to manage
client expectations for key deliverables.
3) Size Or Scope:
• The third major project constraint is scope.
• The project scope refers to all of the tasks that must be completed in order to
complete the project or deliver a product.
• You can ensure that you have the right materials and expertise on the project by
estimating how much work is involved and exactly what tasks must be completed.
• Three sides of a triangle are often used to describe the three main constraints.
• This is because any changes to one constraint will inevitably have an effect on the
other two.
• You need to know the scope and schedule to accurately estimate the budget. If one
of the three estimates turns out to be higher or lower than you anticipated, the
other two are likely to be off as well.
4)
•
Risk:
Any unforeseen event that could positively or negatively impact your project is
referred to as project risk.
• Estimating risk entails predicting what events will occur during the project’s
life cycle and how serious they will be.
• You can better plan for potential issues and create risk management plans if you
estimate what risks could affect your project and how they will affect it.
5) Resources:
• The assets you’ll need to complete the project are known as
project
resources.
• Tools, people, materials, subcontractors, software, and other resources are
all examples of resources. Resource management ensures that you
have all of the resources you require and make the best use of them.
• It’s challenging to plan how you’ll manage resources without knowing
what you’ll need and when.
• This can result in people sitting around doing nothing or materials arriving
weeks after you need them.
6) Quality:
• Step-1:F = 14 * scale
EO 4 5 7
EQ 3 4 6
ILF 7 10 15
EIF 5 7 10
User Input = 50, User Output = 40, User Inquiries = 35 ,User Files = 6
,External Interface = 4.
Ans:Explanation:
Step-1: As complexity adjustment factor is average (given in question),
hence,
scale = 3.
F = 14 * 3 = 42
Step-2:CAF = 0.65 + ( 0.01 * 42 ) = 1.07
Step-3: As weighting factors are also average (given in question) hence
we will multiply each individual function point to corresponding values in
[Link] = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628
Step-4:Function Point = 628 * 1.07 = 671.96
This is the required answer.
Ex.1 "Given the Following Values, calculate the Functional Point
when complexity adjustment factors are significantly complex product
and weighting factors are high.
• User input = 55
• User Output = 35
• User Enquires = 40
• User Files = 8
• External Interfaces = 5"
2. Function Point (FP) :
• Both function point and LOC are measurement units for the size of the
software.
• The size of the software that is dependent on development is necessary to
come up with accurate estimates of the effort, cost, and duration
of a project.
Function Point is used for data processing LOC is used for calculating the size of the
systems computer program
Function Point can be used to portray the LOC is used for calculating and comparing
project time the productivity of programmers.
Software Project Scheduling
Principles
• Software project scheduling can be defined as an activity that distributes
the estimated effort across the planned project duration by allocating
the effort to specific software engineering tasks. Simply one can
say that project schedule is a tool which communicates
1. What works has to be performed.
2. Who will perform the work.
3. Time duration within which that work needs to be completed.
There are seven principles of software project
scheduling :
COMPARTMENTALIZATION :
• A given software project is compartmentalized into a number of manageable activities. The project
is divided into a number of small tasks.
INTERDEPENDENCY :
• Interdependent tasks are accomplished first. Certain tasks occur in sequence whereas other tasks
occur in parallel. Therefore tasks which occur in sequence has to be performed in a sequential order
since the output of one task will be the input of the next task. Other tasks can occur independently.
TIME ALLOCATION :
• Each and every task has to be assigned a specific time period i.e a start date and a completion
date based on whether the work will be performed in a full time or part time basis.
EFFORT VALIDATION :
• Every project is assigned to a software team. The project manager has to make sure that the effort
allocated should not be more than the number of people available to do the work.
DEFINED RESPONSIBILITIES :
• Each of the scheduled task is assigned to a specific member of the software team.
DEFINED OUTCOMES :
• Each task has a defined outcome. Work product is the outcome of a software project.
DEFINED MILESTONES :
• Every task is associated with a milestone. A milestone is an action or event marking a significant
change in development process.
Empirical Estimation Models - COCOMO,
COCOMO II Model
COCOMO Model
• Cocomo (Constructive Cost Model) is a regression model based on LOC, i.e.,
the number of Lines of Code.
• The Cocomo Model is a procedural cost estimate model for software projects
and is often used as a process of reliably predicting the various
parameters associated with making a project such as size, effort, cost,
time, and quality.
• It was proposed by Barry Boehm in 1981 and is based on the study of 63
projects, which makes it one of the best-documented models.
• The key parameters that define the quality of any software products, which are
also an outcome of the Cocomo are primarily Effort and schedule:
1) Effort: Amount of labor that will be required to complete a task. It is measured
in person-months units.
2) Schedule: This simply means the amount of time required for the completion of
the job, which is, of course, proportional to the effort put in. It is measured in the
units of time such as weeks, and months.
Types of COCOMO Model
1. Basic Model
• E = a(KLOC)^b
• Time = c(Effort)^d
• Person required = Effort/ time
• The above formula is used for the cost estimation of the basic COCOMO
model and also is used in the subsequent models. The constant values a,
b, c, and d for the Basic Model for the different categories of the system:
Software
a b c d
Projects
Semi-
3.0 1.12 2.5 0.35
Detached
• The basic Cocomo model assumes that the effort is only a function of the number of
lines of code and some constants evaluated according to the different software systems.
However, in reality, no system’s effort and schedule can be solely calculated based on
Lines of Code. For that, various other factors such as reliability, experience, and
Capability. These factors are known as Cost Drivers and the Intermediate Model utilizes
15 such drivers for cost estimation. Classification of Cost Drivers and their Attributes:
• Product attributes:
• Required software reliability extent
• Size of the application database
• The complexity of the product
• Run-time performance constraints
• Memory constraints
• The volatility of the virtual machine environment
• Required turnabout time
• Analyst capability
• Software engineering capability
• Application experience
• Virtual machine experience
• Programming language experience
• Use of software tools
• Application of software engineering methods
• Required development schedule
3. Detailed Model
• Detailed COCOMO incorporates all characteristics of the intermediate
version with an assessment of the cost driver’s impact on each step of the
software engineering process. The detailed model uses different effort
multipliers for each cost driver attribute. In detailed cocomo, the whole
software is divided into different modules and then we apply COCOMO in
different modules to estimate effort and then sum the effort. The Six
phases of detailed COCOMO are:
• Planning and requirements
• System design
• Detailed design
• Module code and test
• Integration and test
• Cost Constructive model
Stages of COCOMO Model
1. Organic
• A software project is said to be an organic type if the team size required is
adequately small, the problem is well understood and has been
solved in the past and also the team members have a nominal
experience regarding the problem.
2. Semi-detached
• A software project is said to be a Semi-detached type if the vital
characteristics such as team size, experience, and knowledge of the
various programming environments lie in between organic and
embedded. The projects classified as Semi-Detached are comparatively
less familiar and difficult to develop compared to the organic ones
and require more experience better guidance and creativity.
Eg: Compilers or different Embedded Systems can be considered
Semi-Detached types.
3. Embedded
• A software project requiring the highest level of complexity, creativity, and
experience requirement falls under this category. Such software
requires a larger team size than the other two models and also the
developers need to be sufficiently experienced and creative to
develop such complex models.
COCOMO-II
• COCOMO-II is the revised version of the original Cocomo (Constructive
Cost Model) and was developed at the University of Southern California. It
is the model that allows one to estimate the cost, effort, and schedule
when planning a new software development activity.
• Stages of COCOMO II
COCOMO-II
1. Stage-I
• It supports estimation of prototyping. For this it uses Application
Composition Estimation Model. This model is used for the
prototyping stage of application generator and system integration.
2. Stage-II
• It supports estimation in the early design stage of the project, when
we less know about it. For this it uses Early Design Estimation
Model. This model is used in early design stage of application
generators, infrastructure, system integration.
3. Stage-III
• It supports estimation in the post architecture stage of a project. For
this it uses Post Architecture Estimation Model. This model is used
after the completion of the detailed architecture of application
generator, infrastructure, system integration.
COCOMO I COCOMO II
COCOMO I is useful in the waterfall models of the software COCOMO II is useful in non-sequential, rapid development
development cycle. and reuse models of software.
This model is based upon the linear reuse formula. This model is based upon the non linear reuse formula
This model is also based upon the assumption of This model is also based upon reuse model which looks at
reasonably stable requirements. effort needed to understand and estimate.
Number of submodels in COCOMO I is 3 and 15 cost drivers In COCOMO II, Number of submodel are 4 and 17 cost
are assigned drivers are assigned
7. Testable: User stories can be tested to ensure they meet the needs of the user.
8. Prioritized: User stories are prioritized based on their importance to the user and the business goals.
[Link]: User stories are developed iteratively, allowing for feedback and changes throughout
the development process.
10. Consistent: User stories follow a consistent format, making them easy to understand and work
with.
11. Contextual: User stories are written in a way that provides context to the development team,
helping
them understand the user’s needs and goals.
12. Acceptance criteria: User stories have clear and specific acceptance criteria that define when
the story
is considered “done” and ready for release.
13. Role-based: User stories are written from the perspective of a specific user role, helping to
ensure that
the development team is building features that are relevant and useful to that user.
Pattern of User Story:
• User stories are completely from the end-user perspective which follows
the Role-Feature-Benefi
• As a [ type of user ], I want [ an action ], so that [ some reason ]t pattern.
• For example :
As the project manager of a construction team, I want our team-
messaging app to include file sharing and information update so that my
team can collaborate and communicate with each other in real-time as a
result the construction project development and completion will be fast.
Writing User Stories :
User stories are from a user perspective. So when user stories are written,
users are given more importance during the process. Some points outlined
which are taken into consideration during writing user stories like
• Requirements
• Tasks and their subtasks
• Actual user
• Importance to user words/feedback
• Breaking user stories for larger requirements
Agile Project Estimation Techniques
1. are:
Large/Uncertain/Small: This technique is for doing rough estimation
and it is simpler than the Bucket system technique. All the
items are categorized in Large/Uncertain/Small. First simple user
stories are chosen for estimation then more complex ones are
taken. It’s a good technique when comparable items are in the
Product Backlog.
2. Relative Estimation: In this technique, teams estimate user stories
according to one another rather than giving them exact numerical
values. For instance, they can state, without assigning specific point
values, that Story X is twice as complex as Story Y. This method
prioritizes selection and ranking while simplifying estimation.
3. Story Points: In this estimation technique, user stories are given story
points based on complexities, effort, and risk by teams. Story points
are a metric without units and can stand in for any comparable
value decided by the team. This method is adaptable and
frequently used alongside Planning Poker.
4. Estimation Based on Velocity: This technique states the amount of work
a team can accomplish in a sprint is measured by the team’s
velocity. Teams calculate the amount of user story points that
can commit to in the following sprint using their average velocity
over several sprints.
Benefits of Agile
Estimation
Adaptability and Adaptivity
• An Agile approach is most appropriate for a moderately questionable climate. In that sort of climate:
• It is troublesome to precisely characterize the problem and plan for the arrangement exhaustively
from the beginning of the task.
• Flexibility and adaptability are fundamental to additionally characterize and open up the
requirement
and plan of the arrangement as the undertaking is in progress.
Imagination and Innovation
• In the profoundly cutthroat climate that we live in today, nobody needs to purchase normal,
regular items. Individuals expect a more significant level of greatness, and that requires
innovativeness and advancement. An Agile estimation approach underscores inventiveness and
advancement to amplify the business worth of the arrangement. A relative amount of emphasis on
arranging and control will, in general, boost innovativeness and advancement.
Time-to-Market
• An Agile estimation approach ordinarily brings about quicker opportunities to advertise because of
more limited startup times. A steady improvement effort will likewise permit early conveyance of no
less than a portion of the arrangement without the need for the completion of the whole task.
Benefits of Agile
Lower Costs
Estimation
• An Agile estimation approach can bring down the expenses of a venture severally:
• Significantly diminished overhead coming about because of lessening pointless documentation and
control
necessities
• Higher usefulness of the venture group
• Reduced “include bulge” from utilizing a gradual advancement exertion and focusing on the
requirements. Utilizing that methodology, it will become clear when the project starts to arrive at a state
of unavoidable losses where the steady worth of the highlights no longer surpasses the gradual
improvement cost.
Worked on Quality
• In an Agile estimation project, quality is a fundamental piece of the improvement cycle as opposed to a
successive movement. The engineers realize that quality isn’t “another person’s duty.”
Consumer loyalty
• An Agile estimation approach should bring about higher consumer loyalty and more compelling
arrangements on the grounds that the client is intensely associated with giving criticism and
contributions all through the advancement cycle.
Representative Satisfaction
• An Agile approach should likewise bring about higher representative fulfillment from all
representatives that are occupied with the project since they are considerably more drawn in
to assume liability for their own work as a part of being engaged in a group.
Hierarchical Synergy
• An Agile estimation approach can work on authoritative collaboration by separating hierarchical
obstructions and fostering a feeling of trust and association around hierarchical objectives.
Project scheduling: Timeline charts,
CPM, Fish-bone diagram
Timeline charts
• Timeline charts are highly versatile visual charts that are used to illustrate a set of
events chronologically.
• They're an excellent tool for conceptualizing event sequences or processes to gain
insights into the nuances of a project.
• That could include summarizing historical events, or any other time frame where
you need to measure minutes, hours, dates, or years.
• There are many potential use cases for timeline charts.
• For example, history students can use them to highlight important events to help
remember dates for an exam.
• Organizations can use them to break down complex projects into more manageable
stints.
• Researchers can also use them to keep track of the time between experiments.
• Although there are several different types of timeline charts available to choose
from, all timeline charts follow a similar structure.
• They will all include dates and descriptions, and some will also include images and
headers.
• [Link]
Critical Path Method
• Critical Path Method (CPM) is a method used in project planning,
generally for project scheduling for the on-time completion of the project.
• It helps in the determination of the earliest time by which the whole
project can be completed.
• There are two main concepts in this method namely critical task and
critical path.
• It is the task/activity that can’t be delayed otherwise the completion of the
entire project will be delayed. It must be completed on time before
starting the other dependent tasks.
• It is a sequence of critical tasks/activities and is the largest path in the
project network. It gives us the minimum time which is required to
complete the entire project. The activities in the critical path are known
as critical activities and if these activities are delayed then the completion
of the entire project is also delayed.
Benefits of using the critical path method
in project management:
1. Show the project schedule visually.
2. Highlight important tasks with CPM.
3. Use CPM to find and handle risks.
4. CPM helps the project team communicate better.
How to find the critical path in a project:
The table given below contains the Duration (in
Activity Precedents
weeks)
activity label, its respective duration (in
weeks), and its precedents. We will use the A 6 –
path C 3 A
E 3 B
F 10 –
G 3 E,F
H 2 C,D
Rules for Designing the Activity-
on- Node network diagram: