SE Unit-2

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

5.1.

SOFTWARE PROJECT
isanattempt undertaken
Aproject
with to create, with
imited
resources
respectto
time, staff and
budget. A project starts whena need is 1dentified,
estimated effort can justified and
the
equired resources are ailable. the
some
Projects may
days or weeks to several
lastfrom years or
even decades.

Following are the six types of projects:


1. Construction projects:
The project
produces an artefact. The artefact may
be a complex system with human and
mechanical components e.g., IT system,
customercall centre.
2. Research projects: The proiect
produces
knowledge.
3. Re-engineering projects: The project
producesa desired change in somesystem
or process.
4. Procurement projects: The project
produces a business relationship
Contractually based with a selected
supplier for a defined product or service
based on a fixed specification and/or a
defined specification process.
. Business implementation projects:
The project produces an operationally
etfective process. The value generated by
the project is embedded in the process.
6. Hybrid project: Some projects are
difficult to classify under above five types.
We said this type of project hybrid.
135
MANAGEMENT
S2. WHAT IS the following
activities:
involves
Basically. the management

what is to be done
Planning: deciding
Organizing: making arrangements
selecting the right
people for thejob
Staffing:
Directing: giving instructions
on progress
Monitoring: checking
to remedy hold-ups
Controlling: taking action
with new solutions
Innovating: coming up
users, etc.
Representing: liaising with

MANAGEMENT?
5.3. WHAT IS PROJECT
Project Management is the art of maximizing the probability that a project delivers its
The art of planning for the futurogoal
L
on Time, to Budget and at the required Quality. has
always been a human trait. In essence a project can be captured on paper with a few simpa
nple
elements: a start date, an end data, the tasks that have to be carried out and when the
should be finished, and some idea of the resources (people, machines etc) that will be neede
hey
eded
during the course of the project.
Project managementis the application ofknowledge, skills tools, and techniques
to project activitiesto meet project requirements. Project managementis accomplished throueh
the use of the processes such as initiating, planning,executing, controlling, and closing.Itis
important to note that many of the processes within project management are iterativein
nature. This is in part due to the existence of and the nece8Sity for progressive elaboration in
a project throughout the project life cycle:; i.e., the more you know about your project, the
better you are able to manage it.
Project management is alsodefined as a strategic competency that has successfully been
applied in such high profile projectsas the construction ofsilk root, organizing and managing.
the Olympics Games, and the construction of Islamabad-Lahore motorway, just to name a

few. lfproject management play a major role in these success stories, just imagine what
can
it might be able to do for your own organization.
The term project management is sometimes used to describe an organizational approach
to the management of
ongoing operations. This approach, more properly called managemen
by projects, treats many aspects of ongoing operations as projects to apply project management
techniques to them.
Almost any human activity that involves carrying out a non-repetitive task can
be a project.

5.4. SOFTWARE PROJECT MANAGEMENT


Effective software project management is crucial to the
success of any software project.
Tn
main goal of software project managementis to enable a group of softwareengineers to wors
efficiently towards successful completion of the project, Project management is a series
activities embodied in a process of getting things done on a project by work with members o
theproject tea and with other people in order to reach the projectschedule, cost and technical
erformance objectives.
pert

project management is the process of planning organising, staffing, monitoring,


Software project r

ntrolling and leading a software project.

5.5. ACTIVITIES IN PROJECT MANAGEMENT


hefollowing are the major activities in project management:
Proposal Writing
Project Planning
Project Scheduling
Project Tracking
.Personnel Selection and Evaluation

Project Report Writing


