Software Project Development - Unit3
Software Project Development - Unit3
Development
Unit 3
Points to be Covered
Activity Planning: Introduction, Objectives of Activity Planning, When to Plan, Project
Schedules, Projects and Activities, Sequencing and Scheduling Activities, Network Planning
Models, Formulating a Network Model, Adding the Time Dimension, The Forward Pass,
Backward Pass, Identifying the Critical Path, Activity Float, Shortening the Project Duration,
Identifying Critical Activities,Activity-on-Arrow Networks.
• Time Estimation: Estimate the time required to complete each task to develop a
realistic project schedule.
• Risk Management: Assess potential risks that could impact the schedule and plan
for contingencies to mitigate those risks.
When to Plan
• Early Planning: Activity planning should start during the project initiation phase,
after the project scope and objectives have been defined. This helps in setting
up a clear roadmap for project execution.
• Ongoing Process: Planning is an ongoing process throughout the project
lifecycle. As the project progresses and new information becomes available, the
plan should be updated to reflect changes.
• Re-planning: Re-planning may be necessary if there are significant changes in
project scope, resources, or deadlines, to ensure the project stays on track.
Project Schedules
● A project schedule is a detailed plan that outlines when each task will start and
finish. It includes milestones, deadlines, and deliverables.
● Components:
○ Task Duration: The estimated time required to complete each task.
○ Dependencies: Relationships between tasks that determine the order in
which they should be performed.
○ Milestones: Key points in the project timeline that signify the completion of
major deliverables or phases.
•
Projects and Activities
• Projects: A project is a temporary endeavor with a specific goal, such as developing a new
product or service. It is unique and has a defined beginning and end.
• Activities: Activities are the individual tasks or work units that need to be completed to
achieve the project’s objectives. Each activity contributes to the overall success of the
project.
● Sequencing: This involves determining the logical order of tasks based on their
dependencies. Sequencing ensures that tasks are performed in the right order to
avoid delays.
Types of Dependencies:
■ Finish-to-Start (FS): A task cannot start until the previous one finishes.
■ Start-to-Start (SS): A task can start as soon as the previous task starts.
■ Finish-to-Finish (FF): A task can only finish when the previous task
finishes.
■ Start-to-Finish (SF): A task can only finish when the next task starts.
● Scheduling: Once activities are sequenced, scheduling assigns specific start and
end dates to each task. This creates a timeline that guides the project’s progress.
Network Planning Models
● Network planning models are visual tools that represent the relationships and dependencies
between tasks in a project.
● These models help in visualizing the project workflow, identifying the critical path, and
optimizing the schedule by understanding how tasks are interconnected.
● Common Models:
○ Activity-on-Node (AoN): Activities are represented by nodes, and dependencies are
represented by arrows connecting the nodes.
○ Activity-on-Arrow (AoA): Activities are represented by arrows, with nodes representing
the start and end points of each activity.
Formulating a Network Model
1. List Activities: Identify all the activities required to complete the project.
2. Determine Dependencies: Identify the logical relationships between
activities, such as which tasks need to be completed before others can
start.
3. Draw the Network Diagram: Create a visual representation of the
activities and their dependencies using nodes and arrows. This helps in
understanding the flow of the project and identifying critical activities.
Adding the Time Dimension
• Activities on the critical path have zero slack (float), meaning that any delay in
these tasks will directly delay the project's completion date.
Steps to Identify the Critical Path
● List All Activities: Begin by listing all the tasks or activities required to complete the project.
Include details such as the duration of each activity and any dependencies between tasks.
● Create a Network Diagram: Develop a visual representation of the project by creating a
network diagram (using techniques like Activity-on-Node or Activity-on-Arrow). This diagram
should show all activities, their dependencies, and the sequence in which they need to be
completed.
● Perform the Forward Pass: Calculate the earliest start and finish times for each activity,
beginning from the project's start date and moving through the network diagram. The result
gives the earliest possible completion time for the entire project.
● Perform the Backward Pass: Calculate the latest start and finish times for each activity by
working backward from the project's end date. This helps identify the latest time each task
can start and finish without delaying the project.
● Determine Slack (Float): For each activity, calculate the slack by subtracting the earliest
start time from the latest start time. Tasks with zero slack are on the critical path, as they
cannot be delayed without affecting the project's end date.
Importance of the Critical Path
● Focus on Key Tasks: By identifying the critical path, project managers can
focus resources and attention on these key tasks to ensure they are
completed on time.
● Schedule Optimization: Understanding the critical path allows for more
effective schedule management. Managers can explore options like
"crashing" (adding resources to critical path activities) or "fast-tracking"
(performing tasks in parallel) to reduce the project duration.
● Risk Management: The critical path analysis helps in identifying potential
risks associated with delays in critical activities and enables the
development of contingency plans.
Activity Float
● Activity float, also known as slack, is the amount of time an activity can be delayed
without affecting the overall project schedule.
● Types of Float:
○ Total Float: The total time an activity can be delayed without delaying the
project’s completion date.
○ Free Float: The time an activity can be delayed without delaying the start of
subsequent activities.
● Significance: Understanding float is essential for effective resource management
and prioritizing tasks. It allows project managers to focus on critical tasks while
making informed decisions about where delays can be accommodated.
Shortening the Project Duration
● Techniques:
○ Crashing: Involves adding additional resources to critical path activities to reduce
their duration. This technique often increases costs and requires careful
consideration of resource availability and budget constraints.
○ Fast-Tracking: Involves performing tasks in parallel that were initially scheduled in
sequence. This can shorten the project duration but may increase risks, as it can
lead to more complex dependencies and potential rework.
● Application: These techniques are used when there is a need to meet tight deadlines
or when the project schedule is at risk of overrunning.
Identifying Critical Activities
● Critical activities are tasks that lie on the critical path of a project. These
activities have no slack (float), meaning any delay in their completion will
directly impact the project's overall timeline.
● Since critical activities are essential to meeting project deadlines, they require
close monitoring and efficient resource allocation.
The proactive approach involves identifying and addressing risks before they
occur. It’s a preventive strategy that focuses on anticipating potential risks and
developing plans to either avoid them or minimize their impact.
● Characteristics:
○ Forward-Looking: This approach involves constant monitoring and
forecasting to anticipate potential risks.
○ Pre-Planning: Strategies are developed in advance, including risk
mitigation plans and contingency measures.
○ Regular Reviews: Risk assessments are regularly updated to reflect
any changes in the project environment, ensuring that the project is
prepared for new risks.
Integrated Risk Management Approach
The integrated approach combines both reactive and proactive strategies. It
involves ongoing risk management throughout the project lifecycle, where
proactive measures are in place, but reactive strategies are also prepared for
unforeseen risks.
● Characteristics:
○ Comprehensive Strategy: Uses a blend of proactive planning and
reactive measures to address both anticipated and unexpected risks.
○ Continuous Monitoring: Risks are constantly monitored, and the risk
management plan is adjusted as needed to address new risks or
changes in existing risks.
○ Balance: Strikes a balance between the need to anticipate and plan for
risks while also being prepared to react swiftly when unanticipated risks
arise.
Specific Risk Management Approaches
Several specific methodologies and techniques are used within the proactive and
reactive frameworks:
● Avoidance: Altering the project plan to eliminate the risk or protect the project from
its impact. For example, choosing a proven technology over an untested one to
avoid technical risks.
● Mitigation: Reducing the probability or impact of the risk. For instance, providing
additional training to team members to reduce the risk of errors.
● Transfer: Shifting the risk to a third party, such as through insurance or outsourcing.
For example, hiring a specialist contractor to handle a complex aspect of the
project.
● Acceptance: Acknowledging the risk and deciding not to take any action unless the
risk occurs. This is often used for low-impact risks or when the cost of mitigation is
too high compared to the risk itself.
● Exploitation (for positive risks): Ensuring that an opportunity is realized. For
example, accelerating a project phase to take advantage of favorable market
Choosing the Right Approach
A framework for dealing with risk provides a structured process for identifying,
assessing, planning, managing, and evaluating risks throughout the project
lifecycle. This comprehensive approach ensures that potential risks are
systematically addressed to minimize negative impacts and improve project
success.
Risk Identification
Risk identification is the first step in risk management, where the goal is to uncover all potential
risks that could negatively affect the project’s objectives. This step involves identifying not just
immediate or obvious risks, but also those that could arise from external factors, organizational
issues, or project complexities.
Key Activities:
● Brainstorming Sessions: Involving key stakeholders, team members, and experts to think
through possible risks.
● Reviewing Historical Data: Examining past projects, lessons learned, and industry trends to
identify common risks.
● Interviews and Questionnaires: Consulting with project stakeholders to gather insights into
risks from their perspective.
● SWOT Analysis: Identifying risks related to strengths, weaknesses, opportunities, and
threats.
● Expert Judgment: Utilizing the experience of senior project managers and subject matter
experts to identify risks.
Risk Assessment
Once risks have been identified, risk assessment evaluates each risk’s likelihood and
potential impact on the project. This step helps prioritize risks based on their severity, allowing
the project team to focus on the most critical ones first. There are two types of risk
assessment: qualitative and quantitative.
a. Qualitative Risk Assessment:
● Focuses on describing risks in non-numerical terms (e.g., low, medium, high).
● Involves categorizing risks based on their probability of occurrence and the impact they
would have on the project’s cost, schedule, and quality.
b. Quantitative Risk Assessment:
● Uses numerical techniques to estimate the impact of risks, such as calculating expected
monetary value (EMV) or using simulations like Monte Carlo analysis.
● Risk scores are calculated based on probability and impact.
Risk Planning
Risk planning involves developing response strategies to deal with the identified risks. For each
significant risk, the project team creates a risk response plan that details how they will either
mitigate, avoid, transfer, or accept the risk.
a. Risk Mitigation:
● Taking proactive steps to reduce either the likelihood of the risk occurring or the impact it would
have on the project.
b. Risk Avoidance:
c. Risk Transfer:
● Shifting the risk to a third party, such as through insurance, outsourcing, or contracts.
d. Risk Acceptance:
● Acknowledging the risk but taking no immediate action to deal with it, often because it is
considered minor or because mitigation strategies are too costly.
Risk Management
This step involves assessing how risks could impact the project’s timeline and overall
schedule. Evaluating risks to the schedule ensures that risks related to time delays are
identified and mitigated. This often includes critical path analysis, schedule risk analysis,
and using specific techniques to predict and account for possible delays.
Key Activities:
● Critical Path Method (CPM): Identifying the sequence of tasks that directly impact the
project’s completion date. Delays in these critical tasks will delay the entire project.
● PERT Analysis: Using the Program Evaluation and Review Technique (PERT) to
estimate project timelines by factoring in uncertainty.
● Monte Carlo Simulation: A simulation technique that models the probability of
different outcomes for project completion based on risk factors.
Boehm’s Top 10 Risks and Counter Measures,
1. Personnel shortfalls:
Risk: Lack of qualified personnel or insufficient staffing.
Countermeasure:
● Hire the best talent available.
● Provide ongoing training for team members to upgrade their skills.
● Foster team spirit through team-building exercises and ensure open communication.
8. Shortfalls in Performance
● Risk: The software might not meet performance expectations in terms of speed, reliability, or
scalability.
● Countermeasure:
○ Set realistic performance goals based on clear user requirements and technical
constraints.
○ Conduct regular performance testing and optimize the software continuously.
○ Implement monitoring tools to track performance in real time during development.
Continue…
9. Straining Computer Science Capabilities
● Risk: Overestimating the current technological capabilities or pushing the limits of existing
hardware/software.
● Countermeasure:
○ Keep up to date with the latest technologies and use tried and tested platforms whenever
possible.
○ Prototype new, complex, or untested technical components to ensure feasibility.
○ Stay within known limitations and avoid taking excessive risks with unproven technologies.
● Better Time Estimates: The use of optimistic, pessimistic, and most likely
time estimates helps in managing uncertainty in project timelines.
● Critical Path Identification: It helps in identifying the tasks that are critical
to the timely completion of the project.
● Improved Planning: Provides a clear overview of the entire project,
ensuring that all dependencies and sequences are considered.
Monte Carlo Simulation
Monte Carlo Simulation is a risk analysis technique used in project management to understand the
potential impact of risk and uncertainty on project outcomes, such as project timelines, costs, or
resources. It helps project managers make more informed decisions by simulating a range of
possible scenarios.
Key Concepts:
1. Stochastic Process: Monte Carlo simulation uses random variables to simulate different
possible outcomes of a project. This randomness is applied to uncertain variables, like task
durations or costs.
2. Probability Distribution: A range of possible values is assigned to uncertain variables. For
instance, task durations might follow a normal distribution or triangular distribution based on
optimistic, pessimistic, and most likely estimates.
3. Simulations: The Monte Carlo simulation runs hundreds or even thousands of simulations,
each time using different random values from the defined probability distributions for uncertain
variables.
4. Outputs: The simulation results in a range of possible project completion times or costs, along
with the probability of achieving each outcome.
Application:
Critical Chain Project Management (CCPM) is a method of project management that focuses on resources
(people, equipment, etc.) and their availability, aiming to minimize project delays. It is an extension of the
Critical Path Method (CPM), but CCPM considers resource constraints alongside task dependencies.
Key Concepts:
1. Critical Chain: The longest chain of dependent tasks that considers both task and resource
constraints. Unlike the Critical Path Method, which focuses solely on task dependencies, Critical Chain
focuses on the availability of resources required to complete those tasks.
2. Buffer Management: CCPM introduces three types of buffers:
○ Project Buffer: Placed at the end of the critical chain to protect the project completion date from
delays.
○ Feeding Buffers: Inserted at points where non-critical tasks feed into the critical chain, to absorb
any delays from those tasks without affecting the critical chain.
○ Resource Buffers: Created to ensure that critical resources (such as key personnel) are
available when needed.
3. Resource Management: In CCPM, resources are managed more strictly than in traditional methods.
The availability of key resources can determine the scheduling of tasks, avoiding the delays caused by
multitasking or over-commitment of resources.
4. Focus on Task Duration Reduction: CCPM encourages reducing task estimates and building in
buffers, instead of using long, padded task estimates that can lead to inefficiency.
5. Eliminating Multitasking: Multitasking, where resources switch between multiple tasks, often slows
down progress. CCPM encourages focusing on one task at a time, particularly for critical resources.
Benefits:
Introduction:
• Resource allocation in project management is the process of distributing
available resources (such as people, equipment, materials, and funds) to
various project activities.
• It ensures that tasks are completed efficiently, on time, and within the set
budget. Resource allocation is key to balancing competing constraints like
time, cost, and project scope.
Nature of Resources
● Critical Path Method (CPM): The Critical Path is the longest sequence of
dependent tasks in a project, which determines the shortest time to complete
the project. Resource allocation must be carefully planned for tasks on the
critical path, as any delay in these tasks will delay the entire project.
● Impact of Resource Constraints on the Critical Path: If a critical resource
(e.g., a developer with a unique skill) is unavailable, it can extend the duration
of critical path tasks, leading to project delays. Identifying and securing critical
resources is key to avoiding such issues.
● Critical Chain Method: In projects where resource constraints are significant,
the Critical Chain Method (CCM) is used to prioritize resource availability over
task sequencing. This method adds buffers to protect the critical chain from
resource shortages.
Counting the Cost:
● Aligning Resources with the Budget: The cost schedule is closely tied to
the resource schedule, showing when resources are expected to incur
costs over the project timeline. This ensures the financial resources are
available when needed and that the project remains within its budget.
● Tracking Costs Against the Schedule: As the project progresses, it’s
essential to track the actual spending on resources against the planned
costs. This helps in identifying cost overruns early and making adjustments
if necessary.
Scheduling Sequence:
● Task Dependencies: Some tasks are dependent on the completion of
others, which means their resources must be scheduled accordingly. For
example, in a construction project, the foundation must be completed
before framing can begin, requiring specific scheduling of materials and
labor.
● Optimizing Resource Utilization: The goal of scheduling sequence is to
optimize the use of resources, avoiding gaps where resources are idle and
preventing bottlenecks where multiple tasks compete for the same resource
at the same time.
References: