0% found this document useful (0 votes)
13 views30 pages

Software Engineer

The document outlines the objectives of activity planning and risk management in software project management, emphasizing the importance of clear project scope, realistic milestones, resource allocation, risk mitigation, and effective communication. It details the significance of project schedules, including task breakdown, duration estimation, sequencing, and resource allocation, while highlighting tools like Gantt charts and the Critical Path Method. Additionally, it defines project activities, their types, characteristics, and importance in simplifying complex projects and ensuring efficient resource use.

Uploaded by

saif hashmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views30 pages

Software Engineer

The document outlines the objectives of activity planning and risk management in software project management, emphasizing the importance of clear project scope, realistic milestones, resource allocation, risk mitigation, and effective communication. It details the significance of project schedules, including task breakdown, duration estimation, sequencing, and resource allocation, while highlighting tools like Gantt charts and the Critical Path Method. Additionally, it defines project activities, their types, characteristics, and importance in simplifying complex projects and ensuring efficient resource use.

Uploaded by

saif hashmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

SPM UNIT-3

ACTIVITY PLANING AND RISK MANAGEMENT


Objectives of Activity Planning
In software project management, the objectives of activity planning are
critical to ensuring the successful delivery of the software project. These
objectives help in defining the direction, aligning resources, and
managing time effectively. Key objectives of activity planning in
software project management include:
Clear Project Scope Definition:
Establish a clear and well-defined scope for the project activities. This
includes specifying the features, functionalities, and deliverables that
need to be developed.
Setting Realistic Milestones and Deadlines:
Break down the project into manageable tasks and set milestones to track
progress. This helps ensure that the project stays on schedule, and timely
delivery of phases can be achieved.
Resource Allocation:
Identify and allocate the necessary resources (e.g., personnel, tools,
hardware, software, etc.) for each activity. Ensure that resources are
available and have the necessary skills for successful execution.
Risk Management and Mitigation:
Identify potential risks associated with each activity (e.g., technical
challenges, scope creep, resource shortages) and develop strategies to
mitigate them. Proactive risk management is essential to keep the project
on track.
Task Prioritization and Sequencing:
Prioritize tasks and define the logical sequence in which activities should
be performed. This helps in organizing dependencies and ensures that
critical tasks are completed first.
Budget Management and Cost Estimation:
Estimate the cost associated with each activity and ensure the overall
budget aligns with the planned resources and activities. This helps avoid
budget overruns during the project lifecycle.
Quality Assurance:
Define the quality standards for the project and plan for activities related
to testing, validation, and verification to ensure that the software meets
the required standards and customer expectations.
Communication Planning:
Plan the communication channels and frequency of updates between team
members, stakeholders, and clients. Clear communication is essential for
reporting progress, addressing issues, and ensuring alignment across all
parties involved.
Monitoring and Controlling:
Set up mechanisms for monitoring the progress of activities and ensure
they are aligned with the project goals. This involves tracking deviations,
providing status reports, and making adjustments as needed to keep the
project on track.
Team Coordination and Collaboration:
Foster collaboration within the development team and other stakeholders.
Encourage effective teamwork by planning activities that promote
communication, knowledge sharing, and collaborative problem solving.

Continuous Improvement:
Plan for regular reviews of processes and activities to identify areas for
improvement. This includes conducting retrospectives and incorporating
lessons learned from past activities to enhance future execution.
By aligning these objectives with the broader goals of the software
project, activity planning in software project management ensures that the
project is completed efficiently, within budget, and on time, while
maintaining the required level of quality.
project schedules:
In software project management, project schedules are crucial for
tracking and managing the timeline of a project. They detail the specific
start and end dates for each activity or task, and outline milestones,
deadlines, and resource allocation. Effective project scheduling helps
ensure that the project is completed on time, within scope, and within
budget.
Here are the key aspects of project schedules in software project
management:
1. Task Breakdown and Activity Planning
 Work Breakdown Structure (WBS): The project is broken down into
smaller, more manageable tasks or work packages. These tasks represent
specific features, components, or activities necessary to complete the
project.
 Activity Identification: Each task or deliverable is identified, and its
scope is defined clearly, often with the use of a WBS or similar tool.
2. Defining Task Durations
 Estimating Time for Tasks: Each activity is assigned an estimated
duration based on historical data, expert judgment, or the team's
experience. It is important to consider the complexity and resources
available for each task.
 Buffer Time: Adding contingency or buffer time is essential to account
for uncertainties or risks.
3. Sequencing Activities
 Dependencies: Identifying task dependencies is critical. Some tasks can
only start after others are completed (e.g., testing cannot start until coding
is finished).
 Critical Path Method (CPM): The critical path helps to identify the
longest sequence of dependent tasks and is used to determine the shortest
possible duration for completing the project. Delays on the critical path
directly affect the project end date.
4. Resource Allocation
 Assigning Resources to Tasks: Each task requires certain resources (e.g.,
developers, testers, tools, software, hardware). The schedule needs to
allocate the right resources to the right tasks at the right time.
 Managing Resource Constraints: Ensuring that resource availability is
balanced and there are no overallocation issues that could delay progress.
5. Milestones and Deadlines
 Milestones: Milestones mark important events or deliverables in the
project, such as the completion of a major phase (e.g., requirements
gathering, alpha release, final deployment). They help track progress and
provide targets for the team.
 Deadlines: Key deadlines for project phases, including internal reviews,
testing periods, and final product releases, need to be well defined to
avoid delays.
6. Scheduling Tools and Techniques
 Gantt Charts: A Gantt chart visually represents the project schedule,
showing task timelines, dependencies, and milestones. It’s a common tool
used for software project scheduling.
 Kanban Boards: For agile software development, a Kanban board can be