Proposal writing8a skillthat is acauired byexperience.It is acritical task as the
istence of many softwareorganisations depends on havingenoughproposalsaccepted and
xis
Contracts awarded. There can be noset guidlines for this task
Project planningis concerned with identifying the activities, milestones and deliverables
nroduced by a project. A plan must be drawn up to guide the development towards the
pro
project goals.
Project scheduling is one of the most difficult tasks of project management. Itinvolves
Separatingthetotalworkinvolved in a projectinto separatetasksand assessing when these
tasks will be completed. Usually, some of these tasks are carried out inthat
parallel, Project
the workforce
schedulersmustcoordinate these parallel tasks and organize the work so
is used optimally.
Project tracking is a continuing project activitiy. This activity is also known as Project
actual
Monitoring. The managers must keep track of the progress of the project and compare
mechanisms for monitoring
andpianned progress andcosts, Most organisations employformal informal discussion
whereas a skilld manager can often monitor the project activities by
with project staff.
Personnel selection and evaluation is a very challenging task. Project managers
skilled
usualy have to select people to work on their project. Ideally in moststaff with appropriate
cases, managers have
experience will be available to work on the project. However,
tosettle fora less than ideal project team.
he project manager is usually responsible-for-projeet reportwriting to both theclient
documents that
must write concise, coherent
ontractor organisations. Project managers
aDstract critical information from detailed project reports.
must have a manager who leads the development
team and is the
Every software project
management. T'he project manager
erTace with the initiators, suppliers and senior
(SPMP)
produces the software project management plan
Vdefines the organisational roles and allocates staff to them
staff of their part in the plan
Controls the project by informing
monitors the project by measuring progress
138 Software Engineering
and by motivating statf to pert
leads the project by making the major decisions orm
well
senior managers
reports progress to initiate and

ROLES AND RESPONSIBILITIES


SKILLS AND
5.6. THE PROJECT MANAGER's

s.6.1. Skills of a Project Manager


teams involve
more and more non-technical
staff a
(a) Managerial Skills: roject technical skillls. In this n e w era, to
important as
behavioural skills become equally
an
understanding of general manage
effective project anager, may require having managers to
spend more
of their t
technical expert. So project need
rather than being
a
rather than providing technical direct
planning, organizing, directing and controlling progress
multiple roles, nr:
ction
and to assume

In order to functions of management


perform the management.
roje
both the science and the art of project
managers must be skilled in
to successful m a n a g e m e n t .
skills that are essential
There a r e five managerial
Technical skills
Problem solving skills
i) Communicating skills
ios Negotiating skills
Conceptual skills
level needed for technia
(i) Technical skills: There are two schools of thought about the
technical knowledge about the proie
project managers
skills. Some prefer to have little
technical management to otherJunior managers, sui
they manage, preferring to leave the have detailed technical skills
Others
programming managers or network
managers.
as
networkks.
computer languages, software, and
There is no hard and fast rule. It really depends
on the type and size of projects, the
environment.
structure, resources available, and the project
Questions that project managers should ask include the following:
1. What types of technical problems require management?
2. Who will solve them?
3. Is it done with quality and satisfaction?
4. Who can I rely on in my project team?
5. What outside resources, if any, can I draw on for assistance?
As with all employees, project managers should have the technical knowledge and skils
neededto do their jobs. If managers lack these skills, training is one option; being mentore
or coached by a more
experienced individual is another.
One thing is abundantly clear the
project manager is ultimately responsible for the
entu
management of the project, technical or otherwise, and will
issues that will occur. require solutions to the technic
(ii) Problem solving skills: Problem
solving requires good definition of the proDiem
thatis detected early enough ta allow time to respond. This
justneedsa little "detective" work up-front! You will want to is a skill that can be learneu..
first identify the possible "caus
OSoftware Project
Management O
139
the
aroblem "symptom. Now, causes can come from
l e a d
to a
variety of sources, some
t h a t

Interpersonal problem
mse

I n t e r n a ls o u r c e s

External sources

Technical sources

Management sources

Communication

Opinions or perceptions

a n ds o o n .

lem solvingskills make use of different techniques and by using these


Problenockle problems which might otherwise seem huge,
Prob
techniques
and
Techniques such as breaking problems down into manageable parts, identifying
overwhelming excessively
complex. Te
ompeof problems, analyzing strengths, weakness, opportunities and threats must be
ofproblems
causes,

