0% found this document useful (0 votes)
17 views28 pages

Software Project Management Overview

Module 4 introduces software project management, covering its importance, project evaluation, and the distinction between projects and jobs. It discusses the causes of project failures, characteristics of software projects, and the roles of stakeholders in project success. The module emphasizes the need for effective planning, execution, and communication to ensure project objectives are met and the business case is preserved.
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)
17 views28 pages

Software Project Management Overview

Module 4 introduces software project management, covering its importance, project evaluation, and the distinction between projects and jobs. It discusses the causes of project failures, characteristics of software projects, and the roles of stakeholders in project success. The module emphasizes the need for effective planning, execution, and communication to ensure project objectives are met and the business case is preserved.
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

Module 4.

​ INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT

Introduction to Project Management: Introduction, Project and Importance of Project


Management, Contract Management, Activities Covered by Software Project
Management, Plans, Methods and Methodologies, Some ways of categorizing Software
Projects, Stakeholders, Setting Objectives, Business Case, Project Success and Failure,
Management and Management Control, Project
Management life cycle, Traditional versus Modern Project Management Practices.

Project Evaluation: Evaluation of Individual projects, Cost–benefit Evaluation


Techniques, Risk Evaluation

Introduction
●​ Project management involves the planning, monitoring, and control of people,
process, and events that occur during software development.
●​ Project management is the discipline of defining and achieving targets while
optimizing the new resources (time, money, people, materials, energy, space ,
etc.) over the course of a project (a set of activities of finite duration).

Why is software project management important?

●​ First there is a question of money. Large amounts of money are spent on ICT
(information and communication technology) Projects.

Ex: UK government in 2003-04 spent more on contracts for ICT( €2.3 billion)
than on contract related to roads. ( € 1.4 billion). Mismanagement of ICT Funds
deprives funds for hospitals etc
●​ Unfortunately, projects are not always successful. Standish Group in the U.S.
analyzed 13,522 projects and concluded that only a one third of them were
successful; 82 percent were late and 43 percent exceeded their budget

●​ The reason for these project shortcomings is often the management of projects.

Causes of Project Failures

●​ Mismanagement is often the root cause.


●​ The National Audit Office in the UK highlighted a 'lack of skills and a “lack of
proven approach to project management and risk management' as factors
contributing to project failures.

What is a project?
Some dictionary definitions:

●​ “A specific plan or design”

●​ “A planned undertaking”

●​ “A large undertaking e.g. a public works scheme”

​ A project is a temporary endeavor undertaken to create a unique


product, service, or result.
​ A project is defined as “a temporary organization that is created for the
purpose of delivering one or more business products according to an
agreed Business Case.”
Jobs versus 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!

The following characteristics distinguishes projects.


•​ Non-routine.
•​ Planning is required.
•​ Specific objectives are to be met.
•​ The project has a predetermined time span.
•​ Work carried out for someone other than yourself
•​ Work involves several specialisms
•​ People are formed in to a temporary work group to carry out a task.
•​ Work is carried out in several phases
•​ Constrained by time and resources
•​ The project is Large and/or complex
Software projects versus Other projects
Characteristics of the project that makes them difficult

•​ Invisibility: When a physical artifact like bridge is constructed, the progress can be
seen. With software, progress is not immediately visible

•​ Complexity: Per dollar, software products contain more complexity than other
engineered artefacts

•​ Conformity: Software developers have to conform to the requirements of human


clients

•​ Flexibility: Software systems are particularly subject to change

Contract management & Technical project management


In-House Projects:
●​ Users and developers work for the same organization.

Outsourced Projects:

●​ Organizations increasingly contract out ICT development to external


developers.
●​ The client organization appoints a project manager to supervise the contract.
●​ This project manager delegates many technical decisions to the contractors
and focuses on budget and timeline

●​ Client-side project managers prioritize overall project budget and schedule.


●​ Supplier-side project managers handle technical issues.

Activities covered by project management


●​ A software project is not only concerned with the actual writing of software. In
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.

a) Feasibility Study

Purpose: To assess whether a project has a valid business case and is worth starting.
Activities:

●​ Gather information about the requirements of the proposed application.


●​ Identify the aims of the stakeholders and determine the means to achieve
them.
●​ Estimate developmental and operational costs.
●​ Evaluate the value of the benefits of the new system.
●​ Assess a program of development that includes multiple projects.
b) Planning

