You are on page 1of 43

Software Project Management

1
Chapter One
Introduction to Software
Project Management

2
Introduction

Contents
 Project
 Attributes of Project

 Project dimensions

 Management

 Project management

 Software project

 What is Software

 Software Project management

 why need software project management

 Software Management activities

 Project Manager
3
Cont’d

4
What is a Project?

A project is a set of related tasks that are coordinated to achieve a specific


objective in a given time limit.
A project is a temporary endeavor undertaken to create a unique product,
service, or result
You can summaries the key characteristic that distinguishes the project as
follows.
Achieve a specific objective
Normally unique and “novel”
A planned activity and Planning is required
Work to be carried out in several phases
Time & Resource limit
Often other constraints too
Limited resource , Coordinated and Temporary endeavor
5
Conti..

Software project management is interesting and challenging


because:
The product is intangible
The product is uniquely flexible (e.g. different sizes; different
constraints)
Many software projects are 'one-off'
The development process is uniquely flexible
Size and complexity are increasing exponentially
Human lives might depend on software running as expected
(consider the control system of an airplane)- safety critical
systems

6
Characteristics of a Project
 Temporary
– Definitive begin and end (either because the goals are met or the
project is closed - goals cannot or will not be met)
– Projects’ results are not necessarily temporary
 Unique products, service, or result

– A product which is quantifiable (e.g. a component, …)


– A capability to perform a service, such a business function
– A result, such as knowledge (collected in documents,
presentation, …)
 Progressive elaboration

– Development by steps and in increments (necessary to keep a


project under scope)
 Resource constrained (like everything else in life)
7
Project Attributes/parameters

• A Project, by definition, is a group of activities that need to

be carried out in order to accomplish a set of objectives in an

agreed-upon time with available resources. A project has a

start and an end and goes through various phases before its

completion. A project has three major attributes - Scope,

Resource & Schedule - which needs constant monitoring?

8
Conti..

1. Scope Scope is the soul of any project. The scope of a

project may b as complex as “Sending a man to the moon and

returning him safely to earth” or something much simpler as in

“Reading the chapter on Project Management fundamentals”. In

general, a complex scope is broken down into more

manageable chunks of activities to facilitate easier

management. 9
Conti..
2. Resource To accomplish any given task, the manager needs
resources such as people, machine(s) and material. Each of
these resources has several attributes, which the manager needs
to understand and keep in mind while planning project activities.
For instance, a resource could be a fixed cost resource, i.e., the
cost would not change with duration of use, while another
resource may be sensitive and emotional and hence may need to
be dealt with its variability! Resources, in general, cost and a
project manager frequently plays with all resources available to
optimize cost. 10
Cont’d

3. Schedule is a vital project management attribute in a

market-driven economy where time to market is critical to

success. Project managers frequently find themselves unable

to compromise on schedule while being able to play better with

the other two parameters.

11
Cont’d

Let see some examples of Projects


Producing an edition of newspaper
Building the channel tunnel
Software senior project.

Project Failures:
A project can be considered as failed when;
» The project finished over budget,
» The project did not finish on time,
» The project did not deliver a system that satisfies the stakeholders
expectations,
» The project did not deliver a system that satisfies its objectives.

12
Cont’d
 Causes of project failures : (A survey)
» Failed communication among parties (45%),
» Lack of planning (30%),
» Poor quality control (25%).
 Causes of project failures : (More Detailed)
 Lack of executive support: Lack of top management
support and organizational commitment
 Lack of user input: Lack of user participation, user resistant
to change, lack of user cooperation, and lack of user
commitment
 Inexperienced project manager: Lack of leadership skills,
project progress not monitored closely, ineffective
communication 13
Conti…

 Inexperienced team members: Inadequately trained team


members, lack of team member commitment to project,
frequent turnover within the team
 Unclear business objectives: Not well-defined project goals
& project success criteria, conflicting system requirements,
continually changing project objectives
 Unreliable estimates: Inadequate estimates of project
schedule, budget & resource, and unclear project milestones
 Ineffective project management: Lack of an effective project
management methodology applied throughout the project

