0% found this document useful (0 votes)
87 views32 pages

Ch01 Introduction To SPM

This chapter provides an introduction to software project management including: - Defining software, projects, and management - Explaining how software projects differ from other types of projects in their tangibility, complexity, flexibility, and invisibility - Describing the typical activities involved in project management like planning, execution, integration, testing according to the ISO 12207 standard lifecycle - Categorizing different types of projects based on factors like whether they are voluntary or compulsory, information systems vs embedded systems, objective-based vs product-based

Uploaded by

2415DIPAN MANDAL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views32 pages

Ch01 Introduction To SPM

This chapter provides an introduction to software project management including: - Defining software, projects, and management - Explaining how software projects differ from other types of projects in their tangibility, complexity, flexibility, and invisibility - Describing the typical activities involved in project management like planning, execution, integration, testing according to the ISO 12207 standard lifecycle - Categorizing different types of projects based on factors like whether they are voluntary or compulsory, information systems vs embedded systems, objective-based vs product-based

Uploaded by

2415DIPAN MANDAL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Learning Resource

On
Software Project Management

Chapter-1
Introduction to SPM

Prepared By:
Kunal Anand
Assistant Professor, SCE
KIIT, DU, Bhubaneswar-24
•1
Talkflow

This chapter includes the brief discussion on:


• Software, Project and Management
• How are software products different from other
kinds of projects?
• Project Management Principles
• Activities covered under project management
• Why are software projects challenging to manage?
• What is the necessity of software project
management?

1/5/2024 School of Computer Engineering


•2
Software & Project

• Software
– A collection of programs
– Combined in a package
– To perform different applications

• Project
– A temporary activity but with a proper plan
– Performed by people in formally organized group
– To produce a unique product or service by adopting
standard establishment and practices.

1/5/2024 School of Computer Engineering •3


Jobs vs Projects

• Jobs – repetition of very well-defined and well-understood


tasks with very little uncertainty
• Exploration – e.g., finding a cure for cancer: the outcome
is very uncertain
• Projects – in the middle!
1/5/2024 School of Computer Engineering
•4
Characteristics of Projects

A task is more ‘project-like’ if it is:


• Non-routine

• Planned

• Aiming at a specific target

• Carried out for a customer

• Carried out by a temporary workgroup

• Involving several specialisms

• Made up of several different phases

• Constrained by time and resources

• Large and/or complex

1/5/2024 School of Computer Engineering


•5
Management

• According to Harold Koontz, “Management is the art of


getting the work done through people in formally organized
groups.”

• Management is an individual or group of individuals that


accepts the responsibilities to run an organization.

• The salient features of management:


– It is one or group of individuals who plan, organize, direct
and control all the essential activities of the organization.

1/5/2024 School of Computer Engineering •6


Features of Management

• They don’t work alone; rather, they motivate people to do the


work and coordinate all the activities to achieve well-defined
objectives.
• Management is a continuous and never-ending process.
• It is “Result Oriented”.
• It is dynamic in nature.
• Management may be aided but not replaced by computers.
• It follows established principles and rules.

1/5/2024 School of Computer Engineering •7


Why is Project Management important?

• Large amounts of money are spent on ICT e.g., the UK


government in 2003-4 spent £2.3 billion on contracts for ICT
and only £1.4 billion on road building

• Projects often fail – Standish Group claim only a third of ICT


projects are successful. 82% were late, and 43% exceeded their
budget.

• Poor project management is one of the major factors in these


failures ,

1/5/2024 School of Computer Engineering


•8
Are software projects different from other
projects?

• Software projects differ from other type of projects in


following aspects:
• Tangible vs nontangible

• Complexity

• Flexibility

• Invisibility

The above issues make software more problematic to build


than other engineered artifacts.

1/5/2024 School of Computer Engineering


•9
Contract Management vs Technical Project
Management
Projects can be:
• In-house: clients and developers are employed by the same
organization

