Module 4 notes
Module 4 notes
Module 4 notes
What is a Project?
Project: The dictionary definitions put a clear emphasis on the project being a
planned activity. A project is a unique venture with a beginning and an end,
conducted by people to meet established goals within parameters of cost, schedule
and quality.
A Planned activity
A Specific pan or design
A planned undertaking
A large undertaking
Non-Software Examples:
A wedding
An MBA degree
A house construction project
A political election campaign
What is a Task?
A small piece of work:
Meant to accomplish a straightforward goal
Effort of no longer than a few person-hours
Involves only a few people
May or may not be a part of some project
Usually repetition of a previously accomplished task
Process management may be relevant!
Non-software Examples:
Attend a lecture class
Buy a chocolate from the market
Book a railway ticket
On the one hand there are repetitive jobs a similar task is carried out
repeatedly, for example Kwikfit replacing a tyre on a car or a lecturer giving
an introductory talk on project management. The task is well-defined and
there is very little uncertainty. In some organizations, software development
might tend to be like this – in these environments software process
management might be more important than software project management
On the other hand some exploratory activities are very uncertain. Some
research projects can be like this – we may not be sure what the outcome will
be, but we hope that we will learn some things of importance. It may be very
difficult to come up with precise plans, although we would probably have
some idea of a general approach.
Projects seem to come somewhere between these two extremes. There are
usually well-defined hoped-for outcomes but there are risks and
uncertainties about achieving those outcomes.
Distinguishable characteristics of a project
Non-routine tasks are involved
Planning is required
Specific objectives are to be met
The project has a predetermined time span
Work is carried out for someone other than yourself
Work involves several specialism
People are formed into temporary work group
Work is carried out in several phases
Resources available are constrained
The project is large and complex.
Software projects Versus other types of project
İnvisibility
Complexity
Confirmity
Flexibility
Invisibility
Software remains invisible, until its development is complete and it is
operational. Anything that is invisible is difficult to manage and control.
Consider a house building project. The manager can closely monitor the
progress of the project, and take remedial actions if he finds that the progress
is not as per plan.
In contrast, it becomes very difficult for the manager of a software project to
assess the progress of the project due to the invisibility of software. The best
that he can do perhaps is to monitor the milestones that have been completed
by the development team and the documents that have been produced ---
which at best are rough indicators of the progress achieved.
Invisibility of software makes it difficult to assess the progress of a project
and is a major cause for the complexity of managing a software project.
Complexity
Even moderate sized software has millions of parts (functions) that interact
with each other in many ways: data coupling, serial and concurrent runs,
state transitions, control dependency, file sharing, etc.
Due to the inherent complexity of the functioning of a software product in
terms of the basic parts making up the software, many types of risks are
associated with its development. This makes managing these projects much
more difficult than that for many other kinds of projects.
Per dollar, pound or euro spent, software products contain more complexity
than other engineered artifacts.
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 individual 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.
Contract Management
It is the management of contracts made with customers, vendors, partners, or
employees. Contract management includes negotiating the terms and conditions in
contracts and ensuring compliance with the terms and conditions, as well as
documenting and agreeing on any changes that may arise during its
implementation or execution. It can be summarized as the process of systematically
and efficiently managing contract creation, execution, and analysis for the purpose
of maximizing financial and operational performance and minimizing risk.
Planning If the feasibility study produces results which indicate that the
prospective project appears viable, and then 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.
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.
Code and test This could refer to writing code in a procedural language such
as C# or Java, or could refer to the use of an application-builder such as
Microsoft Access. Initial testing to debug individual software components
lOMoARcPSD|21669848
In the information systems, the system interfaces with the organization and
in the embedded systems, the system interfaces with the machine
With objective-based projects, a general objective or problem is defined, and
there are several different ways in which that objective could be reached. The
project team have freedom to select what appears to be the most appropriate
approach.
With product-based projects, the product is already very strictly de-
fined and the development team’s job is to implement the specification
with which they have been presented. Arguably, information systems
projects are more likely to be objective-based than is the case with soft-
ware engineering.
In many cases, an objective-based project could consider a problem and
recommend a solution that is then implemented by a product-based
project.
A software product development project concerns developing the software
by keeping the requirements of the general customers in mind and the devel-
oped software is usually sold off-the-shelf to a large number of customers. A
software product development project can further be classified depending on
whether it concerns developing a generic product or a domain specific prod-
uct. A generic software product is sold to a broad spectrum of customers and
is said to have a horizontal market.
Software services on the other hand, cover a large amount of software pro-
jects such as customization, outsourcing, maintenance, testing, and consul-
tancy.
At present, there is a rapid growth in the number of software services
projects that are being undertaken world-wide and software services
are poised to become the dominant type of software projects. One of
the reasons behind this situation is the steep growth in the available
code base. Over the past few decades, a large number of programs have
already been developed. Available programs can therefore be modified
to quickly fulfill the specific requirements of any customer.
At present, there is hardly any software project in which the program
code is written from scratch, and software is being mostly developed
by customizing some existing software.
For example, to develop software to automate the payroll generation
activities of an educational institute, the vendor may customize existing
software that might have been developed earlier for a different client
educational institute. Due to heavy reuse of code, it has now become
possible to develop even large software systems in rather short periods
of time. Therefore, typical project durations are at present only a couple
of months and multi-year projects have become very rare.
Stake Holders
Stakeholder is a person or group of people who can affect or be affected by a
given project. Stakeholders can be individuals working on a project, groups of
people or organizations, or even segments of a population. A stakeholder may be
actively involved in a project’s work, affected by the project’s outcome, or in a
position to affect the project’s success. Stakeholders can be an internal part of a
project’s organization, or external, such as customers, creditors, unions, or
members of a community. Each stakeholder will have their own goals and
concerns in relation to the project which may be different from those of the project
as a whole. For example, a software developer might work to make a living, pay
the mortgage, learn new things, solve interesting problems. The main stakeholders
need, however, to understand and accept overall project objectives that everyone
can agree to.
They could be:
Within the project team
They are under the direct control of the project leader.
Outside the project team, but within the same organization
The persons involved in providing assistance from other sources to
carry out the systems testing and functionality.
Outside both the project team and the organization
Customers, investors who will benefit from the system or the sub-
contractors who will carry out work for the project
Example
A public library is considering the implementation of a computer-based system
to help administer book loans at libraries. Identify the stakeholders in such a
project Stakeholders
These could include:
The local authority who own and pay for the library
The political leadership
Finance, human resources and other support services
Library staff at various levels
Technical support staff
Software and hardware suppliers
Library users
Note (a) the stakeholders will vary depending on the implementation approach
adopted for the project
(b) Library users could be sub-divided into different customer segments, e.g.
school children, senior citizens and so on
(c) Some stakeholders will be more distant than others: for examples it could be
argued that authors might be stakeholders in the loans system as the record of
loans of their books could affect their income. However, this would not necessi-
tate having an author as an adviser on the project.
Setting Objectives
Different people who are involved in a project (Stakeholders) will have
different interests in the project and are likely to see different outcomes as being
important. For example, end-users would want a system that is ‘user-friendly’, that
is, easy to learn and to use, and a system that helps rather than hinders them from
doing their jobs. Their managers may be more interested in whether the new
system would allow them to reduce staffing levels. It is important therefore that a
set of clearly defined objectives are identified and published for the project.
Some individual or group needs to be pinpointed who acts as the main client
for the project. The project details should be clearly defined that are accepted by all
the employees of an organization.
The project authority must be identified where there is more than one group
. This authority is held by a project steering committee that has the overall
responsibility for setting, monitoring and modifying the objectives. The project
manager still has responsibility for running the project on a day to day basis, but
has to report to the steering committee at regular intervals. Only the steering
committee can authorize changes to the project objectives and resources. Could be
one person - or a group. Overall authority over the project is often termed as
project steering committee or project management board. The project manager runs
the project on a day-to-day basis, but regularly reports to the steering committee.
Roles:
i) Setting, monitoring and modifying objectives.
ii) The project manager runs the project on a day-to-day basis, but regularly
reports to the steering committee.
Answering the question ‘What do we have to do to have a success?’.
Informally, the objective of a project can be defined by completing the statement:
The project will be regarded as a success if………………………………..
Rather like post-conditions for the project
Focus on what will be put in place, rather than how activities will be carried
out
The focus here needs to be on what the situation will be when the project is
completed. In what ways will the world be different? The objectives should
avoid describing activities:
e.g. ‘a new payroll application will be operational by 4 th April’ not ‘design
and code a new payroll application’
Goals/Sub-Objectives
In order to keep things manageable, objectives might need to be broken down
into sub-objectives. Here we say that in order to achieve A we must achieve
B, C and D first. These sub-objectives are also known as goals, steps
on the way to achieving an objective, just as goals scored in a football match
are steps towards the objective of winning the match. This committee is likely
to contain user, development and management representatives.
The measure can, in some cases, be an answer to simple yes/no question,
'Did we install the new software by 1 st June?' for example.
These are steps along the way to achieving the objective
Informally, these can be defined by completing the sentence
To reach objective X, the following must be in place
A……………
B……………
C…………… etc
Often a goal can be allocated to an individual. Individual may have the capa-
bility of achieving goal, but not the objective on their own e.g.
Objective – user satisfaction with software product
Analyst goal – accurate requirements
Developer goal – software that is reliable
Scoring a goal in football is a ‘goal’ or sub-objective on the way to achieving
the overall objective of winning the match. Sub-objectives and objectives can
be nested in a hierarchy, so that the objective of winning the match could it-
self be a goal or sub-objective on the way to winning the league etc.
Goals can be formulated in such a way that they represent what an individ-
ual or group need to do to contribute to the success of the project’s objectives.
In the example above, the analyst or developer, by themselves, cannot guar-
antee user satisfaction. However, the analyst can contribute to the achieve-
ment of the objective by making sure the users’ requirements are accurately
recorded and the developer by making sure that the software is reliable.
Measures of Effectiveness
Effective objectives are concrete and well defined. Vague aspirations such as
'to improve customer relations' are unsatisfactory. Objectives should be such that it
is obvious to all whether the project has been successful or not. Ideally there should
be measures of effectiveness, which tell us how successful the project has been.
For example, 'to reduce customer complaints by 50%' would be more
satisfactory as an objective than 'to improve customer relations'. How do we know
that the goal or objective has been achieved? By a practical test, that can be
objectively assessed.
e.g. for user satisfaction with software product:
Repeat business – they buy further products from us
Number of complaints – if low etc etc
Project Success/Failure
Degree to which objectives are met
Scope
Time Cost
In general if, for example, project is running out of time, this can be recovered for
by reducing scope or increasing costs. Similarly costs and scope can be protected
by adjusting other corners of the ‘project triangle’.
Management
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.It 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;
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
Identified the following commonly experienced problems:
Poor estimates and plans;
Lack of quality standards and measures;
Lack of guidance about making organizational decisions;
Lack of techniques to make progress visible;
Poor role definition – which does what?
Incorrect success criteria.
The above list looks at the project from the manager’s point of view. What about
the staff who make up the members of the project team? Below is a list of the
problems identified by a number of Computing and Information Systems degree
students who had just completed a year’s industrial placement:
Inadequate specification of work
Management ignorance of ICT
Lack of knowledge of application area
Lack of standards
Lack of up-to-date documentation; preceding activities not completed on
time – including late delivery of equipment
Lack of communication between users and technicians
Lack of communication leading to duplication of work
Lack of commitment – especially when a project is tied to one person who
then moves;
Narrow scope of technical expertise
Changing statutory requirements
Changing software environment
Deadline pressure
Lack of quality control
Remote management and Lack of training.
Management Control
Management Control System is defined a ‘set of policies and procedures designed
to keep operations going according to plan”.
During the software development life cycle, the software developers carry out
several types of development processes. On the other hand, during the software
project management life cycle, the software project manager carries out several
project management processes.
W5HH Principle
A series of questions that lead to a definition of key project characteristics:
Why is the software being built?
What will be done?
When will it be done?
Who is responsible for a function?
Where are they organizationally located?
How will the job be done technically and managerially?
How much of each resource is needed?
Project Planning
Various plans are made:
Project plan: Assign project resources and time frames to the tasks.
Resource plan: List the resources, manpower and equipment that re-
quired to execute the project.
Financial plan: plan for manpower, equipment and other costs.
Quality plan: Plan of quality targets and control.
Risk plan: Identification of the potential risks, their prioritization and a
plan for the actions that would be taken to contain the different risks.
Project Execution
Tasks are executed as per the project plan
Monitoring and control processes are executed to ensure that the tasks are
executed as per plan
Corrective actions are initiated whenever any deviations from the plan are
noticed.
Project Closure
Involves completing the release of all the required deliverables to the
customer along with the necessary documentation.
Subsequently, all the project resources are released and supply
agreements with the vendors are terminated and all the pending
payments are completed.
Finally, a post-implementation review is undertaken to analyze the project
performance and to list the lessons learnt for use in future projects.