Software Project Management
Software Project Management
happens first.
Finally, every project creates a unique product or service. This is the deliverable
for the project and the reason, why that project was undertaken.
1.3.1 Time:
For analytical purposes, the time required to produce a product or service is
estimated using several techniques. One method is to identify tasks needed to
produce the deliverables documented in a work breakdown structure or WBS. The
work effort for each task is estimated and those estimates are rolled up into the final
deliverable estimate.
The tasks are also prioritized, dependencies between tasks are identified, and
this information is documented in a project schedule. The dependencies between
the tasks can affect the length of the overall project (dependency constraint), as
can the availability of resources (resource constraint). Time is not considered a cost
nor a resource since the project manager cannot control the rate at which it is
expended. This makes it different from all other resources and cost categories.
1.3.2 Cost:
1.3.3 Scope:
Scope is requirement specified for the end result. The overall definition of
what the project is supposed to accomplish, and a specific description of what the
end result should be or accomplish can be said to be the scope of the project. A
major component of scope is the quality of the final product. The amount of time put
into individual tasks determines the overall quality of the project. Some tasks may
require a given amount of time to complete adequately, but given more time could
be completed exceptionally. Over the course of a large project, quality can have a
significant impact on time and cost or vice versa.
Together, these three constraints viz. Scope, Schedule & Resources have
given rise to the phrase "On Time, On Spec, On Budget". In this case, the term
4
Knowledge, skills, goals and personalities are the factors that need to be
considered within project management. The project manager and his/her team
should collectively possess the necessary and requisite interpersonal and technical
skills to facilitate control over the various activities within the project.
The project team will be responsible for delivery of the project end product to
some sponsor within or outside the organisation. The full benefit of any project
will not become available until the project as been completed.
1.4.2 Project Management Tools and techniques:
Project planning is at the heart of project management. One can't manage and
control project activities if there is no plan. Without a plan, it is impossible to know
if the correct activities are underway, if the available resources are adequate or of
the project can be completed within the desired time. The plan becomes the
roadmap that the project team members use to guide them through the project
activities. Project management tools and techniques assist project managers and
their teams in carrying out work in all nine knowledge areas. For example, some
popular time- management tools and techniques include Gantt charts, project
network diagrams, and critical path analysis. Table 1.1 lists some commonly used
tools and techniques by knowledge area.
Knowledge Area Tools & Techniques
Integration Project selection methods, project management
management methodologies, stakeholder analyses, project
charters, project management plans, project
management software, change requests, change
control boards, project review meetings, lessons-
learned reports
Scope Scope statements, work breakdown structures,
management mind maps, statements of work, requirements
analyses, scope management plans, scope
verification techniques, and scope change controls
Cost Net present value, return on investment, payback
Management analyses, earned value management, project
portfolio management, cost estimates, cost
management plans, cost baselines
Time Gantt charts, project network diagrams, critical-path
management analyses, crashing, fast tracking, schedule
performance measurements
Human resource Motivation techniques, empathic listening,
management responsibility assignment matrices, project
organizational charts, resource histograms, team
building exercises
Quality Quality metrics, checklists, quality control charts,
management Pareto diagrams, fishbone diagrams, maturity
models, statistical methods
Risk Risk management plans, risk registers,
management probability/impact matrices, risk rankings
Communication Communications management plans, kickoff
management meetings, conflict management, communications
media selection, status and progress reports,
virtual communications, templates, project Web
sites
Procurement Make-or-buy analyses, contracts, requests for
management proposals or quotes, source selections, supplier
6
evaluation matrices
A project sponsor is an individual or group responsible for providing overall guidance, support, and resources
to a project. They are typically senior-level executives within an organization who have the authority to
allocate funding, approve project decisions, and ensure the project aligns with the organization's strategic
goals.
Strategic Alignment: Ensures that the project aligns with the organization's overall business
objectives and strategy.
Resource Allocation: Approves the allocation of necessary resources, including budget, personnel,
and equipment.
Decision Making: Makes critical decisions regarding the project's scope, timeline, and risk
management.
Stakeholder Management: Manages relationships with key stakeholders, including senior
executives, customers, and partners.
Risk Mitigation: Provides oversight and support for risk management activities to ensure potential
issues are identified and addressed.
Communication: Communicates the project's progress, challenges, and successes to relevant
stakeholders.
Increased Support: A committed sponsor can provide essential support and advocacy for the project.
Improved Decision Making: Sponsors can leverage their expertise to make informed decisions.
Enhanced Resource Allocation: Sponsors can ensure that the project has the necessary resources to
succeed.
8
Stronger Stakeholder Relationships: A sponsor can help build and maintain positive relationships
with key stakeholders.
Reduced Risk: A sponsor can help identify and mitigate potential risks.
The initiation stage should include a plan that encompasses the following areas:
Analyzing the business needs/requirements in measurable goals.
Reviewing of the current operations.
Conceptual design of the operation of the final product.
Equipment and contracting requirements including an assessment of
long lead time items.
Financial analysis of the costs and benefits including a budget.
Stakeholder analysis, including users, and support personnel for the project.
Project charter including costs, tasks, deliverables, and schedule.
prototype of the final product is built and tested. Testing is generally performed by a
combination of testers and end users, and can occur after the prototype is built or
concurrently. Controls should be in place that ensures that the final product will
meet the specifications of the project charter. The results of the design stage
should include a product design that:
- Satisfies the project sponsor (the person who is providing the project budget),
end user, and business requirements.
- Functions as it was intended.
- Can be produced within acceptable quality standards.
- Can be produced within time and budget constraints.
1.7.4 Closure:
Closing includes the formal acceptance of the project and the ending
thereof. Administrative activities include the archiving of the files and documenting
lessons learned.
This phase consists of:
Project close: Finalize all activities across all of the process groups to formally
close the project or a project phase.
Contract closure: Complete and settle each contract (including the resolution
of any open items) and close each contract applicable to the project or project
phase.
Sample Questions
1. Why is there a new or renewed interest in the field of project management?
2. What is a project, and what are its main attributes? How is a project different
from what most people do in their day-to-day jobs? What is the triple constraint?
3. What is project management? Briefly describe the project management
framework, providing examples of stakeholders, knowledge areas, tools and
techniques, and project success factors.
4. Discuss the relationship between project, program, and portfolio Management
and their contribution to enterprise success.
5. What are the roles of the project, program, and portfolio managers? What are
suggested skills for project managers? What additional skills do program and
portfolio managers need?
Software Project
A Software Project is the complete procedure of software development from
requirement gathering to testing and maintenance, carried out according to
the execution methodologies, in a specified period of time to achieve
intended software product.
Need of software project management
Software is said to be an intangible product. Software development is a kind of all new stream
in world business and there is very little experience in building software products. Most
software products are tailor made to fit client’s requirements. The most important is that the
underlying technology changes and advances so frequently and rapidly that the experience of
one product may not be applied to the other one.
Software Project Manager
A software project manager is a person who undertakes the responsibility of
executing the software project. Software project manager is thoroughly
aware of all the phases of SDLC that the software would go through. The
project manager may never directly involve in producing the end product but
he controls and manages the activities involved in production.
A project manager closely monitors the development process, prepares and
executes various plans, arranges necessary and adequate resources,
maintains communication among all team members in order to address
11
Managing People
Act as project leader
Lesion with stakeholders
Managing human resources
Setting up reporting hierarchy etc.
Managing Project
Defining and setting up project scope
Managing project management activities
Monitoring progress and performance
Risk analysis at every phase
Take necessary step to avoid or come out of problems
Act as project spokesperson
Project Planning
Software project planning is task, which is performed before the production of
software actually starts. It is there for the software production but involves no
concrete activity that has any direct connection with the software production;
rather it is a set of multiple processes, which facilitates software production.
Project planning may include the following:
Scope
Management
It defines scope of the project; this includes all the activities, process need to
be done in order to make a deliverable software product. Scope management
is essential because it creates boundaries of the project by clearly defining
what would be done in the project and what would not be done. This makes
12
Project
Estimation
For an effective management, accurate estimation of various measures is a
must. With the correct estimation, managers can manage and control the
project more efficiently and effectively.
Project estimation may involve the following:
Software size estimation
Cost estimation
Project Estimation
Techniques
We discussed various parameters involving project estimation such as size,
effort, time and cost.
Project manager can estimate the listed factors using two broadly
recognized techniques –
Decomposition Technique
This technique assumes the software as a product of various
compositions. There are two main models -
Line of Code: Here the estimation is done on behalf of number of line of
codes in the software product.
Function Points: Here the estimation is done on behalf of number of
function points in the software product.
Project
Scheduling
Project Scheduling in a project refers to roadmap of all activities to be done
with specified order and within time slot allotted to each activity. Project
managers tend to define various tasks, and project milestones and then
arrange them keeping various factors in mind. They look for tasks like in
critical path in the schedule, which are necessary to complete in specific
manner (because of task interdependency) and strictly within the time
allocated. Arrangement of tasks which lies out of critical path are less likely
to impact over all schedule of the project.
For scheduling a project, it is necessary to -
Break down the project tasks into smaller, manageable form
Find out various tasks and correlate them
Estimate time frame required for each task
Divide time into work-units
Assign adequate number of work-units for each task
Calculate total time required for the project from start to finish
Resource
management
All elements used to develop a software product may be assumed as
resource for that project. This may include human resource, productive tools,
and software libraries.
The resources are available in limited quantity and stay in the organization as
a pool of assets. The shortage of resources hampers development of the
project and it can lag behind the schedule. Allocating extra resources
increases development cost in the end. It is therefore necessary to estimate
and allocate adequate resources for the project.
Resource management includes -
Project Risk
Management
Risk management involves all activities pertaining to identification,
analyzing and making provision for predictable and non-predictable risks in
the project. Risk may include the following:
Experienced staff leaving the project and new staff coming in.
Change in organizational management.
Requirement change or misinterpreting requirement.
Under-estimation of required time and resources.
Technological changes, environmental changes, business competition.
Identification - Make note of all possible risks, which may occur in the
project.
Categorize - Categorize known risks into high, medium and low risk
intensity as per their possible impact on the project.
Manage - Analyze the probability of occurrence of risks at various phases.
Make plan to avoid or face risks. Attempt to minimize their side-effects.
Monitor - Closely monitor the potential risks and their early symptoms.
Also monitor the effective steps taken to mitigate or avoid them.
Project Communication
Management
Effective communication plays vital role in the success of a
project. It bridges gaps between client and the organization,
among the team members as well as other stake holders in the
project such as hardware suppliers.
Gantt Chart
Gantt chart was devised by Henry Gantt (1917). It represents
project schedule with respect to time periods. It is a horizontal
bar chart with bars representing activities and time scheduled
for the project activities.
PERT Chart
Program Evaluation & Review Technique) (PERT) chart is a tool
that depicts project as network diagram. It is capable of
graphically representing main events of project in both parallel
and consecutive ways. Events, which occur one after another,
show dependency of the later event over the previous one.
18
Resource Histogram
This is a graphical tool that contains bar or chart representing
number of resources (usually skilled staff) required over time for
a project event (or phase). Resource Histogram is an effective
tool for staff planning and coordination.
19