Modify SPM U-1
Modify SPM U-1
“Project Management is the discipline of organizing and managing resources (e.g. people) in
such a way that the project is completed within defined scope, quality, time and cost
constraints. A project is a temporary and one-time endeavour undertaken to create a unique
product or service, which brings about beneficial change or added value.”
The goal of software project management is to understand, plan, measure and control the
project such that it is delivered on time and on budget. This involves gathering
requirements, managing risk, monitoring and controlling progress, and following a software
development process.
Having led lots of development teams and projects, I have occasionally been asked by clients
“Why do we need a project manager? The developers know what we want to do; can’t they just
do the work? We can maintain the schedule.” Due to my position, it’s hard not to get a little
defensive and wonder, “why do they ask?” Do they just really want to update their own project
plans?
However, I know deep down why they ask and the reason, of course, is often related to cost.
Developers create tangible things that customers can see and therefore value. A Project manager
(PM) on the other hand…well, not always. So what exactly are you getting when you pay to
have a project manager? A good project manager manages the project’s team, the project’s scope,
handles any issues that arise and can remain your reliable and knowledgeable single point of
contact.
Project:
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.
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 issues of cost, budget, resources, time, quality and
customer satisfaction.
Managing People
• Act as project leader
• Liaison 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
Software Project Management (SPM) is a proper way of planning and leading software projects.
It is a part of project management in which software projects are planned, implemented,
monitored and controlled.
• Risk Management:
Risk management is the analysis and identification of risks that is followed by
synchronized and economical implementation of resources to minimize, operate and
control the possibility or effect of unfortunate events or to maximize the realization of
opportunities.
• Requirement Management:
It is the process of analyzing, prioritizing, tracing and documenting on requirements and
then supervising change and communicating to pertinent stakeholders. It is a continuous
process during a project.
• Change Management:
Change management is a systematic approach for dealing with the transition or
transformation of an organization’s goals, processes or technologies. The purpose of
change management is to execute strategies for effecting change, controlling change and
helping people to adapt to change.
• Release Management:
Release Management is the task of planning, controlling and scheduling the build in
deploying releases. Release management ensures that organization delivers new and
enhanced services required by the customer, while protecting the integrity of existing
services.
SPM activities are as follows: 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.
• Project planning and Tracking
• Scope Management
• Estimation Management
• Project Risk Management
• Scheduling Management
• Project Communication Management
• Configuration Management
Now we will discuss all these activities -
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:
• Size of software
• Quality
• Hardware
• Communication
• Training
• Additional Software and tools
• Skilled manpower
4. Scheduling Management: Scheduling Management in software refers to all the activities to
complete in the specified order and within time slotted to each activity. Project managers define
multiple tasks and arrange them keeping various factors in mind.
For scheduling, it is compulsory -
• Find out multiple tasks and correlate them.
• Divide time into units.
• Assign the respective number of work-units for every job.
• Calculate the total time from start to finish.
• Break down the project into modules.
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.
Resource management includes:
• Create a project team and assign responsibilities to every team member
• Developing a resource plan is derived from the project plan.
• Adjustment of resources.
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.
Several points show the risks in the project:
• The Experienced team leaves the project, and the new team joins it.
• Changes in requirement.
• Change in technologies and the environment.
• Market competition.
7. Project Communication Management: Communication is an essential factor in the success
of the project. It is a bridge between client, organization, team members and as well as other
stakeholders of the project such as hardware suppliers.
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.
8. Project Configuration Management: Configuration management is about to control the
changes in software like requirements, design, and development of the product.
The Primary goal is to increase productivity with fewer errors.
Some reasons show the need for configuration management:
• Several people work on software that is continually update.
• Help to build coordination among suppliers.
• Changes in requirement, budget, schedule need to accommodate.
• Software should run on multiple systems.
Here are some of the challenges that have a large impact specifically on project
management within the software industry.
Time constraint
“Less time, more work.” is typical in the software development process. But what makes this a
common challenge is the unrealistic deadlines from the clients sometimes, which leads to a race
against time. As a result, it affects the quality of the software. Because of high competition and
changing technology, it has become even more challenging for the development team and the
project managers to cope with tight deadlines.
Moreover, unrealistic deadlines create pressure, which leads to more problems during the
development process.Communicating about the deadlines and the expectation with the clients is
the best option here. Sometimes, they fail to understand the complexity of the project. So, the
project managers have to step up to clarify everything to them.
Moreover, planning, reviewing, and implementing the new requirements into the existing ones
take a toll on the development team and the project manager.The project managers need to adopt
the agile methodology. Even if the requirements change, this approach helps the team manage
the project efficiently and implement the new priorities quickly and easily.
Poor communication
Poor communication with clients, other stakeholders, and the development team affects the
overall project.First, miscommunication with clients will prevent getting the requirements, which
will complicate the working process.Second, it will create conflicts within the team. If members
don’t communicate with each other, then the roles and responsibilities will overlap with each
other.Moreover, it is important to communicate and coordinate with each other for smooth
operation.
Skills management
One of the biggest challenges of a project manager is finding the right team with the skills and
experience to finish the job. If the members are not skilled enough, then the chances of failure
increases. It puts the project managers in a risky situation.
The project managers shou ld assess the team’s skills and knowledge before committing. They
need to train the development team before such a situation arises. Also, they can hire people who
are capable of handling specific projects.
Changing technologies
The IT industry is one of the fastest-growing industries. So, rapid change in technologies isn’t a
new thing. Today’s technology may not work tomorrow. So, it is essential to get acquainted with
the latest ones.
Moreover, the market is now full of hundreds of software management tools with tons of
features. So, the project managers are responsible for selecting the best ones that are right for
their company and the team.
The project managers need to be aware of the latest technology to make the development process
faster and efficient. They need to set up the proper equipment to increase the success of the
projects.
The project managers can talk to the clients and set realistic deadlines and expectations. Plus,
they have to ensure that every team member is prepared for the project.
Project cancellation
One of the most significant challenges the project managers have to face is the cancellation of
the project mid-way. This is the worst phase they have to face. And there can be various reasons.
Estimation
It plays a crucial role in the success of the project. However, unrealistic estimation affects the
overall project as well as the performance of the team.
The project managers have to estimate by accounting the teams’ skills and experience. Moreover,
it should be acknowledged by every stakeholder involved in the project.
Latest technologies are necessary for developing top-notch software. So the project managers
have to convince the company to replace them for the betterment of the business.
Quality testing
Meeting quality is another challenge for project managers. Bugs and errors are part of the
development process. It is almost impossible not to get issues when developing software. And to
get high-quality software requires various iterations of testing.
Managing risks
Sometimes, the project may not go smoothly as expected. Sometimes, there might be the risk of
lack of resources, time, budget, etc. Other times, changes in the technology and market can affect
the project.
Now that you know the answer to the question “what are project stakeholders”, the natural next
question is “who are the stakeholders in a project”.
As we’ve already seen in the project stakeholder definition above, a stakeholder is anyone with
an interest or investment in your project. But when you actually start to map that out, you
might be surprised by how long the list can be.
That’s because investment in your project can take a number of different forms. It can be the
company’s money, an executive’s sponsorship or a manager’s resources. It can also apply to the
end user or customer, as their needs are a critical consideration when it xcomes to steering your
project.
Let’s take a closer look at some of the different kinds of stakeholders in a project.
Internal stakeholders
These stakeholders are coming from within the house!!! Internal stakeholders are people or
groups within the business, such as team members, managers, executives, and so on.
External stakeholders
External stakeholders are — as you can probably guess — people or groups outside the business.
This includes customers, users, suppliers, and investors.
As you can see, stakeholders don’t always work for the project manager. Needless to say, this can
add an extra layer of complexity, as you need to be able to communicate with people at all
different levels of the business and with varying degrees of engagement, influence, and interest.
• Project manager
• Team members
• Managers
• Resource managers
• Executives
• Senior management
• Company owners
• Investors
• Sponsors
• Suppliers
• Vendors
• Consultants
• Customers
• End users
• What level of power do they have?: How important is it that they’re happy with the
project’s progress and results? How integral are they to the project’s success? How
influential are they to the project, to other stakeholders, to the team, and so on?
(Remember: a stakeholder’s influence can be positive or negative!)
• What level of interest do they have?: Is this project super important to them, or are they
only tangentially connected to it? Is it something they’re directly accountable for? Are
they reliant on it for other work or results? Are they opposed to the project or concerned
about it in some way?
• Any concerns or reservations they have about the project or its outcomes
• Whether there are any anticipated conflicts of interest with other stakeholders that you
need to be aware of
Not only will these conversations help you to understand each stakeholder’s involvement in, and
outlook on, the project, but it also helps you to build a bigger picture of your stakeholder
network and how each stakeholder interrelates.
Document each stakeholder’s roles and needs
All that work you did identifying your stakeholders and their individual needs in relation to your
project? Put it to good use by compiling it into a shared, accessible document to make sure you
have a record of everyone’s role and responsibilities and keep you all on the same page.
Creating a stakeholder register for your project helps you to keep track of a long list of people
and priorities. With a definitive document you can update, edit, and consult as your project
progresses, you can ensure that you’re always driving the project in the right direction and
keeping the right people informed at the right times.
And speaking of which…
Communicate with your stakeholders
As a project manager, keeping your stakeholders informed, included, and inspired throughout the
lifecycle of your project is one of your most important jobs.
As mentioned above, your “priority” stakeholders will probably shift depending on which phase
of your project you’re at. That’s a good thing, allowing you to direct your energy where it’s
needed and avoid overloading people with irrelevant information.
That’s important, because while you want to give your stakeholders visibility, over-
communication can be just as frustrating as under-communication.
Using a project management tool with lots of different communication options means that you
can tailor your notifications to each stakeholder’s unique needs, while still keeping a full audit
history of every action and decision (which is especially handy when it comes to reporting time).
PROJECT PLANNING:
Step Wise Project Planning
Plan
ning is the most difficult process in project management. The framework described is called the
Stepwise method to help to distinguish it from other methods.
Step 0: Select Project
Step 1: Identify project scope and objectives
Step 1.1 : Identify objectives and practical measures of the effectiveness in meeting those
objectives
Step 1.2 : Establish a project authority
Step 1.3 : Stakeholder analysis - identify all stakeholders in the project and their interests.
Step 1.4 : Modify objectives in the light of stakeholder analysis.
Step 1.5 : Establish methods of communication with all parties.
First off, scope can refer to either product scope or project scope. It's important to know the
difference:
• Product scope is defined as the functions and features that characterize a product or a service.
• Project scope, on the other hand, is the work that must be done in order to deliver a product
according to the product's scope (required functions and features).
Project scope is the common understanding among stakeholders about what goes into a project
and what factors define its success. A project's scope is made up of the functionalities or
specifications outlined in the requirements.
Scope is documented in a scope statement, which is an integral part of any project plan. And
what is a scope statement exactly? It's a written document that is used as the basis for project
decisions down the line. The scope statement clearly delineates what is in scope (the work
required). Everything else is out of scope. What does out of scope mean in project management?
Simply put, this is anything that does not fall within the required functionalities and
Here's where we get down to the process of building that scope statement. The PMBOK
recognizes 6 major scope management processes involved in managing and defining a project's
parameters. These are:
1. Planning scope management: A scope management plan is created based on input from the
project plan, the project charter, and consultation with stakeholders.
3. Defining scope: A project scope statement is produced based on all the requirements
documentation plus the project charter and the scope management plan. This definition will be
the basis for all project activity.
4. Creating the Work Breakdown Structure: A Work Breakdown Structure (WBS) is built
after analyzing the project scope statement and the requirements documentation. The WBS is
basically the entire project broken down into individual tasks, and deliverables are clearly
defined.
5. Validating scope: Here, deliverables are inspected and reviewed. Either they're accepted as
complete or further revisions are requested.
What Is a Deliverable in Project Management?
In project management, a deliverable is a product or service that is given to your client. A
deliverable usually has a due date and is tangible, measurable and specific. A deliverable can
be given to either an external or internal customer and satisfies a milestone or due date that is
created and produced in the project plan. A deliverable can be a software product, a design
document, a training program or other asset that is required by the project plan.
Software Product Deliverables
A frequent deliverable in project management is a software product. This could be a software
program or source code that needs to be written by a specific deadline. When a software
program is being customized for a client, these software products usually are delivered in
phases or releases and they are numbered.
The earliest release will contain some of the elements that will be present in the final product.
With each release, there will be product testing that allows for changes to the product prior to
the final deliverable.
Training Program Deliverables
Training programs can also be a deliverable for a client. Most often, the final product is the
training program itself, but there are also other deliverables that must be produced along the
way. First will be the training design that tells the client how the training program will be
developed.
Another deliverable is the training curriculum, which is an outline of the proposed training
program. After a task analysis, the training program is developed and tested and then finally
approved, as the last deliverable.
Milestones and Due Dates
Milestones are also another example of a deliverable. A milestone is a hard and fast due date
that represents a major accomplishment during the course of the project that is being managed.
Sometimes these milestones represent the approval of a major component in the project, like
approved testing of the product for release one.
Another milestone could represent approval from upper management for the development of
the software product. Milestones represent deliverables that are significant and must be
accomplished over the course of the project.
The project planning process involves a set of interrelated activities followed in an orderly
manner to implement user requirements in software and includes the description of a series of
project planning activities and individual(s) responsible for performing these activities. In
addition, the project planning process comprises the following.
• Objectives and scope of the project
• Techniques used to perform project planning
• Effort (in time) of individuals involved in project
• Project schedule and milestones
• Resources required for the project
• Risks associated with the project.
Project planning activites : process comprises several activities, which are essential for
carrying out a project systematically. These activities refer to the series of tasks performed over a
period of time for developing the software. These activities include estimation of time, effort,
and resources required and risks associated with the project.
• There are also business and technology infrastructures. Business infrastructure can include
facilities, operating systems, communication tools, and security systems. Some business
infrastructure project examples are:Upgrading the phone lines in the building