used to manage tasks and visualize progress as items move from "To Do"
to "In Progress" to "Done."
 Critical Path Method (CPM): Used to identify the most important
sequence of tasks that determine the project’s overall timeline.
 Program Evaluation and Review Technique (PERT): PERT is used to
evaluate the time required to complete each task and estimate the project
duration considering uncertainty and variability in task durations.
7. Tracking and Monitoring Progress
 Progress Updates: The project manager should continuously track the
progress of each task in the schedule to ensure timely completion and
detect any delays early.
 Schedule Variance Analysis: A key activity involves comparing the
planned schedule with actual progress to identify deviations, taking
corrective actions as needed.
8. Risk Management in Scheduling
 Buffer Time/Contingency Planning: Account for uncertainties by
adding buffer time to the schedule to mitigate the impact of potential
delays or risks.
 Resource Risks: Anticipate and plan for resource shortages or
availability issues that could delay tasks.
9. Adjustments and Revisions
 Schedule Compression: When necessary, techniques like crashing
(adding more resources to tasks) or fast-tracking (performing tasks in
parallel) can be used to accelerate the schedule.
 Adjusting Due to Delays: If tasks fall behind, the schedule may need to
be revised to account for delays, ensuring that critical deadlines are still
met.
10. Stakeholder Communication and Reporting
 Regular Updates: Timely and clear communication with stakeholders
about project schedule status is essential. This helps ensure alignment and
allows for early identification of issues or concerns.
 Status Reports: Project managers often create weekly or bi-weekly
status reports detailing the progress, upcoming milestones, risks, and any
changes to the schedule.
11. Agile Scheduling
 Sprint Planning: In Agile methodologies, scheduling is done in
iterations or sprints, with a focus on delivering small, functional
increments of software. Each sprint has its own schedule of tasks, with
planning meetings and daily standups to ensure the team stays on track.
 Release Planning: For agile projects, releases may be planned for
multiple sprints, with the schedule focusing on when certain features or
versions are expected to be released.
Key Benefits of a Well-Defined Project Schedule in Software Project
Management:
 Clear timeline: Helps ensure the project remains on track.
 Resource efficiency: Helps prevent overallocation and ensures the right
resources are available when needed.
 Proactive risk management: Helps identify and address potential delays
before they become significant issues.
 Stakeholder confidence: Clear schedules help manage expectations and
maintain stakeholder confidence in the project’s success.
 Improved decision-making: A well-defined schedule allows project
managers to make informed decisions, allocate resources, and adjust
timelines as necessary.

What Is an Activity in Project Management?


In project management, an "activity" is a specific job that needs to be
done as part of a project. They also help plan when things should happen,
who needs to do them, and what resources are needed. By keeping track
of activities, managers can see how the project is progressing and catch
any problems early. For example, activities could include things like
doing research, designing, coding, testing, or having meetings.
What is an Activity in Project Management?
In project management, an "activity" is simply a specific task or job that
needs to be done for a project. These activities are important because they
help break down the project into smaller, manageable parts, making it
easier to plan and organize. Each activity has its own start and end dates,
and it needs certain resources and people to get done. By identifying and
defining activities, project managers can create a clear plan for the
project, assign resources effectively, and keep track of progress. Activities
are the building blocks of the project schedule, ensuring that everything
gets done on time and within budget.
Types of Activities

1. Sequential Activities: These are tasks that must be completed in a


specific order. For example, designing a product must precede
manufacturing it.
2. Parallel Activities: These are tasks that can be executed simultaneously
without dependencies. For instance, while the design team works on
product design, the marketing team can start creating promotional
materials.
3. Critical Path Activities: These are activities that, if delayed, would
directly impact the project's overall timeline. The critical path is the
longest sequence of dependent activities that determine the shortest
possible duration for completing the project.
Characteristics of Activities
1. Unique and Measurable: Each activity should be distinct and clearly
defined, with measurable outcomes or milestones.
2. Time-Bound: Activities have specific start and end dates or durations,
contributing to the overall project timeline.
3. Resource Consumption: Activities consume various resources such as
human resources, materials, equipment, and budget allocation.
4. Dependency: Activities may have dependencies on other activities,
meaning that the completion of one activity is necessary before another
can start.
Why are Project Activities Important?
1. Simplifying Complex Projects: Projects can be overwhelming because
they involve lots of different tasks. Activities break down these big
projects into smaller, easier-to-handle pieces.
2. Better Planning and Scheduling: Activities are like building blocks for
planning a project. They help figure out when each part of the project
should happen, who's needed, and what resources are required.
3. Using Resources Wisely: Each activity needs certain things to get done,
like people, tools, or materials. By knowing what each activity needs,
project managers can make sure resources are used in the best possible
way.
4. Keeping Track of Progress: Activities are like checkpoints along the
way. By seeing which activities are finished and which aren't, project
managers can tell if the project is going as planned or if there are any
problems.
5. Dealing with Problems Early: Because activities help track
progress, project managers can spot any issues early on. This means they
can fix things before they become big problems that could delay the
whole project.
6. Talking to Everyone Involved: Activities give everyone involved in the
project a common language to talk about what's happening. It's easier to
tell stakeholders what's been done, what's happening now, and what's still
left to do by referring to specific activities.
What are Project Activities Examples?
Example 1: Designing a Website
 Activity Description: This involves creating wireframes, mockups, and
design layouts for the website based on client requirements and industry
standards.
 Resources Required: Graphic designers, UX/UI designers, and design
software/tools.
 Timeframe: Typically, this activity can take several days to weeks,
depending on the complexity of the website and the revisions required.
Example 2: Developing Software Modules
 Activity Description: Developing specific modules or features of a
software application as per the project's scope and technical
specifications.
 Resources Required: Software developers, coding tools/IDEs, and
