software engineering notes4_Module4_new
software engineering notes4_Module4_new
Project Scheduling
Gantt chart
Program Evaluation Review Techniques (PERT)
Tracking the Schedule
Software Project Estimation
LOC based
FP based
Empirical estimation Models
COCOMO II Model
Project Scheduling
Project schedule simply means a mechanism that is used to communicate and know
about that tasks are needed and has to be done or performed and which organizational
resources will be given or allocated to these tasks and in what time duration or time frame
work is needed to be performed.
Effective project scheduling leads to success of project, reduced cost, and increased
customer satisfaction.
Scheduling in project management means to list out activities, deliverables, and
milestones within a project that are delivered.
It contains more notes than your average weekly planner notes. The most common and
important form of project schedule is Gantt chart.
Process:
The manager needs to estimate time and resources of project while scheduling project.
All activities in project must be arranged in a logical and well-organized manner for easy
to understand.
The total work is separated or divided into various small activities or tasks during project
schedule.
Then, Project manager will decide time required for each activity or task to get
completed. Even some activities are conducted and performed in parallel for efficient
performance. The project manager should be aware of fact that each stage of project is
not problem-free.
The project schedule is represented as set of chart in which work-breakdown structure and
dependencies within various activities are represented. To accomplish and complete project
within a given schedule, required resources must be available when they are needed. Therefore,
resource estimation should be done before starting development.
Human effort
Sufficient disk space on server
Specialized hardware
Software technology
Travel allowance required by project staff, etc.
A Gantt chart
A Gantt chart is a bar chart that describes a project schedule. It was designed and popularized by
Henry Gantt around the years 1910–1915. A Gantt chart is a project management tool that
illustrates work completed over a period of time in relation to the time planned for the
work. A Gantt chart can include the start and end dates of tasks, milestones, dependencies
between tasks, assignees, and more. Gantt charts are used for many other purposes in project
planning, project scheduling, project tracking and resource management.
A PERT chart, also known as a PERT diagram, is a tool used to schedule, organize, and map
out tasks within a project. PERT stands for program evaluation and review technique. It
provides a visual representation of a project's timeline and breaks down individual tasks.
PERT charts are generally used before a project begins to plan and determine the
duration of each task—so they don't have to show the actual dates of your project. They
also do a better job of showing whether certain tasks need to be completed in order or
whether they can be completed simultaneously.
Difference:
PERT and Gantt charts enable project managers to track tasks and project status.
PERT charts display tasks in a network diagram, highlighting dependencies;
Gantt charts show tasks and timelines in a bar graph.
Time 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.
Resource allocation: It provides the resources required for project development. There will be
proper resource allocation and it helps to make sure that proper permissions are given to different
individuals involved in the project. It helps to monitor and control all resources in the project.
Team collaboration: The project scheduling tool improves team collaboration and
communication. It helps to make it easy to comment and chat within the platform without relying
on external software.
User-friendly interface: Good project scheduling tools are designed to be more user-friendly
to enable teams to complete projects in a better and more efficient way.
Defines work tasks: The project scheduling tool defines the work tasks of a project.
Time and resource management: It helps to keep the project on track with respect to
the time and plan.
Cost management: It helps in determining the cost of the project.
Improved projectivity: It enables greater productivity in teams as it helps in smarter
planning, better scheduling, and better task delegation.
Increased efficiency: The project scheduling tool increases speed and efficiency in
project development.
Criteria for Selecting Project Scheduling Tools
Capability to handle multiple projects: The scheduling tool must handle multiple
projects at a time.
User-friendly: It should be easy to use and must have a user-friendly interface.
Budget friendly: The tool should be of low cost and should be within the development
budget.
Security features: The tool must be secured and risk-free from vulnerable threats.
1. Microsoft Project
2. Daily Activity Reporting and Tracking (DART)
3. Monday.com
4. ProjectManager.com
5. Smart Task
6. Proof Hub
7. Asana
8. Wrike
9. GanttPRO
10. Zoho Projects
ProjectManager.com
ProjectManager.com is a very simple and useful application for project planning. It plans and
schedules the project easily. It is cost-friendly and suited to various types of project
development. This projectmanager.com also provides the functionality for tracking the
productivity of the team in project development.
Features:
GanttPRO
GanttPRO is Gantt chart-based project management software that allows teams to plan, track and
manage their business activities in a clean and easy-to-use interface. GanttPRO is leading
scheduling software that can be used by teams of all sizes and skill levels. It is one of the most
popular project management solutions out there and is integrated with some of the most used
project management tools like Google Chrome, Microsoft Outlook, Basecamp, and Jira.
Features:
GanttPRO is a useful tool that helps in managing large-scale projects by offering project
portfolio management features, team collaboration features, and communication features.
It is a free, open-source project management app that lets team organize their tasks,
deadlines, and actions in a Gantt chart.
GanttPRO comes with free templates for project management.
Teams can add notes or comments attach files from the cloud and send notifications to
clients via email or push notifications with priorities so they get all the updates in real
time.
JIRA is a software development tool used for project management and issue tracking. It is a
popular tool among software development teams to plan, track, and release software projects.
JIRA provides a centralized platform for managing tasks, bugs, and other types of issues and it
helps teams to organize and prioritize their work. The tool integrates with other software
development tools and has a variety of customizable features and workflows that allow teams to
adapt it to their specific needs. Additionally, JIRA also provides various reporting and dashboard
features that help teams to stay on top of their work and make data-driven decisions.
Accurate estimates are critical to plan and execute a project successfully. Without precise
estimates, it becomes tough to determine how long a project will take or the number of
resources required.
Project managers use these estimates to ensure the team has the right people, materials,
and tools available whenever needed. These estimates also help managers set realistic
goals and expectations for the team members and the stakeholders.
Effort estimation
Cost estimation
Resource estimate
Features:
Variations such as “source lines of code”, are used to set out a codebase.
LOC is frequently used in some kinds of arguments.
They are used in assessing a project’s performance or efficiency.
Advantages:
Most used metric in cost estimation.
Its alternates have many problems as compared to this metric.
It is very easy in estimating the efforts.
Disadvantages:
Very difficult to estimate the LOC of the final program from the problem specification.
There are basically two types of Functional Point Analysis, which are listed below.
External Interface File (EIF): A group of users recognizable logically related data
allusion to the software but maintained within the boundary of software.
Benefits of Functional Point Analysis
FPA is a tool to determine the size of a purchased application package by counting all the
functions included in the package.
It is a tool to measure the units of a software product to support quality and productivity
analysis.
It is a vehicle to estimate the cost and resources required for software development and
maintenance.
In general, people prefer the Function Point for one very important reason, i.e., the size
expressed using the Function point metric stays constant in any case and whichever
language or languages are used.
COCOMO stands for the constructive cost model, a cost estimation model for software projects
based on LOC. The COCOMO model calculates a proposed software project's time, effort, cost,
and quality. In simple words, it predicts the performance of a software project.
COCOMO II Model
COCOMO-II is the revised version of the original Cocomo (Constructive Cost Model) and is
developed at 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. It consists of three
sub-models:
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.
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, and system integration.
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, and system integration.
COCOMO 1 Model:
COCOMO II Model:
COCOMO I COCOMO II
COCOMO I is useful in the waterfall models COCOMO II is useful in non-sequential, rapid
of the software development cycle. development and reuse models of software.
It provides estimates that represent one
It provides estimates of effort and schedule. standard deviation around the most likely
estimate.
This model is based upon the linear reuse This model is based upon the nonlinear reuse
formula. formula
This model is also based upon reuse model
This model is also based upon the assumption
which looks at effort needed to understand and
of reasonably stable requirements.
estimate.
Effort equation’s exponent is determined by 3 Effort equation’s exponent is determined by 5
development modes. scale factors.
Development begins with the requirements
It follows a spiral type of development.
assigned to the software.
Number of submodels in COCOMO I is 3 and In COCOMO II, Number of submodel are 4
15 cost drivers are assigned and 17 cost drivers are assigned
Size of software stated in terms of Lines of Size of software stated in terms of Object
code points, function points and lines of code