Unit 1 notes of Software Project Management (ECE-3) (BOE068)
What is Project?
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.
What is software project management?
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 fulfils requirements. In software Project
Management, the client and the developers need to know the length, period
and cost of the project.
Prerequisite of software project management?
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 clients’ 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.
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.
OR
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.
Responsibilities of a Project Manager:
1. Managing risks and issues.
2. Create the project team and assigns tasks to several team members.
3. Activity planning and sequencing.
4. Monitoring and reporting progress.
5. Modifies the project plan to deal with the situation
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.
The list of activities are as follows:
1. Project planning and Tracking
2. Project Resource Management
3. Scope Management
4. Estimation Management
5. Project Risk Management
6. Scheduling Management
7. Project Communication Management
8. 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, analysing 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.
Software projects versus other types of projects
Many of the techniques of general project management are applicable to
software project management, but Fred Brooks pointed out that the
products of software projects have certain characteristics which make them
different. One way of perceiving software project management is as the
process of making visible that which is invisible.
Invisibility When a physical artefact such as a bridge or road is being
constructed the progress being made can actually be seen. With software,
progress is not immediately visible.
Complexity Per dollar, pound or euro spent, software products contain
more complexity than other engineered artefacts.
Conformity The ‘traditional’ engineer is usually working with physical
systems and physical materials like cement and steel. These physical
systems can have some complexity, but are governed by physical laws that
are consistent. Software developers have to conform to the requirements of
human clients. It is not just that individuals can be inconsistent.
Organizations, because of lapses in collective memory, in internal
communication or in effective decision-making can exhibit remarkable
‘organizational stupidity’ that developers have to cater for.
Flexibility The ease with which software can be changed is usually seen
as one of its strengths. However, this means that where the software
system interfaces with a physical or organizational system, it is expected
that, where necessary, the software will change to accommodate the other
components rather than vice versa. This means the software systems are
likely to be subject to a high degree of change.
Activities covered by software project management
A software project is not only concerned with the actual writing of
software. In fact, where a software application is bought in ‘off the shelf’,
there may be no software writing as such. This is still fundamentally a
software project because so many of the other elements associated with
this type of project are present. Usually there are three successive
processes that bring a new system into being.
1. The feasibility study This is an investigation into whether a
prospective project is worth starting. Information is gathered about
the requirements of the proposed application. The probable
developmental and operational costs, along with the value of the
benefits of the new system, are estimated. With a large system, the
feasibility study could be treated as a project in its own right – and
have its own planning sub-phase. The study could be part of a
strategic planning exercise examining and prioritizing a range of
potential software developments. Sometimes an organization has a
policy where a group of projects is planned as a programme of
development.
2. Planning: If the feasibility study produces results which indicate
that the prospective project appears viable, planning of the project
can take place. However, for a large project, we would not do all our
detailed planning right at the beginning. We would formulate an
outline plan for the whole project and a detailed one for the first
stage. More detailed planning of the later stages would be done as
they approached. This is because we would have more detailed and
accurate information upon which to base our plans nearer to the start
of the later stages.
3. Project execution: The project can now be executed. The execution
of a project often contains design and implementation sub-phases.
Students new to project planning often find it difficult to separate
planning and design, and often the boundary between the two can be
hazy. Essentially, design is thinking and making decisions about the
precise form of the products that the project is to create. In the case
of software, this could relate to the external appearance of the
software, that is, the user interface, or the internal architecture. The
plan lays down the activities that have to be carried out in order to
create these products. Planning and design can be confused because
at the most detailed level, planning decisions are influenced by
design decisions. For example, if a software product is to have five
major components, then it is likely that there will be five groups of
activities that will create them.
Plan, Methods & Methodologies:
An activity plan is based on some method of work. To test software the
following list is assumed.
• Requirement analysis for the software;
• Develop test cases for each requirement;
• Creating test scripts, expected results;
• Comparison of actual result with the expected result;
• Identifying the discrepancies.
A method denotes a kind of activity. A plan takes the method and converts
it to activities. Ever activity identified must contain the start and end dates,
the responsible person to carry out the activity, what tools and materials
are used.
The output of first method will be the input of the second method, the
second one’s output might be the input of the third one and so on.
Methods grouped together are termed as methodologies. For example,
object-oriented design is a methodology made up of several methods.
Example:
1. Adaptive Project Framework
2. Crystal Methods
3. Waterfall model
4. PRINCE2
Categories of Software Projects
It is important to distinguish between the main types of software
project because what is appropriate in one context might not be so in
another.
1. Compulsory versus voluntary users
POS software has different requirement and user than Games.
Compulsory systems are the systems which the staff of an
organisation have to use if they want to do a task.
Voluntary systems are the systems which are voluntarily used by the
users e.g., computer gaming, school project, etc.
2. Information System versus Embedded Systems
Information Systems helps in office day to day processes and
embedded system are used to control machines. Examples of
Information system are A stock control system, transaction processing
system, knowledge management system, learning management
system, database system etc. While Embedded systems control
Microwave oven, AC, Mp3 Player, Digital Camera, Washing
Machine etc.
Information systems are used by staff to carry out office processes
and tasks e.g., stock control system.
Embedded systems are used to control machines e.g., a system
controlling equipment in a building.
3. Objective-based Vs Product-based systems (projects)
Project whose requirement is to meet certain objectives which could
be met in a number of ways, is objective-based project.
Project whose requirement is to create a product, the details of which
have been specified by the client, is product-based project.
4. Outsourced Project
Most of the companies outsource parts of its work to other companies.
There can be several reasons to outsource project, e.g., company does not
have sufficient expertise, or project is to be completed in limited period
in that case it can be outsourced to company with their development
centre.
Outsourced project fetch one time revenue in good amount while
product-based company project earns over period of time.
Stakeholders:
These are people who have a stake or interest in the project. Their early
identification is important as you need to set up adequate communication
channels with them.
Stakeholders can be categorized as:
Internal to the project team This means that they will be under the
direct managerial control of the project leader.
External to the project team and the organization for example, the
project leader might need the assistance of the users to carry out
systems testing. Here the commitment of the people involved has
to be negotiated.
External to both the project team and the organization External
stakeholders may be customers (or users) who will benefit from the
system that the project implements. They may be contractors who
will carry out work for the project. The relationship here is usually
based on a contract.
Boehm and Ross proposed a ‘Theory W’ of software project management
where the manager concentrates on creating situations where all parties
benefit from a project and therefore have an interest in its success. (The
‘W’ stands for ‘win–win’.)
What is objective setting?
Among all these stakeholders are those who actually own the project. They
control the financing of the project. They also set the objectives of the
project. The objectives should define what the project team must achieve for
project success. Although different stakeholders have different motivations,
the project objectives identify the shared intentions for the project.
Objectives focus on the desired outcomes of the project rather than the tasks
within it – they are the ‘post-conditions’ of the project. Informally the
objectives could be written as a set of statements following the opening
words ‘the project will be a success if. . ..’ Thus, one statement in a set of
objectives might be ‘customers can order our products online’ rather than
‘to build an e-commerce website’. There is often more than one way to
meet an objective and the more possible routes to success the better.
Objective setting is when an organization plans goals and how to meet them
on a realistic timescale. Objectives help define what each department's and
employee's responsibilities are within the organization. Setting objectives is
part of establishing expectations for employees and managing them, which
is also called the performance management process.
Effective objectives in project management are specific. A specific
objective increases the chances of leading to a specific outcome. Therefore,
objectives shouldn't be vague, such as "to improve customer relations,"
because they are not measurable. Objectives should show how successful a
project has been.
An effective objective’s scope for an individual must be within the
individual’s control. Objectives can be broken down into goals or sub
objectives in order to achieve them.
SMART technique is used for a well-defined objective.
• Specific: Concrete and well-defined; Up to the point.
• Measurable: measures of effectiveness.
• Achievable: power within the individual or the group.
• Relevant: satisfy the purpose of the project.
• Time-oriented: time limit for successful achievement of the
project.
The objectives are met only when the system becomes operational.
Performance measures deals the reliability of the operational system and
predictive measures are done during the development of the project by
measuring the effectiveness of the developing system.
Objectives can often be set under three headings:
1. Performance and Quality
The end result of a project must fit the purpose for which it was intended.
At one time, quality was seen as the responsibility of the quality control
department. In more recent years the concept of total quality management
has come to the fore, with the responsibility for quality shared by all staff
from top management downwards.
2. Budget
The project must be completed without exceeding the authorised
expenditure. Financial sources are not always inexhaustible and a project
might be abandoned altogether if funds run out before completion. If that
was to happen, the money and effort invested in the project would be
forfeited and written off. In extreme cases the project contractor could face
ruin. There are many projects where there is no direct profit motive,
however it is still important to pay proper attention to the cost budgets, and
financial management remains essential.
3. Time to Completion
Actual progress has to match or beat planned progress. All significant
stages of the project must take place no later than their specified dates, to
result in total completion on or before the planned finish date. The
timescale objective is extremely important because late completion of a
project is not very likely to please the project purchaser or the sponsor.
Management Definition:
Management can be defined as all activities and tasks undertaken by one
or more Persons for the purpose of planning and controlling the activities
of others in order to achieve objectives or complete an activity that could
not be achieved by others acting independently. The Open University
Software Project Management module suggested that management
involves the following activities:
Planning – deciding what is to be done;
Organizing – making arrangements;
Staffing – selecting the right people for the job, etc.;
Directing – giving instructions;
Monitoring – checking on progress;
Controlling – taking action to remedy hold-ups;
Innovating – coming up with new solutions;
Representing – liaising with users, etc.
Management Principles:
The principles of project management are the fundamental rules that
should be followed for the
successful management of projects. Here are the nine principles of project
management:
Formal project management structure
Invested and engaged project sponsor
Clear and objective goals and outcomes
Documented roles and responsibilities
Strong change management
Risk management
Mature value delivery capabilities
Performance management baseline
Communication plan
Let’s take a look at each one of these in a bit more detail.
1. Formal structure
Projects need to have a formalized structure, including processes,
procedures, and tools. If
you’ve ever tried to complete a project without a formalized structure (“off
the books”), you know how hard it can be to control it and provide the
attention it deserves. A project should have a project charter, project plan,
and a designated project team to successfully prioritize and manage the
project.
2. Project sponsor
An effective project sponsor is critical to the success of a project. Sponsors
champion your project and act as a spokesperson to other executives.
Having an engaged sponsor makes it easier to communicate progress,
escalate issues to overcome roadblocks, and guide stakeholders through
decision-making processes.
3. Goals and outcomes
Without precise requirements and approval criteria, it will be difficult to
measure a project’s success. You may think that your final product does
everything requested, only to have the customer or user complain that you
left out a critical component. The most common factor behind failed
projects is a lack of clear goals. Project requirements and approval criteria
should be determined and documented at the beginning of the project.
These must be reviewed and approved by all key stakeholders, including
the sponsor and customer.
4. Roles and responsibilities
Two forms should be used to document and define the roles and
responsibilities of everyone involved with a project. For project team
members, RACI or RASCI is used to determine duties and expectations.
RASCI stands for:
R: Responsible
A: Accountable
S: Sign-off authority (not always used)
C: Consulted
I: Involved
In a RACI chart, team members are listed along the top, with tasks along
the sides. Each member is assigned a letter (R, A, C, and I) according to
their role for each job. A stakeholder registers documents stakeholders
outside the primary team, as well as important information such as the
following:
Communication preferences (type and frequency)
Contact information
Level of influence on the project
Engagement level with the project
Their role within the company
Other relevant details or notes
5. Management of project changes
A project needs a well-defined scope to ensure the outcome meets
customer expectations. Without strong change management, a project
could suffer from scope creep and gradually grow beyond the initial
project guidelines. To give an example, team members or stakeholders
may want to add additional features to a product. However, if you don’t
carefully control changes, you could end up with a great product that costs
twice what you expected and is delivered six months late.
6. Risk management
Since we cannot execute projects in a bubble, they all face some risks.
Risk can affect your resources, technology, or processes. It’s important to
manage risk to minimize or eliminate its impact on your projects. This
involves identifying, evaluating, and monitoring risks and deciding upon
action plans to implement if they occur.
7. Value delivery capabilities
Your value delivery capabilities are the project tools, processes, and
procedures that help you deliver value to your customers. This can include
your project systems, like your scheduling software. It may also include
your processes, such as using an agile project methodology. If you have
established and tested approaches for delivering successful projects, you'll
be better equipped than if you’re starting from scratch. The more mature
your processes and procedures are, the more likely your project will be a
success.
8. Performance management baseline
Projects typically have three basic components: cost, schedule, and scope.
Each of these components should have a baseline or plan against which
performance can be measured. When these baselines are integrated, it’s
called a performance management baseline — then, if you have a change
in any one of these components, its impact will be reflected in the others.
Say you have a scope change. With your performance management
baseline, you can see how this will impact your project schedule and cost,
allowing you to better monitor the overall effect of changes on a project. A
performance management baseline improves decision-making, as you can
view the whole picture and identify all impacts of potential decisions.
9. Communication
If you’ve worked in project management for a while, you may have heard
the saying that project management is 90% communication. A project’s
success requires communication of project activities, risks, issues, and
status, both within the project team and with other stakeholders.
Communication is essential for a variety of reasons, including:
Keeping stakeholders engaged
Coordinating tasks and schedules
Decision-making and problem-solving
Identifying and resolving conflicts
Escalating risks and issues
Management Control:
Management, in general, can be seen as the process of setting objectives
for a system and then monitoring the system to see what its true
performance is. In the given Figure the 'real world' is shown as being
rather formless. Especially in the case of large undertakings, there will be
a lot going on about which management should be aware. As an example,
take an IT project that is to replace locally held paper-based records with a
centrally-organized database. It might be that staff in a large number of
offices that are geographically dispersed need training and then need to use
the new IT system to set up the back-log of manual records on the new
database. It might be that the system cannot be properly operational until
the last record has been transferred. It might also be the case that the new
system will be successful only if new transactions can be processed within
certain time cycles. The managers of the project ought to be asking
questions about such things as how effective training has been, how many
records have still to be transferred to the new database and transfer rates.
This will involve the local managers in data collection. Bare details, such
as 'location X has processed 2000 documents' will not be very useful to
higher management: data processing will be needed to transform this raw
data into useful information
Several different proposals could be modelled in this way before one was
chosen for implementation.
Having implemented the decision, the situation needs to be kept under
review by collecting and processing further progress details. For instance,
the next time that progress is reported, a branch to which staff have been
transferred might still be behind in transferring details. This might be
because the reason why the branch has got behind in transferring details is
because the manual records are incomplete and another department, for
whom the project has a low priority, has to be involved in providing the
missing information. In this case, transferring extra staff to do data input
will not have accelerated data transfer.
Project portfolio Management
This helps the organization to categorize the projects and align the projects
with their organizational goals.
Project Portfolio Management (PPM) is a management process with the
help of methods aimed at helping the organization to acquire information
and sort out projects according to a set of criteria.
Project portfolio management (PPM) is the analysis and optimization of the
costs, resources, technologies and processes for all the projects and
programs within a portfolio.
Objectives:
The need to create a descriptive document, which contains vital information
such as name of project, estimated timeframe, cost and business objectives.
Evaluation of the project on a regular basis to ensure that the project is
meeting its target and stays in its course. Selection of the team players, who
will work towards achieving the project's objectives.
Advantages:
Helps to concentrate on the strategies, which will help to achieve the
targets rather than focusing on the project itself.
The responsibilities of IT are focused on part of the business rather
than scattering across several.
Greater adaptability towards change.
What Is a Cost-Benefit Analysis?
A cost-benefit analysis is a systematic process that businesses use to
analyse which decisions to make and which to forgo.
A cost-benefit analysis is the process used to measure the benefits of
a decision or taking action minus the costs associated with taking
that action.
A cost-benefit analysis involves measurable financial metrics such as
revenue earned or costs saved as a result of the decision to pursue a
project.
Understanding Cost-Benefit Analysis
Before building a new plant or taking on a new project, prudent managers
conduct a cost-benefit analysis to evaluate all the potential costs
and revenues that a company might generate from the project. The outcome
of the analysis will determine whether the project is financially feasible or
if the company should pursue another project.
Finally, the results of the aggregate costs and benefits should be compared
quantitatively to determine if the benefits outweigh the costs. If so, then the
rational decision is to go forward with the project
Cost-benefit evaluation technology
It is one of the important and common ways of carrying out an
“economic assessment” of a proposed information system.
This is done by comparing the expected costs of development and
operation of the system with its benefits.
So, it takes an account:
o Expected cost of development of system
o Expected cost of operation of system
o Benefits obtained
Assessment is based on: Whether the estimated costs are executed by
the estimated income. And by other benefits.
For achieving benefits where there are scarce resources, projects will
be prioritized and resources are allocated effectively.
The standard way of evaluating economic benefits of any project is
done by Cost Benefit Analysis
It comprises of two steps:
o Identifying and estimating all of the costs and benefits of
carrying out the project.
o Expressing these costs and benefits in common units.
It includes
o Development cost of the system.
o Operating cost of system.
o Benefits obtained by system.
When new system is developed by the proposed system, then new
system should reflect the above three as same as proposed system
Example: sales order processing system which gives benefit due to
use of new systems.
In developing cost estimates for a system, we need to consider some of
cost elements. Some elements among them are hardware, personnel,
facility, operating and supply cost. The following are the cost factors:
1. Hardware cost
2. Personnel cost
3. Facility cost
4. Operating cost
5. Supply cost