• Out-sourced: clients and developers employed by different


organizations

• ‘Project Manager’ could be:


– a ‘contract manager’ in the client organization
– a technical project manager in the supplier/services
organization

1/5/2024 School of Computer Engineering


•10
Activities covered by project management

• Feasibility study: The sole purpose is to decide whether the


project is doable.
• Planning: If the feasibility study indicates the proposed work is
viable, then the project planning can start. Here, the essential
aspects like scheduling, budget and resource allocation, staffing,
etc., are planned.
• Execution: Once the above two steps are done, one can start
with the project execution. Usually, the execution contains two
1/5/2024 School of Computer Engineering
sub-phases named design and implementation. •11
The SDLC (ISO 12207)

converting ‘requirements Requirement elicitation


Resource requirement

Software requirement

Fulfilling the requirement

Setting up standing data


Implementing agreed
extensions and improvements

1/5/2024 School of Computer Engineering


•12
ISO 12207 life-cycle
• Requirement analysis
– Requirements elicitation: what does the client need?
– Analysis: converting ‘customer-facing’ requirements into
equivalents that developers can understand
– Requirements will cover
• Functions
• Quality
• Resource constraints i.e., costs

• Requirement specification
– The analysed requirements are documented in a formal
document known as Software Requirement Specification
document.

1/5/2024 School of Computer Engineering


•13
ISO 12207 life-cycle

• Architecture design
– Based on system requirements
– Defines components of system: hardware, software,
organizational
– Software requirements will come out of this

• Code and test


– Of individual components

• Integration
– Putting the individual components together to make the
overall system.

1/5/2024 School of Computer Engineering


•14
ISO 12207 life-cycle

• System testing
– Testing the system (not just the software)

• Installation
– The process of making the system operational
– Includes setting up standing data, setting system
parameters, installing on operational hardware platforms,
user training etc.

• Acceptance support
– Including maintenance and enhancement

1/5/2024 School of Computer Engineering


•15
Plan, Method and Methodology
• A plan for an activity must be based on some idea of a work
method.
• For example, if someone is asked to carry out the testing of a
software product then it may be possible that you won't have
any idea about the software, but you could assume some basic
activities, as mentioned below, you need to perform while
testing.
– Analyze the requirements for the software.
– Devise and write test cases to check whether each
requirement has been okay.
– Create test scripts and expected results for each test case.
– Compare the actual results and expected results and make
the observations.
1/5/2024 School of Computer Engineering •16
contd…
• On the other hand, a method relates to a type of activity in
general, a plan takes that method and converts it to actual
activities, identifying 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.

• Methods or techniques are often grouped into methodologies


such as object-oriented design.

1/5/2024 School of Computer Engineering 17


Some ways of categorizing projects

• Distinguishing different types of projects is essential as


different types of tasks need different project approaches,
e.g.
– Voluntary systems (e.g., computer games) vs
Compulsory systems (e.g., order processing system)
– Information systems (e.g., Stock market system) vs
Embedded systems (e.g., Systems that control
machines)
– Objective-based (e.g., a complete security system) vs
Product-based (e.g. a specific software that will be
used in a security system )
– Product development (e.g., In-house projects) vs
Outsourced (e.g., projects that outside vendors will do)
1/5/2024 School of Computer Engineering
•18
Stakeholders
• These are people who have a stake or interest in the project.

• In general, they could be users/clients or


developers/implementers.

• They could be:


– Within the project team
– Outside the project team, but within the same organization
– Outside both the project team and the organization

• Need to define common project objectives.

1/5/2024 School of Computer Engineering


•19
Setting Objectives

• Objectives focus on the desired outcomes of the project


rather than tasks within it.
• Answering the question ‘What do we have to do to have a
success?’
• Need for a project authority
– Sets the project scope

– Allocates/approves costs

• Could be one person - or a group


– Project Board

– Project Management Board

– Steering committee

1/5/2024 School of Computer Engineering •2