not
problems. solve
mastered in order to
Coping
Co
skills: A good project manager has to acquire a number of skills to cope
(i) -

differentsituations,
hdifferent
th sit conflicts,uncertainty,and doubt, This means
Being flexible
.Reing persistent and firm when necessary

Being creative, even when the project does not call for it
Absorbing large volumes of data from multiple sources
Being patient but able to differentiate between patience and action
Being able to handle large amounts of continuous often unrelenting
stress.
and
Additionally, good project managers have high tolerance for surprises, uncertainty, to
and managers need
ambiguity. Projects rarely progress the way that they are defined,
uncertainty that comes with that.
manage the
and integrate all
(p) Conceptual skills: Conceptual skills is the ability to coordinate
see the project as a whole
and not
proejcts efforts, it requires for the project manager to and how a
to understand how all the parts make a whole
u m of its parts, ability The bigger and more complex
.eOn one part of the project will affect the entire project.
of skil1. This skill helps the project
manager
roect, the larger is the need for this type and
vision ultimate goal of the project and understand its relationships
dClear of the
ependencies with the project's environment.
their attitudes
(6) terpersonal skills: Interpersonal skills require understanding people,
nd human ynamics. They represent the ability ofa project manager to work effectively as
a project teaaml and all other
effort with the project members
groupSw eader and to build cooperative are most
critical for effective performance
interacts. They
Ina project c
aproier h the project team
environ skills include: communication,
team building,
interpersonal
leadership,
eadershiVironment. Major
Botiatinucning motivating,
decision making, delgating, training, directing influncing,
ting, and porting those involved in the project.
0
he hendinterpersonal members of the project
abilities build trust and
confidence between

plp create good relations and good working environment.


OSoftware Engineering
140
The important interpersonal abilities required to handle projects are len.
communication behaviour and negotiation.
Leadership skills: Leadership skills are essential for project managers becauset
adersh
must influence the behaviour of others. Project managers require leadership skills f
simple reason that they accomplish their work through people who have faces and
manage,
for
nd name,
Leadership is the predominant contributor to the success of the project manae
skill gives the project manager the ability to articualte a clear vision and provide ger. Th
diree
Communication skills: Good communication skills include verbal and non
communications that enables a project manager to convey project information in a s
rection
it is received and understood by all project stakeholders. way tha
Behavioral skills: Behavioral skills are the skills that give the project manago.
ability to work with people, and the ability to otivate people involved in the project. r th
skills involve skills communication, team building, leadership, influencing, underst "
perceptions and attitudes, which help improve the morale of individuals rstandin
and groups.
5.6.2 Roles of a Project Manager
The project manager is the ultimate person accountable for the
project. He/She is tho..
whose job is to make sure the project gets done and is the
principle contact person for th
donor, beneficiaries and the key stakeholders. The project manager has the
tocommit the organization on matters regarding performance that are with delegated author
in the scone
the project and the contract with the donor. These are four
critical roles of the project
1. Integrator manage
2. Communicator
3. Leader
4. Facilitator

Integrator
A key
responsibility of the project manager is to ensure the
project management processes and c0ordinate the proper integration of the
process
management cycle, to ensures that all areas of the project phases through the project
toasucessful conclusion. This 1sthe main come together to deliver the project
role of the project manager; it is not related to the
technical responsibilities of the project, which in most
staff. The role of cases are
integrator involves three specific areas of managed by the project
Developing the project management plans, responsibility:
which involves the
project planning documents into a
consistent coherent project plandevelopment of all
document.
Implementing the project plan, which involves the execution
ensuring all activities are of the
performed by all the people involved. project plan and
Monitor
and contral the plan, which involves
the intended
objectives and coordinating all measuring the initial results
agains
Communicator changes to the
plans.
Project managers in the role of
from project staff and other peoplecommunicators take three functions: to gather
stakeholders, which includes the donor,involvedwith the project; distribute the informatio
beneficiaries and the information
organizations fucntional manager
Software Project
and the las function 1s to
transmit the
Management o 141
generalp u b l i to gain support to the informalton to the external environmenL the
project. S
Leader