14
Cont’d

 New software infrastructure: Use of new technology that


has not been practiced before, and use of immature and
highly complex technologies
 Unstable organizational environment: Changes in
organizational management during the project, and
restructuring organization during the project
 Unreliable outside suppliers: Dependence on unreliable
suppliers and involvement of many external suppliers
15
Project Dimension:

 People
 Process
 Product
 Technology

Effective SPM practices focus on four factors namely people,


product, process and Technology. All of them need equal
attention in the SPM process.

16
Cont’d
i) People: People connected directly or indirectly are the
dynamic and live factor in project management. The success
of the Software Project largely depends upon how the lead
role players in project management handle people issues,
concerns and their expectations while developing the software
for a given requirement.
Project Management has to deal and interact with different levels of
people within and outside the organization.
People from within the organization are developers, analysts,
designers, technology specialists, HR managers and the senior
management.
People from outside the organization largely belong to the customer
organization, and are known as primary users, secondary users,
stakeholders, project co-coordinators and business managers .
17
Cont’d
• The people factor is so important that the software engineering
institute has developed a people management capability
maturity model known as PM-CMM.
• If this model is implemented, the organization enhances the
readiness of human resources to undertake increasingly
complex software development applications, enabling the
management to attract, grow motive, deploy and retain critical
resources to keep the development competence at a high
level. 18
Cont’d
The people resources falls into five categories namely manager,
technocrat, developer, customer and end user.
i.The manager is responsible for achieving project goal and
business goal.
ii.The Technocrats comprising analyst, designer, architect, and
implementer are responsible for achievement of software goal,
defined in terms of cost, quality, productivity, deliverables and
customer satisfaction.
iii.The developer is responsible for implementing the project as
per SP implementation guidelines agreed upon, and to fulfill all
obligations as a key participant in the SP development. SPM is a
team effort, where every member of a team has role, responsibility
and commitment to the task and an obligation to perform.
19
Cont’d
N.B. It is not only critically important to select good team
members, but also manage the team resource effectively. The
effectiveness comes through configuration of different members
into groups responsible for different development functions, or
components.

The coordination within teams there is possibility to provide a


formal system communication, documentation, reporting and
periodical reviews to ensure the teams not only to perform as per
their plan and to achieve the team goals, but also work in a
cohesive manner and pull their strength in the same direction.
20
Cont’d
iV. The customers are people from outside the organization
largely belong to organization, and are known as primary
users, secondary users, stakeholders, project co-coordinators
and business managers

V. The end users are people from outside the organization


largely belong to organization, has a direct interaction with the
business activities

21
Cont’d
ii) Product: Software: The Product, in the context of software, is
the scope of the software that is proposed to solve the
requirements of the user. The software and its scope are a product
that is defined and described by four factors namely, context,
objective, functions and performance.
A software product may fall into any one of the following
categories:
a) System software
b) Application software
c) Software development tools d) Software solution
e) Software generic product for general requirements
f) Software tools: automation, printing, processing, report writing,
screen generation and so on.
22
Cont’d
iii) Process: There are several process models to select from, as
the need be. Each process model has its strength in a given
development scenario.
The process models are:
a) Linear sequential when the requirement is stable.
b) Prototyping when the requirement is unclear to all.
c) Rapid application development when the requirement can be
split for development purposes and can be delivered in
increments.
Increment choice of the model will affect the budget, quality and
performance. The choice of model also automatically decides the
planning, development and implementation strategies. The
process model is a critical success factor in software devel’t.
23
Cont’d

24
Cont’d

25
Cont’d
iii. Product mistakes
Requirements gold-plating
Feature creep
Developer gold-plating
Push-pull negotiation
Research-oriented development

iv. Technology mistakes:


Silver bullet syndrome
Overestimated savings from tools or methods
Switch tools midstream
Lack of automated source code control
26
What is Management?
Management is the process of coordinating people and other
resources to achieve the goals of the organization. It is the
practice of executing and controlling the projects. Management
involves the following activities:
 Planning-deciding what is to be done.
 Organizing- making arrangement.
 Staffing-selecting the right people for the job.
 Directing-giving instruction.
 Monitoring-checking on progress.
 Controlling-taking action to remedy hold-ups.
 Innovating-coming up with new solutions.
 Representing-liaising with users etc.