Initiation: Begins if the feasibility study indicates that the project is viable.
Approach:
●​ Create an outline plan for the entire project.
●​ Develop a detailed plan for the first stage.
●​ Planning for later stages is postponed until more detailed and accurate
information is available after the earlier stages are completed.

c) Project Execution

Execution Phase: Involves design and implementation sub-phases.


Challenges:

●​ New project planners often find the boundary between design and planning
to be hazy.
●​ Design involves making decisions about the form of the products to be created,
such as the user interface and internal architecture.
●​ The plan details the activities to create these products, which can be influenced
by design decisions.
●​ Detailed planning and design are interconnected, as design decisions can
determine planning activities.

Sequence of Software Development Activities (ISO 12207)


i) Requirements Analysis
●​ Begins with requirements elicitation or requirements gathering.
●​ Establish what potential users and their managers require the new system.

Types of Requirements:
●​ Functional Requirements: What the system should do?.
Example: Dispatching an ambulance in response to an emergency call.
●​ Quality Requirements: How well the functions must work?
Example: Transaction time affected by hardware, software performance, and
human operation speed.
●​ System Requirements: Training operators to use the system efficiently. Resource
requirements related to application development

ii) Architecture Design

●​ Identify components of the new system that fulfill each requirement.


●​ Components: Could be existing or new. May include software, hardware, or work
processes.
●​ Integration with existing legacy systems.
●​ System architecture design influences software requirements.
●​ A system architecture design process maps software requirements to software
components.

iii) Detailed Design


●​ Each software component consists of multiple software units.
●​ Detailed design of these units.

iv) Code and Testing


●​ Code and test each unit separately.
●​ Initial testing to debug individual software units.
v)Integration
●​ Test components together to meet overall requirements.
●​ Combine different software components.
vi) Qualification Testing
●​ Ensure all requirements have been fulfilled.
●​ Thorough testing of the entire system, including software components.

vii) Installation
●​ Make the new system operational.
●​ Set up standing data (e.g., employee details in a payroll system).
●​ Configure system parameters.
●​ Install software onto hardware platforms.
●​ Provide user training.

viii)Acceptance Support
●​ Resolve problems with the newly installed system.
●​ Correct errors.
●​ Implement agreed extensions and improvements.
●​ Software maintenance as a series of minor software projects.

Plans, Methods and Methodologies

Planning an Activity

●​ A plan for an activity is based on a method of work.


●​ Example - Testing Software:
1. Analyze the requirements for the software.
2. Devise and write test cases to check that each requirement is satisfied.
3. Create test scripts and expected results for each test case.
4. Compare the actual results with the expected results and identify
discrepancies.
Method vs. Plan:

Method:
●​ Relates to a type of activity in general.
●​ Provides a systematic approach, e.g., steps to test software.
Plan:
●​ Converts methods into real activities.
●​ Identifies details for each activity:
Interrelationship:

●​ The output from one method might be the input to another.


●​ Methods and techniques are often grouped into methodologies (e.g.,
object-oriented design).

Some Ways of Categorizing Software Projects

Categories

1. Compulsory vs. Voluntary Users

Compulsory Users:
●​ Users must use the system to perform tasks (e.g., recording a sale). (daily basis)
●​ Easier to elicit precise requirements from users.

Voluntary Users:
●​ Users choose to use the system (e.g., computer games).
●​ Difficult to elicit precise requirements.
Relies on developer’s ingenuity, market surveys, focus groups, and prototype evaluation.

2. Information Systems vs. Embedded Systems


Information Systems:
●​ Enable staff to carry out office processes.
●​ Example: Stock control system.

Embedded Systems:
●​ Control machines.
●​ Example: Air conditioning control in a building.
[Link] Products vs Services

●​ All types of software projects can broadly be classified into software product
development projects and software services projects. It can be further classified
as shown in below Fig.1.7
a) A software product development concerns developing the software by keeping
therequirements to the general customers in mind and developed software is
usually sold-off-the-shelf to a large number of customers.
2 categories
●​ Generic
●​ Domain-Specific

Examples of generic software development are Microsoft’s Windows operating


system and Oracle Corporatism’s Oracle 8i database management software.

Domain-specific software targets specific segments of customers(verticals)


Example BANCS from TCS. FINACLE(banking) from Infosys

b) Software services projects: It covers a large number of projects related to


Customization,outsourcing,maintenance, testing and consultancy.

Examples: Maintenance and Testing