version control systems.
 Timeframe: Each module development may vary in duration, ranging
from days to weeks, depending on complexity and dependencies.
Example 3: Conducting Market Research
 Activity Description: Gathering data and insights related to market
trends, customer preferences, competitor analysis, and potential
opportunities for a new product or service.
 Resources Required: Market research analysts, survey tools, and data
analysis software.
 Timeframe: Market research activities can span several weeks to
months, depending on the depth of analysis required and the size of the
target market.
Sequencing and Scheduling in Software Project Management
Sequencing and scheduling are critical elements of software project
management, ensuring that project tasks are completed in the right order,
within time constraints, and utilizing resources efficiently. Here’s a
detailed breakdown of these concepts in the context of a software project:
1. Sequencing in Software Project Management
 Sequencing refers to determining the logical order in which project tasks
need to be completed, based on their dependencies. Proper sequencing
ensures that tasks are performed in the correct order, and no task is
delayed unnecessarily.
In software projects, sequencing is particularly important due to the
interdependencies between various tasks such as coding, testing, and
deployment. For example:
 Design must be completed before coding starts.
 Unit Testing should follow after coding is finished.
 Integration Testing needs to happen after individual modules are
integrated.
Steps for Sequencing Software Project Activities:
1. Identify all tasks: Break down the project into manageable activities
(e.g., requirements gathering, system design, coding, testing, etc.).
2. Determine dependencies: Identify which tasks depend on the completion
of others. Some tasks can happen simultaneously, while others are
dependent.
3. Establish task order: Arrange the tasks based on dependencies, creating
a logical sequence.
4. Create a Dependency Diagram: Use a network diagram (e.g., Activity
on Node) to visually represent these dependencies.
Example of Sequencing:
kotlin
1. Requirements Gathering → 2. Design → 3. Coding → 4. Unit Testing
→ 5. Integration Testing → 6. Deployment
2. Scheduling in Software Project Management
 Scheduling involves determining when each task in a project will be
completed. It assigns specific start and finish times to activities, helping
the team manage time effectively and ensuring that the project stays on
track.
 In software projects, scheduling is essential for managing time efficiently
and ensuring the timely delivery of software.
Steps for Scheduling Software Project Activities:
1. Estimate task durations: Estimate how long each task will take based on
historical data or expert judgment. For software projects, durations may
vary significantly based on complexity (e.g., coding for a small feature
might take a few days, while a large feature could take weeks).
2. Assign resources: Allocate human and material resources (e.g.,
developers, testers, tools) for each task. Be sure to account for their
availability.
3. Determine milestones: Identify key project milestones (e.g., completion
of requirements, end of testing phase). These serve as checkpoints to
assess project progress.
4. Create the project timeline: Using the tasks, their durations, and
dependencies, create a timeline or Gantt chart that shows when each task
will start and finish.
5. Monitor and adjust: As the project progresses, monitor the actual
completion of tasks and adjust the schedule if needed to accommodate
delays or changes in scope.
Example of Scheduling (Assuming task durations are estimated):
 Requirements Gathering (Duration: 2 weeks)
 Design (Duration: 3 weeks)
 Coding (Duration: 4 weeks)
 Unit Testing (Duration: 2 weeks)
 Integration Testing (Duration: 2 weeks)
 Deployment (Duration: 1 week)
These tasks can be plotted on a Gantt chart, which helps visualize the
project timeline and dependencies.
3. Tools for Sequencing and Scheduling in Software Project
Management
 Gantt Charts: Used to display tasks, their durations, and dependencies
visually. Gantt charts help in monitoring the progress of the project and
ensuring that it is on schedule.
 Critical Path Method (CPM): Identifies the critical tasks that directly
affect the project deadline. Tasks on the critical path have zero slack time,
meaning delays will push the project’s overall timeline. CPM helps
prioritize which tasks need close monitoring.
 Program Evaluation and Review Technique (PERT): Involves
estimating the minimum, maximum, and most likely durations for tasks,
which is useful for projects with uncertain timelines.
 Project Management Software: Tools like Jira, Microsoft Project, or
Asana are often used in software project management to help manage
sequencing, scheduling, resource allocation, and task dependencies.
4. Importance of Sequencing and Scheduling in Software Projects
 Time Management: Proper sequencing and scheduling ensure the
software project is completed on time by tracking milestones and
adjusting as necessary.
 Resource Allocation: Proper scheduling helps allocate resources (e.g.,
developers, testers) effectively, avoiding overallocation or underuse of
resources.
 Risk Management: Helps in identifying potential bottlenecks, such as
tasks that are highly dependent on others or need specific resources at
particular times.
 Predictability and Transparency: Creates a clear roadmap for the team
and stakeholders, which can be referred to throughout the project for
performance tracking and updates.
5. Challenges in Sequencing and Scheduling Software Projects
 Uncertainty in Estimating Task Durations: Software tasks often have a
high level of uncertainty (e.g., new technologies, complex algorithms),
making scheduling and sequencing difficult.
 Changes in Requirements: Frequent changes in software requirements
or scope can disrupt the sequence and schedule of tasks, requiring
adjustments.
 Resource Constraints: Limited availability of skilled personnel or
equipment can delay tasks and disrupt schedules.
 Task Dependencies: Some software development tasks (e.g., testing or
integration) are dependent on others being completed first, which can
lead to delays if one task is delayed.
6. Best Practices for Sequencing and Scheduling in Software Projects
 Break Down Tasks: Decompose complex tasks into smaller, manageable
units (often called work packages) to improve accuracy in sequencing and
scheduling.
 Use Agile Methodologies: In an Agile framework, software projects are
broken into sprints (short, time-boxed periods), and sequencing and
scheduling are done on a more frequent basis, allowing for flexibility and
quicker responses to changes.
 Buffer Time: Include buffer time in the schedule to accommodate