focus on this role is to ensure


the
project team and the proiect
n of the objectives the
clear visic
project aims stakeholders have a
al that the team starts shifting its to achieve. During the destroy
not unus
of the project is
ership role is :needed and the attention from the final
the project manager needs objective; here is where
thetean the ultimate goal to
communicateand motivate
Facilitator

a nroject manager also contributes by


the different groups so that they areproviding
able to
the framework to facilitate
the interactions
among
support the oject team and the function effectively. The goal of this role
is to beneficiaries so that they can achieve exceptional
performance.
.o nroject manager encourages full
t participation from the project team promotes mutual
underst anding with
the beneficiaries and
cultivates shared responsibility
stakeholders. among all project

facilitator role is mostly used when dealing with beneficiaries, since the
The
ans not have any form of authority over this project manager
group he must provide a safe environment
where beneficiaries feel comfortable
contributing ideas and
provide input the
discover the solutions that can help achieve the projects objectives.
to project and

5.6.3. Responsibilities of the Project Manager


Responsibility is an agreement between two or more people for the intention of achieving
a desired result. An organization appoints a person as the project manager with responsibility
to undertake the project but even as the organization has transferred the responsibility for
the project, the organization still retains full responsibility for the final result.
When a project manager is given the power to complete the assigned, he/she has the
authority over the project. It includes the appropriate access to resources to complete the
job, such as access to personnel or signature authority for the expenditure of funds. Authority
must be equal with the responsibility assigned and appropriate to the accountability.
The project manager is responsible for three areas of the project: responsibility to the
to the beneficiaries for deliverin
donor to provide timely and accurate information; responsibility for and
managing the project
the project outcomes; and responsibility to the organization
follow policies and uphold its values.
In general terms the project manager responsibilities in the project are planning,
organizing, directing and controlling the pr
involves defining what the project will accomplish
lanning: Planning responsibility and monitored and who will do it. The
Wnen it will be completed, how it will be implementedplans and defining the goals, objectives,
the project
project manager is responsible for creating
activitigs and resources needed. is to establish a structure that
The responsibility of the project manager
Organizing: manager must have
efficiency and effectiveness of the project. The project
maximize the
that will fit the needs, constraints
determine the type of project organization
aD1lity to
nd environment of the project.
142 O Software Engin ering
DKrecting: Once the plans are
made and the
project staffed, the organization has been determined
responsibility of the project manager a.

members of the is to direct, lead and


project to pertorm lh a unitied, motiva
By directing, the project manager consistent and manner. vate
assumes the
follow his/her vision
ot the
projectt and all responsibility that the project
iect tean
team w
instructions, mandates and work orders.
.

Controlling: Controlling is a
responsibility to ensure the actions of the
contribute toward the project goals, the project project *.
performance,
variations from
measure
the standards and make the
manager must establish
performance and compare it with the established standard
standards
ean
that the necessary corrections. This
project is on track. responsibility ens uTes
5.7. DIFFICULTIES IN SOFTWARE PROJECT
The
MANAGEMENT
following are the major difficulties in software
project management:
Software systems' uniqueness
Sottware systems are developed only once.
Data is too scarce to allow for reliable cost estimates.
Cost estimates are usually based on the scope of the software system to be
a s estimated
develoned
by a n experienced software engineer.
Generally this provides an unreliable basis for calculations.
Possiblity of multiple solutions
There are practically an unlimited number of possibilities for solving a given problem
m.
The development of software products is not subject to the strict constraints that
apply for other technical products.
For software products, the limits stem from complexity and thus are difficult to determine
in advance.

Jhdividuality of programmers
Software Engineers are individualists with large difference in capability; this makes
it particularly difficult to estimated personnel costs.
In addition, individualists usually resist being forced into an organizational corset

speed of technological advancements


