Unit-I
Project Evaluation and Project Planning: Importance of Software Project Management –
Activities – Methodologies – Categorization of Software Projects – Setting objectives –
Management Principles – Management Control – Project portfolio Management – Cost-
benefit evaluation technology – Risk evaluation – Strategic program Management – Stepwise
Project Planning.
What is a Project?
• A project is a planned effort to achieve a specific goal or objective within a defined timeframe.
• It often involves a series of tasks, resources, and collaboration among individuals or teams.
• Projects can vary in size and complexity, ranging from personal endeavors to large-scale
organizational initiatives.
Example Types of Projects:
Personal Projects: Learning a new skill, building furniture, or planning a trip.
Educational Projects: Research papers, group assignments, or science fair projects.
Business Projects: Developing software, launching a marketing campaign, or constructing a building.
Importance of Software Project Management
Software Project Management is of significant importance for several reasons, as .
• Financial Stakes: A substantial amount of money is involved in ICT projects. For example, in
the UK during 2002-2003, central government expenditure on ICT contracts exceeded that on
roads. Mismanagement of such large investments can lead to significant financial losses.
Therefore, effective software project management is crucial to ensure that these projects are
delivered within budget and provide value for money.
• Meeting Objectives and Stakeholder Needs: All projects, including software projects, aim to
meet specific objectives and satisfy real needs. Software project management is the process
of ensuring that these objectives are met by identifying stakeholders and their objectives.
• Dealing with the Peculiarities of Software: Software projects have unique characteristics that
differentiate them from other types of projects and necessitate specialized management. Fred
Brooks identified some of these difficulties:
• Invisibility: Progress in software development is not as visible as in the construction of physical
artifacts. Software project management aims to make the invisible visible through techniques
for monitoring and control.
• Flexibility: While the ease of changing software is often seen as an advantage, it also means
that software systems are particularly susceptible to changes in requirements. Effective
management is needed to handle these changes in a controlled manner.
• Complexity: Software systems can be extremely complex, requiring careful planning and
coordination of the efforts of potentially large teams.
• Ensuring Careful Planning, Monitoring, and Control: The need for meticulous planning,
continuous monitoring, and proactive control is paramount in software projects due to their
inherent uncertainties. Project management provides the frameworks and techniques to
define what needs to be done (planning), track progress (monitoring), and take corrective
actions when necessary (control).
• Managing Contracts: Increasingly, software development is outsourced, requiring effective
contract management. Software project managers play a crucial role in supervising these
contracts, ensuring that the overall project remains within budget and on schedule, even if
they delegate technical decisions to contractors.
• Addressing Project Success and Failure: Understanding the factors that contribute to project
success and failure is a key aspect of software project management. By applying project
management principles, organizations can increase the likelihood of project success by setting
clear objectives, managing risks, allocating resources effectively, and monitoring progress.
Software Management Activities
Software project management comprises of a number of activities, which contains planning of project,
deciding scope of software product, estimation of cost in various terms, scheduling of tasks and events,
and resource management. Project management activities may include:
• Project Planning
• Scope Management
• Project Estimation
Project Management Methodologies
A methodology is a model, which project managers employ for the design, planning, implementation
and achievement of their project objectives. There are different project management methodologies
to benefit different projects.
Following are the most frequently used project management methodologies:
1. Adaptive Project Framework
• In this methodology, the project scope is a variable. Additionally, the time and the cost are
constants for the project.
• Therefore, during the project execution, the project scope is adjusted in order to get the
maximum business value from the project.
2. Agile Software Development
• Agile software development methodology is for a project that needs extreme agility in
requirements.
• The key features of agile are its short-termed delivery cycles (sprints), agile requirements,
dynamic team culture, less restrictive project control and emphasis on real-time
communication.
3. Crystal Methods
• In crystal method, the project processes are given a low priority.
• Instead of the processes, this method focuses more on team communication, team member
skills, people and interaction.
• Crystal methods come under agile category.
Software projects can be categorized in several ways. Understanding these categorizations can help in
selecting appropriate project approaches and management techniques.
Here are some of the ways software projects can be categorized, based on the information in the
sources:
• Software Projects Versus Other Types of Projects: This emphasize that while software projects
share fundamental management principles with other projects, they also have peculiar
problems** associated with creating software. These include the relative intangibility of
software, its extreme malleability, its intimate relationship with embedded systems, and its
sheer complexity.
• Objective-Driven Versus Product-Driven Projects: This categorization distinguishes between
projects where the objective is defined first and the product evolves to meet it, and projects
where the **product itself is defined before the project starts. A product-driven project
creates products defined before the start, while an objective-driven project might arise from
problems needing solutions where the exact solution (product) isn't initially known. This
distinction is considered in Step 3 of the Step Wise project planning approach ("Analyse project
characteristics").
• In-House Versus Outsourced Projects: Software projects can be carried out by developers and
users within the same organization (in-house) or can be **contracted out to outside
developers (outsourced). In-house development often means the application will fit into an
existing portfolio of systems and methodologies are dictated by organizational standards.
Outsourced projects may require a review of methodologies and technologies for each specific
project.
• New Development Versus Modification of Existing Systems: Some software projects involve
creating new systems from scratch, while others focus on modifying existing systems. An
example given is amending a financial computer system to deal with a common European
currency, which is still considered a software project.
• Size of Projects (Smaller Versus Larger): While the techniques and issues discussed in the
book are relevant to both smaller and larger projects, the book may use smaller projects as
examples to make techniques easier to grasp.
• Data-Oriented Versus Process-Oriented Systems: Software to be implemented can be
categorized as either data-oriented (information systems with substantial databases) or
process-oriented (embedded control systems). Systems may also have elements of both. The
object-oriented (OO) approach is sometimes considered more suitable for process-oriented
systems. This is an aspect considered when analysing project characteristics.
4. Dynamic Systems Development Model (DSDM)
• This is the successor of Rapid Application Development (RAD) methodology.
• This is also a subset of agile software development methodology and boasts about the training
and documents support this methodology has.
• This method emphasizes more on the active user involvement during the project life cycle.
5. Feature Driven Development (FDD)
• This methodology is more focused on simple and well-defined processes, short iterative and
feature driven delivery cycles.
• All the planning and execution in this project type take place based on the features.
6. Joint Application Development (JAD)
• Involving the client from the early stages with the project tasks is emphasized by this
methodology.
• The project team and the client hold JAD sessions collaboratively in order to get the
contribution from the client. These JAD sessions take place during the entire project life
Drawing on the sources, **management principles are fundamental to the successful execution of
software projects**, providing a framework for planning, organizing, and controlling the work
involved. The textbook introduces the concept of management early on and revisits it throughout the
different aspects of project management.
Management Principles
Here are some key management principles identified
• Defining Management Activities: Management generally involves setting objectives for a
system and then monitoring the performance of the system. More specifically, management
in a software project context has been suggested to include the following activities:
o Planning: Deciding what is to be done. This is a crucial initial step.
o Organizing: Making necessary arrangements for the project. This can involve
structuring the project team and defining roles.
o Staffing: Selecting the right people for the job and ensuring they have the necessary
skills. This is further elaborated in the chapter on managing people in software
environments.
o Directing: Giving instructions and providing guidance to the team. Leadership styles,
as discussed later, play a significant role here.
o Monitoring: Checking on the progress of the project against the plan. This is a
continuous activity throughout the project lifecycle and is essential for identifying
deviations from the plan.
o Controlling: Taking action to remedy any hold-ups or deviations to ensure the project
stays on track. Change control procedures are an important part of this.
o Innovating: Coming up with new solutions to problems that may arise during the
project.
o Representing:Liaising with clients, users, developers, suppliers, and other
stakeholders. Effective communication, as highlighted in our discussion about setting
objectives and later emphasized with the inclusion of communication planning in
revised topics, is key to this principle.
Management Control
Drawing on the sources, management control in software projects is a critical function that ensures
the project stays on track to meet its objectives. It involves establishing mechanisms to monitor
progress, compare it against the planned targets, and take corrective actions when deviations occur.
Here are some key aspects of management control as described in the sources:
• Definition: Management control, in general, involves setting objectives for a system and then
monitoring the performance of the system. In the context of software projects, this means
ensuring that the project delivers the agreed functionality to the required level of quality, on
time, and within budget, as we discussed under management principles.
• Importance: The sources emphasize the need for careful planning, monitoring, and control
throughout the project lifecycle because software projects are inherently non-routine and face
uncertainties. Without effective management control, a project can easily deviate from its
planned course, leading to delays, cost overruns, and failure to meet objectives.
• The Project Control Cycle: It illustrates a continual process of monitoring progress against the
initial project plan and revising the plan when necessary to account for deviations. This cycle
includes:
o Publishing the initial plan.
o Gathering project information.
o Comparing progress against targets.
o Taking remedial action if progress is unsatisfactory or revising the plan.
o Documenting conclusions at the end of the project to inform future projects.
• Key Areas of Control: Management control in software projects typically focuses on four
types of potential shortfalls:
o Delays in meeting target dates: Monitoring schedules and identifying potential
slippage, as discussed in the risk management chapter.
o Shortfalls in quality: Implementing quality control and assurance measures, as
highlighted in the chapter on software quality.
o Inadequate functionality: Managing the scope of the project and controlling
changes to requirements.
o Costs going over target: Monitoring expenditure and comparing it against the
budget.
• Monitoring as a Foundation for Control: Regular monitoring is essential for effective
project control. It involves collecting data on actual progress, costs, and quality, and
comparing this data to the planned targets. Visualizing progress through tools like bar charts
can aid in communication and control.
• Change Control: A crucial aspect of management control is managing changes to the
project's requirements. The sources outline a formal change control process involving
change requests (RFCs), evaluation, approval, and implementation, as well as the role of a
configuration librarian in managing changes to project documentation and software
products. This relates back to our discussion on adapting to changing circumstances under
management principles.
• Earned Value Analysis (EVA): This is a technique used for monitoring both cost and
schedule performance by comparing the planned value (PV), earned value (EV), and actual
cost (AC) of work performed. EVA provides metrics like Schedule Variance (SV) and Cost
Variance (CV) to assess project status.
• Prioritizing Monitoring: Since monitoring consumes time and resources, it's important to
prioritize monitoring efforts. Activities on the critical path, high-risk activities, and activities
involving inexperienced staff might warrant closer monitoring.
• Responsibility: While the overall responsibility for project progress often lies with a steering
committee or project board, the day-to-day responsibility for management control rests
with the project manager.
• Relationship to Planning: Effective management control is intrinsically linked to planning. As
stated in the sources, planning is pointless unless the execution of the plan is monitored.
The initial project plan provides the baseline against which progress is measured and
controlled.
Project Portfolio Management (PPM)
PPM is a centralized management approach to ensure that an organization's projects align with
strategic business objectives, optimize resource use, and deliver maximum value. It shifts the focus
from managing projects in isolation to managing them collectively as a portfolio.
Strategic program Management
Several projects together can implement a single overarching organizational strategy. It is a form of
programme management that is specifically aligned with and aimed at achieving broader corporate
goals and initiatives.
Here are some key aspects of strategic programme management based on the provided text:
• Alignment with Corporate Goals: The fundamental purpose of a strategic programme is to
contribute directly to the achievement of an organization's strategic objectives. This alignment
ensures that the projects undertaken within the programme are not isolated efforts but are
coordinated to deliver a larger, strategic outcome.
• Implementation of Strategy: A strategic programme serves as the mechanism through which
business strategies are translated into actionable projects. For instance, the merging of two
organizations' computer systems is given as an example of a situation that could require
several projects, each addressing a specific aspect of the integration, and collectively forming
a strategic programme.
• Programme Mandate: The planning of a strategic programme is often triggered by the
creation of an agreed programme mandate. This formal document ideally describes:
o The new services or capabilities the programme should deliver.
o How the organization will be improved by the use of these new services or capabilities.
o Crucially, how the programme fits with corporate goals and any other initiatives.
• Programme Brief: Following the mandate, a programme brief is produced, outlining the
business case for the programme. This brief includes a preliminary vision statement, expected
benefits (and how they will be measured), risks and issues, and estimated costs, timescales,
and effort.
• Vision Statement and Blueprint: The vision statement from the programme brief is further
refined into a detailed description of the new capability the programme will provide. This can
lead to the development of a blueprint that describes the target operating model and how the
new capabilities will be embedded within the organization.
• Benefits Management: A critical aspect of strategic programme management is benefits
management. This involves not only identifying the benefits the programme should create but
also specifying when these benefits are likely to be realized and how they will be measured. It
acknowledges that providing a capability does not automatically guarantee the delivery of
planned benefits.
• Programme Portfolio: A strategic programme will typically consist of a portfolio of projects
that are necessary to achieve the programme's objectives. These projects are managed in a
coordinated way to realize benefits that would not be possible if they were managed
independently.
• Evolution and Flexibility: The sources note that the business environment is constantly
changing, and therefore, strategic programmes need to be able to evolve and be modified
during their execution. An overly rigid approach with too much upfront planning might lead to
inflexibility.
In contrast to project portfolio management, which focuses on prioritizing and selecting individual
projects across the organization, strategic programme management is more about the coordinated
management of a group of related projects specifically aimed at achieving a defined strategic
outcome. While project portfolios can contain a mix of projects with different objectives, strategic
programmes have a unifying strategic purpose.
Cost-Benefit Evaluation Technology
Several cost-benefit evaluation techniques that can be used in software project management to assess
the economic viability of projects. These techniques help in deciding whether a proposed project is
worthwhile by comparing its expected costs with its anticipated benefits.
The cost-benefit analysis itself comprises two key steps:
• Identifying all costs and benefits of undertaking the project and operating the delivered
application. This includes development costs, operating costs, and the expected benefits from
the new system. For replacement systems, the analysis should focus on the change in costs
and benefits due to the new system.
• Expressing these costs and benefits in common units, which is usually monetary terms. Most
direct costs are relatively easy to quantify in this way, including development staff costs, setup
costs (hardware, file conversion, recruitment, training), and operational costs. Quantifying
benefits can be more challenging, especially for non-profit organizations or benefits that are
not directly financial.
Several specific cost-benefit evaluation techniques are detailed in the sources:
• Net Profit:
o This is a simple calculation of the total expected income from a project minus the total
expected expenditure.
o However, the sources point out that this method does not take into account the
timing of cash flows, which is a significant limitation.
o Projects with the same net profit might have very different patterns of income
generation over time, making one more desirable than the other.
• Payback Period:
o This technique calculates the time it takes for the cumulative income from a project
to equal the initial investment.
o A shorter payback period is generally considered more desirable.
o The advantage is its simplicity, but the major drawback is that it ignores the overall
profitability of the project and any income or expenditure after the breakeven point.
• Return on Investment (ROI):
o ROI is calculated as the average annual profit as a percentage of the total investment.
o While simple to calculate, it also fails to consider the timing of cash flows.
o Furthermore, the calculated rate of return may not relate to prevailing interest rates
or the risk associated with the project.
𝒂𝒗𝒆𝒓𝒂𝒈𝒆 𝒂𝒏𝒏𝒖𝒂𝒍 𝒑𝒓𝒐𝒇𝒊𝒕 𝑿 𝟏00
ROI = 𝒕𝒐𝒕𝒂𝒍 𝒊𝒏𝒗𝒆𝒔𝒕𝒎𝒆𝒏𝒕
• Net Present Value (NPV)
o Discounted Cash Flow (DCF) Techniques: These are presented as more sophisticated
methods that address the limitations of net profit and ROI by taking into account the
time value of money. The principle is that money received in the future is worth less
than the same amount today because of the potential to invest and earn interest.
o DCF techniques involve discounting future cash flows back to their present value
using a discount rate (which may reflect the organization's cost of capital or the
perceived risk of the project).
o The Net Present Value (NPV) is a key metric calculated using DCF, representing the
present value of all future cash flows minus the initial investment.
o DCF techniques provide better criteria for project selection than net profit or ROI
because they account for the timing of cash flows and the opportunity cost of capital.
𝑣𝑎𝑙𝑢𝑒 𝑖𝑛 𝑦𝑒𝑎𝑟 𝑡
Net Present Value (NPV)=
(1+𝑟)𝑡
• Internal Rate of Return (IRR)
o A profitability measure expressed as a percentage return that is directly comparable
with interest rates.
o The IRR attempts to provide a measure of a project's profitability that can be easily
compared to the cost of borrowing capital or the potential returns from other
investments.
o The IRR is defined as the percentage discount rate that would result in a net present
value (NPV) of zero
o The main advantage of the IRR is that it provides a profitability measure as a
percentage that can be directly compared with interest rates
o It does not indicate the absolute size of the return.
Risk Evaluation
Risk evaluation is meant to decide whether to proceed with the project or not, and whether the project
is meeting its objectives.
Risk Occurs:
When the project exceeds its original specification Deviations from achieving its objectives and so on.
Every project involves risk, both project risks that prevent the project from being completed
successfully and business risks that the delivered products are not profitable.
Risk evaluation consists of
• Risk identification and ranking
• Risk and NPV
• Cost-benefit analysis
• Risk profile analysis
Risk identification and ranking
• Identify the risk and give priority.
• Could draw up a project risk matrix for each project to assess risks
• Project risk matrix used to identify and rank the risk of the project
Risk and NPV
• When a project is relatively risky it is common practice to use a higher discount rate to
calculate the NPV.
• The risk premium be an additional 2 % for a safe project or 5 % for a fairly risky project
• Projects may be categorized as high, medium or low risk using a scoring method and risk
premiums designated for each category
Cost-benefit analysis
• A rather more sophisticated approach to the evaluation of risk is to consider each possible
outcome and estimate the probability of its occurring and the corresponding value of the
outcome.
• Rather than a single cash flow forecast for a project, we will then have a set of cash flow
forecasts, each with an associated probability of occurring.
• The value of the project is then obtained by summing the cost or benefit for each possible
outcome weighted by its corresponding probability.
Risk profile analysis
• An approach which attempts to overcome some of the objections to cost benefit averaging is
the construction of risk profiles using sensitivity analysis.
• This makes use of “risk profiles” using sensitivity analysis.
• It compares the sensitivity of each factor of project profiles by varying Parameters that affect
the project cost benefits.
• Eg:Vary the original estimates of risk plus or minus 5% and re-calculate the expected cost
benefits.
Decision trees method for risk evaluation
• Decision tree provide tools for evaluating expected outcomes and choosing between
alternate strategies.
• A decision tree is a decision support tool that uses a treelike graph or model of decisions
and their possible consequences, including chance event outcomes, resource costs, and
utility. It is one way to display an algorithm.
200000*50% + 110000*50% = 100000+55000=155000
EMV by Contractor 2:
170000*10% + 140000*90% = 17000+126000=143000
9. Correct decision made by decision contractor is Reliable High Bid
Stepwise Project Planning
It aims to provide an organized, step-by-step approach to project planning. The book uses two parallel
case studies (including the Brightmouth College payroll project) to illustrate how the Step Wise
approach might be adapted to different circumstances.
Here's an outline of the main elements and steps of the Step Wise project planning method as
described in the sources:
• Overall Approach: Step Wise advocates planning in outline first and then in more detail as the
time to carry out an activity approaches. It emphasizes that project planning is an iterative
process.
• Compatibility: Step Wise should be compatible with PRINCE2, although it's noted that Step
Wise covers only the planning stages of a project and not monitoring and control.
• Main Planning Activities: Figure provides an overview of the main planning activities, and
Table 3.1 outlines these activities in more detail. These steps can be broadly categorized as
follows:
o Step 0: Select project. This step is considered somewhat outside the main planning
process and involves the decision to initiate a particular project over others. It can be
linked to project portfolio management.
o Step 1: Identify project scope and objectives. This crucial step ensures that all parties
agree on the project's goals and are committed to its success. It includes:
▪ Identifying objectives and measures of effectiveness.
▪ Establishing a project authority.
▪ Stakeholder analysis to identify all stakeholders and their interests.
▪ Modifying objectives based on stakeholder analysis.
▪ Establishing methods of communication with all parties, potentially leading to
a communication plan.
o Step 2: Identify project infrastructure. This step considers the existing organizational
and technical environment into which the project must fit. It involves:
▪ Establishing the relationship between the project and strategic planning.
▪ Identifying installation standards and procedures, which may include quality
standards.
▪ Identifying the project team organization.
o Step 3: Analyse project characteristics. This step focuses on understanding the nature
of the project to select appropriate methods. It includes:
▪ Distinguishing the project as objective- or product-driven.
▪ Analysing other project characteristics.
▪ Identifying high-level project risks.
▪ Taking into account user requirements concerning implementation.
▪ Selecting a general life-cycle approach.
▪ Reviewing overall resource estimates.
o Step 4: Identify project products and activities. This involves a more detailed
breakdown of what the project will create and the work needed to do so. It includes:
▪ Identifying and describing project products (deliverables) including quality
criteria.
▪ Documenting generic product flows.
▪ Recognizing product instances.
▪ Producing an ideal activity network, which shows the logical sequence of
activities. This network is initially created without considering resource
constraints.
▪ Modifying the ideal network to account for the need for stages and
checkpoints.
o Step 5: Estimate effort for each activity. This step involves forecasting the work
required for each identified activity.
▪ Carrying out bottom-up estimates.
▪ Revising the plan to create controllable activities by breaking down long tasks.
o Step 6: Identify activity risks. This step focuses on identifying and quantifying risks
associated with individual activities.
▪ Identifying and quantifying activity-based risks.
▪ Planning risk reduction and contingency measures.
▪ Adjusting plans and estimates to account for risks.
o Step 7: Allocate resources. This step involves identifying and assigning necessary
resources (staff, equipment, etc.) to each activity.
▪ Identifying and allocating resources.
▪ Revising plans and estimates to consider resource constraints, which may
affect the project schedule.
o Step 8: Review/publicize plan. This involves checking the quality of the project plan
and communicating it to stakeholders.
▪ Reviewing quality aspects of the project plan.
▪ Documenting plans and obtaining agreement. A communication plan could be
finalized and published at this stage.
o Steps 9 and 10: Execute plan/lower levels of planning. This involves carrying out the
planned work. Detailed planning for later stages is often deferred until closer to their
start, using a more detailed iteration of Steps 5 to 8 for the phase under consideration.
This reflects the principle of planning in increasing detail as the project progresses.
The Step Wise framework emphasizes the logical flow of planning, starting from understanding the
project's objectives and infrastructure, then defining the work and estimating effort, considering risks
and resources, and finally documenting and executing the plan in an iterative manner.