unforeseen delays or challenges.
 Regular Monitoring and Adjustment: Track project progress regularly
and adjust the schedule as needed to ensure that the project stays on track.

Network Planning Models in Software Project Management


In software project management, network planning models are
essential tools for organizing and visualizing project activities,
identifying dependencies, and ensuring that tasks are completed in the
right sequence. These models provide a structured approach to
scheduling, resource allocation, and risk management. Two of the most
commonly used network planning models in software projects are
Activity on Node (AON) and Activity on Arrow (AOA), which help in
representing the project workflow.
Below is a detailed explanation of these models:

1. Activity on Node (AON) Model


The Activity on Node (AON) model is the most commonly used network
planning model in modern project management, especially in software
projects. In this model, each activity is represented by a node (usually a
rectangle), and the arrows between the nodes represent the dependencies
(i.e., which tasks need to be completed before others can start).
Key Features of AON Model:
 Nodes represent activities: Each task or activity in the project is
represented by a node.
 Arrows represent dependencies: Arrows indicate the dependencies
between tasks, showing which tasks must be completed before others can
begin.
 Directionality: Arrows flow from earlier tasks to later tasks, illustrating
the sequence of activities.
Example of AON Model in Software Projects:
Suppose you're managing a software project with the following tasks:
 Requirements Gathering (A)
 System Design (B)
 Coding (C)
 Testing (D)
 Deployment (E)
The AON network might look like this:
scss
Copy code
A (Requirements Gathering) --> B (System Design)
|
v
C (Coding) --> D (Testing) --> E (Deployment)
 Activity A (Requirements Gathering) needs to be completed before
Activity B (System Design) begins.
 Activity C (Coding) cannot begin until Activity B (System Design) is
completed.
 Activity D (Testing) follows Activity C (Coding), and E (Deployment)
can only occur after testing is completed.
This model helps visualize the order and timing of each task, as well as
identify the critical path (more on this later).

2. Activity on Arrow (AOA) Model


The Activity on Arrow (AOA) model is another network planning
method, but it is less commonly used today. In this model, the activities
are represented by arrows, while the nodes (typically circles) represent
events or milestones (i.e., points in time when tasks are completed or new
tasks can start).
Key Features of AOA Model:
 Arrows represent activities: Each arrow represents a single activity or
task.
 Nodes represent events: Nodes are milestones that show the start or
finish of one or more activities.
 Dependencies are shown by arrow connections: Dependencies between
tasks are shown by how arrows connect to nodes.
Example of AOA Model in Software Projects:
The same software project tasks might look like this in the AOA format:
scss
Copy code
[Start] --> A (Requirements Gathering) --> B (System Design) --> C
(Coding) --> D (Testing) --> E (Deployment) --> [Finish]
In this example:
 The project starts with the Start event node.
 Activity A (Requirements Gathering) must occur first, followed by
System Design (B), then Coding (C), Testing (D), and finally
Deployment (E).
 Each node represents a milestone, and each arrow represents a task.
The AOA model focuses more on tracking when specific events or
milestones occur, while AON places more emphasis on the sequence and
flow of tasks.

3. Importance of Network Planning Models in Software Projects


Network planning models are incredibly useful in software project
management for several reasons:
a. Visualizing Project Flow:
 Network models provide a clear, visual representation of the relationships
between tasks in the project, helping project managers see the entire
workflow at a glance. This aids in identifying tasks that depend on others
and understanding how delays in one task can affect others.
b. Identifying Critical Path:
 In both AON and AOA models, you can use the Critical Path Method
(CPM) to determine the critical path — the longest sequence of
dependent tasks that determines the project's minimum completion time.
 Tasks on the critical path are crucial, and any delay in these tasks will
cause a delay in the overall project. Identifying the critical path is key to
managing time and avoiding project delays.
c. Task Dependency Management:
 These models help in identifying which tasks are dependent on the
completion of others. This is critical for avoiding resource conflicts and
ensuring that tasks are completed in the right order.
d. Resource Allocation and Load Balancing:
 By using network models, you can allocate resources more efficiently,
making sure that teams or individuals aren’t overburdened or
underutilized. Tasks that run in parallel can often be assigned to different
resources, which helps balance workloads and avoid delays.
e. Risk Management and Contingency Planning:
 By mapping out the project in a network, software project managers can
anticipate potential risks, bottlenecks, and delays. The network model
helps visualize areas where delays can occur and prioritize contingency
planning.
 For example, the model might reveal tasks that have tight dependencies
or tasks that require special expertise, thus highlighting areas of
vulnerability.
f. Timeline Estimation:
 Network models provide a framework for estimating the time required to
complete the project. By determining task durations and understanding
dependencies, project managers can generate more accurate timelines and
set realistic deadlines.

4. Tools and Software for Network Planning Models


In software project management, network planning models can be created
manually or using specialized software tools. Some of the most
commonly used tools are:
 Microsoft Project: Allows you to create AON diagrams, track task
dependencies, and calculate the critical path automatically.
 Jira: A popular tool in Agile environments, Jira offers Gantt chart plugins
and other features that help visualize task dependencies and scheduling.
 Primavera: Used for more complex projects, Primavera offers detailed
project planning and scheduling tools, including AON and AOA
representations.
 Lucidchart or Visio: These diagramming tools allow project managers to
manually create AON or AOA diagrams and network flowcharts.

5. Comparison of AON and AOA Models


