Activity Planning
Activity Planning
Activity Planning
1 Introduction
• A detailed plan for the project, however, must also include a schedule indicating the start
and completion times for each activity.
• To be effective, a plan must be stated as a set of targets, the achievement or non-
achievement of which can be unambiguously measured. The activity plan does this by
providing a target start and completion date for each activity.
• The starts and completions of activities must be clearly visible, and this is one of the
reasons why it is advisable to ensure that every project activity produces some tangible
product or ‘deliverable’.
• The activity plan should provide a means of evaluating the consequences of not meeting
any of the activity target dates and guidance as to how the plan might most effectively be
modified to bring the project back to its target.
Proper Definition:
Activity planning in software project management involves breaking down the project into
smaller, manageable tasks and activities, scheduling them, assigning responsibilities, estimating
resources, and creating a timeline for execution.
• Feasibility Assessment: This is about figuring out if the project is doable within the time
and resources available. We might estimate how much work needs to be done, but until
we plan out exactly how and when it will happen, we can't be sure if it's realistic. For
example, even if we think a project might take two years of work, it might not be possible
to finish it in three months even if we add more people, because we must consider when
those people are available and if tasks can be done at the same time.
• Resource Allocation: This involves deciding the best way to use the people, tools, and
money we have for the project. By planning out the project in detail, we can see how
different resources are needed at different times. Generally, adding more resources can
make a project go faster, but it also costs more money. So, we need to figure out the best
balance.
• Detailed Costing: Once we have a detailed plan with specific tasks and resources, we
can accurately estimate how much the project will cost and when we'll need to spend that
money.
• Motivation: Setting clear targets and tracking progress against those targets is a good
way to keep everyone motivated, especially if they had a hand in setting those targets
themselves.
• Coordination: In larger projects with multiple teams, it's important to coordinate when
different people need to work on the project. The project plan helps with this by
providing a clear schedule for everyone to follow. It also helps ensure that people aren't
left waiting around with nothing to do because they're needed on another project.
Activity planning and scheduling techniques focus on getting the project done as quickly and
cost-effectively as possible or, if there's a set deadline, meeting it without spending too much.
They don't directly deal with making sure the project meets quality standards, which are usually
set separately.
One way to speed up a project is to do tasks at the same time whenever possible. But we can't
do everything simultaneously because some tasks depend on others being finished first, and we
might not have enough resources to do everything at once.
Activity scheduling helps us see how these constraints affect how long the project will take. It
also helps us see how we could speed things up by relaxing some of these constraints. For
example, we might start coding before the design is fully finished. But if we do this, we need to
be careful because it could affect the quality of the final product. So, while we can speed up the
project this way, we must balance it with making sure the quality doesn't suffer.
• Identifying Activities: The first step is to figure out what tasks need to be done and in
what order. This helps create an ideal plan of when each task should ideally happen if
there were no constraints like limited resources.
• Activity Risk Analysis: Once we have this ideal plan, we analyze it to identify any
potential problems or risks. This analysis might suggest changes to the plan, and it will
affect how we allocate resources.
• Resource Allocation: Next, we will look at the resources we have available. Depending
on when resources like people, equipment, or money are available, we may need to adjust
our ideal plan. This step is about figuring out when we can realistically do each task
based on the resources we have.
• Schedule Production: Finally, once we've figured out when each task can happen based
on resource availability, we can create the project schedule. This schedule shows the
planned start and end dates for each task and outlines what resources are needed for each
one.
• Activity-Based Approach: To plan a project, we start by making a list of all the tasks it
involves. We can do this by brainstorming with the project team or looking at similar past
projects. For big projects, it helps to divide them into stages and list the tasks for each
stage.
• Work Breakdown Structure (WBS): Instead of listing tasks randomly, we create a
WBS. This means listing the main tasks first and then breaking them down into smaller
tasks. Each task should directly contribute to the one above it. This helps ensure we don't
miss any tasks or list the same task twice.
• Depth of the WBS: We need to decide how detailed our WBS should be. If it's too
detailed, we'll end up with lots of small tasks that are hard to manage. If it's not detailed
enough, we won't have enough information for project control. Each branch of the WBS
should be broken down to a level where each task can be assigned to a specific person or
team.
• Advantages of WBS: Using a WBS makes it more likely that we'll have a complete list
of tasks without any overlap. The tasks at the lowest level of the WBS are the actual
activities of the project.
• Task Catalogue: A complete task list includes definitions for each task, what inputs and
outputs are needed, and other relevant information.
• Refinement of the WBS: The WBS can be adjusted and detailed further as the project
progresses and more information becomes available. We might start with a broad WBS
and add more detail as we go along.
• Sequencing Activities: Once we have our list of tasks, we need to figure out the order
they need to be done in. Some tasks must be finished before others can start.
• Product-Based Approach: Instead of listing tasks, this approach focuses on the products
or outcomes of the project. It involves creating a Product Breakdown Structure (PBS) and
a Product Flow Diagram (PFD). The PFD shows which products are needed as inputs to
create other products.
• Transforming Products into Activities: By identifying the transformations that turn one
product into another, we can create a list of activities. This approach helps ensure that all
necessary products are accounted for, reducing the risk of overlooking something
important.
• Suitability with Methodologies: This approach works well with methodologies like
SSADM or USDP, which clearly define the products needed for each step or task. For
example, SSADM provides generic PBSs for each stage, which can be customized for
specific projects.
• USDP and Iterative Processes: In the USDP methodology, products are called artifacts,
and the sequence of activities to create them is called a workflow. USDP emphasizes that
processes are iterative, meaning they may need to be repeated multiple times. This can
affect how activities are mapped out in a project network.
• Fixed Milestones: Regardless of whether a project involves iterations, it's important to
have fixed milestones or time-boxes to track progress toward the planned delivery date.
These milestones form the basis of the project's activity network.
• Presenting a Schedule: When managing a project, it's important to have a clear schedule
showing when each activity is planned to happen and what resources are needed. This
helps keep things organized and on track.
• Using a Bar Chart: One way to present a project schedule is through a bar chart, like the
one shown in Figure 6.6. This chart considers the order in which tasks must be done
(sequencing) and the availability of resources. For example, if Andy is assigned to one
task, he can't work on another task at the same time.
• Combining Sequencing and Scheduling: In small projects, it's common to combine
sequencing (determining the order of tasks) and scheduling (deciding when they'll
happen) into one step. This can work well when assigning specific tasks to individuals
early on.
• Separating Sequencing and Scheduling: However, for larger projects, it's better to
separate these two activities. First, we figure out the logical order of tasks based on their
relationships. Then, we schedule them based on factors like resource availability. This
helps us manage larger and more complex projects more effectively.
• Using Networks for Scheduling: Approaches to scheduling that separate sequencing and
scheduling often use networks to model the project. This allows us to visualize the
relationships between tasks and allocate resources efficiently.
• Project Scheduling Techniques: These techniques help plan and manage projects by
modeling the activities and their relationships as a network. In this network, time flows
from left to right.
• CPM and PERT: Two well-known techniques, CPM (Critical Path Method) and PERT
(Program Evaluation Review Technique), were developed in the 1950s. They both use a
graphical approach to represent the project as a network of activities and their
dependencies.
• Activity-On-Arrow and Activity-On-Node: CPM originally used an activity-on-arrow
approach, where activities are represented as arrows connecting circles (nodes). PERT
also used a similar approach. More recently, precedence networks have become popular,
using an activity-on-node approach. Here, activities are represented as nodes, and links
between nodes show the order in which activities must be completed.
• Advantages of Precedence Networks: Precedence networks avoid some of the issues
with the activity-on-arrow representation and provide more flexibility in representing
certain situations. They are commonly used in computer applications today.
• Similarity and Confusion: While these techniques are similar, people sometimes use the
term "CPM" to refer to any or all of them, causing confusion.
• Upcoming Chapters: In later chapters, we'll explore CPM applied to precedence
networks and introduce activity-on-arrow networks. A more detailed discussion of PERT
will be saved for a later chapter when we talk about risk analysis.
Hammock activity
• It's a way to group several smaller, related tasks under one larger activity.
• These smaller tasks don't have strict individual deadlines if they're completed within the
overall start and end dates of the hammock activity.
• It's called a "hammock" because the individual tasks sort of hang inside it.
Think of a project like building a house. You have many tasks to do, like laying bricks, painting
walls, and installing pipes. Some tasks need resources or have costs that stay the same
throughout the project, like renting equipment or paying salaries.
Instead of attaching these resources or costs to each task, we use something called a "hammock
activity." It's like a virtual task that covers a group of other tasks. It starts when the first task in
that group starts and ends when the last one finishes.
During this time, the hammock activity represents the ongoing use of resources or costs. It helps
keep track of these continuous aspects of the project without having to tie them to each
individual task. It's like bundling them together for easier management.
Labelling conventions
When we're working with an activity-on-node network, we use certain conventions to record
information about each activity. The one we're using here is based on the British Standard BS
4335.
Each activity in the network has some key pieces of information associated with it:
• Activity Label: This is like a unique code that's used to identify the activity. It's usually a
combination of letters and numbers that helps distinguish one activity from another. For
example, "IoE/P/3" might designate a specific programming task for a project called
IOE's annual maintenance contract.
• Activity Description: This is a brief name or description of the activity. It tells us what
the activity is about. For instance, "Test take-on module" might describe a testing task for
a software module.
• Earliest Start: This is the earliest point in time when the activity can begin.
• Duration: This tells us how long the activity is expected to take.
• Earliest Finish: This is the earliest point in time when the activity can be completed,
based on its earliest start and duration.
• Latest Start: This is the latest point in time when the activity can begin without delaying
the project.
• Float: This is the amount of time that an activity can be delayed without delaying the
project. It helps us understand how flexible the schedule is for this activity.
• Latest Finish: This is the latest point in time when the activity can be completed without
delaying the project.