0
Objectives

• Informally, the objective of a project can be defined by


completing the statement:
“The project will be regarded as a success
if……….
…………”

• Objectives are like post-conditions for the project, focus on


what will be put in place, rather than how activities will be
carried out.

1/5/2024 School of Computer Engineering


•21
Goals/sub-objectives

• 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.
• Individuals might have the capability of achieving goals on
their own, but not the overall objective e.g.
• Overall objective – user satisfaction with software product

• Analyst goal – accurate requirements

• Developer goal – reliable software


School of Computer Engineering
1/5/2024
•22
Project success/failure
• Degree to which objectives are met
scope (of deliverables)

time cost

• In general, if, for example, the project is running out of time,


this can be recovered by reducing scope or increasing costs.

• Similarly, costs and scope can be protected by adjusting


other corners of the ‘project triangle’.
1/5/2024 School of Computer Engineering
•23
Reasons for Project Failure

• Reasons that make a project “Failure”:


– Insufficient resources
– Unrealistic timeline
– Unclear specifications
– Change in scope
– Disagreement among the stakeholders
– Bad planning
– Absence of suitable project management mechanism.

1/5/2024 School of Computer Engineering


•24
How a Project gets to success???

• Factors contributing to the success of a project include:


– A comprehensive, realistic plan.
– The plan must be up-to-date.
– Resolving conflicts among stakeholders to gain consensus
over the outcome.
– Reasonable resource requirements and their optimal
utilization.
– Build an efficient team and take good care of them.
– Stakeholders must be informed on a regular basis.
– Willingness to change or try new ideas.
– Be not only a manager but also a leader.

1/5/2024 School of Computer Engineering •25


Measures of Effectiveness

• Measure of effectiveness is a practical method of checking that


an objective has been met.
– 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 products:
– Repeat business – they buy further products from
us
– Number of complaints – if low etc.

1/5/2024 School of Computer Engineering


•26
What is Management?

This involves the following activities:


• Planning – deciding what is to be done
• Organizing – making arrangements
• Staffing – selecting the right people for the job
• Directing – giving instructions
• Monitoring – checking on progress
• Controlling – acting to remedy hold-ups
• Innovating – producing solutions when problems emerge
• Representing – liaising with clients, users, developers and
other stakeholders

1/5/2024 School of Computer Engineering


•27
Project Planning

• Carried out before development starts.


• Important activities:
– Estimation (cost, duration, effort)
– Scheduling
– Staffing
– Risk management
– Miscellaneous plans

1/5/2024 School of Computer Engineering


•28
Management control

1/5/2024 School of Computer Engineering


•29
Management control
• Data – the raw details
e.g., ‘6,000 documents processed at location X.’
• Information – the data is processed to produce something
meaningful and useful
e.g., ‘productivity is 100 documents a day.’
• Comparison with objectives/goals
e.g., we will not meet the target of processing all documents
by 31st March
• Modelling – working out the probable outcomes of various
decisions, e.g., if we employ two more staff at location X, how
quickly can we get the documents processed?
• Implementation – carrying out the remedial actions that have
been decided upon
1/5/2024 School of Computer Engineering
•30
Traditional vs Modern Project Management

• Projects are increasingly being based on either tailoring some


existing product or reusing certain pre-built libraries.

• Facilitating and accommodating client feedbacks

• Facilitating customer participation in project development


work

• Incremental delivery of the product with evolving


functionalities.

1/5/2024 School of Computer Engineering


•31
• Planning incremental delivery: Old-Step wise execution
(initiation, plan, monitor, control) New-RAD, Adaptive
short-term planning, incremental deliveries, extreme
project management.

• Quality management: Increase of awareness on product


quality, assessment of project progress and tracking
quality.

• Change management: Old- change in requirement not


entertained, Now- customer suggestions are actively
considered, customer feed back taken, product
development is carried out with greater functionalities.
1/5/2024 School of Computer Engineering
•32

You might also like