AON (Activity on AOA (Activity on
Feature
Node) Arrow)
Activities are
Activities are
Representation represented by
represented by arrows
nodes
Dependencies Arrows represent Nodes represent events
dependencies and milestones
AON (Activity on AOA (Activity on
Feature
Node) Arrow)
between tasks
Simpler and easier Can be more complex
Complexity
to understand to manage
More commonly
Less commonly used
used in modern
Modern Usage today, especially in
software project
software projects
management
Focuses on the Focuses on
Event Tracking tasks and their milestones/events and
sequence task completion
Clearer for
Less intuitive due to
Visual Clarity understanding task
focus on events
sequences

Forward Pass and Backward Pass Techniques in Software Project


Management
In software project management, the Forward Pass and Backward
Pass techniques are used to calculate the earliest start (ES), earliest
finish (EF), latest start (LS), and latest finish (LF) times for all tasks in
the project. These techniques are typically applied in the context of
Critical Path Method (CPM) and are essential for building project
schedules, identifying the critical path, and ensuring that the project is
completed on time.
Let's break down both techniques in detail:

1. Forward Pass Technique


The Forward Pass is used to determine the earliest possible start and
finish times for each activity, assuming that all tasks start as soon as their
dependencies are completed and resources are available. It helps calculate
the project's total duration and provides a timeline for each task’s
completion.
Steps in the Forward Pass:
1. Start with the initial task (or tasks): For the first task, the Earliest
Start (ES) is typically set to 0 or the project start time.
2. Calculate the Earliest Finish (EF) for each task: The EF is the earliest
time a task can finish, calculated as: EF=ES+DurationEF = ES +
DurationEF=ES+Duration
3. Move sequentially through the project: For each subsequent task,
calculate the ES based on the latest EF of its predecessors. In other
words, a task cannot start until all its dependencies have been completed.
4. Update each task's ES and EF: Continue this process until all tasks in
the project are accounted for.
Example of Forward Pass in Software Projects:
Let's consider a simple software project with the following tasks:
 Task A: Requirements Gathering (Duration = 3 days)
 Task B: System Design (Duration = 4 days) [Depends on Task A]
 Task C: Coding (Duration = 5 days) [Depends on Task B]
 Task D: Testing (Duration = 2 days) [Depends on Task C]
 Task E: Deployment (Duration = 1 day) [Depends on Task D]
The forward pass would proceed as follows:
 Task A:
o ES = 0 (project start)
o EF = 0 + 3 = 3 (end of Task A)
 Task B (depends on Task A):
o ES = EF of Task A = 3
o EF = 3 + 4 = 7 (end of Task B)
 Task C (depends on Task B):
o ES = EF of Task B = 7
o EF = 7 + 5 = 12 (end of Task C)
 Task D (depends on Task C):
o ES = EF of Task C = 12
o EF = 12 + 2 = 14 (end of Task D)
 Task E (depends on Task D):
o ES = EF of Task D = 14
o EF = 14 + 1 = 15 (end of Task E)
The total project duration (based on the forward pass) would be 15
days.

2. Backward Pass Technique


The Backward Pass is used to calculate the latest possible start and
finish times for each activity, ensuring that the project can still be
completed by the required deadline. The backward pass starts from the
final task (or tasks) and works backward through the network of tasks.
Steps in the Backward Pass:
1. Start with the final task(s): The latest finish time (LF) of the final task is
typically set to the project deadline or the total project duration (from the
forward pass).
2. Calculate the Latest Start (LS) for each task: The LS is the latest time
a task can start without delaying the project, calculated as:
LS=LF−DurationLS = LF - DurationLS=LF−Duration
3. Move backward through the project: For each task, the LF is
determined based on the earliest LS of its successors (i.e., the task must
finish before the successor starts).
4. Update each task's LS and LF: Continue this process until you have
completed all tasks in the project.
Example of Backward Pass in Software Projects:
Continuing with the previous example where the forward pass has
calculated the following EF times:
 Task A: EF = 3
 Task B: EF = 7
 Task C: EF = 12
 Task D: EF = 14
 Task E: EF = 15
Suppose the project has a deadline of 15 days (the EF of Task E).
The backward pass would proceed as follows:
 Task E:
o LF = Project Deadline = 15
o LS = LF - Duration = 15 - 1 = 14 (latest start for Task E)
 Task D (depends on Task E):
o LF = LS of Task E = 14
o LS = LF - Duration = 14 - 2 = 12 (latest start for Task D)
 Task C (depends on Task D):
o LF = LS of Task D = 12
o LS = LF - Duration = 12 - 5 = 7 (latest start for Task C)
 Task B (depends on Task C):
o LF = LS of Task C = 7
o LS = LF - Duration = 7 - 4 = 3 (latest start for Task B)
 Task A (depends on Task B):
o LF = LS of Task B = 3
o LS = LF - Duration = 3 - 3 = 0 (latest start for Task A)
Thus, the latest finish times (LF) and latest start times (LS) for each
task are:
 Task A: LS = 0, LF = 3
 Task B: LS = 3, LF = 7
 Task C: LS = 7, LF = 12
 Task D: LS = 12, LF = 14
 Task E: LS = 14, LF = 15
4. Example of Forward Pass and Backward Pass
Here's a summary example, showing how both techniques are applied to a
software project.
La La
Earl Earl tes tes
T iest iest t t
Dura Slack/
as Star Fini Sta Fin
tion Float
k t sh rt ish
(ES) (EF) (L (L
S) F)
Ta
3
sk 0 3 0 3 0
days
A
Ta
4
sk 3 7 3 7 0
days
B
Ta
5
sk 7 12 7 12 0
days
C
Ta
2
sk 12 14 12 14 0
days
D
Ta
sk 1 day 14 15 14 15 0
E
 The critical path here is A → B → C → D → E, as all tasks have zero
slack, meaning any delay in these tasks will delay the project.
Critical Path Method for Project management
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.
What is a Critical task in project management?
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.
What is the Critical path in project management?
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:
 Show the project schedule visually.
 Highlight important tasks with CPM.
 Use CPM to find and handle risks.
 CPM helps the project team communicate better.
