Professional Documents
Culture Documents
SPM Unit I & II
SPM Unit I & II
Ch 2: Project Evaluation and Programme Management: Introduction, Business Case, Project Portfolio
Management, Evaluation of Individual Projects, Cost–benefit Evaluation Techniques, Risk Evaluation,
Programme Management, Managing the Allocation of Resources within Programmes, Strategic Programme
Management, Creating a Programme, Aids to Programme Management, Some Reservations about
Programme Management, Benefits Management.
Ch 3: An Overview of Project Planning : Introduction to Step Wise Project Planning, Step 0: Select
Project, Step 1: Identify Project Scope and Objectives, Step 2: Identify Project Infrastructure, Step 3: Analyse
Project Characteristics, Step 4: Identify Project Products and Activities, Step 5: Estimate Effort for Each
Activity, Step 6: Identify Activity Risks, Step 7: Allocate Resources, Step 8: Review/Publicize Plan, Steps 9
and 10: Execute Plan/Lower Levels of Planning.
Copyright © PROF. GUFRAN QURESHI
Ch-1 Introduction to Software Project
Management
Definition:- Software project management is an art and discipline of planning and supervising software projects. It is a
sub-discipline of software project management in which software projects planned, implemented, monitored and
controlled.
• It is a procedure of managing, allocating and timing resources to develop computer software that fulfills requirements.
• In software Project Management, the client and the developers need to know the length, period and cost of the project.
Prerequisite:
There are three needs for software project management. These are:
• Time
• Cost
• Quality
Contract Management:
The client organization will appoint a project manager to supervise the contract.
Project manager will be able to delegate many technical oriented decisions to the contractors.
The project manager will not be concerned about estimating the effort needed to write individual software components.
The overall project is fulfilled within budget and on time.
Supplier side-project managers are concerned with more technical management issues.
A software project is not only concerned with the actual writing of software.
Three successive processes
Feasibility Study, Planning, Project Execution
Feasibility Study
Prospective project is worth starting
Information is gathered about the requirements of the proposed application.
Requirements elicitation can at least initially be complex and difficult.
Planning
A large project would not do all detailed planning right at the beginning.
Formulate an outline plan for the whole project a detailed one for the first stage and more detailed planning of the later
stages.
Copyright © PROF. GUFRAN QURESHI
Feasibility study
How
do we
Is it do it?
worth Plan
doing? Do
it!
Project execution
Project execution
The execution of a project often contains design and implementation sub phases.
Design is thinking and making decisions about the precise form of the products that the project is to create.
Planning and design can be confused because at the most detailed level, planning decisions are influenced by design
decisions.
Definition: The first phase of a project begins with conceptualizing the project’s goal and overall measure of success called the
Measurable Organizational Value (MOV). The Measurable Organizational Value (MOV) is the goal of the project and is used to
define the value that your project will bring to your client. To provide real value to an organization, a project must align with
and support the organization’s vision, mission, and strategy.
Steps for Developing the MOV:
1. Identify the desired area of impact: A project can have an impact on an organization in many different ways. (Customer,
Strategic, Financial, Operational, Social)
2. Identify the desired value of the project: Once the desired area of impact is identified, the next step involves determining
the desired value the project can bring to the organization.
3. Develop an appropriate metric: Once there is agreement as to the value the project will bring to the organization, the next
step is to develop a metric, or set of metric, that:
a. Provides the project team with a performance target or directive
b. Sets expectations among all stakeholders
c. Affords a means for evaluating whether the project is a success later on.
4. Set a time frame for achieving the MOV: Once you have identified the area of impact, value to the organization, and an
appropriate metric, you need to set a time frame for achieving the MOV. Keep in mind that this time frame may not
coincide with the scheduled completion of the project work.
5. Verifying with stakeholders: Getting the metric value and time frame verified and approved from the stakeholders adds
value to claims made in the business case.
6. Summarize the MOV in a clear, concise statement or table: Once the impact and value to the organization are verified and
agreed upon by all the project stakeholders, the MOV should be summarized in a single statement or table. Summarizing
the MOV provides an important chance to get final agreement and verification, provides a simple and clear directive for the
project team, and sets explicit expectations for all project stakeholders.
Copyright © PROF. GUFRAN QURESHI
Project Success and Failure
The Best Projects:
A project was considered to be in the “Best” category if it met all of the following criteria:
1. A total cost that was lower than the industry average for similar projects by 10 percent or more
2. An execution duration or overall cycle time that was industry average or faster
3. Safety performance that included no fatalities, and
4. No serious operational problems during startup or in the first 12 months of operation
5. The Best Projects were, on average, 18 percent lower in cost, 8 percent faster in cycle time (total length of the project) and
10 percent faster in execution.
Agile project management is the process by which projects can be managed and implemented in small chunks of work. Agile
projects deliver value in small deliveries of product, and they are called "Features". Projects during Agile Project Management
are managed in five stages, called the Agile Life Cycle. The stages are: Envision, Speculate, Explore, Adapt, and Close.
Agile Phases
In general, the way that the Agile project management process works can be
summarized in the phases below:
1. Envision – create the product vision and scope for the customers as well as
determine who will be involved in the project
2. Speculate – this is an extension of the “Envision” phase where teams gather the
initial broad requirements for a product/service and develop an iteration plan
based on the vision
3. Explore – work on the project deliverables with a focus on flow, aiming to get
feedback from the customer as fast as possible
4. Adapt – review delivered results and adapt as necessary to current conditions
5. Close – conclude the project, pass along key findings
Benefits:
1. Serialized Process: Iterative approach with task broken into small increments. (step by step)
2. Planning far in advance: Plan for what we know and we have left sufficient allowance in our plans for what we don’t
know. (any changes that will come in future)
3. Project Timeline: It allows the development team to get feedback from the customer throughout.
Limitations:
1. Lack of Visibility: Teams don’t realize they are behind schedule. (They have sufficient time left as they are going fast)
2. Static Requirements: Scope is never closed; Continual reassessment of requirement priorities by the business.
Principles of Agile
1. Satisfy the Customer: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome Change: Welcome changing requirements, even late in development. Agile processes harness change for the
customer's competitive advantage.
3. Deliver Frequently: Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Work Together: Business people and developers must work together daily throughout the project. It makes sense for the
customer to become part of the team.
5. Build Projects: Build projects around motivated individuals. Give them the environment and support they need, and trust
them to get the job done.
6. Face-To-Face Time: The most efficient and effective method of conveying information to and within a development team
is face-to-face conversation.
7. Measure of Progress: Working software is the primary measure of progress. When you make working software the
primary measure of progress you promote it to the primary focus of the project.
8. Sustainable Development: Agile processes promote sustainable development. The sponsors, developers, and users should
be able to maintain a constant pace indefinitely.
9. Continuous Attention: Continuous attention to technical excellence and good design enhances agility. While an elegant
design is meaningful even more valuable is a solution that will span the test of time.
10. Keep It Simple: Nearly 30% of the functionality we build is seldom or never used. Agile is ruthless about cutting
functionality that does not lend value.
11. Organized Teams: The best architectures, requirements, and designs emerge from self-organizing teams. Self-organizing
teams that are cross functional as well.
12. Reflect for Effectiveness: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
its behavior accordingly. We've all been on projects that end with an AAR, After Action Review. Copyright © PROF. GUFRAN QURESHI
Agile SDLC Model Traditional SDLC Model
The model is very flexible and can easily adapt the Such models lack flexibility and it is
Model Principle
project to the customer’s needs and expectations. challenging to implement changes in a project
It is suitable for projects of all sizes – from small It can be used for all types of project. However,
Project Size to large-scale. All can benefit from the flexible it makes little allowance for human errors and
Agile SDLC model. changes in development later are challenging.
The changes are welcomed and accepted at any It is challenging to accept changes later on in
Adaptability
stage of project development the development process.
There is minimal planning required in the pre- Planning should be completed before the
Original Planning development phase, as any changes can be made development starts, as changes are difficult to
later on in the development process. make in later stages of development.
Ch-2 Project Evaluation and Programme Management
The Business Case:
Definition: The business case is a process to critically examine the opportunities, alternatives, project stages and financial
investment in order to make a recommendation for the best course of action that will create business value.
Feasibility studies can also act as a ‘business case’
Provides a justification for starting the project
Should show that the benefits of the project will exceed development, implementation and operational costs
Needs to take account of business risks
A business case captures the reasoning for initiating a project or task. It is often presented in a well-structured written
document, but may also come in the form of a short verbal agreement or presentation.
A business case is the justification for some activity (e.g. a project) undertaken by your organisation. It weighs up the
timescales, costs and risks of doing the activity against the benefits to be gained. Think of it as weighing up the pros and cons
and then taking a sensible decision. Therefore, business case also known as Cost-Benefit analysis.
Objectives:
• The need to create a descriptive document, which contains vital information such as name of project, estimated timeframe,
cost and business objectives.
• The project needs to be evaluated on a regular basis to ensure that the project is meeting its target and stays in its course.
• Selection of the team players, who will work towards achieving the project's objectives.
Benefits:
• Greater adaptability towards change.
• Constant review and close monitoring brings about a higher return.
• Management's perspectives with regards to project portfolio management is seen as an 'initiative towards higher return'.
Therefore, this will not be considered to be a detrimental factor to work.
• Identification of dependencies is easier to identify. This will eliminate some inefficiency from occurring.
• Helps to concentrate on the strategies, which will help to achieve the targets rather than focusing on the project itself.
Copyright © PROF. GUFRAN QURESHI
Evaluation of Individual Projects
Definition: It is the process of evaluating individual projects to select the ones to be implemented, so that the broader
objectives of the organization can be fulfilled. The criteria used for selecting a project are similar to the criteria used for
making a choice in any other aspect of business.
The models to help in deciding on projects are sophisticated but will represent only a part of the reality. The decision will
ultimately have to be taken by the entrepreneur or the manager, and these models will only aid the decision-making process.
1.Profitability: The most commonly used metric to select projects is their profitability. Some entrepreneur would like to use
the rate of return or the discounted cash flows as their criteria of choice. Many others prefer to use the payback period as the
metric to compare projects.
2. Competitive Necessity: This is the priority when the project is chosen based on what seems most essential to maintain the
company’s competitive position in the market.
3. Operating Necessity: Sometimes, a project has to be undertaken because it is vital to continue the business operations of
the company.
4. Scoring: To overcome the shortcomings of using just profitability for selecting a project, a number of decision criteria are
taken into account in a scoring model. Scoring models can vary in their complexity and information requirements.
It is one of the important and common way of carrying “economic assessment” of a proposed information system.
This is done by comparing the expected costs of development and operation of the system with its benefits.
So it takes an account:
• Expected cost of development of system
• Expected cost of operation of system
• Benefits obtained
Assessment is based on:
• Whether the estimated costs are executed by the estimated income.
• And by other benefits
For achieving benefit where there is scarce resources, projects will be prioritized and resource are allocated effectively.
The standard way of evaluating economic benefits of any project is done by “cost benefit analysis”
• Step-2:
– Calculates net benefit.
– Net benefit = total benefit - total cost.
– (cost should be expressed in monetary terms).
2) Assessable indirect benefits: these benefits are obtained due to updation / upgrading the performance of current
system. It is also referred as “secondary benefits”.
Example: “use of user – friendly screen”, which promotes reduction in errors, thus increases the benefit.
3) Intangible benefits: these benefits are longer term, difficult to quantify. It is also referred as “indirect benefits”.
Example: enhanced job interest leads reduction of staff turnover, in turn leads lower recruitment costs.
I] Net Profit
Net Profit calculated by subtracting a company's total expenses from total income showing what the company has
earned (or lost) in a given period of time (usually one year). It also called net income or net earnings or bottom line.
Net profit=total incomes-total costs
Net profit tells you your true bottom line – how much money you’re actually left with at the end of the day
This is a simple method of calculating the total benefits of the projects. However, this method does not show profit
relative to the size of the investment.
E.g. (Refer Cash Flow Forecasting)
Copyright © PROF. GUFRAN QURESHI
II] Payback/Payout Period
Definition: The payback period also called the payout method is the time taken to recover the initial investment or is the
length of time required for cumulative incoming returns to equal the cumulative costs of an investment.
The payback period refers to the amount of time it takes to recover the cost of an investment.
Payback period is the time required to recover the initial cost of an investment. It is the number of years it would take to
get back the initial investment made for a project.
PBP = Year previous to BEP + Total Cash Outflow – Cumulative cash inflow previous to BEP
X 12 months
Cash inflow during breakeven year
Advantages
• It is simple and easy to calculate.
• It is also a seriously flawed method of evaluating investments
Disadvantages
• It attaches no value to cashflows after the end of the payback period.
• It makes no adjustments for risk.
• It is not directly related to wealth maximisation as NPV is.
• It ignores the time value of money.
• The "cut off" period is arbitrary.
Copyright © PROF. GUFRAN QURESHI
Ex: M/s A Ltd has to invest Rs. 5 lakhs in project A or Project B. The estimated inflows of each project are as follows:
Advantages
1. The first and the most important thing is that the internal rate of return considers the time value of money when
evaluating a project..
2. The most attractive thing about this method is that it is very simple to interpret after the IRR is calculated. If the IRR
exceeds the cost of capital, then accept the project, but not otherwise.
Disadvantages
1. IRR assumes that the cash flows are reinvested at the same rate as the project, instead of the cost of capital. Hence,
IRR may not give a true picture of the profitability.
2. IRR works only for investments that have an initial cash outflow (the purchase of the investment) followed by one or
more cash inflows. IRR can't be used if the investment generates interim negative cash flows.
As you can see, our ending NPV is not equal to zero. Since it’s a positive number, we need to increase the
estimated internal rate. Let’s increase it to 10 percent and recalculate.
As you can see, Tom’s internal return rate on this project is 10 percent. He can compare this to other investing
opportunities to see if it makes sense to spend $100,000 on this piece of equipment or investment the money in
another venture.
Definition: Risk evaluation is the process of identifying and measuring risk. It is a fundamental business practice that can be applied t o
investments, strategies, commercial agreements, programs, projects and operations.
1. Risk evaluation is meant to decide whether to proceed with the project or not, and whether the project is meeting its objectives.
2. It is the determination of risk management priorities through establishment of qualitative and/or quantitative relationships between
benefits and associated risks.
3. Risk occurs: a) When the project exceed its original specification. b) Deviations from achieving it objectives and so on.
Definition: Risk identification is the process of determining which risks may affect the project and documenting their
characteristics. The key benefit of this process is documentation of existing risks and the knowledge and skills offered by
the project team anticipate risk events.
Process:
There are five core steps within the risk identification and management process. These steps include risk identification, risk
analysis, risk evaluation, risk treatment, and risk monitoring.
1. Risk Identification: The purpose of risk identification is to reveal what, where, when, why, and how something could affect
a company’s ability to operate. For example, a business located in central California might include “the possibility of
wildfire” as an event that could disrupt business operations.
2. Risk Analysis: This step involves establishing the probability that a risk event might occur and the potential outcome of each
event. Using the California wildfire example, safety managers might assess how much rainfall has occurred in the past 12
months and the extent of damage the company could face should a fire occur.
3. Risk Evaluation: Risk evaluation compares the magnitude of each risk and ranks them according to prominence and
consequence. For example, the effects of a possible wildfire may be weighed against the effects of a possible mudslide.
Whichever event is determined to have a higher probability of happening and causing damage, it would rank higher.
4. Risk Treatment: Risk treatment is also referred to as Risk Response Planning. In this step, risk mitigation strategies,
preventative care, and contingency plans are created based on the assessed value of each risk. Using the wildfire example,
risk managers may choose to house additional network servers offsite, so business operations could still resume if an onsite
server is damaged. The risk manager may also develop evacuation plans for employees.
5. Risk Monitoring: Risk management is a non-stop process that adapts and changes over time. Repeating and continually
monitoring the processes can help assure maximum coverage of known and unknown risks.
Risk Identification Techniques / Tools Copyright © PROF. GUFRAN QURESHI
Techniques:
There are several tools available that can help the project manager in identifying risks.
1. Documentation Reviews: The standard practice to identify risks is reviewing project related documents such as lessons
learned, articles, organizational process assets, etc.
2. SWOT: SWOT, or strengths, weaknesses, opportunities, threats, is another tool to help with identifying risks. Begin with
strengths and determine what those are as related to the project (though this can work on an organization-level, too). Next,
list the weaknesses or things that could be improved or are missing from the project. This is where the likelihood of
negative risk will raise its head, while positive risk come from the identification of strengths. Opportunities are another
way of referring to positive risks and threats are negative risks.
3. Brainstorming: Brainstorming is done with a group of people who focus on identification of risk for the project. A
brainstorming session is one in which the project team sits together and thinks up with as many risks as possible.
4. Delphi Technique: A team of experts is consulted
anonymously. A list of required information is sent to experts,
responses are compiled, and results are sent back to them for
further review until a consensus is reached.
5. Assumption Analysis: Identification of different assumptions
of the project and determining their validity, further helps in
identifying risks for the project.
6. Root Cause Analysis: Root causes are determined for the
identified risks. These root causes are further used to identify
additional risks.
Risk Assessment Copyright © PROF. GUFRAN QURESHI
Definition: Risk assessment is a step in a risk management procedure. Risk assessment is the determination of quantitative or
qualitative value of risk related to a concrete situation and a recognized threat. Risk assessment involves measuring the
probability that a risk will become a reality.
The procedure for analysis is to conduct the qualitative analysis and once the risk qualifies then quantitative analysis is carried
out.
I] Qualitative Risk Analysis:
1. Qualitative risk analysis is the process of assessing individual project risk characteristics - the probability of occurrence and
the impact they would have on a project if happening - against a scale.
2. The main purpose of the qualitative risk analysis
is prioritizing risks according to their probability
and impact. A project can be exposed to a large
number of different risks.
3. Qualitative risk analysis is carried out using a
risk matrix also called as a probability-impact
matrix.
4. The scale used for the analysis groups project
risks into three or more categories according to
their impact, such as low, medium and high.
5. The risk can impact numerous project elements:
budget, schedule, deliverables, scope or
available resources. The risk probability can be
evaluated using the same categories or expressed
as a percentage (0% to 100%) or odds (0 to 1).
6. The scale can be customized to fit organizational
needs and then used across all projects within an
organization for consistency.
Copyright © PROF. GUFRAN QURESHI
II] Quantitative Risk Analysis:
1. Quantitative risk analysis is a numeric estimate of the overall effect of risk on the project objectives such as cost and
schedule objectives. The results provide insight into the likelihood of project success and is used to develop contingency
reserves.
2. It uses verifiable data to analyse the effects of risk in terms of cost overruns, scope creep, resource consumption, and
schedule delays.
3. Quantitative Risk Analysis uses available relevant and verifiable data to produce a numerical value which is then used to
predict the probability (and hence, acceptability) of a risk event outcome.
4. Main advantages of a quantitative approach is to determine the probability of achieving a specific project objective.
5. A ranking of risks based on their probability and quantum impact is created.
a. Project communication plan: Risk status needs to be communicated to all those concerned. The identification, analysis
and action needs to be communicated.
b. Enterprise risk procedure: Organizations may devise their own rules, procedures and policies when it comes to dealing
with risks. In such cases the project manager will be required to follow these rules.
c. Organizational process assets: There are chances that the organization may have implemented a similar project in the past.
In such case, the project plan back then may prove to be useful in identifying and managing risks.
1. A risk profile is an evaluation of an individual's willingness and ability to take risks. It can also refer to the threats to which
an organization is exposed. A risk profile is important for determining a proper investment asset allocation for a portfolio.
Organizations use a risk profile as a way to mitigate potential risks and threats.
2. A risk profile identifies the acceptable level of risk an individual is prepared and able to accept. A corporation's risk pro file
attempts to determine how a willingness to take on risk (or an aversion to risk) will affect an overall decision-making
strategy. The risk profile for an individual should determine that person's willingness and ability to take on risk. Risk in this
sense refers to portfolio risk.
3. Risk Capacity: Risk capacity is the quantitative measure of taking a risk. It
maps your current and future financial position which includes factors like
income, savings, expenses, and liabilities. With these factors evaluated, the rate
of returns required to reach your Financial goals is determined. In simple words,
it is the level of the financial risk you can think of affording.
4. Risk Required: Risk required is determined by your risk capacity. It is the risk
associated with the returns needed to reach your financial targets with available
resources. Risk required educates you about what you could potentially be
taking on with a certain investment. It gives you an honest perception and a
clear picture about the type of the risk you are about to take.
5. Risk Tolerance: Risk tolerance is the level of risk you are comfortable with. It
is simply your willingness to accept the fluctuations in the market that may or
may not occur in order to achieve your financial objectives.
Decision Trees Copyright © PROF. GUFRAN QURESHI
1. A decision tree analysis is a specific technique in which a diagram (in this case referred to as a decision tree) is used for the
purposes of assisting the project leader and the project team in making a difficult decision.
2. In project management, a decision tree analysis exercise will allow project leaders to easily compare different courses of
action against each other and evaluate the risks, probabilities of success, and potential benefits associated with each.
3. The decision tree analysis technique allows you to be better prepare for each eventuality and make the most informed
choices for each stage of your projects.
4. It’s important to note that a proper decision tree has four main elements: decision nodes, chance nodes, end nodes, and
branches. Let’s briefly explore each of these individually.
a. Decision Nodes: A decision node, represented on our decision tree diagram as a square, indicates a choice that needs to
be made.
b. Chance Nodes: A circle represents a chance
node and is used to signify uncertain
outcomes. These nodes are used when future
results are not guaranteed.
c. End Nodes: End nodes, like the name suggests,
represent the end of a diagram and illustrates
a final outcome.
d. Branches: Lastly, we have branches. Branches
are what connect the nodes together. Each
branch represents a potential choice and
should be clearly labeled
Programme Management Copyright © PROF. GUFRAN QURESHI
Definition: Program management or programme management is the process of managing several related projects, often with the
intention of improving an organization's performance.
Program management may provide a layer above the management of projects and focuses on selecting the best group of projects,
defining them in terms of their objectives and providing an environment where projects can be run successfully.
Programme Management enables the successful implementation of your organisation’s business transformation strategy through an
overarching approach to projects and project delivery across the organisation.
Benefits:
Keeps the focus on the big picture. The Programme Manager acts as an orchestrator to ensure that all the activity going on across
multiple projects continues to support the overall business transformation goal.
Puts control back in your hands. Our Programme Managers ensure that your projects are logically planned and executed, and ensure
that each project is controlled, thereby minimising any risks.
Makes the best use of your resources. A Programme Manager
holds a view of how all people are being utilised, and is able to plan
activities around availability to best maximise everyone’s time.
Gives you consistency across projects. Every Project Manager
brings their own flavour to their work, and it is easy for a single
project to operate in isolation from the rest of your business.
Reduce your costs. Projects can be costly. Managing your projects
across a planned programme of work can allow you to reduce your
overall costs, by making best use of resources, sharing information
across projects, aligning deliverables and cross project dependencies
and minimising overall risk.
Maximise your benefits. The Programme Manager will actively
take responsibility for ensuring that the scoped benefits are realised.
Project Vs Program Copyright © PROF. GUFRAN QURESHI
Programme Management Framework Copyright © PROF. GUFRAN QURESHI
Definition: Program management or programme management is the process of managing several related projects, often with the intention of
improving an organization's performance.
Programme management is a technique that allows organisations to run multiple, related projects concurrently to obtain significant benefits
from them as a group.
A project management framework consists of the processes, tasks, and tools used to take a project from start to finish. It encompasses all the
key components required for planning, managing, and governing projects.
There are eight important areas in the programme management framework:
1. Vision: Vision is the high level strategy or idea to drive the organisation towards a
goal, benefit or other desired outcome.
2. Aims and objectives: The aims and objectives is a more detailed statement that
explains exactly what is required. This provides a point of reference to go back to
when renewed focus is required.
3. Scope: The scope gives boundaries to the programme explaining what exactly it is
that will be delivered.
4. Design: Design is the way in which the projects that make up the programme are put
together. In this process the programme manager considers which projects have
dependencies on others, therefore which should come first, can run concurrently, and
those that come last.
5. Approach: The approach is the way the programme will be run. It is dependent on
many factors and it is left to the skill of the programme manager to decide the most
effective way.
6. Resource management: Resource management looks at the scheduling and
allocation of resources. Short term and longer-term views should be taken.
7. Responsibilities: Responsibilities identifies and allocates responsibility for each area
of the programme. Every member of the programme must clearly understand his or
her roles and the roles of the other team members.
8. Benefits realization: Benefits realisation is the process at the end of the programme
by which the benefits identified at the beginning of the programme and measured.
Stages in Programme Management Copyright © PROF. GUFRAN QURESHI
There are four important stages in the programme management. These stages take the programme from initiation, based on strategy and a desire
for change, right through to the final realisation of a defined business objective or benefit.
1. Programme Identification: This is a high level process where the strategy
and direction of the organisation are decided. It is from this that the
programmes required to realise these strategies are determined. A document
for each programme is produced outlining the business case, alignment to
strategy, scope and the expected business objective or benefits.
2. Programme Planning: The planning stage is where the design of the
programme takes place. The programme manager in establishing the
programme will:
i. Define clear objectives.
ii. Agree an approach.
iii. Agree roles and responsibilities with the team.
iv. Set-up communication channels.
v. Agree priorities of the projects that make up the programme.
vi. Complete project planning.
vii. It is important at this stage to identify adequate levels of resource for the
early projects and identify the requirements for later projects.
3. Programme Delivery: At this stage, the individual project managers run
the identified projects. The programme manager's responsibility at this stage
is to monitor progress, assess risks and report progress to the steering
committee or leadership.
4. Programme Closure: Like projects, programmes have a finite life and are
closed once they achieve their defined business objective or benefit. Before
the programme is closed, the programme manager must demonstrate to the
steering committee or leadership that the desired benefits have been
realised, often called 'benefits realisation'.
Managing the Allocation of Resources within Programmes
Definition: Resource allocation is the process of assigning and scheduling available resources in the most effective and
economical manner. Programmes will always need resources and resources are scarce. The task therefore lies with the
programme manager to determine the proper timing of those resources within the project schedule.
1. Know Your Scope: The clearer the programme scope is, the better you’ll be able to figure out how to allocate your
resources. Therefore, take the time to get the full picture of the programme prior to doing any resource allocation.
2. Identify Resources: Before you can allocate resources, you have to have them. So, you have to see who’s currently
available, what equipment you’re going to need or purchase and where are you going to perform the tasks for this
programme, and is that space available.
3. Know Your Resource Dependencies: One way to allocate resources is by not having to allocate them at all. This isn’t as
mystical as it might sound. It involves something far less magical and more practical, planning.
4. Track Time: You always want to keep a close eye on time, how your team is working and if they’re being efficient. To do
this you must keep track of your team’s workload. That requires the right tools to give you real-time data collected on one
page where you can both see and schedule ahead when needed.
5. Use Tools: Project management software, like ProjectManager.com, is a great asset to managing your resources more
productively. With an online tool, you get project data instantly updated.
6. Don’t Over-allocate: Many managers over-allocate, whether because of poor planning or an inability to say no, which
doesn’t help. Instead of bringing in the programme on time and within budget, over-allocation threatens team burnout.
7. Be Realistic: Remember when we mentioned comparing your estimated to actual utilization? This is where that process
helps keep you properly allocated. Using a tool, like ProjectManager.com, is also key to getting an accurate sense of how
the project is going.
IV] Generate Strategic Options: Strategic options are generated based on the analysis undertaken so far. The strategies
generated should be able to provide the firm competitive advantage, explore alternative strategic direction & alternative
methods to employ strategies.
V] Evaluating Strategic Options: It is very difficult to identify which strategic option to select despite all the analysis.
Strategic management is considered to be more an art than science. Despite all this the decision maker should resort to the
various qualitative and quantitative techniques available to finalize the strategy.
VI] Implementation, Monitoring and Review: At the implementation stage the strategy has to be clubbed with the
operational plan, organization chart, clear job description, procedures and manuals, budgets and control systems. Budgets
ensure that execution as per plan. Budgetary objectives and constant monitoring ensure that strategic objectives are
accomplished.
Definition: A program is created to manage a number of related projects, each contributing to the overall business objective,
where it’s efficient to manage them together to get the desired outcome.
I] Programme Mandate: The programme mandate is the first stage of a programme. The purpose of the program mandate is to
describe the required outcomes from the program, based on the strategic and policy objectives. It is also called the strategic or
embryonic business case in some organizations.
II] Programme Brief: The purpose of the program brief is to assess whether the program is viable and achievable. It is also
referred to as the outline business case. Information stated here evolves into many documents including the vision statement, risk
and issue register, and business case in the “defining a program” process.
III] The Vision Statement: The purpose of the vision statement is to provide details on how “defining a program” process will
be undertaken. A small team will undertake this planning and a programme manager with similar experience will be appointed to
handle the day-to-day responsibilities of the programme.
IV] The Blueprint:
Blueprint is expanded and developed from vision and represents
the desired future state. Blueprint is a model of future
organisation, its working practices and processes, the information
it requires and technology it needs.
It also presents a gap analysis from the current state to future
state. This helps teams to effectively explore the alternative
approaches to deliver the new capability.
The purpose of a blueprint statement is to specify and ensure the
coherence of the entire future state and the solution set that will
lead to that future.
Aids to Programme Management Copyright © PROF. GUFRAN QURESHI
I] Dependency Diagrams: All program managers must track the dependencies that exist between the projects which make up
their program. The easiest way to do this is by using a Dependency Diagram.
A Dependency Diagram allows us to visualise the critical cross-project dependencies throughout the duration of the program. The
Dependency Diagram should not be confused with the Program Plan, which shows the milestones of the different projects and the
points at which benefits can start to be realised during the program.
A dependency diagram provides two key benefits to you as a program manager:
1. It allows you to ensure the complex network of project interdependencies is coordinated and synchronised.
2. It allows you to track that work packages produced by the different project teams are integrated.
In this example we can see that in order for the advertising agency to be briefed by the Marketing team, they must have the
final Hardware and Software designs. As the Hardware and Software teams are different project teams, before the designs are
given to marketing they will be checked for consistency by the Quality Assurance team.
During a program, a program manager will spend a large portion
of their time tracking and coordinating project interdependencies,
and the Dependency Diagram is the key tool use for doing this.
Types-
1. Finish to Start: When one task must finish so the next task can
begin.
2. Start to Start: When two tasks can start at the same time.
3. Start to Finish: Second task in the relationship cannot finish
until the first task starts but the second task can finish at
anytime after the first task starts.
4. Finish to Finish: Two tasks can start at any time but must finish
at the same time.
Copyright © PROF. GUFRAN QURESHI
II] Delivery Planning: The delivery plan of project deliverables is a strategic element for every Project Manager.
The goal of every project is, in fact, to produce a result that serves a specific purpose. With the word “purpose”, we can mean
the most disparate goals: a software program, a chair, a building, a translation, etc.
In essence, all planned activities should be directly related to the production of a deliverable. The Project Manager must have
in mind what the delivery plan of the deliverables is.
Any project activity that does not directly contribute to the production of a product should be restructured or removed from
the project plan.
Regardless of how many tasks have been completed by the project manager and his team, until a deliverable is not produced
and accepted by the client, the project team may not be paid!
Definition: Benefits management is a structured approach for maximising good business outcomes for an organisation as a result
of change. It is fundamental to effective programme and project management and successful delivery.
Benefits management involves identifying, planning, measuring and tracking benefits from the start of the programme or
project investment until realisation of the last projected benefit.
It aims to make sure that the desired benefits are specific, measurable, agreed, realistic and time bounded. The term benefits
management is often used interchangeably with the term benefits realisation.
Benefits management is the common thread between programme
and project delivery and successful change management.
The approach to programme, project and change management
needs to be benefit driven to ensure maximum value from the
investment in change.
Ultimately an organisation’s approach to benefits realisation
needs to be integrated within corporate planning to ensure a
strong management focus beyond implementation of the
programme or project.
Ch-3 An Overview of Project Planning Copyright © PROF. GUFRAN QURESHI
Definition: Project planning refers to everything you do to set up your project for success. It is the process you go through to
establish the steps required to define your project objectives, clarify the scope of what needs to be done and develop the task
list to do it.
Project planning is at the heart of the project life cycle, and tells everyone involved where you’re going and how you’re going
to get there.
The purpose of the project planning phase is to:
Establish business requirements.
Establish cost, schedule, list of deliverables, and delivery dates.
Establish resources plans.
Obtain management approval and proceed to the next phase.
Project planning:
guides the execution of the project, coordinating the activities.
facilitates better communication between the project stakeholders.
provides a means of tracking and monitoring the progress.
provides a detailed documentation regarding planning decisions.
Step 0 : Select project – This is called step 0 because in a way of project planning, it is outside the main project planning
process. Possibility study suggests us that the project is worthwhile or not. While feasibility study suggests that there is a
business case for the project, it would still need to be established that it should have priority over other projects. This evaluation
can be part of project portfolio management.
Step 1 : Identify project scope and objectives – Project scope management includes the processes required to ensure that the
project includes all the work required, and only the work required, to carry out the project successfully. The activities in this step
ensure that all parties to the project agree on the objectives and are dedicated to the success of the project.
Step 1.1: Project Scope Initiation Process: In this process the project sponsor gives the project manager the authority and
resources to define the project scope.
Step 1.2: Project Scope Planning Process: The project scope planning process identifies what work is and is not part of the
project. It primarily settles the boundaries of the project work. It is essential to also identify what is not a part of the project work
to avoid future problems.
Step 1.3: Project Scope Definition Process: The project scope definition process identifies the project deliverables and the
product deliverables. Project deliverables is the work that needs to be accomplished to deliver a product with specific features
and functions.
Step 1.4: Project Scope Verification Process: The scope verification process checks the scope for accuracy and completeness.
The scope boundaries and deliverables should be agreed upon by the project sponsor and project manager.
Step 1.5: Project Scope Change Control: The change control process has to approve the change to initiate amendments in
project schedule and budget. The project scope change control process also protects the scope boundaries from expanding
unnecessary due demands of additional features and functions to the project scope.
Step 2 : Identify Project Infrastructure – Projects are rarely carried out in a vacuum. There is usually some kind of
infrastructure into which the project must fit. Where the project managers are new to the organization, they must find out the
precise nature of this infrastructure.
Step 2.1: Identify relationship between the project and strategic planning.
Step 2.2: Identify installation standards and procedures.
Step 2.3: Identify project team organization.
The project charter is used to authorize a project manager and to give an overview of a project to the key stakeholders that do not like to go into
the details of your project.
1. Background (Introduction): Always start with an introduction telling the reader what is this project all about. It doesn’t have to be long
where it can be a summary of a few lines of sentences.
2. Goals (Objective): State the objective of your project. This can also be the output of your project of what your project will produce at the
end of it.
3. Stakeholders (Roles & Responsibilities): Key stakeholders such as project sponsor, project manager, and your functional manager
shouldn’t be out of your identification process. If you foresee the needs of other key stakeholders such as your directors, include them as
well in here.
4. Measurable Organizational Value (MOV): Although the project’s MOV was included in the business case, it is important that the MOV
be clearly defined and agreed upon before developing or executing the project plan. At this point, the MOV must be cast in stone. Once
agreed upon, the MOV for a project should not change.
5. Milestones (Scope): Having scope in your charter gives an overview to your busy stakeholders to know what you want to deliver in the
project by just glance over. Break the high-level requirements into key milestones that your key stakeholders want to see.
6. Project Budget: Money has always been the main concern of your stakeholder. You might not have the most accurate project budget now
because you might be relying on past project experience and a rough estimate to come out with a project budget.
7. Constraints: Includes your constraints of the project over here. It is important to keep your stakeholders updated about every potential
problem so that they could contribute a little to help.
8. Risks: Even at the initialization stage, you should be able to identify some high-level risk of the project. A risk is the uncertainties that
could potentially turn out to be an issue in your project as your project moves on.
9. Assumptions: Whatever you assume will have or will not have, document them. For instance, you could have assumption such as
“sufficient hardware servers are prepared by the client for this project” can be used to ensure your stakeholders are aware o f this.
10. Communications plan: A key event such as kick-off meeting, project progress update, project plan update and etc should be mentioned in
your communication plan of how often it will happen and who will be involved when such communication occurred.
11. Approval: A project charter without approval basically means nothing because no one recognized it. You need at least your project sponsor
to sign off on that document in order for you to be officially authorized as the project manager of that project.
Copyright © PROF. GUFRAN QURESHI
Step 4 : Identify Project Products and Activities – The more detailed planning of the individual activities now takes place.
The longer term planning is broad and in outline, while the more immediate tasks are planned in some detail.
Project Product / Deliverables: The next step after the development and approval of the project scope statement is project
planning. The primary requirement for project planning is the Work Breakdown Structure (WBS) for which the approved
project scope statement is required.
The project scope statement defines all the project deliverables. These defined deliverables are then clubbed together to form
the Delivery Definition Table (DDT).
The DDT contains the sequence of the delivery of the deliverables. The DDT is then used to create the Delivery Structure
Table which contains the work packages which is then further used to create the Work Breakdown Structure.
Thus, WBS is similar to Bill of Material (BOM), wherein a product is broken into its smallest component for which
estimation of time and cost is possible.
The idea behind WBS is to divide each component till its reaches its smallest component, the work package.
Benefits of WBS
It details the work required to complete the project
It breaks down the key project deliverables into smaller portions so that they can be understood by the group and then
parceled out to the necessary parties.
It defines who the necessary parties will be who are going to complete the work packages or perform the tasks involved.
It facilitates the quick development of a schedule by allocating effort estimates to specific sections of the WBS.
Copyright © PROF. GUFRAN QURESHI
Project Activities:
1. Project Planning: It is a set of multiple processes, or we can say that it is a task that performed before the construction of
the product starts.
2. Scope Management: It describes the scope of the project. Scope management is important because it clearly defines what
would do and what would not.
3. Estimation management: This is not only about cost estimation because whenever we start to develop software, but we
also figure out their size(line of code), efforts, time as well as cost.
4. Scheduling Management: Scheduling Management in software refers to all the activities to complete in the specified order
and within time slotted to each activity. Project managers define multiple tasks and arrange them keeping various factors in
mind.
5. Project Resource Management: In software Development, all the elements are referred to as resources for the project. It
can be a human resource, productive tools, and libraries.
6. Project Risk Management: Risk management consists of all the
activities like identification, analyzing and preparing the plan for
predictable and unpredictable risk in the project.
7. Project Communication Management: Communication is an
essential factor in the success of the project. It is a bridge
between client, organization, team members and as well as other
stakeholders of the project such as hardware suppliers.
8. Project Configuration Management: Configuration
management is about to control the changes in software like
requirements, design, and development of the product.
Copyright © PROF. GUFRAN QURESHI
Step 5 : Estimate Effort for Each Activity – There are three early estimates that are needed for a project--effort, duration, and
cost. Of the three, effort hours must be estimated first. Once you understand the effort that's required, you can assign reso urces
to determine how long the project will take (duration) and then you can estimate labor and non-labor costs.
Process:
1. Determine how accurate your estimate needs to be. Typically, the more accurate the estimate, the more detail is needed, and
the more time that is needed.
2. Create the initial estimate of effort hours for each activity and for the entire project. There are many techniques you can use
to estimate effort including task decomposition (Work Breakdown Structure), expert opinion, analogy, Pert, etc.
3. Add specialist resource hours. Make sure you have included hours for part-time and specialty resources. For instance, this
could include freelance people, training specialists, procurement, legal, administrative, etc.
4. Add project management time. This is the effort required to successfully and proactively manage a project. In general, add
15% of the effort hours for project management.
5. Add contingency hours. Contingency is used to reflect the uncertainty or risk associated with the estimate. If you're asked to
estimate work that is not well defined, you may add 50%, 75%, or more to reflect the uncertainty.
6. Calculate the total effort by adding up all the detailed work components.
7. Review and adjust as necessary. Sometimes when you add up all the components, the estimate seems obviously high or low.
Copyright © PROF. GUFRAN QURESHI
Step 6 : Identify Activity Risks – Risk is an integral part of an IT projects and therefore risk identification at the earliest
becomes all the more critical.
Risk identification is an iterative process, wherein the project manger and his team are always on the lookout for risk that may
sneak into the project or may have already sneaked in.
Risk identification needs to be done throughout the project lifecycle, because as the project develops new risk is likely to
emanate and pose a threat to the project.
Risk components:
Performance risk—the degree of uncertainty that the product will meet its requirements and be fit for its intended use.
Cost risk—the degree of uncertainty that the project budget will be maintained.
Support risk—the degree of uncertainty that the resultant software will be easy to correct, adapt, and enhance.
Schedule risk—the degree of uncertainty that the project schedule will be maintained and that the product will be delivered
on time.
Step 7 : Allocate Resources – Resource allocation is the process of assigning and scheduling available resources in the most
effective and economical manner. Projects will always need resources and resources are scarce. The task therefore lies with the
project manager to determine the proper timing of those resources within the project schedule.
Steps for allocating resources:
1. know the scope – to know what is your project about, what you will need to achieve it, and to be able to properly allocate
resources;
2. identify resources – to know which tools, equipment, etc. you will need it completing the project;
3. track time – to have a deep analysis of the progress and current situation as well as be able to control it in the real-time;
4. don’t look only at the big picture – the process of working on a project is not done with task allocation. Once you allocate
resources you have to keep track of all of them. If you lose at least one tiny detail, your project may fail;
5. don’t over-allocate – because your team will experience burnout and their productivity will significantly drop.
Copyright © PROF. GUFRAN QURESHI
Ch 5: Software Effort Estimation: Introduction, Where are the Estimates Done? Problems with Over- and
Under-Estimates, The Basis for Software Estimating, Software Effort Estimation Techniques, Bottomup
Estimating, The Top-down Approach and Parametric Models, Expert Judgement, Estimating by Analogy,
Albrecht Function Point 12 Analysis, Function Points Mark II, COSMIC Full Function Points, COCOMO II:
A Parametric Productivity Model, Cost Estimation, Staffing Pattern, Effect of Schedule Compression, Capers
Jones Estimating Rules of Thumb.
Build or Buy
Every project manager is faced with the eternal dilemma of whether to
build a business solution from scratch or buy an off the shelf application
to meet the needs of the organization.
The decision whether to build or buy can be made in six steps:
Copyright © PROF. GUFRAN QURESHI
Software Process Models: A software process model is a simplified representation of a software process. Each model
represents a process from a specific perspective.
These generic models are abstractions of the process that can be used to explain different approaches to the software development.
They can be adapted and extended to create more specific processes.
Some methodologies are sometimes known as software development life cycle (SDLC) methodologies, though this term could also
be used more generally to refer to any methodology.
Copyright © PROF. GUFRAN QURESHI
Choice of Process Models
The software process model framework is specific to the project. Thus, it is essential to select the software process model according
to the software which is to be developed.
The software project is considered efficient if the process model is selected according to the requirements. It is also essential to
consider time and cost while choosing a process model as cost and/or time constraints play an important role in software
development.
The basic characteristics required to select the process model are project type and associated risks, requirements of the pro ject, and
the users.
One of the key features of selecting a process model is to understand the project in terms of size, complexity, funds available, and
so on.
In addition, the risks which are associated with the project should also be considered. Note that only a few process models
emphasize risk assessment.
Based on their experience built over the years project managers have identified twenty criteria that influence the choice of process.
These criteria have been grouped into four broad categories namely: Personnel, Problem, Product & Resources.
Extreme Programming (XP) is a methodology for creating software within a very unstable environment. It allows flexibility
within the modelling process.
Extreme Programming technique is very helpful when there is constantly changing demands or requirements from the
customers or when they are not sure about the functionality of the system.
Extreme Programming is one of several popular Agile Processes. It has already been proven to be very successful at many
companies of all different sizes and industries world wide.
Extreme Programming emphasizes teamwork. Managers, customers, and developers are all equal partners in a collaborative
team. The team self-organizes around the problem to solve it as efficiently as possible.
Extreme Programming involves −
1. Writing unit tests before programming and keeping all of the tests running at all times. The unit tests are automated and
eliminates defects early, thus reducing the costs.
2. Starting with a simple design just enough to code the features at
hand and redesigning when required.
3. Programming in pairs (called pair programming), with two
programmers at one screen, taking turns to use the keyboard.
While one of them is at the keyboard, the other constantly
reviews and provides inputs.
4. Integrating and testing the whole system several times a day.
5. Putting a minimal working system into the production quickly
and upgrading it whenever required.
6. Keeping the customer involved all the time and obtaining
constant feedback.
Scrum Copyright © PROF. GUFRAN QURESHI
Scrum is a framework for developing, delivering, and sustaining products (or, more generally, things of value) in complex
domains and environments.
Scrum is an agile project management methodology or framework used primarily for software development projects with
the goal of delivering new software capability every 2-4 weeks.
It is a proven approach for building high value products in an iterative and incremental way using teamwork and empirical
process.
Scrum is not a process, technique, or definitive method. Rather, it is a framework within which you can employ various
processes and techniques.
The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component
within the framework serves a specific purpose and is essential to Scrum’s success and usage.
Scrum Theory
Scrum is founded on empirical process control theory, or empiricism. Three pillars uphold every implementation of empirical
process control: transparency, inspection, and adaptation.
1. Transparency: Significant aspects of the process must be visible to those responsible for the
outcome. Transparency requires those aspects be defined by a common standard so
observers share a common understanding of what is being seen.
2. Inspection: Scrum users must frequently inspect Scrum artifacts and progress toward a
Sprint Goal to detect undesirable variances. Their inspection should not be so frequent that
inspection gets in the way of the work. Inspections are most beneficial when diligently
performed by skilled inspectors at the point of work.
3. Adaptation: If an inspector determines that one or more aspects of a process deviate outside
acceptable limits, and that the resulting product will be unacceptable, the process or the
material being processed must be adjusted. An adjustment must be made as soon as possible
to minimize further deviation.
Lean Software Development Copyright © PROF. GUFRAN QURESHI
Lean Software Development (LSD) is an agile framework based on optimizing development time and resources, eliminating waste, and ultimately
delivering only what the product needs.
LSD method is based on the principle "Just in time production". It aims at increasing speed of software development and decreasing cost.
The Lean approach is also often referred to as the Minimum Viable Product (MVP) strategy, in which a team releases a bare-minimum version of its
product to the market, learns from users what they like, don’t like and want to be added, and then iterates based on this feedback.
LSD actually borrows its philosophy from the manufacturing industry, which originated the lean development process as a way to optimize production
and assembly lines to minimize waste and maximize customer value.
In fact, it was originally called the Toyota Production System, because automaker Toyota invented this approach in the middle of the twentieth century
as a way to streamline its production of cars and eliminate wasted time and resources.
1. Eliminate Wastes: To maximize value, We must minimize Waste. For software systems, Waste can take the form of partially done work, delays,
hand-offs, unnecessary features etc.
2. Empower the team: Rather than taking a micromanagement approach, we should respect team members superior knowledge of the technical steps
required on the project and let them make local decisions to be productive and successful.
3. Deliver Fast: We can maximize the project Return on investment (ROI) by quickly delivering valuable software and iterating through designs. We
find the best solution through the Rapid Evolution of options
4. Optimize the Whole: We aim to see the system as more than the sum of its parts. We go beyond the pieces of the project and look for how it aligns with the
organization. As part of optimizing the whole, we also focus on forming better inter-group relations.
5. Build quality in: Lean development doesn’t try to “test-in” quality at the end; instead, we
build quality into the product and continually assure quality throughout the development
process, using techniques like refactoring, continuous integration and unit testing.
6. Defer Decisions: We balance early planning with making decisions and committing to
things as late as possible. For example, this may mean re-prioritizing the backlog right up
until it is time to plan an iteration, or avoiding being tide to an early technology-bounded
solution.
7. Amplify Learning: This concept involves facilitating communication early and often,
getting feedback as soon as possible, and building on what we learn. Software projects are
business and technology learning experiences, so we should start soon and keep learning .
Managing Iterative Processes Copyright © PROF. GUFRAN QURESHI
Booch supports the iterative and incremental development of a system. He defines two processes describing the layout of Object
Oriented development:
Macro process
1. Establish core requirements (conceptualization).
2. Develop a model of the desired behavior (analysis).
3. Create an architecture (design).
4. Evolve the implementation (evolution).
5. Manage post delivery evolution (maintenance).
Micro process
1. Identify the classes and objects at a given level of abstraction.
2. Identify the semantics of these classes and objects.
3. Identify the relationships among these classes and objects.
4. Specify the interface and then the implementation of these classes and objects.
In principle, the micro process represent the daily activity of the individual developer,
or of a small team of developers. Here the analysis and design phases are intentionally
blurred.
The macro process serves as the controlling framework of the micro process. It
represents the activities of the entire development team on the scale of weeks to months
at a time.
The basic philosophy of the macro process is that of incremental development: the
system as a whole is built up step by step, each successive version consisting of the
previous ones plus a number of new functions.
Selecting the most Appropriate Process Model Copyright © PROF. GUFRAN QURESHI
The software process model framework is specific to the project. Thus, it is essential to select the software process model according to
the software which is to be developed.
The software project is considered efficient if the process model is selected according to the requirements. It is also essential to
consider time and cost while choosing a process model as cost and/or time constraints play an important role in software development.
The basic characteristics required to select the process model are project type and associated risks, requirements of the project, and the
users.
One of the key features of selecting a process model is to understand the project in terms of size, complexity, funds available, and so
on. In addition, the risks which are associated with the project should also be considered.
It is possible to use two different approaches for the construction and installation of an application. However, this is not possible with
the evolutionary approach where both the construction and installation need to be evolutionary.
The table below will give us a brief idea of which process model is to be used in the given conditions:
Factors Waterfall V-Shaped Evolutionary Prototyping Spiral Iterative and Incremental Agile
Unclear User Requirement Poor Poor Good Excellent Good Excellent
Unfamiliar Technology Poor Poor Excellent Excellent Good Poor
Complex System Good Good Excellent Excellent Good Poor
Reliable system Good Good Poor Excellent Good Good
Short Time Schedule Poor Poor Good Poor Excellent Excellent
Strong Project Management Excellent Excellent Excellent Excellent Excellent Excellent
Cost limitation Poor Poor Poor Poor Excellent Excellent
Visibility of Stakeholders Good Good Excellent Excellent Good Excellent
Skills limitation Good Good Poor Poor Good Poor
Documentation Excellent Excellent Good Good Excellent Poor
Component reusability Excellent Excellent Poor Poor Excellent Poor
Copyright © PROF. GUFRAN QURESHI
Ch-5 Software Effort Estimation
Definition: In software development, effort estimation is the process of predicting the most realistic amount of effort
(expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and
noisy input.
Estimation techniques are of utmost importance in software development life cycle, where the time required to complete a
particular task is estimated before a project begins.
Estimation is the process of finding an estimate, or approximation, which is a value that can be used for some purpose even
if input data may be incomplete, uncertain, or unstable.
Effective software project estimation is one of the most challenging and important activities in software development.
Proper project planning and control is not possible without a sound and reliable estimate. As a whole, the software industry
doesn’t estimate projects well and doesn’t use estimates appropriately. We suffer far more than we should as a result and we
need to focus some effort on improving the situation.
Under-estimating a project leads to under-staffing it (resulting in staff burnout),
under-scoping the quality assurance effort (running the risk of low quality
deliverables), and setting too short a schedule (resulting in loss of credibility as
deadlines are missed).
For those who figure on avoiding this situation by generously padding the
estimate, over-estimating a project can be just about as bad for the organization!
If you give a project more resources than it really needs without sufficient scope
controls it will use them. The project is then likely to cost more than it should (a
negative impact on the bottom line), take longer to deliver than necessary
(resulting in lost opportunities), and delay the use of your resources on the next
project.
Where are the Estimates Done? Copyright © PROF. GUFRAN QURESHI
Before the estimation process begins the scope of the project needs to be understood. It is helpful to have historical data
in the form of project metrics at hand. Project metrics provide valuable input for the generation of quantitative estimates.
Contrary to the belief that estimation is a one time task it is an ongoing process that is conducted at various stages of the
project. The primary stages at which estimating is done are as follows:
1. Strategic Planning: Strategic planning is the process of documenting and establishing a direction of your small
business—by assessing both where you are and where you're going. The strategic plan gives you a place to record your
mission, vision, and values, as well as your long-term goals and the action plans you'll use to reach them.
2. Feasibility Study: A feasibility study is an analysis that takes all of a project's relevant factors into account—including
economic, technical, legal, and scheduling considerations—to ascertain the likelihood of completing the project
successfully.
3. System Specification: The System Requirements Specification (SRS) (also known as a Software Requirement
Specification) document describes all data, functional and behavioral requirements of the software under production or
development.
4. Evaluation of Suppliers Proposals: The proposal evaluation techniques refer to the process of reviewing the proposals
given by the suppliers to support the contract award decisions of the buyer and the project team.
5. Project Planning: It is the process you go through to establish the steps required to define your project objectives,
clarify the scope of what needs to be done and develop the task list to do it..
Problems with Over and Under Estimates Copyright © PROF. GUFRAN QURESHI
Given the number of variables and the volatile project environment no estimate is going to perfect even when the project
manager is provided with project metrics from historical projects. Thus, it is unlikely that the estimate will be right in the
first place.
For any project task, it is unlikely that your estimate of how long it will take will be perfect. So, is it worse to overestimate
the time it will take to complete a task or underestimate it?
Cost of overestimation:
1. Overestimation creates the problem that the estimate become self-fulfilling. The task takes longer than it would have done
with a more accurate estimate in place.
2. There are two ideas behind this linked to how people behave. Firstly, Student’s Syndrome states that people often won’t
start working until very close to a deadline. Secondly, Parkinson’s Law states that work expands to fill the time available.
3. Therefore, if you have a task with overestimated length, the impact is the task might take longer than it ‘should’ do.
Costs of underestimation:
1. If a task is assumed to take long time than it actually needs, one of
two things will happen. Either the task gets done at lower quality, or
the task doesn’t get done on time and any tasks dependent on it are
pushed out.
2. Whilst obviously accurate estimates are the best outcome, over-
estimation is less bad than underestimation.
3. Underestimation can impact dependencies and the overall quality of
the project. Overestimation may be wasteful for the resources on a
particular task, but it is less likely to impact other tasks or overall
quality.
The Basis of Software Estimating Copyright © PROF. GUFRAN QURESHI
The basis of estimates is an important tool in project management. It involves estimators and project managers to calculate the total
cost needed for the entire project. It is used to support proposals, bidding and executing a project.
Effective software project estimation is an important activity in any software development project. One of the main reasons software
programs fail is our inability to accurately estimate software size.
Because we almost always estimate size too low, we do not adequately fund or allow enough time for development. Poor size
estimates are usually at the heart of cost and schedule overruns.
All estimates are made based upon some form of analogy: Historical Analogy, Expert Judgment, Models, and Rules-of-Thumb. The
role these methods play in generating an estimate depends upon where one is in the overall life-cycle.
Step 1: Gather and Analyze Software Functional & Programmatic Requirements: In this step we Analyze and refine software
requirements, software architecture, and programmatic constraints.
Step 2: Define the Work Elements and Procurements: The purpose of this step is to define the work elements and procurements for
the software project that will be included in the software estimate.
Step 3: Estimating the size of the project: Estimating the size of the software to be developed is the very first step to make an effective
estimation of the project. A customer's requirements and system specification forms a baseline for estimating the size of a software.
Step 4: Estimating the Effort: When we are finished with the size estimation process, the next step is to estimate the effort based on
the size. The estimation of effort can be made from the organisational specifics
of the software development life cycle.
Step 5: Estimating Schedule: After estimating the efforts, estimating the project
schedule from the effort estimated is the next step in the estimation process. The
schedule for a project will generally depend on human resources involved in a
process.
Step 6: Estimating the cost: To estimate the total cost of the software project is the
purpose of this step. The cost of a project is derived not only from the estimates of
effort and size but from other parameters such as hardware, travel expenses,
telecommunication costs, training cost etc. should also be taken into account.
Software Effort Estimation Techniques Copyright © PROF. GUFRAN QURESHI
Barry Bochm in his classic work on software effort models, identified the main ways of deriving estimates of software
development effort as:
1. Algorithmic models - which use 'effort drivers' representing characteristics of the target system and the implementation
environment to predict effort;
2. Expert judgement - where the advice of knowledgeable stall" is solicited;
3. Analogy - where a similar, completed, project is identified and its actual effort is used as a basis for the new project;
4. Parkinson - which identifies the staff effort available to do a project and uses that as the 'estimate';
5. Price to win - where the 'estimate' is a figure that appears to be sufficiently low to win a contract;
6. Top-down - where an overall estimate is formulated for the whole project and is then broken down into the effort required
for component tasks;
7. Bottom-up - where component tasks are identified and sized and these individual estimates are aggregated.
Clearly, the 'Parkinson' method is not really an effort prediction method, but a
method of setting the scope of a project. Similarly, 'price to win' is a way of
deciding a price and not a prediction method.
On these grounds. Boehm rejects them as prediction techniques although they
might have some value as management techniques. There is, for example, a
perfectly acceptable engineering practice of 'design to cost' which is one example
of the broader approach of 'design by objectives'.
Bottom-Up Estimate Copyright © PROF. GUFRAN QURESHI
Bottom-up estimating is a project management technique in which the people who are going to do the work take part in the
estimating process.
Typically those people are the employees, vendors and other project team members. They work with you, the project
manager, to develop estimates for tasks in the work breakdown structure (WBS).
Setting the estimates of the amount of work, duration and cost at the task level lets you combine them into estimates of
higher-level deliverables and the project as a whole.
Bottom-up estimating tends to develop a higher level of project team commitment than other types of estimates (like
parametric and analogous).
Advantages:
1. Increased Company-Wide Communication: When every employee actively participates in the decision-making process,
the overall communication among members of the organization will increase significantly.
2. Build Morale: All members of the business community will feel included and valued, which fosters a supportive and
communicative environment where employees can thrive and grow together.
3. Increased Collaboration: Employees of all levels are granted the opportunity
to discuss problems, bounce ideas off of one another, and build trust across
departments.
Disadvantages:
1. Bogging Down of Employees: Employees can be taken away from their own
tasks and pulled into larger projects, causing them to lose precious time.
2. Inaccurate Reflections of Data: A variety of people working on the same
projects simultaneously can cause skewed results and inaccurate decisions in the
long term.
The Top-down Approach and Parametric Models Copyright © PROF. GUFRAN QURESHI
“Top-down” means that all the project objectives, guidelines, information, plans, and fund processes are established by
management, and expectations are communicated down to each project participant.
A "top-down" approach is where an executive decision maker or other top person makes the decisions of how something
should be done.
Companies utilize the top-down approach in order to assess, determine, and implement business decisions made by upper
executives.
The processes are streamlined and communicated to lower rank employees, who carry out these tasks.
Advantages:
1. Decreased Risk: Since the highest level of management is also usually the most informed and most knowledgeable about
the business, there is a decreased risk involved in the decision-making process.
2. Strong Management: The upper authorities in a company will be able to determine best practices and reach goals easier
with decisions created and enforced at the highest ranks of a business.
3. Good Organization: Tasks are determined and filtered down company lines without any confusion because business
goals are set by upper management and will not be affected by outside opinions.
Disadvantages:
1. Limited Creativity: Employees are siloed (isolated) in their responsibilities
and are unable to contribute to the overall goals of the company —
sometimes leading to frustration and a lack of motivation to perform.
2. Slow Response to Challenges: When a challenge arises as a result of a
decision, it can take time for upper management to establish a solution
because there are limited minds contributing to decisions.
Algorithmic / Parametric Models Copyright © PROF. GUFRAN QURESHI
A parametric model is a set of related mathematical equations that incorporates variable parameters. A scenario
is defined by selecting a value for each parameter.
Software project managers use software parametric models and parametric estimation tools to estimate their projects'
duration, staffing and cost.
This technique can produce higher levels of accuracy depending upon the sophistication and the underlying data built into
the model.
In order for parametric models to have any validity they must be based on or proven using actual project data.
The prime advantage of these models is that they are objective, repeatable, calibrated and easy to use, although calibration
to previous experience may be a disadvantage when applied to a significantly different project.
Expert Judgement
Expert Judgment is a term that refers a specifically to a technique in which judgment is made based upon a specific set of
criteria and/or expertise that has been acquired in a specific knowledge area, or product area, a particular discipline, an
industry, etc.
It is quite often recommended as one among the best tools and techniques in the project management processes.
Experts are treated as assets in any organization and provide inputs to planning and estimating any activity as their
opinions are considered to be crucial.
The experts can be stakeholders or customers. Expert Judgment is one of the best accepted approaches and most useful too
during the planning phases of many activities.
The approach not only saves the time during the planning but also highlights risks to be considered while executing. It also
improves the quality of the estimates and provides accurate forecasts.
Experts’ opinions are considered throughout the risk management processes to reduce the impact of the project risks.
Expert judgment is inevitable during the project life cycle and sorted across all knowledge areas in effective project
management.
Estimating by Analogy Copyright © PROF. GUFRAN QURESHI
Analogous estimating is a common technique in project management to determine cost, schedule or resource estimates.
It is often used in situations where a rough estimate meets the needs of the stakeholders or at a time when not many details are
known about a project.
Applying the technique involves the selection of similar projects, the processing of historical data and compilation of the
estimate(s).
Analogous estimating is the act of using former projects to estimate how long or how much a current project will take or cost. In
other words, it is a technique that centers on comparison.
These areas are covered in this 5-step guide to analogous estimating.
1. Identify Similar Projects: The first step is to identify projects or types of work that are similar to the current endeavor. Some
companies have databases where they store data on historical projects, including their scope, complexity, efforts and time needed
for their completion.
2. Gather Historical Data and Experience: Once you have found similar projects or experts, you will have to gather the relevant
data. A data set for analogous estimations typically consists of a combination of cost, time and resources-related information.
3. Compare Characteristics of Projects: Select the projects with characteristics that
are similar to your project. You can do this by applying expert judgment or – in case of a
larger number of previous projects – by developing a kind of scoring system.
4. Select the Type of Analogous Estimate: Decide whether your result should be a one-
point estimate, a ratio estimate, a range or a three-point estimate. In the latter case, you
might also consider using the triangular or PERT method to determine a final estimate.
5. Choose the Value(s) that Fit for Your Current Project: Once you have decided about
the type of value that you are going to estimate, you need to pick the right reference
project(s). For a range estimate, you will typically choose the lowest and highest value,
respectively, from projects similar to yours.
Albrecht / IFPUG Function Point Analysis Copyright © PROF. GUFRAN QURESHI
Function point analysis is a standard method for measuring software development from the user's point of view. It provide a
standardized method for measuring the various functions of a software application.
FP (Function Point) is the most widespread functional type metrics suitable for quantifying a software application. It is
based on five users identifiable logical "functions", which are divided into two data function types and three transactional
function types.
For a given software application, each of these elements is quantified and weighted, counting its characteristic elements,
such as file references or logical fields.
Let us now understand how to apply the Albrecht’s Function Point method. Its procedure is as follows −
Determine the number of components (EI, EO, EQ, ILF, and ELF)
1. EI − The number of external inputs. These are elementary processes in which derived data passes across the boundary
from outside to inside. In an example library database system, enter an existing patron's library card number.
2. EO − The number of external output. These are elementary processes in which derived data passes across the boundary
from inside to outside. In an example library database system, display a list of books checked out to a patron.
3. EQ − The number of external queries. These are elementary processes with both input and output
components that result in data retrieval from one or more internal logical files and external interface files.
In an example library database system, determine what books are currently checked out to a patron.
4. ILF − The number of internal log files. These are user identifiable groups of logically related data
that resides entirely within the applications boundary that are maintained through external inputs.
In an example library database system, the file of books in the library.
5. ELF − The number of external log files. These are user identifiable groups
of logically related data that are used for reference purposes only, and
which reside entirely outside the system. In an example library database
system, the file that contains transactions in the library's billing system.
Calculation of Function Point (FP) Copyright © PROF. GUFRAN QURESHI
Step-1: F = 14 x scale
Scale varies from 0 to 5 according to character of Complexity Adjustment Factor (CAF).
0 = No Influence, 1 = Incidental, 2 = Moderate, 3 = Average, 4 = Significant, 5 = Essential.
Step-2: Calculate Complexity Adjustment Factor (CAF).
CAF = 0.65 + (0.01 x F)
Step-3: Calculate Unadjusted Function Point (UFP). Table (Required)
FUNCTION UNITS LOW AVG HIGH
EI 3 4 6
EO 4 5 7
EQ 3 4 6
ILF 7 10 15
EIF 5 7 10
Multiply each individual function point to corresponding values in TABLE.
Example:
Given the following values, compute function point when all complexity adjustment factor (CAF) and weighting factors are
average.
User Input = 50
User Output = 40
User Inquiries = 35
User Files = 6
External Interface = 4
Solution:
Step-1: As complexity adjustment factor is average (given in question), hence, scale = 3
F = 14 x 3 = 42
Step-2: Calculate Complexity Adjustment Factor (CAF).
CAF = 0.65 + (0.01 x 42) = 1.07
Step-3: As weighting factors are also average (given in question) hence we will multiply each individual function point to
corresponding values in TABLE.
UFP = (50x4) + (40x5) + (35x4) + (6x10) + (4x7) = 628
Step-4:
Function Point = 628 x 1.07 = 671.96
Copyright © PROF. GUFRAN QURESHI
Example:
Given the following values, compute function point when all complexity adjustment factor (CAF) is Essential.
User Input = 30 (simple)
User Output = 25 (Average)
User Inquiries = 20 (Average)
User Files = 10 (Simple)
External Interface = 12 (High)
Solution: Function Point = 654.75
Example:
Given the following values, compute function point when all complexity adjustment factor (CAF) is Moderate.
User Input = 20 (High)
User Output = 45 (Low)
User Inquiries = 30 (Average)
User Files = 40 (Low)
External Interface = 9 (High)
Solution: Function Point = 734.7
Function Point Mark II Copyright © PROF. GUFRAN QURESHI
Mark II is a size estimation technique of a software product. It belongs to the class of functional point group of
measurements.
Traditionally, software size was measured in terms of the number of source code lines (SLOC or KLOC). The amount of
SLOC had a direct association with the relative size of software. Mark II is also known as Mark II Function Point Analysis.
Functional size measurement technique is the only ISO standardised technique, that enables measuring the size of the Users
Functional Requirements.
Functional requirements are of an independent nature , hence it can measured irrespective of any other non-functional or
technical requirements. It is therefore an efficient technique to measure the effective of a software product.
COSMIC function points are the unit of measure of software functional size. The process of measuring software size is
called functional size measurement (FSM).
COSMIC functional size measurement is applicable to business, real-time and infrastructure software at any level of
decomposition.
It is independent of the technology or processes used to develop the system. It is an ISO standard. It is a refined
improvement over its predecessors (IFPUG and Mark II FP).
The COSMIC FFP measurement method defines an explicit model of software functionality, derived from the functional
user requirements.
Four types of data movement-ENTRY, EXIT, READ, and WRITE-are defined within this model. They form the basis for
defining the standard unit of functional size.
1. Entry: An ENTRY (E) is a movement of the data attributes found in one data group from the user side of the software
boundary to the inside of the software boundary. An ENTRY (E) does not update the data it moves.
2. Exit: An EXIT (X) is a movement of the data attributes found in one data
group from inside the software boundary to the user side of the software
boundary.An EXIT (X) does not read the data it moves.
3. Read: A READ (R) refers to data attributes found in one data group.
Functionally, a READ sub-process brings data from storage, within reach
of the functional process to which it belongs.
4. Write: A WRITE (W) refers to data attributes found in one data group.
Functionally, a WRITE sub-process sends data lying inside the functional
process to which it belongs to storage.
COCOMO II: A Parametric Productivity Model Copyright © PROF. GUFRAN QURESHI
COCOMO-II is the revised version of the original Cocomo (COnstructive COst MOdel) and is developed at University of
Southern California by Barry Boehm. It is the model that allows one to estimate the cost, effort and schedule when planning
a new software development activity.
COCOMO-II is an alternative to include components of uncertainty according to level of information available.
It is a parametric model that establishes mathematical equations that describe the relationships between software size -
primary cost factor usually represented in terms of function points - and other secondary factors that look to identify features
of a product, process, people and platform. These factors are known as cost drivers.
The model provides a complete framework to determine local productivity factors based on time & effort data in past projects.
It consists of three sub-models:
1. End User Programming: Application generators are used in this sub-model. End user write the code by using these
application generators. Example – Spreadsheets, report generator, etc.
2. Intermediate Sector:
(a). Application Generators and Composition Aids – This category will create
largely prepackaged capabilities for user programming. Their product will have
many reusable components. Typical firms operating in this sector are Microsoft,
Lotus, Oracle, IBM, Borland, Novell.
(b). Application Composition Sector – This category is too diversified and to be
handled by prepackaged solutions. It includes GUI, Databases, domain specific
components such as financial, medical or industrial process control packages.
(c). System Integration – This category deals with large scale and highly
embedded systems.
3. Infrastructure Sector: This category provides infrastructure for the software development like Operating System,
Database Management System, User Interface Management System, Networking System, etc.
Cost Estimation Copyright © PROF. GUFRAN QURESHI
Cost estimation in project management is the process of forecasting the financial and other resources needed to complete a
project within a defined scope.
Cost estimation accounts for each element required for the project—from materials to labor—and calculates a total amount
that determines a project’s budget.
Elements of cost estimation in project management:
There are two key types of costs addressed by the cost estimation
process:
1. Direct costs: These are the costs associated with a single area,
such as a department or this particular project itself. Examples
of direct costs include fixed labor, materials and equipment.
2. Indirect costs: These are costs incurred by the organization at
large, such as utilities and quality control.
In a classical view of software estimation process, the software requirements are the primary input to the process and also
form the basis for the cost estimation.
Cost driver is anything that may or will affect the cost of the software. Cost driver are things such as design methodology,
skill-levels, risk assessment, personnel experience, programming language or system complexity.
In a classical view of the estimation process, it will generate three outputs - efforts, duration and loading. The following is
a brief description of the outputs:
a. Manpower loading - number of personnel (which also includes management personnel) that are allocated to the project
as a function of time.
b. Project duration - time that is needed to complete the project.
c. Effort - amount of effort required to complete the project and is usually measured in units as man-months (MM) or
person-months (PM).
Staffing Pattern Copyright © PROF. GUFRAN QURESHI
Putnam’s Work
Putnam studied the problem of staffing of software projects and found that the software development has characteristics
very similar to other R & D projects studied by Norden.
He too observed that the Rayleigh-Norden curve can be used to relate the number of delivered lines of code to the effort
and the time required to develop the project.
By analyzing a large number of army projects, Putnam derived the following expression:
L = Ck K1/3 td 4/3
The various terms of this expression are as follows:
• K is the total effort expended (in PM) in the product development and L is
the product size in KLOC.
• td corresponds to the time of system and integration testing. Therefore, td can
be approximately considered as the time required to develop the software.
• Ck is the state of technology constant and reflects constraints that impede the
progress of the programmer. Typical values of Ck = 2 for poor development
environment (no methodology, poor documentation, and review, etc.), Ck = 8
for good software development environment (software engineering principles
are adhered to), Ck = 11 for an excellent.
The exact value of Ck for a specific project can be computed from the historical data of the organization developing it.
Putnam suggested that optimal staff build-up on a project should follow the Rayleigh curve. Only a small number of
engineers are needed at the beginning of a project to carry out planning and specification tasks. As the project progresses
and more detailed work is required, the number of engineers reaches a peak. After implementation and unit testing, the
number of project staff falls.
Effect of Schedule Compression Copyright © PROF. GUFRAN QURESHI
Schedule compression is a technique used in project management to shorten an already developed schedule. This might be done
to meet an update delivery date, a new opportunity or schedule delay. It’s done without changing the scope of the
program. There are two techniques that are commonly used in schedule compression. These are:
1. Crashing
2. Fast Tracking
Crashing
Crashing assigns more resources to an activity to decrease the overall
time to complete it.
The cost benefits of this activity have to be explored in order to make
it a useful technique.
The trade-off between cost and schedule must be understood to get the
best possible schedule compression.
Fast Tracking
Fast Tracking is the process of executing activities or phases that were
originally schedule sequential in parallel.
Activities can be overlapped, started earlier than proposed, start
activities that require different resources, and maybe combined
activities in the schedule.
This process does add risk to the schedule and program and must be
executed with care.
Capers Jones Estimating Rules of Thumb Copyright © PROF. GUFRAN QURESHI
Capers Jones in the year 1996 formulated simple rules based on his experience in estimating various parameters of large
software projects.
The objective behind formulating these rules was to provide the project manager with estimating rules which would be easy to
use and yet provide him with a fairly good idea of the various aspects of the project.
Rules Formulated by Capers Jones
Rule 1: SLOC Function Point Equivalence - SLOC technique helps in developing better understanding of the size of the
project and also estimating several other project parameters. However, when it comes to estimating the size of the project
the function point analysis is used on account of its advantages. Thus, it becomes necessary for the project manager to
determine SLOC measure from its function point measurement.
Rule 2: Project Duration Estimation - Function points raised to the power 0.4 predicts the approximate development time
in calendar months. E.g. If the size of a project is estimated by 325 function points i.e. approximately 40,000 SLOC then the
completion time for the project would be approximately 10 months.
Rule 3: Rate of Requirement Creep - Requirement creep is the increase in the requirements of the user and these keep on
increasing for a variety of reasons as the project progresses. User requirements creep in at an average rate of 2% per month
from the design through coding phases.
Rule 4: Defect Removal Efficiency - Each software review, inspection or test step will find
and remove 30% of the bugs that are present. Defect removal steps at various stages of the
project development ensure that the final product is reliable.
Rule 5: Project Manpower Estimation - The size of the software in function points divided
by 150 predicts the approximate number of personnel required for developing the application.
Rule 6: Software Development Effort Estimate - The approximate number of staff months
required to develop software is given by the software development time multiplied by the
number of personnel required.