The speed of technological development in hardware and software hinders both planning
and organization of software projects.
Sometimes during the development of a large software system, new, more powerful
of the system obsolete
components appear on the market that render the conception
alter its design and force redesign. This can completely overturn existing planning.
software tools whose benefits are difficult to assess
The project might also employ new

in advance.

mvisibility of software products


T h e invisibility ofsoftware products impedes their control.
how much of software product is actually finished, and the
It is difficult to assess a
programmer has many possibilities for disguising the actual state of development.
Control tasks are more difficult to carry out than with other technical projects.
5.9. SOFTWARE PROJECT MANAGEMENT PLAN (SPMP)
After software project planning is complete, the software project managers document +L
softwareproiectplanningresttsintheformofadeetmentcaiio SaftmarePoject-Hanagem.the
Plan (SPMP) Document. Here, the SPMP Document structure provided by IEEE is outlins
below followed by a brief discussion. ned

TEEE Software Project Management Plan (SPMP)


The SPMP framework IEEE 1058.1 provided by IEEE (1987) is outlined below.
1,Antroduction
1.1 Project overview
1.2 Project deliverables
1.3 Evolution of the Software Project
Management Plan
1,4 Reference materials
A.5 Definitions and Acronyms
2/Project organisation
2.1 Process model
2.2 Organisational structure
O Software Project
Management O 145
2.3
ganisational boundaries and interfaces
24Project responsibilities
Managerial process

1 Management objectives and priorities


3.2 dependencies and constraints
Assumptionse

3.3 Risk Management


8.4 Monitoring and controlling mechanisms
3.5 Staffing plan
4Technical process

4.1 Methods, tools and techniques


4.2 Software documentation
4.3 Project support functions
5. Work packages, schedule and budget
5.1 Work packages
5.2 Dependencies
5.3 Resource requirements
5.4 Budget and resource allocation
5.5 Schedule
6. Additional Components
. Index
8. Appendices

All the elements outlined in IEEE SPMP Document framework above the briefly described
below:

1. Introduction
The five subsections of this section of the SPMP provide an overview of the project and of
the product to be developed.
1.1 Project overview: A brief description is given of the project objectives, the product to
De delivered, the activities, and their resulting work products. In addition, the milestones,
are listed, as are the required resources, the master schedule and master budget.
L2 Project deliverable8: All the items to be delivered to the client are listed here, together
with the delivery dates.
be cast in concrete.
.Eboution of the Software Project Management Plan: No planin the light
can

ne SPMP, like any other plan, requires continual updating of experience


ana of change within both the client organisation and the software development
the formal procedures and mechanisms for changing the
organisation. In this section
plan are described.
in the SPMP are listed here.
erence materials: All documents referenced
will be understood
This information e n s u r e s that the SPMP
i o n s and Acronyms:
The same
way by everyone.
. Project Organisation
is to be
The four subsect section specify how the product
ections of the project organisation
5.12, OFTWARE PROJECT TEAM MANAGEMENT
oftware
project team management involves the
1 Team building
following activities;
2/Team coordination

aerformance monitoring and assessing


4Code quality assessment

Team Building

The best structure for a team


depends on its size and the kind of
eam members are chosen according to their technical and project.
personal skills.
Project goals must be communicated clearly to all members.
Task coordination

Aarge teams are difficult to coordiante because the amount.of communicationbetween.


members increases exponentially with size.
The nature of the project, working environment and human factors must be taken
into account.
Usually some kind of structure is adopted in task coordination.

Performance Monitoring and Assessing


I n theory, the productivity of each team member should be measured in terms of the
functionality they deliver.
In practice, this is very difficult.
Some organisation measure a persons productivity in terms of the number of cod
lines they generate per month. This is a very bad way to measure performance.

Code Quality Assessment