How to find the critical path in a project:
 Step 1: Identify all tasks required to complete the project
 Step 2: Determine the sequence of tasks
 Step 3: Estimate the duration of each task
 Step 4: Draw a network diagram
 Step 5: Identify the critical path
 Step 6: Calculate the float
 Step 7: Monitor the critical path

Methods for Identifying Risks


Identifying risk is one of most important or essential and initial steps in
risk management process. By chance, if failure occurs in identifying any
specific or particular risk, then all other steps that are involved in risk
management will not be implemented for that particular risk. For
identifying risk, project team should review scope of program, estimate
cost, schedule, technical maturity, parameters of key performance, etc. To
manage risk, project team or organization are needed to know about what
risks it faces, and then to evaluate them. Generally, identification of risk
is an iterative process. It basically includes generating or creating
comprehensive list of threats and opportunities that are based on events
that can enhance, prevent, degrade, accelerate, or might delay successful
achievement of objectives. In simple words, if you don’t find or identify
risk, you won’t be able to manage it.
The organizer of project needs to expect some of the risk in the project as
early as possible so that the performance of risk may be reduced. This
could be only possible by making effective risk management planning.
A project may contain large variety of risk. To know the specific amount
of risk, there may be chance of affecting a project. So, this is necessary
to make categories into different class of risk.
There are many different types of risks which affects the software project:
1. Technology risks
2. Tools risks
3. Estimation risks
4. People risks
5. Requirement risks
6. Organizational risks
Methods for Identifying Risks : Earlier, there were no easy methods
available that will surely identify all risks. But nowadays, there are some
additional approaches available for identifying risks. Some of approaches
for risk identification are given below:
1. Checklist Analysis – Checklist Analysis is type of technique generally
used to identify or find risks and manage it. The checklist is basically
developed by listing items, steps, or even tasks and is then further
analyzed against criteria to just identify and determine if procedure is
completed correctly or not. It is list of risk that is just found to occur
regularly in development of software project. Below is the list of software
development risk by Barry Boehm- modified version.

Risk Risk Reduction Technique

Various techniques include training and


Personnel career development, job-matching,
Shortfalls teambuilding, etc.

Various techniques include incremental


development, standardization of
Unrealistic time methods, recording, and analysis of the
and cost estimates past project, etc.

Development of Various techniques include formal


wrong software
functions specification methods, user surveys, etc.

Development of the
wrong user Various techniques include user
interface involvement, prototyping, etc.

2. Brainstorming – This technique provides and gives free and open


approach that usually encourages each and everyone on project team to
participate. It also results in greater sense of ownership of project risk,
and team generally committed to managing risk for given time period of
project. It is creative and unique technique to gather risks spontaneously
by team members. The team members identify and determine risks in ‘no
wrong answer’ environment. This technique also provides opportunity for
team members to always develop on each other’s ideas. This technique is
also used to determine best possible solution to problems and issue that
arises and emerge.
3. Casual Mapping – Causal mapping is method that builds or develops
on reflection and review of failure factors in cause and effect of the
diagrams. It is very useful for facilitating learning with an organization or
system simply as method of project-post evaluation. It is also key tool for
risk assessment.
4. SWOT Analysis – Strengths-Weaknesses-Opportunities-Threat
(SWOT) is very technique and helpful for identifying risks within greater
organization context. It is generally used as planning tool for analyzing
business, its resources, and also its environment simply by looking at
internal strengths and weaknesses and opportunities and threats in
external environment. It is technique often used in formulation of
strategy. The appropriate time and effort should be spent on thinking
seriously about weaknesses and threats of organization for SWOT
analysis to more effective and successful in risk identification.
5. Flowchart Method – This method allows for dynamic process to be
diagrammatically represented in paper. This method is generally used to
represent activities of process graphically and sequentially to simply
identify the risk.
What is Risk Management?
A risk is a probable problem; it might happen, or it might not. There are
main two characteristics of risk.
 Uncertainty: the risk may or may not happen which means there are no
100% risks.
 Loss: If the risk occurs in reality, undesirable results or losses will occur.
What is Risk Management?
Risk Management is a systematic process of recognizing, evaluating, and
handling threats or risks that have an effect on the finances, capital, and
overall operations of an organization. These risks can come from different
areas, such as financial instability, legal issues, errors in strategic
planning, accidents, and natural disasters.
The main goal of risk management is to predict possible risks and find
solutions to deal with them successfully.
Why is risk management important?
Risk management is important because it helps organizations to prepare
for unexpected circumstances that can vary from small issues to major
crises. By actively understanding, evaluating, and planning for potential
risks, organizations can protect their financial health, continued
operation, and overall survival.
Let’s Understand why risk management important with an example.
Suppose In a software development project, one of the key developers
unexpectedly falls ill and is unable to contribute to the product for an
extended period.
One of the solution that organization may have , The team uses
collaborative tools and procedures, such as shared work boards or project
management software, to make sure that each member of the team is
aware of all tasks and responsibilities, including those of their teammates.
An organization must focus on providing resources to minimize the
negative effects of possible events and maximize positive results in order
to reduce risk effectively. Organizations can more effectively identify,
assess, and mitigate major risks by implementing a consistent, systematic,
and integrated approach to risk management.
The risk management process
Risk management is a sequence of steps that help a software team to
understand, analyze, and manage uncertainty. Risk management process
consists of
 Risks Identification.
 Risk Assessment.
 Risks Planning.
 Risk Monitoring