27
What is Project Management?

Project management optimizes the software engineering

process. Planning and control are used to optimize the use of

time, money, talent, and resources to create systems of code,

information, engineering documents, and user instructions .

28
What is Software Project
Management
Software Project Management is the collection of techniques
used to develop and deliver various types of software products.
This developing discipline traditionally includes technical issues
such as:
a) The choice of software development methodology.
b) How to estimate project size and schedule.
c) Which programming development environment to use.
This discipline also includes management issues such as:
a) When to train personnel.
b) What are the risks to the project success, and
c) How to keep the project on schedule.
29
Cont’d
These choices are then embodied in a software project
management plan. Software project management address both
the process of software development and the desired functional
characteristics of the final software development and the desired
functional characteristics of the final software product.

A complete software project management plan is the design,


implementation, control and test strategy for a software
development process.

30
What is Software?
Software is the program and all associated documentation and
configuration data which is needed to make these programs
operate correctly.
What does software system comprises of?
A number of separate programs
Configuration files that are used to set up these programs
Systems documentation that describes the structure of the
system and,
User documentation that explains how to use the system and,

31
Cont’d
General requirements for software: Modern software should:
1. Operate on different platforms and with different hardware.
2. Be interoperable with a wide variety of other software.
3. Satisfy the needs of a wide – and non-homogeneous – user
group.
4. Be easily adaptable to specific needs and changing
environments (for example changing legislation and institutional
regulations).
General requirements for software projects are determined by
the general requirements for software.

32
Cont’d
Specifics of software projects – implications from general
requirements Software should:
confirm to the standards,
be user friendly both visually (graphical design) and logically
(correspond to the activity patterns of users),
be easily expandable,
support the main processes of application areas,
adequately react to deliberate (for example attacks) and
inadvertent (for example power failure) disruptions.

33
Type of “Software” Development
Projects

 In your life as a project manager you might be involved


in different types of “software” development projects,
among which:

– Application Development

– Process and Systems Re-Engineering

– System Integration

– Consulting Services

– Installation and Training

34
What makes a project successful?

35
Project Life Cycle

36
Project Stakeholder
A project stakeholder is any individual or an organization that is
actively involved in a project, or whose interest might be affected
(positively or negatively) as a result of project execution or
completion. Types of Stakeholders are :
The project manager
The project team
The project sponsor
The performing organizations
The partners
The client
The “rest”: anyone who might be affected by the project outputs

37
Key Stakeholders

 Internal:
 Project team members: the group performing the work
 Project management team: the members of the team directly involved
in project management
 In between:
 Customer/User: person or organization that will use the results of a
project. There may be multiple layers of users
 Sponsor: person or group providing the financial resources
 Performing Organization: the organization mostly involved in the
project
 External:
 Influencers: people or groups not directly related to the project who
could influence the course of a project

38
Project Manager
A person who;
Has a diverse set of skills (e.g. good general skills,
technical management, conflict man., customer relationship
man. and leadership skills), and
Responsible for:
» initiation,
» planning,
» executing,
» controlling,
» monitoring, and
» closing down a project.

39
Some skills of Project Manager

 Communication and negotiation skills


 A little predisposition to risk
 Goal orientation
 Leadership
 A bit of thinking outside the schemes
 Solid know-how
 Professional correctness
 A lot of common sense
 A bit of style

40
Cont’d
Software Management activities: are tasks done in each
phase of a software process model. The outputs activities will be
milestones and/or deliverables. The outcomes will serve as
check point for controlling and monitoring the project.

41
Cont’d
The project life cycle is repeated in each phases of the software
project phases or steps. This is true for large software projects.
If the project is not large, the project life cycle is done in a single
pass.
Exercise: Describe the difference between:
1. project vs. process
2. project vs. program
3. project vs. operation
4. Software projects vs other projects
5. project vs. program vs. portifolio

42
43

You might also like