Software Project Management Notes
Software Project Management Notes
Project Initiation: Defining the project scope, objectives, stakeholders, and resources
required for the project.
Project Planning: Creating a project plan, including tasks, timelines, milestones,
resource allocation, and risk assessment.
Project Execution: Implementing the project plan, coordinating tasks, managing
resources, and ensuring effective communication.
Project Monitoring and Control: Tracking project progress, comparing it against the
plan, and taking corrective actions when necessary.
Risk Management: Identifying potential risks, assessing their impact and probability,
and developing strategies to mitigate or respond to them.
Quality Management: Ensuring that the software meets defined quality standards and
user requirements through testing and validation.
Change Management: Managing changes to project scope, requirements, or other
aspects while minimizing disruptions.
Project Closure: Wrapping up the project, conducting final tests, obtaining approvals,
and transitioning the software to its operational phase.
Leadership: Providing vision, direction, and motivation to the project team, guiding
them toward achieving project goals.
Planning and Organization: Creating comprehensive project plans, allocating
resources, and scheduling tasks to ensure efficient project execution.
Communication: Promoting transparent and unambiguous communication among
stakeholders, clients, and team members to establish a shared understanding.
Risk Management: Identifying potential risks, assessing their impact, and devising
strategies to mitigate or manage them effectively.
Problem Solving: Addressing challenges and issues that arise during the project,
making timely decisions to keep the project on track.
Monitoring and Control: Regularly monitoring project progress, comparing it to the
plan, and taking corrective actions when necessary to ensure the project stays on
schedule and within scope.
Stakeholder Management: Engaging with stakeholders, understanding their needs, and
ensuring their expectations are met throughout the project.
Quality Assurance: Implementing quality control processes to ensure the software
meets defined quality standards.
Tools
PERT is a planning and control tool used for defining and controlling the tasks necessary to
complete a project. A PERT (Program Evaluation and Review Technique) chart is a project
management tool that visually represents a project's tasks, dependencies, and timelines.
It helps in scheduling, organizing, and coordinating tasks, especially when project
durations are uncertain.PERT charts and Critical Path Method (CPM) charts are often
used interchangeably; the only difference is how task times are computed. Both charts
display the total project with all scheduled tasks shown in sequence. The displayed tasks
show which ones are in parallel, those tasks that can be performed at the same time. A
graphic representation called a "Project Network" or "CPM Diagram" is used to portray
graphically the interrelationships of the elements of a project and to show the order in which
the activities must be performed
1. Identify the specific activities and milestones. The activities are the tasks of the
project. The milestones are the events that mark the beginning and the end of one or
more activities.
2. Determine the proper sequence of activities. This step may be combined with #1
above since the activity sequence is evident for some tasks. Other tasks may require
some analysis to determine the exact order in which they should be performed.
3. Construct a network diagram. Using the activity sequence information, a network
diagram can be drawn showing the sequence of the successive and parallel activities.
Arrowed lines represent the activities and circles or "bubbles" represent milestones.
4. Estimate the time required for each activity. Weeks are a commonly used unit of time
for activity completion, but any consistent unit of time can be used. A distinguishing
feature of PERT is it's ability to deal with uncertainty in activity completion times.
For each activity, the model usually includes three time estimates:
o Optimistic time - the shortest time in which the activity can be completed.
o Most likely time - the completion time having the highest probability.
o Pessimistic time - the longest time that an activity may take.
Gantt charts are used to show calendar time task assignments in days, weeks or months.
The tool uses graphic representations to show start, elapsed, and completion times of each
task within a project. Gantt charts are ideal for tracking progress. The number of days
actually required to complete a task that reaches a milestone can be compared with the
planned or estimated number. The actual workdays, from actual start to actual finish, are
plotted below the scheduled days. This information helps target potential timeline slippage or
failure points. These charts serve as a valuable budgeting tool and can show dollars allocated
versus dollars spent.
1. List all activities in the plan. For each task, show the earliest start date, estimated
length of time it will take, and whether it is parallel or sequential. If tasks are
sequential, show which stages they depend on.
2. Head up graph paper with the days or weeks through completion.
3. Plot tasks onto graph paper. Show each task starting on the earliest possible date.
Draw it as a bar, with the length of the bar being the length of the task. Above the task
bars, mark the time taken to complete them.
4. Schedule activities. Schedule them in such a way that sequential actions are carried
out in the required sequence. Ensure that dependent activities do not start until the
activities they depend on have been completed. Where possible, schedule parallel
tasks so that they do not interfere with sequential actions on the critical path. While
scheduling, ensure that you make best use of the resources you have available, and do
not over-commit resources. Also, allow some slack time in the schedule for holdups,
overruns, failures, etc.
5. Presenting the analysis. In the final version of your Gantt chart, combine your draft
analysis (#3 above) with your scheduling and analysis of resources (#4 above). This
chart will show when you anticipate that jobs should start and finish.
Gives an easy to understand visual display of the scheduled time of a task or activity.
Makes it easy to develop "what if" scenarios.
Enables better project control by promoting clearer communication.
Becomes a tool for negotiations.
Shows the actual progress against the planned schedule.
Can report results at appropriate levels.
Allows comparison of multiple projects to determine risk or resource allocation.
Rewards the project manager with more visibility and control over the project.
The focus of the Transition Phase is to ensure that software is available for its end users. The
Transition Phase can span several iterations, and includes testing the product in preparation
for release, and making minor adjustments based on user feedback. At this point in the
lifecycle, user feedback should focus mainly on fine tuning the product, configuring,
installing and usability issues, all the major structural issues should have been worked out
much earlier in the project lifecycle.
By the end of the Transition Phase lifecycle objectives should have been met and the project
should be in a position to be closed out. In some cases, the end of the current life cycle may
coincide with the start of another lifecycle on the same product, leading to the next generation
or version of the product. For other projects, the end of Transition may coincide with a
complete delivery of the artifacts to a third party who may be responsible for operations,
maintenance and enhancements of the delivered system.
This Transition Phase ranges from being very straightforward to extremely complex,
depending on the kind of product. A new release of an existing desktop product may be very
simple, whereas the replacement of a nation's air-traffic control system may be exceedingly
complex.
Activities performed during an iteration in the Transition Phase depend on the goal. For
example, when fixing bugs, implementation and test are usually enough. If, however, new
features have to be added, the iteration is similar to one in the construction phase requiring
analysis&design, etc.
The Transition Phase is entered when a baseline is mature enough to be deployed in the end-
user domain. This typically requires that some usable subset of the system has been
completed with acceptable quality level and user documentation so that transitioning to the
user provides positive results for all parties.
In the Transition phase, we perform strict testing mainly beta testing and deployment of
software or project. After receiving the feedback from the user, we performed some changes in
our software to make it more efficacious. In this phase, the developer works on a project with a
user’s view to make the software more supportable and user-friendly.
One of the biggest challenges in transition management is the lack of clarity about the purpose,
scope, and goals of the change. Without a clear vision and direction, people may feel confused,
uncertain, and anxious about what the change means for them and their roles.
Summary :- The Transition Phase is all about delivering a finished software product to
the people who will use it. During this phase:
Beta testing happens so real users can try the product and give feedback.
Minor fixes or changes are made based on what users say.
Training is provided to users and those who will maintain the software.
Deployment tasks—like installing the software, preparing user documentation, and
ensuring everything runs smoothly—are carried out.
By the end of this phase, the product should be ready for everyday use, with no major issues
remaining. A big challenge during transition is making sure everyone understands why the
change is happening and what their role is, so they don’t feel uncertain or anxious.
Technical Planning------
1. Life cycle models----- The planning process is dependent upon the lifecycle model
used by the development organization.
Software Development Life Cycle (SDLC)
SDLC is a process followed for software building within a software organization. SDLC consists of
a precise plan that describes how to develop, maintain, replace, and enhance specific software.
The life cycle defines a method for improving the quality of software and the all-around
development process.
The information from this analysis forms the building blocks of a basic project. The quality
of the project is a result of planning. Thus, in this stage, the basic project is designed with all
the available information.
This DDS is assessed by market analysts and stakeholders. After evaluating all the possible
factors, the most practical and logical design is chosen for development
In this article, We’ve listed the top five most popular SDLC models below.
1. Waterfall Model
It is the fundamental model of the software development life cycle. This is a very simple
model. The waterfall model is not in practice anymore, but it is the basis for all other SDLC
models. Because of its simple structure, the waterfall model is easier to use and provides a
tangible output. In the waterfall model, once a phase seems to be completed, it cannot be
changed, and due to this less flexible nature, the waterfall model is not in practice anymore.
2. Agile Model
The agile model was mainly designed to adapt to changing requests quickly. The main goal
of the Agile model is to facilitate quick project completion. The agile model refers to a group
of development processes. These processes have some similar characteristics but also possess
certain subtle differences among themselves.
3. Iterative Model
In the iterative model, each cycle results in a semi-developed but deployable version; with
each cycle, some requirements are added to the software, and the final cycle results in the
software with the complete requirement specification.
4. Spiral Model
The spiral model is one of the most crucial SDLC models that provides support for risk
handling. It has various spirals in its diagrammatic representation; the number of spirals
depends upon the type of project. Each loop in the spiral structure indicates the Phases of the
Spiral model.
5. V-Shaped Model
The V-shaped model is executed in a sequential manner in V-shape. Each stage or phase of
this model is integrated with a testing phase. After every development phase, a testing phase
is associated with it, and the next phase will start once the previous phase is completed, i.e.,
development & testing. It is also known as the verification or validation model.
The Big Bang model in SDLC is a term used to describe an informal and unstructured
approach to software development, where there is no specific planning, documentation, or
well-defined phases.
2. Types of Plans
Software development and management require various plans to ensure smooth execution,
quality assurance, and long-term maintenance. Below is a detailed overview of different types
of plans essential for software projects:
These plans are critical for ensuring the success, sustainability, and efficiency of software
engineering projects. By implementing structured planning, organizations can mitigate risks,
improve collaboration, and enhance overall software quality.
All the steps of project work are outlined in the work breakdown structure chart, which
makes it an essential project planning tool. The final project deliverable, as well as the tasks
and work packages associated with it rest on top of the WBS diagram, and the WBS levels
below subdivide the project scope to indicate the tasks, deliverables and work packages that
are needed to complete the project from start to finish.
Project managers make use of project management software to lay out and execute a work
breakdown structure. When used in combination with a Gantt chart that incorporates WBS
levels and task hierarchies, project management software can be especially effective for
planning, scheduling and executing projects.
Making a WBS is the first step in developing a project schedule. It defines all the work that
needs to be completed (and in what order) to achieve the project goals and objectives. By
visualizing your project in this manner, you can understand your project scope, and allocate
resources for all your project tasks.
In addition, a WBS helps avoid common project management issues such as missed
deadlines, scope creep and cost overrun, among others.
In other words, a work breakdown structure serves as your map through complicated projects.
Your project scope may include several phases or smaller sub-projects—and even those sub-
projects can be broken down into tasks, deliverables, and work packages! Your WBS can
help you manage those items, and gain clarity into the details needed to accomplish every
aspect of your project scope
Types of WBS
There are two main types of WBS: deliverable-based, and phase-based. They depend on
whether you want to divide your project in terms of time or scope.
A deliverable-based WBS first breaks down the project into all the major areas of the project
scope as control accounts and then divides those into project deliverables and work packages.
The phase-based WBS displays the final deliverable on top, with the WBS levels below
showing the five phases of a project (initiation, planning, execution, control and closeout).
Just as in the deliverable-based WBS, the project phases are divided into project deliverables
and work packages.
Difference between CPM and PERT
The main difference is that PERT is a visual technique. It helps project managers plan,
schedule and control tasks, also referred to as activities. CPM is a statistical technique,
though it’s also used to plan, schedule and control. However, it uses well-defined tasks to do
so.
Another difference is what PERT CPM does. CPM is used to control cost and time, and
PERT is a must for controlling time when planning. PERT is also more of a development and
research tool. CPM is more often found in construction project management
PERT and CPM also differ in terms of how they estimate. E.g. PERT uses a three-point
method to forecast time, while CPM only has one measure for estimating. They also differ in
that PERT is used with time is more valuable than the cost in planning. CPM is more about
finding a reasonable time estimate for projects.
PERT and CPM are different in that PERT is used trying to predict the time of tasks. CPM is
used once those tasks are predictable. Also, CPM separates critical and non-critical tasks
while PERT doesn’t make a distinction between the two.
Standards
In software development landscape, standards are crucial for ensuring quality, consistency,
and scalability. They establish a common guideline and framework for development teams to
follow, giving platform engineers the confidence that projects are being built effectively
according to the organization’s guidelines.
Software development standards provide a set of guidelines and best practices for developing
software. These standards define a common approach to software development and help
ensure that software is developed in a consistent, reliable, and efficient manner.
The risk management process, or lifecycle, is a structured way of tackling risks that can
happen in your project. Though you will find some slight variation, the risk management
process or lifecycle, generally follows the following steps. This process can be used for both
positive and negative risks.
1. Identify
The first step to getting a grasp on potential risks is to know what they are. In this step, you
will identify risks that might affect your project by making a list (or spreadsheet) of risks that
might arise. Use your own project management expertise and consult similar past projects to
see what challenges you might expect. You will also want to have stakeholders, team
members, and subject matter experts generate ideas with you; they may have insight into the
field that you have overlooked.
2. Analyse
In this stage, you will list the probability of each risk occurring, as well as the potential
impact each risk will have on your project. You could begin putting this information in a risk
register—a chart that lays out each risk, followed by information like priority level and
mitigation plans. You can record both qualitative and quantitative information.
3. Evaluate
In this stage, you will assign priority to risks by using the probability and impact of each risk
to determine their risk levels. This means assigning each risk a high, medium, or low priority
based on the factors you have determined. Evaluating your risks gives your team the chance
to see where to focus their energy in mitigating risk.
4. Treat
Come up with a plan to mitigate each risk. We will go into how you can treat risks in more
detail below. Record these plans in your risk register as well.
5. Monitor
In the last step, set up a process to monitor each risk as your project begins. You can do this
by assigning team members to keep an eye on specific risks and mitigate them. This makes
sure you will have a constant sense of where the risks are and how likely they are to happen,
so you will be ready to tackle them if they do occur.
The risk management process lays out a path for you to deal with risks before they happen.
But what are the actual ways you can mitigate them? Avoid, accept, reduce and transfer are
four common ways to mitigate risk. Deciding which step to use for each risk is not an exact
science, and you will have to use your judgement and expertise to determine which is best.
Here is some more detail and guidance on each mitigation tactic.
1. Avoid
Not all risks can be avoided, but it can be a good idea to try to keep it at bay, when you can.
Avoid a risk if there is a high chance that a risk will happen. Has a partner vendor gained a
reputation for providing low-quality work? Try to find a different one. Are you event-
planning during the rainy season? Move the event indoors or to a sunnier season.
2. Accept
However, accepting risks at times, can make sense if they have a low chance of happening
and will have low impact on your project. Ultimately if the risk does happen, it should not
derail your project. Say you have ordered sunflower arrangements for a wedding reception,
but the florist says there is a small chance they will not have enough and will have to replace
some with tulips. Since the probability of risk is low and having tulips instead of sunflowers
will not upend the wedding, you might accept the risk instead of troubling yourself to find a
new florist.
3. Reduce
Reducing risk means changing elements in your plan to minimise the risk’s probability of
happening or potential impact on your project. Medium and high risks are good candidates to
try and reduce. Reducing usually requires some effort or investment. For example, a project
manager could hire new team members if the team is falling behind on work.
This might also mean including risk reduction tactics in your project plan. Time buffers for
complex or time-sensitive tasks can allow you some flexibility if work starts to fall behind.
Having a contingency budget can help absorb unexpected costs if they arise.
4. Transfer
Transferring risks entails shifting the risk to another party outside of your project. This can
mean obtaining an insurance policy or outsourcing parts of the work to a third party. The risk
might still occur, but the direct impact on project will be absorbed by somebody outside of
the project.
A project consists of five different phases: initiation, planning, execution, monitoring and
controlling, and closure. Planning is the second phase of the project life cycle, where a plan
after the initiation phase is made so the process of execution may begin. The project plan
serves as a roadmap for the entire process of project management.
Defining Objectives
The definition must include what the project is comprised of, its main aim, what it intends to
accomplish, and what marks its closure
The explanation provides details on what the project intends to solve and who will benefit
from the project
Scheduling Tasks
Each task is given a start date, an end date, and provides an estimate of how much time a
task would take to complete
The document includes the work to be performed, deliverables, and the intended outcome
of the project
The process of determining the scope, cost, and resources help estimate the time required
to complete the project, the number of people needed, and the skill set required
Work Breakdown Structure (WBS) helps this process by dividing the whole task into smaller,
manageable segments
A variety of techniques, like surveys or meetings, are used to collect information to assess
problems
There can be multiple problems; then, the project team selects the issue that requires the
most immediate attention
Identification of Stakeholders
Identification of stakeholders gives a clearer image of the real problem, specifically which
function or people might be affected by the project
Stakeholders work with the project team and contribute to the project's success
Project Planning
Project planning ensures monitoring of the budget and schedule at every step. The project
plan includes a schedule that guides team members in completing their tasks and helps them
in knowing which tool they will need and when. It also helps the team stay engaged for
higher project performance. The project plan ensures there is the active participation of all the
team members and allows them to have an opportunistic approach towards their work.
Project planning ensures timely testing of the output at every step. When successfully
implemented, everyone on the project team can foresee problems before they happen. This
creates efficiencies and ensures the successful execution of the plan.
Additionally, project planning helps analyze, prioritize, and ensure an appropriate plan for all
kinds of risks. Proper planning ensures that if there is more than one risk, they can be
prioritized and dealt with accordingly. This step ensures that nothing will fall apart and the
plan makes it easy for the project team to remember all the crucial details and deadlines.
It is one of the most important components of a project plan. The scope determines what a
project team will and will not do. Defining the project's in-scope requirements make the work
breakdown structure creation process easier. The project manager must define performance
objectives as part of the project scope.
Budget
One of a project's most important components is the budget. To determine the project's cost,
project managers consider the amount of labour and other resources needed to complete the
project's objectives. Different phases, tasks, and activities require different budget allocations
depending on their priorities and needs.
Timeline
The term "timeline" describes how long it is anticipated for each project stage to be finished.
It also entails stating how the project is broken down into tasks and subtasks. The definition
of these timelines, the creation of individual and team schedules, and the selection of project
milestones are all included in the timeline process.
Gantt Chart
Gantt charts are an industry standard that helps in tracking both time and interdependencies
between tasks
Gantt charts are an essential tool to show different phases, jobs, and resources involved in
project management
Critical Path Method (CPM) is a crucial tool for determining the progress of the project to
ensure that the project is on schedule
CPM helps in determining the essential or critical path by finding out the longest stretch of
dependent tasks
PERT Chart
The Program Evaluation and Review Technique (PERT) helps in analyzing the tasks to
complete the project and the time required to complete those tasks
PERT simplifies the planning and scheduling of large and complex projects
Work Breakdown Structure (WBS)
Work Breakdown Structure (WBS) is a process of organizing the team's work into
manageable sections
WBS is a hierarchical structure of the deliverables needed to complete the project
Project Documentation
Project documentation is created during the project lifecycle, which involves project scope,
its schedule, and the risk analysis
Project documents help in better understanding and risk analysis of the project