Object-driven development
●​ Projects may be distinguished by whether their aim is to produce or to meet certain
objective.
●​ Many software projects have two stages,
o​ First is an object-driven project resulting in recommendations which
identify the need for a new software system and
o​ Next stage is a project actually to create the software product

Stakeholders

​ These are people who have a stake or interest in the project.



It is important that they be identified as early as possible, because you need to set up
adequate communication channels with them right from the start.
Categories of stakeholder:
●​ 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 information
management group in order to add some additional data types to a database or
the assistance of the users to carry out systems testing.
●​ ​ 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 or contractors who will carry out work for the
project. One feature of the relationship with these people is that it is likely to be
based on a legally binding contract.

Diverse Objectives:

Different stakeholders have different objectives that need to be recognized and


reconciled by the project leader (e.g., ease of use for end-users vs. staff savings for
managers).

Theory W: Proposed by Boehm and Ross, where the project manager aims to create
win-win situations for all parties involved.

Overlooked Stakeholders: Important stakeholder groups can sometimes be missed,


especially in unfamiliar business contexts.

Communication Plan: Recommended practice to create a communication plan at the


start of a project to coordinate stakeholder efforts effectively.



​ Setting objectives
The objectives should define what the project team must achieve for project
success.
●​ Objectives focus on the desired outcomes of the project rather than the tasks
within it-they are the ‘post-conditions’ of the project.
●​ Objectives could be set of statements following the opening words ‘the project
will be a success if ….’ .
●​ There may be several sets of users of a system and there may be several
different groups of specialists involved its development. There is a need for
well-defined objectives that are accepted by all these people.
●​ Where there is more than one user group, a project authority needs to be
identified which has overall authority over what the project is to achieve.
●​ This authority is often held by a project steering committee (or project board or
project management board) which has overall responsibility for setting,
monitoring and modifying 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.

​ Sub-objectives and Goals:


●​ Setting objectives can guide and motivate individuals and groups of
staff.
●​ An effective objective for an individual must be something that is within
the control of that individual.
●​ Ex: An objective might be that the software application to be produced
must pay for itself by reducing staff costs over two years. As an overall
business objective this might be reasonable. For software developers it
would be unreasonable as, they only can control development costs, any
reduction in operational staff costs depends not just on them but on the
operational management after the application has ‘gone live’. What
would be appropriate would be to set a goal or sub-objective for the
software developers to keep development costs within a certain
budget.

●​ Thus, objectives will need to be broken down into goals or


sub-objectives. Here we say that in order to achieve the objective we
must achieve certain goals first..

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.

●​ Measurable: Ideally there should be measures of effectiveness which tell us


how successful the project has been.

●​ Achievable: It 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 in time by which the


objective should have been achieved.

​ Measures of effectiveness
●​ Measures of effectiveness provide practical methods of ascertaining
whether an objective has been met.
●​ ‘Mean time between failures’ (mtbf) is used to measure reliability. A
measure of effectiveness will usually be related to the installed
operational system.

​ 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.

●​ The quantification of benefits will often require the formulation of a


business model which explains how the new application can generate the
claimed benefits.

Any project plan must ensure that the business case is kept intact. For
example:

●​ The development costs are not allowed to rise to a level which threatens to
exceed the value of benefits.

●​ The features of the system are not reduced to a level where the expected
benefits cannot be realized.

●​ The delivery date is not delayed so that there is an unacceptable loss benefit.

​ PROJECT SUCCESS AND FAILURE

●​ The project plan should be designed to ensure project success preserving the
business case for the project.

●​ Different stakeholders have different interests, some stakeholders in a project


might see it as a success while others do not.

●​ The project objectives are the targets that the project team is expected to
achieve—They are summarized as delivering:
​ The agreed functionality
​ To the required level of quality
​ In time
​ Within budget

●​ In business terms, the project is a success if the value of


benefits exceeds the costs.
●​ A project can be a success on delivery but then be a business failure

●​ On the other hand, a project could be late and over budget, but its
deliverables could still, over time, generate benefits that outweigh the initial
expenditure.

●​ Technical learning will increase costs on the earlier projects, but later
projects benefit as the learnt technologies can be deployed more quickly
cheaply and accurately.

●​ 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.

​ MANAGEMENT AND MANAGEMENT CONTROL

​ MANAGEMENT:
Management involves 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 - interacting with clients, users, developer,
suppliers and other stakeholders.
●​ The diagram shows that project management is carried out over three well
defined stages or processes irrespective of the methodology used.