Ensuring code quality is assessd properly.
Individual developers are people to assess the quality of their own code.
not best
asessment
Someone who works independently can usually make a more objective
ORGANIZATION
5.13. SOFTWARE PR0JECT TEAM
important ways áre fol.
There
(a)
are many ways to
Hierarchical team
organize the project
organization
team. Some as
fol ows,
(b) Chief-programmer team organization
(c) Matix team organization
(d) Egoless team organization
(e) Democratic team organization

(a) Hierarchical team organization


In hierarchical team organization, the people are organization at different levels foll.
a tree structure. People at bottom level generally possess most detailed knowledge ah
system. People at higher levels have broader appreciation of whole project.
ut the

Team leader

Senior programers

Junior programers

Fig.5.5.
Benefits of Hierarchical Team Organization
Hierarchical structure limits the number of communication paths and still allows t
the needed communication.

Hierarchy can be expanded over multiple levels.


Hierarchical structure is particularly well suited to the development of hierarchical
software products.
-

The structure of software products tends to resemble the structure of the teams
that develop them.
Large software projects may have several (technical) levels.
Limitations of Hierarchical Team
Organization
Information can become distorted as it travels
up the levels, especially if their immedia"
manager is assessing a team-members performance. Distortions are less likely if someom"
not directly involved in
assessing people's performance collects data.
Their level in the hierarchy often
judges people socially and financially.
Most technical competent programmers tend to be promoted into management posiuions
which often results in an
amplified negative
effect:
1. A good programmer is lost.
2. A bad manager is created because not all good programmers are good softwa
engineers.
grammer team organization 15
6 )Chief-progran

chThistean
organization
organiza is comprised of a
small team
.The
chiet programmer
consisting the following team members
.The
project a s s i s t a n t

project secretary (or Librarian)


The
dnecialists (language specialists. programmers, test specialists),

Chief
Programmer

Backup
Programmer
Project (Librarian)
Secretary

Specialist's Pool
Project Administrator
Tester
Programmer etc
Fig.5.6. Team Organization
Team Organization are diseussed

Responsibilities and qualifications of


the Chief Programmer
and design
below involved in the planning, specification
is actively
The chief progammer process as wel.
in the implementation
process and ideally decides all important questions
controls project progress,
-
The chief p r o g r a m m e r
overall responsibility. high.
and need to be accordingly
assumes

of the chief
programmer
-
The qualifications
technical co-worker of the chief programmer.
assistant is the
closest activities
The project in all important
chief programmer

assistant supports the in the latter's absence.


The project representative
of the chief
-

programmer's those
serves as the chief high as
and
qualifications
need to be as
member's
This team of
programmers
other
programmer. and all
programmer
relieves the chief
secretary in
e proJect
nadministrative tasks. and documents and
assists
administrates
all programs

secretary library.
project
project progress checks.
the
administration of the project
components,
secretary is individual system
The main task of the project implement
language,
implementation
select the out tests.
pecialists and carry needed.

and employ software tools, number of specialists


Choose the
determines
programmer
The chief consist the
following:

- A specialist's pool may

1. Project administrator

2. Tool smith
3. Documentation editor
4. Tester
5. Support programmers
6. Language/System expert

Advantages
Centralized decision making
Reduced communication paths approximately twice
as productive
as nOn.
as.

Xperiments suggest that CP teams are

CP teams.
in system developemnt and can ha
he chief programmer is directly involved
better
exercise the control function.
institutionalised.
eporting concerning project progress is
Small teams are genrally more productive than large teams

Disadvantages
Causes psychological problems as CP is the king takes all the credit, members ar.
are
resentful.
Effectiveness of team is very sensitive to CP's technical and managerial abilities
Project survival is dependent on one individual.
This team organization is limited to small teams. And a smal team
cannot handle
every project.
Personnel requirements can hardly be met. Few
software engineers can meet the
qualifications of a chief programmer or a project assistant.
The project secretary has an extremely difficult and
primarily of routine tasks, which gives it a responsible job, although it consists
psychological disadvantages. subordinate position. This has significant
Due to the central
easily become a bottleneck. position, the project secretary can

You might also like