Unit - 1 Intoduction To Software Project Management
Unit - 1 Intoduction To Software Project Management
A project is a group of tasks that need to complete to reach a clear result. A project also defines as
a set of inputs and outputs which are required to achieve a goal. Projects can vary from simple to
difficult and can be operated by one person or a hundred.
Projects usually described and approved by a project manager or team executive. They go beyond
their expectations and objects, and it's up to the team to handle logistics and complete the project
on time. For good project development, some teams split the project into specific tasks so they can
manage responsibility and utilize team strengths.
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.
Software project management is an art and discipline of planning and supervising software
projects. It is a sub-discipline of software project management in which software projects planned,
implemented, monitored and controlled.
It is a procedure of managing, allocating and timing resources to develop computer software that
fulfills requirements.
In software Project Management, the client and the developers need to know the length, period
and cost of the project.
1. Invisibility
With Software, progress is not immediately visible since work is logical; however, for physical
artifacts like bridges, work progress can be seen from time to time. In Software Development,
there is a level of uncertainty.
It isn't easy to accurately define detailed requirements for software projects before starting the
development. However, with the introduction of approaches like Agile and Scrum, we can
overcome this limitation.
2. Complexity
Software projects contain more complexity than other engineered artifacts. For example, in a
bridge, there is a clear structural relationship between parts, whereas software component
relationships are much more complicated. We can't measure the complexity of a software project
until we work on it.
3. Conformity
Physical systems are governed by consistent physical law, while Software developers have to
conform to the requirements of human clients.
4. Flexibility
Software systems are particularly subject to change. A bridge has to be built in a specific order,
whereas we can make Software much more flexibly and restructure parts quite freely.
Apart from the above-mentioned, Software Projects are intangible, and managing a software
project is more managing interpersonal communication and less about administration.
Software is said to be an intangible product. Software development is a kind of all new stream in
world business and there’s 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 experience of one product may
not be applied to the other one. All such business and environmental constraints bring risk in
software development hence it is essential to manage software projects efficiently.
There are three needs for software project management. These are:
1. Time
2. Cost
3. Quality
It is an essential part of the software organization to deliver a quality product, keeping the cost
within the client’s budget and deliver the project as per schedule. There are various factors, both
external and internal, which may impact this triple factor. Any of three-factor can severely affect
the other two.
The image above shows triple constraints for software projects. It is an essential part of software
organization to deliver quality product, keeping the cost within client’s budget constrain and
deliver the project as per scheduled. There are several factors, both internal and external, which
may impact this triple constrain triangle. Any of three factor can severely impact the other two.
Therefore, software project management is essential to incorporate user requirements along with
budget and time constraints.
Aspects of Software Project Management:
The list of focus areas it can tackle and the broad upsides of the Software Project. Management
are:
1. Planning: The software project manager lays out the complete project’s blueprint. The
project plan will outline the scope, resources, timelines, techniques, strategy,
communication, testing, and maintenance steps. SPM can aid greatly here.
2. Leading: A software project manager brings together and leads a team of
engineers, strategists, programmers, designers, and data scientists. Leading a team
necessitates exceptional communication, interpersonal, and leadership abilities. One can
only hope to do this effectively if one sticks with the core SPM principles.
3. Execution: SPM comes to the rescue here also as the person in charge of software projects
(if well versed with SPM/Agile methodologies) will ensure that each stage of the project
is completed successfully. Measuring progress, monitoring to check how teams function,
and generating status reports are all part of this process.
4. Time management: Abiding by a timeline is crucial to completing deliverables
successfully. This is especially difficult when managing software projects because changes
to the original project charter are unavoidable over time. To assure progress in the face of
blockages or changes, software project managers ought to be specialists in managing risk
and emergency preparedness. This Risk Mitigation and
management is one of the core tents of the philosophy of SPM.
5. Budget: Software project managers, like conventional project managers, are responsible
for generating a project budget and adhering to it as closely as feasible, regulating spending
and reassigning funds as needed. SPM teaches us how to effectively manage the monetary
aspect of projects to avoid running into a financial crunch later on in the project.
6. Maintenance: Software project management emphasizes continuous product testing to
find and repair defects early, tailor the end product to the needs of the client, and keep the
project on track. The software project manager makes ensuring that the product is
thoroughly tested, analyzed, and adjusted as needed. Another point in favor of SPM.
SPM Activities
Software Project Management consists of many activities that includes planning of the project,
deciding the scope of product, estimation of cost in different terms, scheduling of tasks, etc.
1. Project Planning: It is a set of multiple processes, or we can say that it a task that performed
before the construction of the product starts.
2. Scope Management: It describes the scope of the project. Scope management is important
because it clearly defines what would do and what would not. Scope Management create the
project to contain restricted and quantitative tasks, which may merely be documented and
successively avoids price and time overrun.
3. Estimation management: This is not only about cost estimation because whenever we start to
develop software, but we also figure out their size (line of code), efforts, time as well as cost.
If we talk about the size, then Line of code depends upon user or software requirement.
If we talk about effort, we should know about the size of the software, because based on the size
we can quickly estimate how big team required to produce the software.
If we talk about time, when size and efforts are estimated, the time required to develop the software
can easily determine.
And if we talk about cost, it includes all the elements such as:
o Size of software
o Quality
o Hardware
o Communication
o Training
o Additional Software and tools
o Skilled manpower
5. Project Resource Management: In software Development, all the elements are referred to as
resources for the project. It can be a human resource, productive tools, and libraries.
6. Project Risk Management: Risk management consists of all the activities like identification,
analyzing and preparing the plan for predictable and unpredictable risk in the project.
o The Experienced team leaves the project, and the new team joins it.
o Changes in requirement.
o Change in technologies and the environment.
o Market competition.
From the planning to closure, communication plays a vital role. In all the phases, communication
must be clear and understood. Miscommunication can create a big blunder in the project.
o Identification
o Baseline
o Change Control
o Configuration Status Accounting
o Configuration Audits and Reviews
To manage the Project management system adequately and efficiently, we use Project management
tools.
Gantt chart
Gantt chart first developed by Henry Gantt in 1917. Gantt chart usually utilized in project
management, and it is one of the most popular and helpful ways of showing activities displayed
against time. Each activity represented by a bar.
Gantt chart is a useful tool when you want to see the entire landscape of either one or multiple
projects. It helps you to view which tasks are dependent on one another and which event is coming
up.
PERT chart
The direction of the lines indicates the sequence of the task. In the above example, tasks between
"Task 1 to Task 9" must complete, and these are known as a dependent or serial task. Between
Task 4 and 5, and Task 4 and 6, nodes are not depended and can undertake simultaneously. These
are known as parallel or concurrent tasks. Without resource or completion time, the task must
complete in the sequence which is considered as event dependency, and these are known as
Dummy activity and represented by dotted lines.
Logic Network
The Logic Network shows the order of activities over time. It shows the sequence in which
activities are to do. Distinguishing events and pinning down the project are the two primary uses.
Moreover, it will help with understanding task dependencies, a timescale, and overall project
workflow.
Product Breakdown Structure (BBS) is a management tool and necessary a part of the project
designing. It's a task-oriented system for subdividing a project into product parts. The product
breakdown structure describes subtasks or work packages and represents the connection between
work packages. Within the product breakdown Structure, the project work has diagrammatically
pictured with various types of lists. The product breakdown structure is just like the work
breakdown structure (WBS).
Work Breakdown Structure
It is an important project deliverable that classifies the team's work into flexible segments. "Project
Management Body of Knowledge (PMBOK)" is a group of terminology that describes the work
breakdown structure as a "deliverable-oriented hierarchical breakdown of the work which is
performed by the project team."
There are two ways to generate a Work Breakdown Structure: The top-down and
In the top-down approach, the WBS derived by crumbling the overall project into subprojects or
lower-level tasks.
The bottom-up approach is more alike to a brainstorming exercise where team members are
asked to make a list of low-level tasks which is required to complete the project.
Resource Histogram
The resource histogram is precisely a bar chart that used for displaying the amounts of time that a
resource is scheduled to be worked on over a prearranged and specific period. Resource histograms
can also contain the related feature of resource availability, used for comparison on purposes of
contrast.
Critical path analysis is a technique that is used to categorize the activities which are required to
complete a task, as well as classifying the time which is needed to finish each activity and the
relationships between the activities. It is also called a critical path method. CPA helps in predicting
whether a project will expire on time.
Project Manager
A project manager is a character who has the overall responsibility for the planning, design,
execution, monitoring, controlling and closure of a project. A project manager represents an
essential role in the achievement of the projects.
A project manager is a character who is responsible for giving decisions, both large and small
projects. The project manager is used to manage the risk and minimize uncertainty. Every decision
the project manager makes must directly profit their project.
Role of a Project Manager:
1. Leader
A project manager must lead his team and should provide them direction to make them understand
what is expected from all of them.
2. Medium:
The Project manager is a medium between his clients and his team. He must coordinate and transfer
all the appropriate information from the clients to his team and report to the senior management.
3. Mentor:
He should be there to guide his team at each step and make sure that the team has an attachment.
He provides a recommendation to his team and points them in the right direction.
As you talk to individuals, you will get a sense for how they manage projects and the technical
project management skills they have. They should be able to tell you how they would adapt any
project management technique, tool or discipline to best fit a particular project as tailoring an
approach is an important marker for a successful delivery.
Business acumen helps project managers make smarter decisions about risk management and
project delivery, shaping the way the project gets done to ensure it adds real business value at
every step.
DECISION-MAKING SKILLS
There are hundreds of decisions to make on projects, from the day-to-day ‘who is best placed to
do this task’ type decision through to making financial recommendations that could substantially
impact the organization’s bottom line.
A project manager should be able to use a variety of techniques to make decisions, and
appreciate when to involve subject matter experts.