Risk Management Process
Risk Identification
Risk identification refers to the systematic process of recognizing and
evaluating potential threats or hazards that could negatively impact an
organization, its operations, or its workforce. This involves identifying
various types of risks, ranging from IT security threats like viruses and
phishing attacks to unforeseen events such as equipment failures and
extreme weather conditions.
Risk analysis
Risk analysis is the process of evaluating and understanding the potential
impact and likelihood of identified risks on an organization. It helps
determine how serious a risk is and how to best manage or mitigate it.
Risk Analysis involves evaluating each risk’s probability and potential
consequences to prioritize and manage them effectively.
Risk Planning
Risk planning involves developing strategies and actions to manage and
mitigate identified risks effectively. It outlines how to respond to
potential risks, including prevention, mitigation, and contingency
measures, to protect the organization’s objectives and assets.
Risk Monitoring
Risk monitoring involves continuously tracking and overseeing identified
risks to assess their status, changes, and effectiveness of mitigation
strategies. It ensures that risks are regularly reviewed and managed to
maintain alignment with organizational objectives and adapt to new
developments or challenges.
Understanding Risks in Software Projects
A computer code project may be laid low with an outsized sort of risk. To
be ready to consistently establish the necessary risks that could affect a
computer code project, it’s necessary to group risks into completely
different categories. The project manager will then examine the risks
from every category square measure relevant to the project.
There are mainly 3 classes of risks that may affect a computer code
project:
1. Project Risks:
Project risks concern various sorts of monetary funds, schedules,
personnel, resources, and customer-related issues. A vital project risk is
schedule slippage. Since computer code is intangible, it’s tough to
observe and manage a computer code project. It’s tough to manage one
thing that can not be seen. For any producing project, like producing cars,
the project manager will see the merchandise taking form.
For example, see that the engine is fitted, at the moment the area of the
door unit is fitted, the automotive is being painted, etc. so he will simply
assess the progress of the work and manage it. The physical property of
the merchandise being developed is a vital reason why several computer
codes come to suffer from the danger of schedule slippage.
2. Technical Risks:
Technical risks concern potential style, implementation, interfacing,
testing, and maintenance issues. Technical risks conjointly embody
ambiguous specifications, incomplete specifications, dynamic
specifications, technical uncertainty, and technical degeneration. Most
technical risks occur thanks to the event team’s lean information
concerning the project.

3. Business Risks:
This type of risk embodies the risks of building a superb product that
nobody needs, losing monetary funds or personal commitments, etc.
Classification of Risk in a project
Example: Let us consider a satellite-based mobile communication
project. The project manager can identify many risks in this project. Let
us classify them appropriately.
 What if the project cost escalates and overshoots what was estimated?
– Project Risk
 What if the mobile phones that are developed become too bulky to
conveniently carry? Business Risk
 What if call hand-off between satellites becomes too difficult to
implement? Technical Risk
Risk management standards and frameworks
Risk management standards and frameworks give organizations
guidelines on how to find, evaluate, and handle risks effectively. They
provide a structured way to manage risks, making sure that everyone
follows consistent and reliable practices. Here are some well-known risk
management standards and frameworks:

1. COSO ERM Framework:


COSO ERM Framework was introduce in 2004 and updated in 2017.
Its main purpose is to addresses the growing complexity of Enterprise
Risk Management (ERM).
 Key Features:
o 20 principles grouped into five components: Governance and
culture, Strategy and objective-setting, Performance, Review and
revision, Information, communication, and reporting.
o It promote integrating risk into business strategies and operations.
2. ISO 31000:
ISO 31000 was introduce in 2009, revised in 2018. It provides principles
and a framework for ERM.
 Key Features:
o It offers guidance on applying risk management to operations.
o It focuses on identifying, evaluating, and mitigating risks.
o It promote senior management’s role and integrating risk
management across the organization.
3. BS 31100:
This framework is British Standard for Risk Management and latest
version issued in 2001. It offers a structured approach to applying the
principles outlined in ISO 31000:2018, covering tasks like identifying,
evaluating, and addressing risks, followed by reporting and reviewing
risk management efforts.
Benefits of risk management
Here are some benefits of risk management:
 Helps protect against potential losses.
 Improves decision-making by considering risks.
 Reduces unexpected expenses.
 Ensures adherence to laws and regulations.
 Builds resilience against unexpected challenges.
 Safeguards company reputation.
Limitation of Risk Management
Here are Some Limitation of Risk Management
 Too much focus on risk can lead to missed opportunities.
 Implementing risk management can be expensive.
 Risk models can be overly complex and hard to understand.
 Having risk controls might make people feel too safe.
 Relies on accurate human judgment and can be prone to mistakes.
 Some risks are hard to predict or quantify.
 Managing risks can take a lot of time and resources.
Project Evaluation and Review Technique (PERT)
Project Evaluation and Review Technique (PERT) is a procedure
through which activities of a project are represented in its appropriate
sequence and timing. It is a scheduling technique used to schedule,
organize and integrate tasks within a project. PERT is basically a
mechanism for management planning and control which provides
blueprint for a particular project. All of the primary elements or events of
a project have been finally identified by the PERT.
In this technique, a PERT Chart is made which represent a schedule for
all the specified tasks in the project. The reporting levels of the tasks or
events in the PERT Charts is some what same as defined in the work
breakdown structure (WBS).

What is PERT Chart?


A PERT chart is a project management tool used to plan and schedule
tasks, illustrating the sequence and timing of project activities. The PERT
chart is used to schedule, organize and co-ordinate tasks within the
project. the objective of PERT chart is to determine the critical path,
which comprises critical activities that should be completed on schedule.
This chart is prepared with the help of information generated in project
planning activities such as estimation of effort, selection of suitable
process model for software development and decomposition of tasks into
subtasks.
What does a PERT Chart Contain?
Here are the main components of a PERT chart:
 Nodes: it represents the task or milestones. every node represents the task
