RV Institute of Technology and Management®
RV Educational Institutions®
RV Institute of Technology and Management
(Affiliated to VTU, Belagavi)
JP Nagar 8th Phase, Bengaluru - 560076
Department of
Computer Science and Information Science and Engineering
Course Name: Software Engineering and Project Management
Course Code: BCS501
2022 Scheme
5th Semester (CSE/ISE)
RV Institute of Technology and Management®
Module 4
Introduction to Project Management:
What is a project?
The dictionary definitions put a clear emphasis on the project being a planned activity.
The emphasis on being planned assumes we can determine how to carry out a task before we start. Yet
with exploratory projects this might be difficult. Planning is in essence, thinking carefully about
something, before you do it - even with uncertain projects this is worth doing as long as the resulting
plans are seen as provisional. Other activities, such as routine maintenance, will have been performed
so many times that everyone knows exactly what to do. In these cases, planning hardly seems necessary,
although procedures might be documented to ensure consistency and to help newcomers. The activities
that benefit most from conventional project management are likely to lie between these two extremes
see Figure 1.1.
There is a hazy boundary between the non-routine project and the routine job. The first time you do a
routine task (It will be like a project. Orr the other hand, a project to develop a system similar to previous
ones that you have developed will have a large element of the routine.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
The following characteristics distinguish projects :
non-routine tasks are involved;
planning is required;
Uncertainty of outcome Projects Exploration specific objectives are to be met or a specified
product is to be created;
the project has a predetermined time span;
work is carried out for someone other than yourself;
work involves several specialisms;
people are formed into a temporary work group to carry out the task;
work is carried out in several phases;
the resources that are available for use on the project are constrained;
the project is large or complex
Contract Management
ln-house projects are where the users and the developers of new software work for the f same
organization. However, increasingly organizations contract out ICT development to outside developers.
Here, the client organization will often appoint a 'project manager' to supervise the contract who will
delegate many technically oriented decisions to the contractors. Thus, the project manager will not worry
about estimating the effort needed to write individual software components as long as the overall project
is within budget and on time. On the supplier side, there will need to be project managers who deal with
the more technical issues. This book leans towards the concerns of these 'technical' project managers.
Activities Covered by Software Project Management
software project is not only concerned with the actual writing of software. ln fact, where a software
application is bought in 'off the shelf', there may be no software writing as such, but this is still
fundamentally a software project because so many of the other activities associated with software will
still be present. Usually there are three successive processes that bring a new system into being - see
Figure 1 .2.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
1 .The feasibility study
assesses whether a project is worth starting that it has a valid business case. information is gathered
about the requirements of the proposed application. Requirements elicitation can, at least initially, be
complex and difficult. The stakeholders may know the aims they wish to pursue, but not be sure about
the means of achievement. The developmental and operational costs, and the value of the benefits of the
new system, will also have to be estimated. With a large system, the feasibility study could be a project
in its own right with its own plan. The study could be part of a strategic planning exercise examinin¡1 a
range of potential software developments. Sometimes an organization assesses a program of
development.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
2 Planning
lf the feasibility study indicates that the prospective project appears viable, then project planning can
start. For larger projects, we would not do all our detailed planning at the beginning. We create an outline
plan for the whole project and a detailed one for the first stage. Because we will have more detailed and
accurate project information after the earlier stages of the project have been completed, planning of the
later stages is left to nearer their start.
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 that the boundary between design and planning
can be hazy. The design is making decisions about the form of the products to be created. This could
relate to the external appearance of the software, that is, the user interface, or the internal architecture.
The plan details
the activities to be carried out to create these products. Planning and design can be confused because at
the most detailed level, planning decisions are influenced by design decisions. Thus, a software product
with five major components is likely to require five sets of activities to create them.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
Figure 1 .3 shows the typical sequence of software development activities recommended in the
international standard ISO .l 2207. Some activities are concerned with the system while others
relate to software. The development of software will be only one part of a project. Software could
be developed, for example, for a project which also requires the installation of an ICT
infrastructure, the design of user jobs and user training.
Requirements analysis starts with requirements elicitation or requirements gathering which
establishes what the potential users and their managers require of the new system.
Architecture design the components of the new system that fulfil each requirement have to be
identified. Existing components may be able to satisfy some requirements. ln other cases/ a new
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
component will have to be made. These components are not only software: they could be new
hardware or work processes. Although software developers are primarily concerned with
software components, it is very rare that these can be developed in isolation. They will, for
example, have to take account of existing legacy systems with which they will interoperate.
Detailed design Each software component is made up of a number of software units that can be
separately coded and tested. The detailed design of these units is carried out separately.
Code and test refers to writing code for each software unit. initial testing to debug individual
software units would be carried out at this stage.
Integration: The components are tested together to see if they meet the overall requirements.
Integration could involve combining different software components, or combining and testing
the software element of the system in conjunction with the hardware platforms and user
interactions.
Qualification testing: The system, including the software components, has to be tested carefully
to ensure that all the requirements have been fulfilled.
installation This is the process of making the new system operational. It would include activities
such as setting up standing data (for example, the details for employees in a payroll system),
setting system parameters, installing the software onto the hardware platforms and user training.
Acceptance support This is the resolving of problems with the newly installed system, including
the correction of any errors, and implementing agreed extensions and improvements. Software
maintenance can be seen as a series of minor software projects. ln many environments, most
software development is in fact maintenance.
Plans, Methods and Methodologies
A plan for an activity must be based on some idea of a method of work. For example, if you were
asked to test some software, you may know nothing about the software to be tested, but you could
assume that you would need to
analyze the requirements for the software
devise and write test cases that will check that each requirement has been satisfied;
create test scripts and expected results for each test case;
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
compare the actual results and the expected results and identify cliscrepancies.
While a method relates to a type of activity in general, a plan takes that method (and perhaps others)
and converts it to real activities, identifying for each activity
its start and end dates;
who will carry it out;
what tools and materials - including information * will be needed
the output from one method might be the input to another. Croups of methods or techniques are often
grouped into methodologies such as object-oriented design
Some ways of categorizing Software Projects
Projects may differ because of the different technical products to be created. thus, we need to identify
the characteristics of a project which could affect the way in which it should be planned and managed.
Other factors are discussed below.
Compulsory versus voluntary users
In workplaces there are systems that staff have to use if they want to do something, such as recording a
sale. However, use of a system is increasingly voluntary, as in the case of computer games. Here it is
difficult to elicit precise requirements from potential users as we could with a business system. What
the game will do will thus depend much on the informed ingenuities of the developers, along with
techniques such as market surveys, focus groups and prototype evaluation.
information systems versus embedded systems
A traditional distinction has been between information systems which enable staff to carry out office
processes and embedded systems which control machines. A stock control system would be an
information system' An embedded, or process control, system might control the air conditioning
equipment in a building. Some systems may have elements of both where, for example, the stock control
system also controls in an automated warehouse.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
Objectives versus products
Projects may be distinguished by whether their aim is to produce a product or to meet certain objectives.
A project might be to create a product, the details of which have been specified by the client. The client
has the responsibility for justifying the product.
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 but within the same 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 software project will carry out work for the project. The relationship here is usually
management: based on a contract
Setting Objectives
Sub-objectives and goals
An effective objective for an individual must be something that is within the control of that
individual.
The mnemonic SMART is sometimes used to describe well defined objectives.
Specific Effective objectives are concrete and well defined. Vague aspirations such as 'to improve
customer relations are unsatisfactory. Objectives should be defined so that it is obvious to all whether
the project has been successful.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
Measurable Ideally there should be measures of effectiveness which tell us how successful the project
has been.
Achievable lt must be within the power of the individual or group to achieve the objective.
Relevant The objective must be relevant to the true purpose of the project.
Time constrained There should be a defined point ¡n time by which the objective should have been
achieved.
Measures of effectiveness
Measures of effectiveness provide practical methods of checking that an objective has been met.
'Mean time between failures' (MTBF) might, for example, be used to measure reliability. This is
a performance software quality, measurement and, as such, can only be taken once the system is
operational. Project managers want to get some idea of the performance of the completed system
as it is being constructed. They will therefore seek predictive measures. For example, a large
number of errors found during code inspections might indicate potential problems with reliability
later.
Business Case
Most projects need to have a justification or business case: the effort and expense of pushing the project
through must be seen to be worthwhile in terms of the benefits that will eventually be felt. A cost benefit
analysis will often be part of the project's feasibility study. This will itemize and quantify the project's
costs and benefits. The benefits will be affected by the completion date: the sooner the project is
completed, the sooner the benefits can be experienced. The quantification of benefits will often require
the formulation of a business model which explains how the new application can generate the claimed
benefits.
A simple example of a business model is that a new web-based application might allow customers from
all over the world to order a firm's products via the internet, increasing sales and thus increasing revenue
and profits. Any project plan must ensure that the business case is kept intact. For example:
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
that development costs are not allowed to rise to a level which threatens to exceed the value of
benefits;
that the features of the system are not reduced to a level where the expected benefits cannot be
realized;
that the delivery date is not delayed so that there is an unacceptable loss of benefits
Project Success and Failure
The project plan should be designed to ensure project success I by preserving the business case for the
project. However, every non-trivial project will have problems, and at what stage do we say that a project
is actually a failure? Because different stakeholders have different interests, some stakeholders in a
project might see it as a success while others do not.
Broadly speaking, we can distinguish between project objectives and business objectives. The project
objectives are the targets that the project team is expected to achieve. ln the case of software projects,
they can usually be summarized as delivering:
the agreed functionality
to the required level of quality
on time
within budget.
Customer relationships can also be built up over a number of projects. If a client has trust in a supplier
who has done satisfactory work in the past, they are more likely to use that company again, particularly
if the new requirement builds on functionality already delivered. lt is much more expensive to acquire
new clients than it is to retain existing ones.
What is management?
lt has been 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;
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
Monitoring – checking on progress;
Controlling - taking action to remedy hold-ups;
innovating - coming up with new solutions;
representing - liaising with clients, users, developer, suppliers and other stakeholders
Management Control
Management in general, involves setting objectives for a system and then monitoring the performance
of the system. ln Figure 1 .4 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.
This will involve the local managers in data collection. Bare details, such as 'location X has processed
2OO0 documents', will not be very useful to higher management: data processing will be needed to
transform this raw data into useful information. This might be in such forms as 'percentage of records
processed', 'average documents processed per day per person ' and 'estimated completion date'.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
ln our example, the project management might examine the 'estimated completion date' for completing
data transfer for each branch. These can be checked against the overall target date for completion of this
phase of the project. ln effect they are comparing actual performance with one aspect of the overall
project objectives. They might find that one or two branches will fail to complete the transfer of details
in time. They would then need to consider what to do (this is represented in Figure 1 .4 by the box
Making decisions /plans). One possibility would be to move staff temporarily from one branch to
another. lf this is done, there is always the danger that while the completion date for the one branch is
pulled back to before the overall target date, the date for the branch from which staff are being moved
is pushed forward beyond that date. The project manager would need to calculate carefully what the
impact would be in moving staff from particular branches. This is modelling the consequences of a
potential solution. Several different proposals could be modelled in this way before one was chosen For
implementation.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1
RV Institute of Technology and Management®
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 could 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. ln this case, transferring extra staff to do data inputting will not have
accelerated data transfer.
It can be seen that a project plan is dynamic and will need constant adjustment during the execution of
the project, Courses and books on project management (such as this one) often focus considerable
attention on project planning. While this is to be expected, with nearly all projects much more time is
spent actually doing the project rather than planning it. A good plan provides a foundation for a good
project, but is nothing without intelligent execution. The original plan will not be set in stone but will
be modified to take account of changing circumstances.
ANALYSIS AND DESIGN OF ALGORITHMS(BCS401) 1