●​ In the Project initiation stage, an initial plan is made. As a project starts, the
project is monitored and controlled to process as planned. Initial plan is
revised periodically to accommodate additional details and constraints about the
project as they become available. Finally, the project is closed.

Project Planning
●​ Project Planning is an important responsibility of the project Manager. During
project planning, the project manger needs to perform a few well-defined
activities that have been outlined below/ Several best practices have been
proposed for software project planning activities.
●​ In USA Project management Institute’s ‘PMBOK’ which refers to their
publication “A Guide to the Project Management Body of knowledge, is used.
●​ Estimation: The project attributes are estimated.
●​ Cost: How much is it going to cost to complete the project.
●​ Duration: How long is it going to take to complete the project.
●​ Effort: How much effort would be necessary for completing the project?

Scheduling and Staffing


The effectiveness of all activities such as scheduling and staffing are planned at
later stage.
●​ Scheduling: Based on estimations of effort and duration, the
schedules for manpower and other resources are developed.
●​ Staffing: Staff organization and staffing plans are made.
●​ Risk Management: This activity includes risk identification,
analysis, and abatement (ending) planning.
​ Miscellaneous Plans: This includes making several other plans such as quality
assurance plan, configuration management plan MANAGEMENT CONTROL
Management involves setting objectives for a system and
monitoring the performance of the system.
●​ Local mangers involve in data collection.
●​ Data processing is required to transform this raw data into useful information.
●​ It can be seen that a project plan is dynamic and will need constant adjustment
during the execution of the project. A good plan provides a foundation for a good
project, but is nothing without intelligent execution.

​ PROJECT MANAGEMENT LIFE CYCLE

●​ Software development life cycle denotes (SDLC) the stages through which a
software is developed.
●​ In Project Management process, the project manager carries out project
initiation, planning, execution, monitoring, controlling and closing

1.​ Project Initiation:

●​ The project initiation phase starts with project concept development.


During concept development the different characteristics of the
software to be developed are thoroughly understood, which includes, the
scope of the project, the project constraints, the cost that would be
incurred and the benefits that would accrue.
●​ Based on this understanding, a feasibility study is undertaken to
determine the project would be financially and technically feasible.
●​ Based on feasibility study, the business case is developed. Once the top
management agrees to the business case, the project manager is
appointed, the project charter is written and finally project team is
formed. This sets the ground for the manager to start the project planning
phase.

●​ W5HH Principle: Barry Boehm, summarized the questions that need to


be asked and answered in order to have an understanding of these 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 these each resource is needed.

2.​ Project Bidding: Once the top management is convinced by the business case,
the project charter is developed. For some categories of projects, it may be
necessary to have formal bidding process to select suitable vendor based on
some cost-performance criteria. The different types of bidding techniques are:

●​ Request for quotation (RFQ) : An organization advertises an RFQ if it


has good understanding of the project and the possible solutions.
●​ Request for Proposal (RFP) : An organization had reasonable
understanding of the problem to be solved, however, it does not have good
grasp of the solution aspects. i.e. may not have sufficient knowledge about
different features to be implemented. The purpose of RFP is to get an
understanding of the alternative solutions possible that can be deployed
and not vendor selection. Based on the RFP process, the requesting
organization can form a clear idea of the project solutions required, based
on which it can form a statement work (SOW) for requesting RFQ for the
vendors.

●​ Request for Information (RFI): An organization soliciting bids may


publish an RFI. Based on the vendor response to the RFI, the
organization can assess the competencies of the vendors and shortlist the
vendors who can bid for the work.

3.​ Project Planning: An importance of the project initiation phase is the project
charter. During the project planning the project manger carries out several
processes and creates the following documents:
●​ Project plan: This document identifies the project the project tasks and
a schedule for the project tasks that assigns project resources and time
frames to the tasks.
●​ Resource Plan: It lists the resources , manpower and equipment that
would be required to execute the project.
●​ Functional Plan: It documents the plan for manpower, equipment and
other costs.
●​ Quality Plan:​Plan of quality targets and control plans are included in this
document.
●​ Risk Plan: This document lists the identification of the potential risks,
their prioritization and a plan for the actions that would be taken to
contain the different risks.