name and may also show duration of the task.
 Arrows: it indicates the direction or sequence of task and also
dependencies between them. suppose an array from A to B, then task A
must be completed before task B.
 Time Estimation: It estimates the time duration to complete the task.
 Critical Path: The critical path is the largest path in project
management that always results in the shortest time to complete the
project.
 Milestones: It is Key point in the project timeline that represent
significant events or deadlines.
How a PERT Chart Works?
A PERT chart used to plan and visualize tasks in a project. It breaks
down the project into individual tasks and shows the sequence in which
they must be completed. Each task is represented by a node, and arrows
indicate the dependencies between tasks. By analyzing the chart, teams
can identify the critical path, which helps determine the shortest time to
complete the project and allocate resources effectively.
How to Create a PERT chart?
To create a PERT chart, we can follow the below steps:
Step 1: Identify Project Tasks
List all the tasks required to complete the project. Identifying tasks means
listing all the steps needed to complete a project. Start by figuring out
what the main goal is, then break it down into smaller actions. Ask team
members for ideas and use clear action words for each task.
Step 2: Define task dependencies
Defining task dependencies means figuring out which tasks must be
completed before others can start. Look at your task list and identify
connections by asking if one task relies on another. This helps you
establish the order of work, ensuring everything is done in the right
sequence.
Step 3: Estimate Timeline
Estimating the timeline involves figuring out how long each task will take
to complete. For each task, think about the quickest time it could be done
(optimistic), the longest it might take (pessimistic), and the most likely
time it will actually take. This gives you a better idea of the overall
project duration and helps with planning.
Step 4: Calculate Critical Path
Calculate Critical Path means finding the longest sequence of tasks that
determines the shortest time to complete the project. Identify which tasks
can’t be delayed without affecting the overall project deadline, helping
you focus on what’s most important.
Step 5: Manage task progress
It involves tracking how each task is going. Regularly check if tasks are
on schedule, address any delays, and adjust plans if needed. This ensures
the project stays on track and any issues are resolved quickly.

Critical Path Method for Project management


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.
What is a Critical task in project management?
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.
What is the Critical path in project management?
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:
 Show the project schedule visually.
 Highlight important tasks with CPM.
 Use CPM to find and handle risks.
 CPM helps the project team communicate better.
How to find the critical path in a project:
 Step 1: Identify all tasks required to complete the project
 Step 2: Determine the sequence of tasks
 Step 3: Estimate the duration of each task
 Step 4: Draw a network diagram
 Step 5: Identify the critical path
 Step 6: Calculate the float
 Step 7: Monitor the critical path
Cost and Schedule Estimating Process
Last Updated : 10 Jul, 2020



The cost and schedule estimation process helps in determining number of
resources to complete all project activities. It generally involves
approximation and development of costing alternatives to plan, perform
or work, deliver, or give project. A good estimation is very much essential
for keeping a project under budget.
Two perspectives are generally required to derive project plans. These
perspectives are given below :
1. Forward-Looking :
 The Forward-Looking approach is also known as Top-Down
approach. This approach generally starts with describing and
explaining various project tasks that involve starting with project
aim or end deliverable and breaking it all down into smaller
planning chunks.
 Top-down budgeting also refers to a method of budgeting where
project managers prepare a high-level budget for organization.
 These project managers or senior management develops and
creates a characterization of overall size, process, environment,
people, and quality that is essential for software project. In this
approach, duration of deliverable’s is estimated.
 It generally takes less time and effort than bottom-up estimate.
With help of software cost estimation model, an estimation of
overall effort and schedule is done. The project manager generally
divides estimation of overall effort into a top-level of WBS (Work
Breakdown Structure).
 They also divide schedule into major milestones dates. At this
stage, sub-project managers are simply given responsibility for
decomposing every element of WBS into lower levels with help of
various allocations of top-level, staffing profile, and, major
milestones dates as constraints.
 The main benefit of this approach is use of holistic data from
earlier projects or products, along with unmitigated risks, and
scope creeps. This also helps in reducing risk of overlooked work
activities or costs.
2. Backward-Looking :
 Backward-Looking approach is also known as Bottom-up
approach.
 In this approach, project team breaks requirements of clients down,
determining lowest level appropriate to develop a range of
estimates, covering overall scope of project based on available
definition of task.
 Overall elements of lowest level WBS are generally explained into
detailed tasks, for which WBS element manager is responsible for
estimating budget and schedule.
 All of these estimates are joined and integrated into higher-level
WBS budgets and milestones.

Milestone scheduling also called budget allocation with help of top-down


approach results in a highly optimistic plan. Whereas, bottom-up
approach results in a highly pessimistic plan. Iteration is very much
needed and important, using results of one approach to validate and even
check results of other approach. Both of approaches should be used
together, in balance, throughout life-cycle of project as shown below.
Below is diagram showing planning balance through life cycle.

Engineering stage planning emphasis on following points :


 Macro-level task estimation for engineering artifacts.
 Macro-level task estimation for production stage artifacts.
 Stakeholder concurrence.
 Coarse-grained variance analysis of actual vs. planned
expenditures.
 Tuning top-down project-independent planning guidelines into
project-specific planning guidelines.
 WBS definition and elaboration.
Production stage planning emphasis on following points :
 Macro-level task estimation for production stage artifacts.
 Macro-level task estimation for maintenance of engineering
artifacts.
 Stakeholder concurrence.
 Coarse-grained variance analysis of actual vs. planned
expenditures.
Top-down perspective generally dominates during engineering stage. This
is because there is no enough depth or details of understanding not even
stability in sequences of detailed task to perform planning of bottom-up
approach. On other hand, there is enough prior experience and planning
fidelity that bottom-up planning perspective dominates during production
stage.

You might also like