4.​ Project Execution: In this phase the tasks are executed as per the project
plan developed during the planning phase. Quality of the deliverables is ensured
through execution of proper processes. Once all the deliverables are produced
and accepted by the customer, the project execution phase completes and the
project closure phase starts.
5.​ Project Closure: Project closure involves completing the release of all the
required deliverables to the customer along with the necessary
documentation. All the Project resources are released and supply agreements
with the vendors are terminated and all the pending payments are completed.
Finally, a postimplementation review is undertaken to analyze the project
performance and to list the lessons for use in future projects.

​ TRADITIONAL VERSUS MODERN MANAGEMENT PRACTICES

●​ Over the last two decades, the basic approach taken by the software
industry to develop software has undergone a radical change.

●​ Software is not developed from scratch any more, Software


development projects are based on either tailoring some existing
product or reusing certain pre-built libraries both will maximize code
reuse and compression of project durations.

●​ Other goals include facilitating and accommodating client


feedback and customer participation in project development work
and incremental delivery of the product with evolving
functionality.

Some Important difference between modern management practices and traditional


practices are:
​ Planning Incremental Delivery:
This type of project management is often called extreme project management.
Extreme project management is highly flexible approach that concentrates on
human side of project management(e.g. managing project stakeholders).
​ Quality Management: Customer awareness about product quality has
increased significantly. The key responsibility of a project manager now
includes assessment of project progress and tracking the quality of all
intermediate artifacts.
​ Change Management: Earlier, when the requirements were signed off by the
customer, any changes to the requirements were rarely entertained. Customer
suggestions are now actively solicited and incorporated throughout the
development process. To facilitate customer feedback, incremental delivery
models are popularly being used.
​ Requirement Management: In older development methodologies , the
requirements had to be identified upfront and these were ‘signed off’ by the
customer and frozen before the development could start.
•​ At present , in most projects, the requirements change frequently
during the development cycle. Requirement management has
therefore become a systematic process of controlling changes,
documenting , analyzing, tracing, prioritizing requirements and then
communicating the changes to the relevant stakeholders.

​ Release Management: Release management concerns planning, prioritizing


and controlling the different releases of a software. Modern development
processes such as Agile development processes advocate frequent and regular
releases of the software to be made to the customer during the software
development.

​ Risk Management: In modern software development practices. Effective risk


management is considered very important to the success of a project. A risk is
any negative situation that may arise as the project progresses and may
threaten the success of the project. Risk Management involves identification
of risks, assessment of the impacts of various risks, prioritization of the risks
and preparation of risk-containment plans.

​ Scope Management: Modern software development encourages customer to


come up with change requests. While accepting the requests, three critical
project parameters: scope , schedule and project cost are interdependent and
related.
Additional Learning—1.12 MANAGEMENT

Case Study: Paul Duggan is the manager of a software development section. On


Tuesday at 10.00 am he and his fellow section heads have a meeting with their
group manager about the staffing requirements for the coming year. Paul has
already drafted document ‘bidding’ for staff’. This is based on the work planned
for his section for the next year. The document is discussed at the meeting. At 2.00
pm Paul has a meeting with his senior staff about an important project his section
is undertaking. One of the software development staff has just had a road accident
and will be in hospital for some time. It is decided that the project can be kept on
schedule by transferring another team member from less urgent work to this
project. A temporary replacement is to be brought in to do the less urgent work,
but this might take a week or so to arrange. Paul has to phone both the personnel
manager about getting a replacement and the user for whom the less urgent work
is being done explaining why it is likely to be delayed. Identify which of the eight
management responsibilities listed above Paul was responding to at different
points during his day.

Project Planning: In the project initiation stage, an initial plan is made. As the project
start, the project is monitored and controlled to proceed as per the plan. But, the initial
plan is refined from time to time to factor in additional details and constraints about the
project become available.

Based on the details of Paul Duggan's day, we can map his activities to the eight
management responsibilities. The typical management responsibilities include:

1.​ Planning: Setting objectives and deciding on the actions needed to achieve them.
2.​ Organizing: Arranging tasks, people, and other resources to accomplish the work.
3.​ Staffing: Recruiting, selecting, training, and developing employees.
4.​ Directing: Leading, motivating, and communicating with employees.
5.​ Controlling: Monitoring and evaluating performance.
6.​ Coordinating: Ensuring all parts of the organization are working together
towards common goals.
7.​ Reporting: Keeping all stakeholders informed.
8.​ Budgeting: Planning and controlling financial resources.

Project Evaluation: For the following topics ,Refer Text


Book2
Project Evaluation: Evaluation of Individual projects, Cost–benefit
Evaluation Techniques, Risk Evaluation

You might also like