Software Project Management Munotes
Software Project Management Munotes
INTRODUCTION TO SOFTWARE
PROJECT MANAGEMENT
Unit Structure
1.0 Objectives
1.1 Introduction
1.2 What is a project?
1.2.1 Characteristics of a project
1.3 Why is Software Project Management important
1.3.1 Software Project Management
1.4 Software Project vs Other Project
1.5 Contract Management And Technical Project Management
.in
1.5.1 Common features of contract management and technical
project management
1.5.2 Difference between Technical Project Management and
es
Contract Management
1.6 Activities Covered by Software Project Management
1.6.1 Project Plans, Methods and Methodologies
ot
1.0 OBJECTIVES
.in
Describes projects and its attributes.
• Compares software Project with other projects.
• Differences between project management and contract management.
es
• Outlines the roles and responsibilities of Project managers.
• Explains in detail Project Management life.
ot
1.1 INTRODUCTION
m
.in
• Project has specific goal(s)
• It has a definite start date and end date.
es
• It is not group of routine task or daily task
• Unlike routine activities, project comes to end when its goal(s) is
achieved
ot
.in
vi) It can alter plans as and when needed by the client or needed in the
project
es
vii) It also helps to communicate to the stakeholders about the progress
and state of the project and seek their opinions for further
development
ot
viii) It helps the project team to be prepared for any unforeseen issues
that might arise due to some presumptions that was made in the
planning stage of Project
un
ix) As the project team had collected inputs of the project from various
areas hence, they are able to develop a critical path for the successful
completion of the project
m
x) In the end, the project report ensures that the knowledge and
experiences are properly stored for future usage.
.in
Generally, Projects in various industries are of 2 types i] In House Projects
and ii] Out House Projects. When the industries/ companies use their own
software or develop their own personalized software within their
es
organization than it is called as “In House Projects”. On the other hand,
when the industries / companies contact software developers outside the
organization for their personal use by making a contract between the two
ot
organizations, than they are called “Out House Projects”. In “Out House
Projects” the client organization will appoint a manger for monitoring and
reviewing the contract and is called the Project Manager. His primarily
un
who is known as the Technical Project Manager and will specifically look
into the technical needs of the client organizations.
1.5.1 Common features of contract management and technical project
management
Some of the common features of contract management and technical
project management are as follows: -
a) stakeholders are involved in both.
b) Team from both the clients and suppliers are involved for
accomplishing the project.
c) They generally evolve out of need and requirements from both the
clients and suppliers.
d) They are interdependent on each other.
5
Software Project e) Standard protocols are maintained by both the clients and suppliers.
Management
1.5.2 Difference between Technical Project Management and
Contract Management:-
Some of the differences of contract management and technical project
management are as follows: -
.in
3. They solely focus on the They generally meet the suppliers
contract which is a bond on a regular basis in order to
between the suppliers and the emphasis their needs and
es
clients demands
4. Their primary duty is to Their primary duty is of proper
conduct research, do risk documentations which includes
ot
.in
of the organization, hence the project manager should also properly
understand the objectives of the business needs that lead to the
development of the project and will ultimately meet the
es
requirements of the stakeholders.
2] Stage 2 – Project Planning
ot
After the feasibility study is found viable for the organization in the
1ststage, planning is done. As the project is new to the organization
and has been undertaken for the first time, hence careful planning is
un
.in
most physically active and prominent phase of the project. The
second part of this stage is Controlling, and its main objective is to
quantify and mange the project activities in order to guarantee that
es
they on the right path to achieve their desired goals. There are 5
Variables of Project Control, and they are 1. Time 2. Cost 3. Quality
4. Scope 5. Risk The controlling process also adheres to the scope,
budget, schedule, and quality constraints of the project. It identifies
ot
any deviations if found, from the plan and proposes the corrective
measures that can be taken to rectify the deviations. Though it is
present in all the stages of the project, but it has more importance
un
.in
like the quality of the project delivered, customer satisfaction,
ethical practices used in the project, team work etc. Towards the end
of this stage, it determines whether the project delivered was as per
the need of the organization and gave the value of money, time and
es
the resources that were involved in the project.
1.6.1 Project Plans, Methods, And Methodologies
Before the execution of the actual production, proper planning has to be
ot
done. It is a dynamic activity and starts from the initial stage of the project
and continues till the product is delivered. They has constantly been
un
reviewed and revised as per the latest updates. It involves making sets of
plans that guides the project manager and his team members in managing
resources, time, cost, risks, etc. Generally, it includes the following: -
i. generation of the requirements
m
.in
organization. Custom Software are tailored as per the needs of the single
entity and would only be used by that single entity.
1.7.2 Distributed Computing Projects - A distributed computing system
es
consists of multiple software components that are on multiple computers
but runs as a single system. The computers that are in a distributed system
can be physically close together and connected by a local network, or they
ot
10
10
1.8 PROJECT CHARTER Introduction to Software
Project Management
.in
that has to be achieved in the project. The project charter clearly defines
the projects, its attributes, the end results, and the project authorities who
will be handling the project. The project charter along with the project
plan provide strategic plans for the implementation of the projects. It is
es
also the green signal for the project manger to commence the project.
1.8.1 Elements of the project charter
ot
.in
1) the client or the end user are the persons who will be using the
project
2) project team or the persons involved in the development of the
es
project
3) project authority / project in charge / project sponsor is the person
ot
who had the authority to sanctioned funds and resources and signs
the charter on behalf of the organization.
4) Project manager is the person who is solely responsible for the
un
Objectives are defined as some goals that is realistic and achievable and
should not be imaginary. Project objectives are the goals that one wants to
achieve at the end of the project. It will include deliverables and assets
along with more intangible objectives like increase in productivity and
motivation. Project objectives should be designed in such a way so that
they can be attainable, and time bound along with specific goals which can
be measurable at the end of the project.
The objectives of the project should be clearly defined and thoroughly
known to the project manager as he will be the main person responsible
for the success or failure of the project. Any amount of ambiguity in
12
12 understanding the objectives and purpose of the project would lead to
disastrous consequences. Clarity on the goals of the project will not only Introduction to Software
Project Management
help the organization in getting success but will also help to save time,
money and resources. As a result, the 1st step in project management is to
understand the motive of the organization behind developing the software
project. Once the objectives are clear to the project manager than he can
plan accordingly to achieve it keeping in mind the time, money and
resources allocated to him for the completion of the project. In
brief, project management objectives are the successful development of
the project’s events of initiation, planning, execution, regulation and
closure as well as the supervision of the project team’s operations towards
accomplishing all the agreed upon goals within the set scope, time, quality
and budget standards.
1.10.1 Reasons for setting objectives
Some of the reasons for setting objectives are as follows:-
• The successful development and implementation of all project’s
procedures. A project, regardless of its size, generally involves five
distinctive project life cycle phases of equal importance: Initiation,
.in
Planning and Design, Construction and Execution, Monitoring and
Control, Completion. The smooth and uninterrupted development
and execution of all the above phases guarantees the success of a
project.
es
• Productive guidance, efficient communication and apt
supervision of the project’s team. Always keep in mind that the
ot
Business case states the reasons to adopt the project charter. It provides
the justification for undertaking a project, programmed or portfolio. It is
very similar to an investment proposal. It evaluates the benefit, cost and
risk of alternative options and provides a rationale for the preferred
solution A business case is a way to prove to your client, customer, or
stakeholder that the product you are developing is worth the
investment. The need for a business case is that it collects the proposal,
outline, strategy and marketing plan in one document and offers a full look
at how the project will benefit the organization. But one can also proceed
.in
without business case in project planning as it is very similar to it. It is a
document that provides the top management with all the necessary
information needed to select the project that is to be funded. It is generally
es
built on the significance of the business goals and objectives. It also
considers the cost of the solution, breakeven point, return on investment
and the maintenance cost. Business case handles both the qualitative and
quantitative issues in the project. Moreover, the developer of the business
ot
case must present convincing facts and figures in favor of the project. A
decent business case should contain the following: -
un
i) Detail project report along with possible impacts, costs and benefits
ii) Include all the necessary information’s related to the project
m
iii) Should be clear and logical in comparing the cost benefits impact on
alternative project
iv) Systematically summarizing all the findings
1.11.1 Objectives of Business case
The objective of the business case is to evaluate and advocate the
utilization of information technology to improve the efficiency and
effectiveness of the organization. Information Technology are generally
undertaken for various reasons like improving customer satisfaction,
reducing costs, improving communications, integrating customers, etc.
with the underlying objectives of achieving organizational goals. There are
number of steps involved in developing the business case and they are as
follows: -
i) Formation of the project team – a teamwork is required to develop
a business case and the team includes the stakeholders, users, project
team and IT experts. This team is formed with the intention to
14
14
exchange knowledge, experience and the information in order to Introduction to Software
Project Management
develop the software project. As the stakeholders, are the primary
ones who will be affected by the project, so their views points
should be properly represented in the business case. There are
several advantages of having a team develop the business case and
they are as credibility, alignment with the organizational goals and
access to real costs. As the team comprises of people from different
areas of the organization, hence it helps the project manager to
overcome all the resistance that he might face in the development of
the project.
ii) Developing Measurable Organizational Value (MOV) – in IT
projects, the success of the project is assessed through Measurable
Organizational Value (MOV. For any project to be successful, the
MOV should align with the organization’s mission, objectives and
goals. A transparent MOV helps the team to know the road map of
the project along with the life cycle of the project. There are certain
steps that are to be followed in developing MOV and they are-
.in
a) Identifying the desired area of impact
b) Identifying the desired value of the project
c) Developing an appropriate matric
es
d) Setting a time frame for achieving the MOV
e) Verifying with stakeholders
f) Summarize the MOV in a clear and concise statement.
ot
There are certain factors that make a project successful. They are timely
.in
delivery of the project. the project developed should be reliable, it should
meet the expectations of the client, should be within the budget, the
product should be high performing, it should be maintainable and enhance
able.
es
On the other hand, there are some factors that are associated with the
failure of the project, and they are as unrealistic projects, inadequate
ot
I. Delivering on time
II. Delivering within allotted budget
III. Ensuring adherence to scope of the project
.in
5. Management is Indispensable
6. Management is Intangible
7. Management can Ensure Better Life
es
1.13.2 Management Control:-
is a function of management which supports to check errors to take
ot
action. Earlier concepts of control were only used when errors were
detected. Control in management includes setting standards, measuring
actual performance, and taking corrective action in decision making.
Control procedures provide managers with the type and amount of
m
.in
project can run smooth and efficiently. By breaking down the projects into
various stages, the activities get arranged in a sequential manner and the
risk factor also gets reduced. The stages are arranged in such a manner that
es
each stage of the project provides one or more deliverables which are
tangible in nature and can be verified. The deliverables at the end of each
stage helps the project manager to evaluate the outcome of that stage and
take necessary actions as and when required. Though it is said that the
ot
stages of project life cycle are linear in sequence but sometimes they
overlap to save time, but it is risky to undertake such activities. There are
6 Phases of Project Management Life Cycle, and they are
un
1. Project Initiation
Project initiation is the first stage in Project Management life cycle, where
m
the project starts rolling. It offers a summary of the project, along with the
tactics which are essential to achieve the desired results. In this stage, the
feasibility and business value of the project are determined.
The project manager starts with a meeting in order to understand the client
and stakeholders’ requirements, goals, and objectives. It is important to
study minute specifications and requirements in order to have a better
understanding of the project. once a decision is made to proceed, the
project can move on to the next step which is creation of a project team.
The Project Charter is measured to be the most significant document of
any project.
i. Undertake a Feasibility Study - In the initial stage, it is vital to
recognize the feasibility of the project. It is also important to
understand the viability from the economic, legal, operational, and
technical aspects.
18
18
ii. Identify the Project Scope – here the project scope is identified, Introduction to Software
Project Management
and it comprises of defining the length, breadth, and depth of the
project. On the other hand, it’s equally important to plan functions,
deadlines, tasks, features, and services.
iii. Identify the Project Deliverable–after identifying the project scope,
the next phase is to plan the project deliverables. They include
defining the product or services required.
iv. Identification of Project Stakeholders - identification of project
stakeholders is important. Meetings among team members and
experts helps to identify project stakeholders. Documentation of
related information on stakeholders is important for successful
completion of the project.
v. Develop a Business Case - Before developing a business case, one
should check whether the vital pillars of the project such as
feasibility, scope, and identification of stakeholders are in place. The
next phase is to come up with a complete business case. After the
formation of a statement of work (SoW) and the formation of a
.in
team, the project initiation phase comes to an end.
2. Project Planning –
es
A lot of planning is associated with the project in this phase. On
identifying the project objectives, it is time to develop a project plan
which could be followed by all. The planning phase decides a set of plans
ot
which will guide the team in implementing the phase and thereafter
closing it. The program assembled here will surely help you to manage
cost, quality, risk, changes, and time. The project plan established should
un
comprise all the important facts associated with the project goals and
objectives. It is the most composite phase in which project managers take
care of operational requirements, design limitations, and functional
requirements.
m
.in
it is important to get steady project information as it delivers the
essential information and even recognizes the problems.
ii. Conduct Regular Meetings - Before starting a project meeting, the
es
agenda should be clear to all the team members. Proper
communication should be done on time.
iii. Accomplish Problems - Problems inside the project are certain to
ot
during the execution phase and the main goal of this phase is to align with
the plan especially related to financial constraints and timelines. It is the
accountability of the project manager to make essential modifications
connected to resource allocation and guarantee that all the things are on
track. Monitoring project after the project execution phase will allow the
project manager to take remedial measures.
5. Project Closure
The final phase of the Project Management life cycle phases is similarly
significant as all other phases. This phase signifies the final phase of the
Project Management life cycle, which is also recognized as the “follow-
up” phase. During this time, the ultimate product is completely ready for
delivery. Here the project manager and his team focus on product release
and product delivery. During this phase, all the happenings associated with
the project are wrapped up. The closure phase is not necessarily after a
successful completion phase alone but also after the project meets with
failures. After the project is completed, it is timely delivery to clients and
20
20
it highlights the strengths, identifies the ambiguities and recommends how Introduction to Software
Project Management
they could be corrected for future projects.
6. Project Evaluation
It is not possible to immediately evaluate the real value of the software
project after its completion as the goals might be long time. By simply
appraising the success accomplished in implementing the hardware and
the software peripherals of the projects does not amount to having
succeeded in the project. The documents produced in the project
evaluation stage are very useful for use in the future projects that the
organizations might undertake later on. Evaluation of the project team
along with the project manager is also carried out in this stage.
.in
the time they are done. Most of the methods and methodologies such as
“waterfall” assume that every requirement of the project can be identified
before any designing or coding occurs.
es
On the other side, would it not be more pragmatic that the stakeholders
describe their vision to the development team and the team development
functional software. To overcomes these limitations of rational
methodologies the agile methodology was introduced. The agile
ot
.in
execute, and organize work. It's also viewed as the more flexible method
of the two. More professional service businesses are taking on short-term
or even one-time projects, so businesses are looking for alternative to the
traditional project management method. This is where the modern project
es
management method flourishes - in a fast-paced environment that can
handle mid-project changes swiftly and efficiently.
1.16.1 Advantages to Modern Project Management are:
ot
project (as they are in true, With the use of smart technology, one
can create a added flexible technique that will permit one to start the
project without having a broad idea of the end result. By doing so,
one can readily make modification to the project as per the desires
m
1.17 SUMMARY
.in
things done, etc. A project can be defined as a temporary effort to
accomplish a unique product, services or results. Some key attributes of a
project is it should have a start and finish point, a project should have a
fixed budget which is capitalized, a project seeks to make instant changes
es
or benefits and many more. A software project is more complex than any
other engineered artifacts. The complexity of a software project cannot be
measured until we work on it. The role of a software project manager is to
ot
1.18 QUESTIONS
1.19 REFERENCE
.in
es
ot
un
m
24
24
2
PROJECT EVALUATION AND
PROGRAM MANAGEMENT
Unit Structure
2.0 Objectives
2.1 Introduction
2.2 Business Case
2.3 Project Portfolio Management
2.4 Evaluation of Individual Projects
2.5 Cost Benefit Evaluation Techniques: -
2.5.1 Introduction
2.5.2 The costs include
.in
2.5.3 The benefits include
2.6 Cash flow Forecasting
2.7 Techniques of Cost benefit evaluation
es
2.7.1 Net Profit
2.7.2 Pay-out or the payback period
ot
.in
2.0 OBJECTIVES
2.1 INTRODUCTION
.in
It includes:
1) Introduction and Background to the proposal – This is a description
of the current environment of the proposed project.
es
2) The proposed project - An overview of the proposed provided
3) The market - This would contain information like the estimated
ot
organization.
5) Benefits – Wherever possible a financial value should be put on the
benefits of the implemented projects.
m
27
Software Project 2.3 Project Portfolio Management: -
Management
Project Portfolio Management provides an overview of all the projects that
an organization is undertaking or is considering. It is the assemblage of all
the different projects, Programs and all the other functionaries of the
company which lead to the overall growth of the company. Portfolio
management gives a sketch of the different projects the company is
considering and based on precedence the fund allocation is done by the
company. It also helps to provide effective governance to meet the
strategic business objectives. Companies do portfolio managements with
the aim of including projects which maximize the portfolio value and
exclude the projects which are a potential threat to the company’s
portfolio valuation. Some major applications of portfolio management are
risk examination, reduce or completely stop wastage of resources, keep
track of ongoing projects, do proper fund allocation. Some major aspects
of project portfolio management are
A) Project portfolio definition – The company must have the details
of the projects of the company and a resolution must be taken about
.in
which types of projects are to be included whether it should include
only renewal projects or only new projects.
B) Project Portfolio Management – After the creation of the portfolio
es
the progress of the project can be tracked, and the detailed costings
can also be recorded.
C) Project Portfolio Optimization – Some projects may have huge
ot
profits while some projects may have modest profits, there are
extremely knowledgeable managers which have the knowledge of
tracking the performance on a regular basis and a better balance is
un
achieved.
.in
process, but it is technically difficult. When the company has multiple
projects to be evaluated and then selected for further execution then it
becomes important to find the best or rather the most profitable amongst
es
them. In some cases, based on the feasibility it may become imperative
that more than one projects are approved, at such a time it becomes
necessary to classify the projects based on their importance so that the
issue of shortage of resources does not become an issue in the successful
ot
29
Software Project 2) Indirect Benefits – These are the subordinate benefits of the project
Management
include greater accuracy, on account of user-friendly design
resulting reducing errors, improved work output and improved
flexibility.
3) Intangible benefits – These benefits are difficult to measure even
after the system is operational but are evident to the user. The
benefits are the positive effects of the new system, and include entry
to the new markets, increased goodwill, enhanced interest in job
reduced staff turnover and thereby, lower recruitment costs. These
benefits are a part of the strategic decision making:
Communicating the costs and benefits in common ratio: To arrive at a
accurate picture the costs and benefits must be spoken in monetary
relationships and new benefits must be estimated where the difference
between the total benefits and total costs are expressed in monetary form
for better understanding of the project. The business establishment should
consider any project that shows an additional benefit should not be
sufficient especially when the company has numerous projects to choose
from and the resources in hand are limited. There may be better projects
.in
to allocate the limited resources.
idea behind the use of cash flows is to maximize the benefit from using
scares resources. In most cases the scarce resources are funds available for
capital investments and the benefits are returns on investment. The
un
Here are some of the methods for comparing the projects on the basis of
the cash flow forecasting
2.7.1. Net Profit
Net profit is the difference between the total cost and total income of the
entire life of the project. It is simple technique of calculating the total
benefits of the project how will this method different if the profit relative
to the size of the investment. In the table below project Y is generating
more benefit from Project X and Project Z but original expenditure in
project b is higher than both the projects.
Year Project X Project Y Project Z
0 (year the project is
-8,00,000 -7,00,000 -6,00,000
implemented)
1 3,00,000 2,00,000 1,50,000
.in
2 3,00,000 3,00,000 2,50,000
3 3,00,000 3,25,000 2,50,000
Net Profit 1,00,000 1,25,000 50,000
es
Also new profit techniques do not take into account the timing of payment
in our example above comparing projects A and B having to wait for
ot
31
Software Project (iii) The risk associated with the project arises due to uncertainty
Management
associated the cash inflows. A shorter payback period means less
uncertainty towards risk.
Disadvantages of Pay-out/payback period
(i) This method does not add color consideration to the time value of
money Cash inflows occurring at every point of time are simply
added
(ii) This method becomes a very inadequate measure of evaluating two
projects where cash inflows are inadequate.
(iii) It stresses capital recovery than profitability. It does not consider
the returns from a project after its pay-out period. Therefore, it may
not be a good method to evaluate where the comparison is between
two projects one involving a long gestation period and other yielding
a quick result only for a shorter period.
2.7.3 Return on investment (ROI)
.in
• The accounting rate of return or the Return-on-investment method of
evaluating is so named because it parallels traditional accounting
concepts of income and investment.
es
• A project is evaluated by computing a rate of return on the
investment, using accounting measures of net income. The formula
for the accounting rate of return is
ot
Project Investment
• This rate is compared with the rate expected on other projects had
the same funds been invested alternatively on those projects.
m
• This method ignores the timing of cash flows, the duration of cash
flows and the time value of money.
.in
Net present value = Net investment – total discounted cash inflows
If Net present value > 0 Project is feasible and vice versa.
es
Merits of NPV
1) It distinguishes the value of money against time
ot
33
Software Project 2) The calculation of concession rate grants grave difficulties. In fact,
Management
there is difference of opinion even regarding the exact method to
calculating it.
3) PV method is an absolute measure. Prima facie among the two
projects, the project with a Higher Present Value (or NPV) is
favored. But it is likely that this project may also value method may
not give dependable results.
4) This method may not give satisfactory results in case projects having
different effective lives.
2.7.5 Internal Rate of Return
Internal rate of return is the interest rate that discounts an investment's
future cash flows to the present so that the present value of cash inflows
exactly equals to the current worth of the cash outflow i.e., at that interest
rate when the net present value will be equal to zero. The discount rate i.e.,
cost of capital is considered is the determination of the net present value
while in the internal rate of return calculation the net present value is set
.in
equal to zero and the concession rate which pleases the factors are
determined and is called internal rate of return. Any venture that produces
a rate of return larger than the cost of capital should be acknowledged
es
because the project will rise the value of the organization. Unlike the NPV
method, calculating the IRR is more difficult. The technique used will
depend on whether the cash flows are annuity (equal year wise) or non-
uniform.
ot
The following steps are taken to determine the IRR for an annuity (Equal
cash flows)
un
.in
in the project
4. It is consistent with the overall objective of maximizing shareholders
wealth since the acceptance or the otherwise of a project based on
es
comparison of the irr with the required rate of return.
Limitations of Internal Rate of Return
ot
35
Software Project
Management
2.8 RISK EVALUATION
2.8.1 Introduction: -
Experience has taught us that any project can fail and the reasons for
failure are aplenty, lack of effective management, lack of proper
Engineering or occurrence of some unforeseen events. A risk is any
condition or event whose currently not certain but if were to occur it
would have a negative impact on the outcome of project. According to the
description of risk, one can originate the following. Occurrence is a
probabilistic condition. It will have a negative impact on the project where
the event to occur. Risk is those event that may or may not occur but if
they were to occur, they would have a negative impact on the project. One
may confuse with those events that are likely to occur but those who is
exact nature is not known in advance.
However, such events are not risk they are normal events that are likely to
happen during the project the only problem is that the exact nature is not
known in advance example they are bound to be some problems in
.in
programming which need to be identified and dealt with in the project
itself. Risks are probabilistic event which everyone is hopeful that they
would not occur however if risk events were to materialize, they would
surely harm the project. Risks are a normal component which is
es
complement in IT projects. On the other hand , IT projects are themselves
a risk as the technology keeps changing and can make the project out of
work even before it had been completed.
ot
The positive side is that risks are foreseeable events that the project
management team can plan for hence risk management plan is an
un
.in
However, most risks can be identified and planned for. Thus, risks are
foreseeable events which may make it possibly for the project team to
make adequate arrangements to neutralize the disc negative effect they
es
may have on the project. The risk management plan is entering integral
component of the overall project management plan. There is management
plan is an integral component of the overall project management plan.
During the development of the risk the major event is identification of risk
ot
and its management. The risk analysis process starts with detailing the risk
under the various risk analysis factors as mitigate, monitor, and manage.
un
The format to check and analyze the risk is known as CTC (condition
transition consequence). Thus, the risk management process comprises of
risk identification, assessment and resolution and is key tools in the
smooth completion of the project.
m
.in
Creating a central database for all the information related to risks,
documents of all risk item and the resolution strategies then adopted.
es
Such a database proof useful to future projects which may encounter
similar was they may refer to the process was that was adopted to
resolve the risk. Summarizing risk information and including it in
regular status meeting. Continuously valuing risk and develop
ot
.in
the earliest becomes more critical. This identification is an iterative
process where the project manager and his team are always on the
Lookout for the risk in the project. Risk identification need to be done
throughout the project lifecycle because as the project is newly developed
es
there is high chances that anything unwanted could intervene and pose a
threat to the project. An idealistic situation would be one in which all the
likely threats would be identified before the execution of the project and
ot
prepare oneself to counter it once the threats approach. But the reality is
that new risks might originate as the project progress and hence the project
manager and his team must be always alert and identify this and nub them
un
at the bud stage. Risk can be categorized based on the size of project and
the software developed and then the risk is identified and modified
accordingly. The risk which creates a business impact due to the
constraints imposed by management or the marketplace during the
m
development phase.
• Cost risk - to maintain the time and the cost of the project
.in
4) Delphi Technique - although the brainstorming sessions do manage
to identify the likely risk factors, but few participants shy away from
identify risk on account of personal reasons. To overcome these
es
limitations, the Delphi Technique is adopted. The Delphi Technique
comprises of surveys which are anonymously conducted among
team members to build consensus on risk events.
ot
their validity. When the assumptions are not verified then they
become potential risks in future in the project. Assumption log
should be an integral part of the project document.
m
The analysis of the risk factors is the most crucial step in risk management
as it determines the probability of their occurrence and the quantum of the
effect they might incur on the project. Risk assessment is carried out in a
sequential manner where the quality analysis is first done, and it is then
followed by the quantity analysis.
A] Quality Risk Analysis – it is a subjective approach and so does not
involve detail analysis of the risk. It does not determine the
probability of their occurrence and the quantum of risk that would be
faced by the project. the main reason for conducting this is to decide
whether the risk qualifies for further analysis. It is generally carried
out using a risk matrix which is also called as a probability- impact
40
40
matrix. In this Risk is “rated” for its probability and the Impact on a Project evaluation and
Programme Management
scale to understand the Risk Matrix.
B] Quantitative Risk Analysis – after successfully completing Quality
Risk Analysis, more serious research on the risks which pose as true
potential threats are carried out to plug their chances of occurrence
and the quantum of the effect, they might possess on the project. The
main drawback of this process is that it takes a lot of time to do the
detail analysis and as a result budget associated with it also
increases. The probability of the risk of occurrence and the quantum
of the effect can be mapped in a controlled environment.
.in
the decisions. It is referred to as the decision tree as different alternatives
form branches from an initial decision point known as the decision node
and then moves onto the various options in emanating from different
points called Chance Nodes.
es
A system analyst has the following considerations while constructing
decision tree
ot
.in
management is a process of handling numerous related projects regularly
with the purpose of improving the organization's performance.
When the project program is too large for a single project manager to
es
handle then number of project managers are engaged to run the smaller
projects. So smaller projects with the multiple project managers are
considered to achieve a single long-term goal, objective or benefit for the
ot
organization.
The program manager is not concerned with the day-to-day running of the
individual project but is the responsibility of the project managers. The
un
program manager needs to ensure that all the projects are running on target
and that each will achieve its overall contribution to the program. The
activity undertaken during the program management are
m
42
42
A Program usually starts with a vision of a changed organization and the Project evaluation and
Programme Management
benefits that will be incurred from the change. Delivering the change
organization will involve coordinating several projects and ensuring that
their outputs are used to deliver benefits. This will need modification in
management of business-as-usual activities
A detailed specification of the end state of the program is called a
blueprint however the scale of the program the impact of the dynamic
business environment mean that intermittent or regular redefinition may
be required. The core management processes are
.in
monitoring benefits
Responsibility for these components lies with three key roles- the program
sponsor, a program manager and business change managers
un
The sponsor is accountable for the achievement of the business case and
providing senior level commitment to the program.
The program manager is responsible for the day-to-day management of the
m
43
Software Project iv. Design - Design is the way in which the project that make a program
Management
are put together.
v. Approach – It is the way the Program will be Run
vi. Resource Management - Resource management look at the
scheduling and allocation of resources both with short-term and
long-term views.
vii. Responsibilities - Responsibilities are identified and located related
for each area of the program. Every associate of the Program must
undoubtedly understand his or her characters and the roles of the
other team members
viii. Benefits realization - Benefits realization is the process at the end
of the program by which the benefits which were identified at the
beginning of the program are being measured towards the end.
.in
There are four stages that take a program from the initiation to the
finalisation of a project which has a defined business objective or benefits.
The four stages in the program management
es
1) Program identification - This is the high-level process where the
strategy and direction of the organization are decided. It is from this
that the Programs require and determines the strategies for the
ot
.in
program. The program manager will have to ensure the optimal use of the
specialist staff and plan the allotment of this staff to the individual project
within the program. This means that some activities in the project will
have to be delayed until the requirement staff has been completed with the
es
previous task allotted to him. The program manager will have to ensure
the highly paid technical staff are utilized to optimum and utilization is not
intermittent. Thus, allocation of resources is critical from the point of view
ot
.in
industry also need to be considered.
iv. Product analysis- The business needs to analyze the
es
competitive position of its products in the context of the
development in the market
D) SWOT analysis - SWOT analysis combines the analysis of the
ot
.in
a person to lead the Program and holds a prominent position in the
organization usually coming from the supporting group. The necessity for
the prominent position will specify the importance of the program to the
organization while the need for the person to come from the supporting
es
group is that these people have identified the need for the program and
that they are totally aware of its implications in the organization
ot
Program brief –
The next step in the program construction is the construction of a program
brief. The Program briefly undertakes the study of the feasibility of a
un
ii. Highlighting the Benefits that the program will create for the
organization
iii. The program shall also identify the risk that the program is likely to
encounter
iv. Will also highlight the resources required and the timelines for the
implementation of the program
2.19.2 The vision statements: -
The program brief provides the supporting organization with sufficient
information to decide whether the program is worth undertaking. If the
program brief is found to be worthy, then only it will be sent to the next
stage where detailed planning is done. A small team will take up the
planning and a program manager with the similar experience will be
appointed to handle the day-to-day responsibilities of the program. The
primary job of the team and the manager is to fine tune the preliminary
vision statement. The re-defined vision statement of the program should 47
Software Project be able to highlight the capabilities of the program and how it will
Management
improve the organization and its performance. The main drawback of the
vision statement for the program is that it will not be able to provide the
exact financial details and the performance of the program.
2.19.3 The design / blueprint: -
The design provides the changes to be made in the structure and the
processes for the organization to achieve the improved ability as described
in the vision statement. The Design or the blueprint provides the following
i. new processes that are essential for the project
ii. Changes in the organizational structure
iii. Staff and skills required to change the structure
iv. Cost and performance associated with the program
The design states the way the objectives of the organization as stated in
the vision statement would be accomplished. The design offers the
particulars of the working of the program. The design also provides when
.in
the predictable benefits from the enhanced abilities will be realized. The
Management structure who will undertake the proposed changes is also to
be planned. The program manager will have to make a list of projects that
es
will ultimately enable the organization to achieve its objective. These
projects will be listed in the program portfolio in the order in which they
should be executed along with the estimated timescales for each of the
individual project within the portfolio.
ot
It is natural that the program will affect many different groups within the
organization. Some groups will be directly affected while others will have
un
Program management has a much wider context than that of the project
management. According to a Project Management Institute (PMI), “A
program is a group of related projects managed in a coordinated manner to
48
48 obtain benefits and control not available from managing them
individually. Programs may comprise of essentials of connected work Project evaluation and
Programme Management
outside the scope of the distinct projects in the program. Some projects
inside a program can distribute useful incremental assistances to
organization before the program itself has completed.”
So, a program comprises of many interlinked projects which contribute to
the success of the strategic plan. The projects inside the program relate to
each other and hence need to be coordinator and controlled in a manner
that delivers increased benefits and it would not have been possible by
managing them individually. Project Management in the process of
managing several related projects with the intentions of improving the
organization’s performance.
Programs may also consist of elements of linked work which are outside
the scope of individual projects inside the program. However, the program
manager should have the foresightedness of the purpose and status of the
projects in a program. He can use this foresightedness to support the
project level actions to ensure the program goals are achieved. The project
manager should be provided with the program perspective or ideas and
.in
approaches to solving project issues that would have an impact on the
program.
Within a program, there is a need to identify and manage the cross projects
es
which have dependencies on each other. Generally, the project
management office does not have sufficient knowledge of the risk, issues,
requirements, and design solutions to be applied to manage the program
successfully. In such situations, the program manager is in a better
ot
The program manager must be able to track the dependencies between the
projects that make up the program and this is generally done with the help
of Dependency Diagrams. A Dependency Diagrams helps to track the
critical dependencies of cross projects throughout the Programs. This
provides two advantages to the program manager-
i. It guarantees that the complex network of project and their
interdependencies are coordinated and synchronized.
ii. It helps in tracking of the flow of work completed by different
projects teams associated in the program. Moreover, it also ensures
that all the works are properly integrated with each other.
However, the dependency diagrams should not be confused with the
program plans. Program plans only show the milestones of the different
projects and highlights the benefits that would be achieved in the end
while the Dependency Diagrams helps to track and coordinate project
interdependencies and eases the work pressure of the program manager.
49
Software Project 2.21.2 Delivery Planning: -
Management
The Dependency Diagram is just a forerunner to a more detailed Program
planning diagram. A detailed program includes tranches of projects. A
tranche is a group of projects that deliver their products at the same stage
of the program, and it is not possible to move ahead without the
completion of this stage. The primary criteria for grouping these projects
are that the collective deliverables of these projects act as new benefits to
the clients. Moreover, the tranches of projects are formed to avoid clashes
for scarce resources as it may permit optional sharing of scare resources.
They can be identified through the project briefs defining the scope and
objectives of each individual project in the whole Program. Each project
tranche delivers some tangible benefits to the customers.
.in
organizations are becoming more aware of the lack of tangible evidence of
the returns on investment in information Technologies in terms of improve
productivity. Though many organizations have reorganized their business
processes in order to improve the effectiveness and efficiencies, but the
es
expected benefits have not been realized. As a result, benefit management
exercises are undertaken to mend the defects of the management. Hence,
the benefit management exercises start with –
ot
1.23 SUMMARY: -
A business case provides justification for undertaking a project,
programme or portfolio. It provides a comprehensive analysis of all the
pros and cons of any particular project. It provides the decision makers,
stakeholders and the public with a management tool for evidence based
and transparent decision making. It is a framework for delivery and
performance evaluation of the subsequent policy, strategy or project to
.in
follow thereafter. Project portfolio management is a strategy that
evaluates potential projects by their prospective success and risks, then
delegates staff, resources and timeline in a way that maximizes
organizational performance. A cost benefit analysis is the process of
es
comparing the projected or estimated costs and benefits associated with a
project decision to determine whether it makes sense from a business
perspective. The different cost benefit evaluation techniques are software
ot
51
Software Project
Management
1.24 QUESTION: -
1.25 REFERENCES
.in
• Project and Program Evaluation Consultancy With Terms of
Reference, Challenges, Opportunities, and Recommendations by
Moses Jeremiah Barasa Kabeyi - Durban University of
es
Technology
• The basic project management reference library Cook, Desmond L. |
Adams, John R. | Hannah, H.
ot
• https://www.routledge.com/The-Basics-of-Project-Evaluation-and-
Lessons-Learned/Thomas/p/book/9781482204537
un
52
52
3
INTRODUCTION TO STEPWISE
PROJECT PLANNING
Unit Structure
3.0 Objectives
3.1 Introduction
3.1.1 Defining the business need
3.1.2 Business goals and objectives
3.1.3 Undertaking the feasibility study
3.2 Creating the Business Case
3.2.1 Drafting a project scope statement
3.2.2 Prioritizing projects
3.2.3 Creating a Financial Plan
.in
3.2.4 Approach to Planning
3.2.5 Creating Milestones
3.2.6 Planning and Contingency Planning
es
3.3 Step 0: Select Project
3.3.1 Step 1: Identify Project Scope and Objectives
3.3.2 Step 2: Identify Project infrastructure
ot
3.0 OBJECTIVES
The project planning phase is the longest and the most significant phase of
the project cycle. Without proper and systematic scope planning, a project
has a poor chance of success. Team members must decide on the budget,
set timelines and identify the resources and any hindrances that one may
meet in attaining success in the project. The project team validates the
availability of resources, materials and expertise which are critical to the
on-time project completion. Project team should spend the quality time in
planning a project and should make any plan changes carefully before
moving on to the next stage of the project. The team may table their
project plans in writing to explain clearly the roles and responsibilities and
deadlines of the project. From project manager’s point of view, project
planning is the first step in the execution of the project. A project plan is
iterative process that connects the approach and the intent of the manager.
A project plan will provide the details of the processes that will be used in
the project and how the project work will be implemented, controlled and
commissioned. The first step in project planning is to research the business
.in
opportunities or the problems that the project aims to address. Good
research will empower the project manager to develop proper
understanding of the problem. The research can be done by interviewing
the key stakeholders of the project. The project manager needs to know
es
why the project is being started and what it means to complete it. The key
success of the project success depends on the clear understanding on the
part of the project manager and the stakeholder. The idea of the end result
ot
Every project has a driving business need and which ultimately identifies
and defines the business need and is the first activity of the project
manager or the business analyst to undertake. The business needs help the
m
project manager in defining the project scope and developing the project
plan. This also helps the project manager to understand the stakeholder’s
requirements and end result that the project must accomplish.
3.1.2 Business goals and objectives
Whenever an organisation chooses to start a project, it must have some
business goals or objectives that it wishes to accomplish. The goals or
objectives could be anything like increasing the efficiency, enhance
customer satisfaction, generate revenue, etc. Business goals reflect the
business scenario that the organisation predicts once the project will be
implemented. So, the first job of the project manager after the goals and
objectives are determined is to make a current assessment of the business
environment that had prompted the requirement for the change. The
difference between the current state and the future predicted state
generally indicates the scope of the project. By defining the business goals
and objectives of project, the project manager is simply describing the end
54
54 results of the project. The business goals and objectives help in defining
the time and the cost associated with the project. For achieving the Introduction to Stepwise
Project Planning
business goals and objectives, the project manager can take help of various
tools such as brainstorming, discussions with its focus groups,
benchmarking, etc.
3.1.3 Undertaking the feasibility study
A feasibility study is a report of the research that the project manager has
undertaken. It helps in defining the validity or scope of the entire project
or a part of the project. The feasibility study provides detail information to
the management about a problem or the business opportunities that are
realizable. Some feasibility studies may also cover the financial aspects of
the project that is undertaken. Financial part of the feasibility study will
tell the management whether it makes the financial sense in undertaking
the project and will also indicate the return on investment. The project
manager while making the feasibility report should refrain from
expressing his view about the feasibility of the project. The project report
should be highly realistic and should cover all the aspects of the project,
its ability to address the problem or realise the business opportunities,
.in
financial implications and the value that it will add to the organisation.
The project manager should be reasonable in assessment and should not be
attracted to impose new technology merely for the sake of Technology.
The feasibility learning contains of the following: -
es
1) Executive summary
The purpose of the executive summary is to provide the reader with
ot
Here, the business problems that the organisation is facing and its
impact on the functioning of the organisation are debated. The
business goals or objectives can be utilized to link the project to the
m
55
Software Project 4) Assessment of alternative
Management
A feasibility study includes numerous alternative solutions for the
business problem or opportunities. The project manager has to state
in the report the alternatives evaluated, basis for selection of the
alternative and the manner in which the alternative differs from
another.
5) Impacted Areas
Here, the feasibility study identifies the impacted people, addresses
the issues concerning the users and determines the capability
resource gap. Generally, it cover the process of implementation of
the new technology. Some of the issues addressed are;
a) Possibly downtime the user will experience due to
implementation of the project
b) Phased introduction of the new technology within the
organisation.
.in
c) Assessment of requirement for training, the number of users
requiring training, the training period and the resources that
will be needed to impart training
es
d) Learning curve of the new software
e) Methods by which the new software will integrate with the
ot
The feasibility report will address the financial issues related to the
project. Some of the problems are mentioned hereby
i. Pricing of the new technology
ii. Licensing fee and renewal period
iii. Cost of training
iv. Additional financial burden arising due to the requirement of
the trained personnel
v. Cost of labour required in the technology
vi. Technical support from vendor
vii. Loss incurred for not adopting the new technology
viii. Return on investment analysis
56
56
3.2 CREATING THE BUSINESS CASE Introduction to Stepwise
Project Planning
.in
project deliverable and the work needed to be done by the project team to
accomplish those deliverables. The project scope statement is the output of
the joint effort of the project manager, project sponsor and the stakeholder.
As many people are involved in making and approving the statement, it
es
undergoes considerable modification before it gets the final approval from
the people who were in the project. It serves as the main document as the
remainder of the stages in the planning process. The deliverables that the
ot
project will create can be used as a reference point for future project
decisions.
un
.in
organization has to prioritize the projects created on the worth of the
organization, the success rate of the project manager, and the resolution of
the project. The role of the project sponsor is very vital in confirming that
the project gets the priority from the management of the organization. For
es
this to happen, the project sponsor should truly believe in the project, the
technology, and the abilities of the project manager. Moreover, the project
sponsor should have thump within the management to get priority
ot
treatment for the project that are important. Once the project sponsor has
entirely believed the idea of the project than he should be ready to defend
un
the projects whenever the need arises. However, for this to materialize, the
project sponsor should be frequently updated about the existing status of
the project. The role of the project manager is that of a middle man and
acts as an intermediary between the project team and the project sponsor.
m
Each and very communication regarding the project has to pass through
the project manager.
Many a times it has been detected that project managers recommend the
use of the latest and most advanced form of technology without matching
the utility of the technology with the requirements of the project.
However, purchasing technology merely for the sake of technology is not
a sensible decision and the project manager should refrain from doing so.
While planning for technology the project manager should always keep a
keen eye on the financial budget and aspects of the project. Depending on
the requirements of the key stakeholders and the budget, the technology
should be finalized. Henceforth, while finalizing the technology the
project manager should ensure the following;
58
58
• Technology selected should enhance the productivity of the Introduction to Stepwise
Project Planning
company.
• Return on Investment on the project should be within the acceptable
boundaries of the project.
• The proposed technology should perfectly integrate with the
hardware and software infrastructure of the company.
• Time for unfashionableness of the technology should be checked.
Also, the time for next up gradation should be checked properly.
• The breakeven point for the investment in the technology should be
checked.
• Vendor credibility should also be checked.
.in
cost effective. Hence, the project manager should not go for the best
technology but the right technology. The right technology is the one that
will bring the desired results to the company. Another contributing factor
es
to the selection of technology is the predictable level of quality of the
project deliverables. As, quality is a very relative factor, so while selecting
the technology it should be ensured that the quality of the project
deliverables meets the requirements of the key stakeholders of the project.
ot
.in
team. The project manager should assign individual research topics along
with the objectives of their research to each of the team members along
with the deadlines for the completion of the research. After all the team
es
members have completed the research, the information’s should be
collected and decision should be made according to the research. Every
main plan of the project should have a contingency plan ready
simultaneously. A contingency plan is a back up plan which will be kept
ot
in reserve and will be resorted to in case the original main plan fails to
deliver at any stage of the project. As a result, it is always desirable,
essential and beneficial to keep a continency plan ready. Every project has
un
After the business case is ready, it is sent to the management for approval.
As in every organisation there are a number of ongoing projects, number
of projects are waiting for approval, funding and resource allocation. So,
each and every project has to compete with several other in order to see
the light of day. The criteria for selection of the project and its inclusion in
the company's product portfolio is similar to the analysis for a proposed
project alternative. The management of the company has to strike a
balance in the portfolio in such a manner so that the total sum of the risk
associated with each project does not make the total portfolio a risky one.
Generally, the projects selected in the portfolio has varying degrees of
risks, technological complexities, size, resource requirements and strategic
inputs. If a company only selects projects which have very low risk and
technological complexities than it will fail to ride the technological wave
60
60 and its employees will be feeling that their talent is not been being utilized
properly and will be feeling stagnated due to the lack of the growth, Introduction to Stepwise
Project Planning
challenges and opportunities. On the other hand, if the company whose
project portfolio comprises only of risk and technically Complexities than
the projects can end up in a dangerous. Therefore, it is necessary for a
company to strike a balance in the Portfolio of projects having varying
degrees of risk and technological complexity. Moreover, the organisations
may be interested to undertake number of projects but is handicapped by
the lack of resources and funds to finance each project and hence it has to
prioritise and select the project. The selection process determines which
project will be funded in a particular period. Though different
organisations have their own selection process but a standard process is
adopted by most of the companies. The first step in the screening process
is in which the projects receive for approval as screen for the compatibility
with the organisational standards. The projects which qualify the standards
are sent to the decision-making committee for project approval. The
committee that compares the submitted project on various factors such as
risk, cost, complexity and time with the other projects in the company
which are either on the verge of completion or have been recently
implemented. Depending on the comparative analysis of the projects, they
.in
are either approved and assigned to the project manager for action or
dismissed.
3.3.1 Step 1: Identify Project Scope and Objectives: -
es
Project scope management includes the process required to ensure the
project includes all the work required to carry out the project successfully.
ot
.in
boundaries. Moreover, stakeholders need, wants, and expectations,
are Analyzed and converted into project deliverables while ensuring
that they do not cross the boundaries of the identified project scope.
The assumptions and constraints are Analyzed for completeness
es
with additional assumptions and constraints added if felt necessary.
The project team members and other stakeholders who have
additional insight into the preliminary project scope statement
ot
should Analyze and develop the project scope definition. There are
two types of deliverables or scope, project-oriented
deliverables/scope and product -oriented deliverables/scope.
un
.in
method or a new feature or a request from management or customers
to change the deliverables, or in some cases the cause for change is
the manager himself. Whatever, be the reason for the change, if not
managed properly can derail the entire project. To make changes in
es
IT project management is a difficult process to incorporate, but it is
almost a regular feature in every project due to the very nature of the
industry. The change control process has to approve the change to
ot
.in
ambiguous nature, or if any contradictory statement is present and
then tries to resolve these issues in order to attain the desired
objectives of the project.
es
iii. Recording requirements: The Requirements of the project must be
documented either as language documents or as a process
specification.
ot
The easiest and most convenient approach for collecting the project
requirement is to discuss with the key stakeholders. Discussing about the
requirements of the project will help the project manager to understand the
un
requirement with the business analyst and stakeholder to get a clear idea of
all the requirements. In the absence of a business analyst, the project
manager has to gather all the requirements on his own. Although the work
is too large but it will help the project manager in developing a clear
understanding of project scope, quality expectations and then identify and
address any threats to the project and its results. Many, at times it has been
witnessed that the number of stakeholders is too large and it is not feasible
for the project manager to interact with each and every stakeholder on a
one-to-one basis. In such a situation the project manager can resort to web
technology and conduct a survey or ask the stakeholders to nominate
representatives amongst them to interact of a daily or project stage bases.
The project manager can then meet the representatives and discuss the
requirements that will affect the large number of stakeholders.
In addition to the above method, a very effective alternative way of
collecting requirement is to passively or maybe actively observing the
stakeholders at work. This gives the project manager an idea of the
requirements from the project by the stakeholders. Whatever, be the
64
64
approach adopted, the project manager should ensure that all the key Introduction to Stepwise
Project Planning
stakeholders are in agreement with the requirements from the project.
Once the requirements and purpose behind the project have been defined,
the project manager can determine the time frame that will be required for
the completion of the project. Although, the management of the
organization has set some time frame for the completion of the project, the
project manager should make his own estimation based on the resources
and the requirements that are available with him.For estimating the time
frame, the project manager should be aware of the end result of the
project. The end result of the project can be discussed with the project in
charge. After the end result has been decided upon, the project manager
can chalk out the path that the project should take. The project manager is
solely responsible for setting the goals and deciding the path the project
should in order to reach the desired goals. However, the project manager
should develop the path after thorough discussion with the all the key
stake holders.
IT Project Management is a complex balancing act of technology between
the internal and the external factors that are involved in the projects. Some
.in
of the external factors are demand, market conditions and the
technological changes. Hence, the project manager should ensure the
following in the first place;
es
• Project has clearly defined objectives
• Project has well defined end results
• Project should spell out the exact requirements
ot
• Project should also take into account any government regulation that
it should abide by
• Project should have reasonable time frame for completion
m
.in
manager along with his team which documents the project's MOV, defines
the infrastructure, summarizes the project plan, defines the roles and
responsibilities and states project control mechanism. The project charter
and the project plan should be developed simultaneously as the summary
es
of the plan has to be included in the project charter. Moreover, the
infrastructure identified in the project charter will influence the project
schedule and the estimates in the project plan. In the development of the
ot
project charter and project plan, the project manager, the project team, and
the project sponsor should be included. This will ensure that they all agree
and subscribe to the assumptions and constraints in the project plan and
un
.in
command.
v. Project Control Mechanism - As the project progresses, new
data and information arises a need to make changes to the
es
project scope, schedule and budget will certainly be required.
But, incorporating these changes is not an easy job and may
make the project team lose focus. Therefore, to facilitate
change the project charter should outline a process for change
ot
management.
3.3.4 Step 4: Identify Project Products and Activities: -
un
.in
ii. Benefits of WBS
Dividing complex projects to simpler and manageable tasks is
es
the main purpose of developing WBS. This method is used by
project managers to simplify project execution as smaller work
packages and activities so that they are easier to manage.
Following are the benefits for developing WBS in a project:
ot
understanding of it.
c. WBS provides an accurate and readable project
organization.
d. WBS facilitates accurate assignment of responsibilities
to the project team.
e. WBS indicates the project milestones and control points.
iii. Developing the WBS
Project managers, project team and Subject Matter Experts
(SME) characteristically develop a WBS as a predecessor to a
detailed project schedule and budget estimate. Though, there
are different methods of decomposing project work and
creating WBS, the starting point for deriving a WBS would be
to identify the main deliverables of the project. The next step
would be to convene a meeting of all team members and
68
68
subject matter experts, who would then brainstorm all the Introduction to Stepwise
Project Planning
work required to complete project deliverables successfully.
The participation of all team members and topic wise experts
increases the probability of the resulting WBS being all-
inclusive. Team members and subject matter specialists
recognizes all project deliverables and milestones and then
break them one at a time into a detailed and chronological list
of activities essential to complete them. It is logical to create a
WBS based on the nature of the project work. However, this is
possible only in projects where it is possible to identify the
phases of project. In projects where the focus of the project
execution is not clear, the project manager would be the best
judge in categorizing the project components and then
decomposing. There are no hard and fast rules to be used in
the breakdown of the WBS. Some project managers break
down the WBS till it is not possible to break any further. But
generally, this method is not recommended as the tasks created
would be too small to manage, measure, and assign. Therefore,
for a small project the work could be broken down into a few
.in
days of work while for a large project, the work could be
broken down into weeks of work.
The universal rule is the "two weeks" rule where the task is
es
broken into anything not less than two weeks of work. Another
rule in creating the WBS is the "8/80" rule. This rule suggests
that the smallest work package in the project should take no
ot
.in
between the activities, resource requirements of the project,
constraints, dates, and assumptions related to each activity.
The data for the preparation of the activity list and activity
attribute is the WBS and WBS dictionary. As information on
es
the requirements of various activities appears, it is updated in
the activity attributes. So, Activity information is a necessary
input for other processes and in activity sequencing, resource
ot
70
70
3.3.5 Step 5: Estimate Effort for Each Activity: - Introduction to Stepwise
Project Planning
In most of the tangible projects or products, the size is the most important
parameter used to measure the efforts required. But when it comes to
software projects it is very difficult to measure the size accurately.
Software professionals have been measuring the size of software
applications by using different methods such as Source Lines of Code
(SLOC), Function Point, Object Point, and Feature Point. By evaluating
and estimating the size of the project, it will help in determining the
efforts, schedule and cost of executing the project. After having sized the
project by using any of the above methods, it is time to transform the size
of the deliverable efforts within a comfortable schedule. The total project
effort needs to be assigned to the schedule thus it enables the project
manager to do a proper resource loading. Once the phase wise resource
loading details are available, the project manager can apply the resource
rate to each category as per the duration of the assignment. This will
provide the project manager with the base cost of the project. To this base
cost, the project manager should add cost of project management,
configuration management, and other overheads to arrive at the gross cost.
.in
1. Effort Estimation Process
The overall project effort is dependent on the application size and
es
the productivity of the team. The application size can be calculated
from the application specification using any one of the estimation
methods. As for productivity, the project manager will have to
ensure that the team members have the productivity for the
ot
.in
has to be determined to avoid the risks.
6. Good quality tools should be used and made available for the
developers.
es
7. New advances in the area of technology and the project development
has to be studied for a perfect time lined software development.
ot
8. The major risks are associated if the staff and the team are not as per
the required project.
un
.in
on risk events.
5) Assumption analysis - Every project is based on certain
assumptions. However, these assumptions need to be tested to
es
ensure their validity. Assumptions not tested have the potential
to become risk in the future. Therefore, these assumptions
need to be tested, researched and the results confirmed as to
how they would be affecting the project. An assumption log
ot
.in
concurrent project demands and plan out-of-office time. To find the right
balance to solve the resource equation, the project manager will be able to
shorten the project's planned duration and accelerate the finish date. While
selecting his team, the project manager may rely on multiple methods to
es
assess the skills of the proposed team member. Some of the basic methods
for selection are as follows: -
ot
I. Prior Experience - The project manager has worked with the team
member on prior projects and is very well versed with the
capabilities and shortcomings of the team member.
un
74
74
the effort and hold them accountable for their active participation on Introduction to Stepwise
Project Planning
the project team and timely completion of their assigned tasks.
3.3.8 Step 8 -Review/Publicize Plan: -
1. Review of Project Plan
The planning processes and activities are used by the project team to
successfully plan and manage the planning project. The planning
process is the utmost serious portion of the project management
process. The planning process group gathers information from
various sources and develops the project management plan
.in
• The planning processes also identify, define and mature the
project scope, project cost and project schedule. The planning
process is iterative in nature and is subject to constant change
es
and revision. Project planning changes as more information
emerges, additional dependencies are discovered, new
requirements evolve, and new risks, opportunities,
ot
75
Software Project 3.3.9 Step 9 & 10: Execute Plans/Lower Levels of Planning: -
Management
The project plans need to be executed in order to bring the project to
reality. The project execution group is entrusted with the task of undertake
the work defined in the project plan. The execution job includes the proper
coordination among people and resources as well as mixing with the
performing activities which will be in accordance with the project plan.
This group also addresses the scope defined in the project scope statement
and implements approved by the project manager. This group is also
entrusted with quality
3.4 QUESTIONS
.in
5. Discuss the project scope management process
6. Discuss project scope verification process
7. Write short notes on
es
a. Benefits of WBS
b. Project Charter
c. Risk components and drivers
ot
3.5 REFERENCE
m
76
76
4
SELECTION OF AN APPROPRIATE
PROJECT APPROACH
Unit Structure
4.1 Introduction
4.2 Build or Buy?
4.2.1 In- house projects
4.2.2 Outsourced projects
4.2.3 Off-the-shelf projects
4.3 Choosing Methodologies and Technologies
4.3.1 Project Methodologies
.in
4.4 Software Processes and Process Models
4.5 Choice of Process Models
es
4.6 The Waterfall Model
4.7 The Spiral Model
ot
4.8 Summary
4.9 Reference for further reading
un
4.1 INTRODUCTION
m
77
Software Project
Management
.in
In inhouse projects, developers, and the users of the software in the same
organization and often the methods to be used are dictated by
organizational standards
es
4.2.2 Outsourced projects
In outsourced projects the developers and the users of the software in the
different organization and the need for tailoring arises as different
ot
Usually, the new staff won’t be needed after the project is completed.
Sometimes due to the novelty of the project there may be lack of
executives to lead the effort.
4.2.3 Off-the-shelf projects
In off-the –shelf projects a ready-made software product is purchased.
Why Buying?
.in
• Danger of over-reliance on a single supplier.
.in
engaging and entertaining?
• What is the nature of the hardware/software environment in which
the system will operate?
es
Identify high-level project risks
• The more uncertainty in the project the more the risk that the project
will be unsuccessful.
ot
.in
In crystal method, the project processes are given a low priority. Instead of
the processes, this method focuses more on team communication, team
member skills, people, and interaction. Crystal methods come under agile
category.
es
Dynamic Systems Development Model (DSDM)
This is the successor of Rapid Application Development (RAD)
ot
81
Software Project Joint Application Development (JAD)
Management
Involving the client from the early stages with the project tasks is
emphasized by this methodology. The project team and the client hold
JAD sessions collaboratively to get the contribution from the client. These
JAD sessions take place during the entire project life cycle.
Lean Development (LD)
Lean development focuses on developing change-tolerance software. In
this method, satisfying the customer comes as the highest priority. The
team is motivated to provide the highest value for the money paid by the
customer.
PRINCE2
PRINCE2 takes a process-based approach to project management. This
methodology is based on eight high-level processes.
Rapid Application Development (RAD)
.in
This methodology focuses on developing products faster with higher
quality. When it comes to gathering requirements, it uses the workshop
method. Prototyping is used for getting clear requirements and re-use the
es
software components to accelerate the development timelines.
In this method, all types of internal communications are considered
informal.
ot
Scrum
This is an agile methodology. The main goal of this methodology is to
improve team productivity dramatically by removing every possible
burden. Scrum projects are managed by a Scrum master.
Spiral
Spiral methodology is the extended waterfall model with prototyping. This
method is used instead of using the waterfall model for large projects.
Systems Development Life Cycle (SDLC)
This is a conceptual model used in software development projects. In this
method, there is a possibility of combining two or more project
management methodologies for the best outcome. SDLC also heavily
emphasizes on the use of documentation and has strict guidelines on it.
82
82
Waterfall (Traditional) Selection of an
Appropriate Project
Approach
This is the legacy model for software development projects. This
methodology has been in practice for decades before the new
methodologies were introduced. In this model, development lifecycle has
fixed phases and linear timelines. This model is not capable of addressing
the challenges in the modern software development domain.
Selecting the most suitable project management methodology could be a
tricky task. When it comes to selecting an appropriate one, there are a few
dozens of factors to be considered. Each project management
methodology carries its own strengths and weaknesses.Therefore, there is
no good or bad methodology and what you should follow is the most
suitable one for your project management requirements.
.in
different software processes, but all involve:
• Specification – defining what the system should do.
• Design and implementation – defining the organization of the
es
system and implementing the system.
• Validation – checking that it does what the customer wants.
ot
The models specify the stages and order of a process. So, think of this as a
representation of the order of activities of the process and
the sequence in which they are performed.
A model will define the following:
• The tasks to be performed
• The input and output of each task
• The pre and post conditions for each task
• The flow and sequence of each task
The goal of a software process model is to provide guidance for
controlling and coordinating the tasks to achieve the product and
objectives as effectively as possible.
83
Software Project Factors in choosing a software process
Management
Choosing the right software process model for your project can be
difficult. If you know your requirements well, it will be easier to select a
model that best matches your needs. You need to keep the following
factors in mind when selecting your software process model:
Project requirements
Before choosing a model, take some time to go through the project
requirements and clarify them alongside your organizations or team’s
expectations. Will the user need to specify requirements in detail after
each iterative session? Will the requirements change during the
development process?
Project size
Consider the size of the project you will be working on. Larger projects
mean bigger teams, so you’ll need more extensive and elaborate project
management plans.
.in
Project complexity
Complex projects may not have clear requirements. The requirements may
es
change often, and the cost of delay is high. Ask yourself if the project
requires constant monitoring or feedback from the client.
Cost of delay
ot
Is the project highly time-bound with a huge cost of delay, or are the
timelines flexible?
un
Customer involvement
Do you need to consult the customers during the process? Does the user
m
• Incremental model
• RAD model
• Agile model
• Iterative model
• Spiral model
• Prototype model
Waterfall Model
The waterfall model is a breakdown of project activities into linear
sequential phases, where each phase depends on the deliverables of the
previous one and corresponds to a specialisation of tasks. The approach is
typical for certain areas of engineering design.
.in
es
ot
un
m
V Model
The V-model represents a development process that may be considered
an extension of the waterfall model and is an example of the more general
V-model. Instead of moving down in a linear way, the process steps are
bent upwards after the coding phase, to form the typical V shape. The V-
Model demonstrates the relationships between each phase of the
development life cycle and its associated phase of testing. The horizontal
and vertical axes represent time or project completeness (left-to-right) and
level of abstraction (coarsest-grain abstraction uppermost), respectively.
85
Software Project
Management
.in
es
Incremental model
The incremental build model is a method of software development where
the model is designed, implemented, and tested incrementally (a little
ot
more is added each time) until the product is finished. It involves both
development and maintenance. The product is defined as finished when it
satisfies all its requirements. Each iteration passes through the
un
prototyping.
86
86
Iterative Model Selection of an
Appropriate Project
Approach
An iterative life cycle model does not attempt to start with a full
specification of requirements by first focusing on an initial, simplified set
user feature, which then progressively gains more complexity and a
broader set of features until the targeted system is complete. When
adopting the iterative approach, the philosophy of incremental
development will also often be used liberally and interchangeably.
In other words, the iterative approach begins by specifying and
implementing just part of the software, which can then be reviewed and
prioritized to identify further requirements. This iterative process is then
repeated by delivering a new version of the software for each iteration. In
a light-weight iterative project the code may represent the major source of
documentation of the system; however, in a critical iterative project a
formal software specification may also be required.
.in
es
ot
un
RAD model
Rapid application development was a response to plan-driven waterfall
m
87
Software Project
Management
Spiral model
The spiral model, first described by Barry Boehm in 1986, is a risk-driven
software development process model which was introduced for dealing
with the shortcomings in the traditional waterfall model. A spiral model
looks like a spiral with many loops. The exact number of loops of the
spiral is unknown and can vary from project to project. This model
supports risk handling, and the project is delivered in loops. Each loop of
the spiral is called a Phase of the software development process.
.in
The initial phase of the spiral model in the early stages of Waterfall Life
Cycle that is needed to develop a software product. The exact number of
phases needed to develop the product can be varied by the project
es
manager depending upon the project risks. As the project manager
dynamically determines the number of phases, so the project manager has
an important role to develop a product using a spiral model.
ot
un
m
88
88
Agile model Selection of an
Appropriate Project
Approach
Agile is an umbrella term for a set of methods and practices based on the
values and principles expressed in the Agile Manifesto that is a way of
thinking that enables teams and businesses to innovate, quickly respond
to changing demand, while mitigating risk. Organizations can be agile
using many of the available frameworks available such as Scrum,
Kanban, Lean, Extreme Programming (XP) and etc.
.in
es
ot
un
m
89
Software Project
Management
.in
more activities: this is its process. This idea can be applied to the
development of computer-based systems where several interrelated
activities must be undertaken to create a linal product. These activities can
be organized in different ways, and we can call these process models. A
es
major part of the planning will be the choosing of the development
methods to be used and the slotting of these into an overall process model.
ot
The planner needs not only to select methods but also to specify how the
method is to be applied. With methods such as SSADM, there is a
considerable degree of choice about how it is to be applied: not all parts of
un
SSADM are compulsory. Many student projects have the rather basic
failing that at the planning stage they claim that. speak. SSADM is to be
used: in the event, all that is produced are a few SSADM fragments such
as a top-level data flow diagram and a preliminary logical data structure
m
diagram. If this is all the project requires, it should be stated at the outset.
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. Note that only a few process models emphasize risk
assessment. Various other issues related to the project and the risks are
listed in Table.
90
90
Table Selections on the Basis of the Project Type and Associated Risks Selection of an
Appropriate Project
Approach
Project Type Waterfall Prototype Spiral RAD Formal
and Associated Methods
Risks
Reliability No No Yes No Yes
requirements
Stable funds Yes Yes No Yes Yes
Reuse No Yes Yes Yes Yes
components
Tight project No Yes Yes Yes No
schedule
Scarcity of No Yes Yes No No
resources
.in
defined by the user or poorly understood by the developer, the developed
software leads to ineffective systems. Thus, the requirements of the
software should be clearly understood before selecting any process model.
Various other issues related to the requirements are listed in Table.
es
Table Selection on the Basis of the Requirements of the Project
defined early in
SDLC
Requirements are Yes No No Yes Yes
m
Software is developed for the users. Hence, the users should be consulted
while selecting the process model. The comprehensibility of the project
increases if users are involved in selecting the process model. It is possible
that a user is aware of the requirements or has a rough idea of the
requirements. It is also possible that the user wants the project to be
developed in a sequential manner or an incremental manner (where a part
is delivered to the user for use). Various other issues related to the user’s
satisfaction are listed in Table.
91
Software Project Table Selection on the Basis of the Users
Management
.in
designed for performing specific activity during the SDLC phase. It was
introduced in 1970 by Winston Royce. The Waterfall Model was the first
Process Model to be introduced. It is also referred to as a linear-
es
sequential life cycle model. It is very simple to understand and use.
The waterfall Model illustrates the software development process in a
linear sequential flow. This means that any phase in the development
ot
92
92
Different Phases of Waterfall Model in Software Engineering Selection of an
Appropriate Project
Approach
Following are the different Waterfall Model phases:
.in
Deployment • Deploy the application in the respective
stage environment
Maintenance • Once your system is ready to use, you may later
es
stage require change the code as per customer request
Advantages and Disadvantages of Waterfall Model
ot
Advantages Dis-Advantages
Before the next phase of development, Error can be fixed only during the
each phase must be completed phase
m
.in
were several reasons for this.
94
94
• DOD Agencies typically considered Waterfall model to be Selection of an
Appropriate Project
compatible with their acquisition process and rigorous oversight Approach
process required by the government.
Having said that, even these industries are being disrupted using Iterative
model and Agile methodology by organizations like Space X and others.
Waterfall model was also used in banking, healthcare, control system for
nuclear facilities, space shuttles etc
When to use the waterfall model
Every software developed is different and requires a suitable SDLC
approach to be followed based on the internal and external factors. Some
situations where the use of Waterfall model is most appropriate are −
• This model is used only when the requirements are very well known,
clear and fixed.
• Application is not complicated and big
• Environment is stable
.in
• Technology and tools used are not dynamic and is stable
• Product definition is stable.
• Technology is understood.
es
• There are no ambiguous requirements
• Ample resources with required expertise are available freely
ot
development of the product. Once the product is ready then only it can be
demonstrated to the end users. Once the product is developed and if any
failure occurs then the cost of fixing such issues is very high, because we
need to update everything from document till the logic.In today’s world,
m
Waterfall model has been replaced by other models like iterative, agile etc.
95
Software Project This Spiral model is a combination of iterative development process
Management
model and sequential linear development model i.e., the waterfall model
with a very high emphasis on risk analysis. It allows incremental releases
of the product or incremental refinement through each iteration around the
spiral.
The risk-driven feature of the spiral model allows it to accommodate any
mixture of a specification-oriented, prototype-oriented, simulation-
oriented, or another type of approach. An essential element of the model is
that each period of the spiral is completed by a review that includes all the
products developed during that cycle, including plans for the next cycle.
The spiral model works for development as well as enhancement projects.
The below diagram shows the different phases of the Spiral Model: –
.in
es
ot
un
m
Each phase of the Spiral Model is divided into four quadrants as shown
in the above figure. The functions of these four quadrants are discussed
below-
.in
existing system.
• A preliminary design is created for the new system.
•
es
A first prototype of the new system is constructed from the
preliminary design. This is usually a scaled-down system and
represents an approximation of the characteristics of the final
product.
ot
and risks; (2) defining the requirements of the second prototype; (3)
planning and designing the second prototype; (4) constructing and
testing the second prototype.
• The entire project can be aborted if the risk is deemed too great.
m
97
Software Project Risk Handling in Spiral Model
Management
A risk is any adverse situation that might affect the successful
completion of a software project. The most important feature of the
spiral model is handling these unknown risks after the project has
started. Such risk resolutions are easier done by developing a prototype.
The spiral model supports copying up with risks by providing the scope
to build a prototype at every phase of the software development.
The Prototyping Model also supports risk handling, but the risks must be
identified completely before the start of the development work of the
project. But in real life project risk may occur after the development
work starts, in that case, we cannot use the Prototyping Model. In each
phase of the Spiral Model, the features of the product dated and
analyzed, and the risks at that point in time are identified and are
resolved through prototyping. Thus, this model is much more flexible
compared to other SDLC models.
Why is Spiral Model called Meta Model?
.in
The Spiral model is called a Meta-Model because it subsumes all the
other SDLC models. For example, a single loop spiral represents
the Iterative Waterfall Model. The spiral model incorporates the stepwise
es
approach of the Classical Waterfall Model. The spiral model uses the
approach of the Prototyping Model by building a prototype at the start
of each phase as a risk-handling technique. Also, the spiral model can be
considered as supporting the evolutionary model – the iterations along
ot
.in
• Risk Handling: The projects with many unknown risks that occur
as the development proceeds, in that case, Spiral Model is the best
development model to follow due to the risk analysis and risk
es
handling at every phase.
• Good for large projects: It is recommended to use the Spiral
Model in large and complex projects.
ot
1. https://www.slideshare.net/tumetr1/selection-of-an-appropriate-
project-approach
2. https://slidetodoc.com/selection-of-an-appropriate-project-approach-
contents-introduction/
3. https://slideplayer.com/slide/14117777/
4. http://net481.yolasite.com/resources/Ch04_project_approach.pdf
.in
4.10 MODEL QUESTION
100
100
5
SOFTWARE PROTOTYPING
Unit Structure
5.0 Software Prototyping: Introduction
5.0.1 What is software prototyping?
5.0.2 The Advantages and Disadvantages of Software Prototyping
5.1 Incremental Delivery
5.1.1 What is Incremental Model?
5.1.2 Characteristics of Incremental model
5.1.3 Advantages and Disadvantages of Incremental model
5.2 Dynamic Systems Development Method (DSDM)
5.2.1 Definition of dynamic systems development method (DSDM)
5.2.2 Key principles of the dynamic systems development method
.in
5.2.3 DSDM life cycle
5.3 Atern Project
5.3.1 The Structure of an Atern Project
es
5.3.2 Atern Principles
5.3.3 The Roles and Responsibilities of an Atern Project
5.4 Rapid Application Development
ot
Scrum
Lean Software Development
5.6 Managing Iterative Model
5.6.1 Phases of Iterative Model
5.6.2 When to use the Iterative Model?
5.6.3 Advantages (Pros) of Iterative Model
5.6.4 Disadvantages (Cons) of Iterative Model
5.7 Selecting the most appropriate process model
5.7.1 Selection Process Parameters for a Software Life Cycle Model
5.7.2 How to select the right SDLC
5.8 Summary
5.9 References for further reading
5.10 Model question
101
Software Project
Management
5.0 SOFTWARE PROTOTYPING: INTRODUCTION
.in
work is put into the development of the actual product. The prototype
acts as a ‘model’ closely replicating the appearance, and sometimes the
functionality, of the product that the client has in mind. Have you ever
beta tested a software application? Have you played a game or used a
es
program whose publishers said it wasn't quite up to par and they needed
your opinions before developing the final product? If so, you have
participated in one form of software prototyping.
ot
development team to get directly to the coding part? Here are a few
upsides and downsides of prototyping that might help you make the
smarter decision.
m
102
102
• When you see your product on-screen, you will be able to interact Software
Prototyping
with it and see if there is anything you would want to change. Your
idea might turn out way better than you had imagined. If not, you
can easily let the developers know of anything that you feel is
missing from the prototype.
.in
This one is especially for those who like to see quick results and is
arguably the best (read: most fun!) part about prototyping in software
development. While a basic prototype will probably help you make sure
that the developers have got your ideas right, a high-fidelity prototype
es
will allow you to see what your product will look like once it is
complete. You can even interact with a high-fidelity prototype, go
through the various screens, click on buttons, and make sure the app
ot
flows smoothly.
Achieve Greater Creativity
un
• Over the course of this activity, you might want to add a lot more
functionality to your app than you had originally intended.
.in
es
ot
testing phases. And each subsequent release of the system adds function
to the previous release until all designed functionality has been
implemented.
m
The system is put into production when the first increment is delivered.
The first increment is often a core product where the basic requirements
are addressed, and supplementary features are added in the next
104
104
increments. Once the core product is analyzed by the client, there is plan Software
Prototyping
development for the next increment.
5.1.2 Characteristics of an Incremental model
• System development is broken down into many mini development
projects
• Partial systems are successively built to produce a final total system
• Highest priority requirement is tackled first
• Once the requirement is developed, requirement for that increment
are frozen
.in
Code Coding of software is done during this stage
Test Once the system is deployed, it goes through the
testing phase
es
1.1.3 Advantages and Disadvantages of Incremental Model
ot
Advantages Disadvantages
105
Software Project
Management
5.2 DYNAMIC SYSTEMS DEVELOPMENT METHOD
(DSDM)
.in
goals and focus upon early delivery of real benefits to the business’s
advocates refer to it as a 'grown-up' version of agile for the corporate
world.
5.2.2 Key principles of the dynamic systems development method
es
DSDM is structured around eight key principles:
1. Focus on the business need: DSDM teams must establish a valid
ot
the project and empower all members of the team to make decisions.
.in
It establishes the use and knowledge necessities that may permit the
applying to supply business value; additionally, it is the essential
application design and identifies the maintainability necessities for
the applying.
es
3. Functional Model Iteration:
It produces a collection of progressive prototypes that demonstrate
ot
practicality for the client. (Note: All DSDM prototypes are supposed
to evolve into the deliverable application.) The intent throughout this
unvarying cycle is to collect further necessities by eliciting feedback
un
107
Software Project
Management
5.3 ATERN PROJECT
.in
Feasibility Typically, a short phase to assess the viability
and the outline business case (justification).
es
Foundations Key phase for ensuring the project is understood
and defined well enough so that the scope can
be baselined at a high level and the technology
components and standards agreed before the
ot
The Exploration and Engineering phases are often merged, as the method
is flexible, allowing them to be organized to best suit the situation.
5.3.2 Atern Principles
Many organisations guide general behaviour with high-level values and
culture. Well-understood principles are better guides than detailed process
procedures. In Atern principles are used to provide guidance throughout
the project.
108
108
Atern has eight underlying principles, and the complete framework can be Software
Prototyping
directly derived from these. The principles are based on best practice in its
truest sense. They define "the way things are done". Breaking one of these
principles can lead to failure, as these are the basic building blocks for
Atern, and bind together all the other elements of Atern.
Principal Description
Focus on the Business Deliver what the business needs when it needs
Need it. The true business priorities must be
understood with a sound business case.
.in
understanding, speed and shared ownership. The
teams must be empowered and include the
business representatives.
es
Never Compromise on A solution must be "good enough". The level of
Quality quality is set at the outset. Projects must test
early and continuously and review constantly.
ot
Develop Iteratively Accept that work is not always right first time.
Use Timeboxes to allow for change yet
continuously confirm that the solution is the
right one.
109
Software Project 5.3.3 The Roles and Responsibilities of an Atern Project
Management
Atern defines the roles and responsibilities in such a way that it easy to
imagine how existing roles and positions would fit into an Atern project.
Project Roles
.in
Technical Agrees and controls technical architecture. Advises and co-
Coordinator ordinates teams. Identifies and manages technical risk.
Ensures non-functional requirements are met.
es
Solution Development Roles
.in
Rapid Application Development focuses on gathering customer
requirements through workshops or focus groups, early testing of the
prototypes by the customer using iterative concept, reuse of the existing
es
prototypes (components), continuous integration and rapid delivery.
5.4.1 RAD Model - Pros and Cons
ot
.in
iterations. Each iteration typically lasts from about one to three weeks.
Every iteration involves cross functional teams working simultaneously on
various areas like −
es
• Planning
• Requirements Analysis
• Design
ot
• Coding
• Unit Testing and
un
• Acceptance Testing.
At the end of the iteration, a working product is displayed to the customer
and important stakeholders.
m
.in
5.5.2 Agile Testing Methods
• Extreme Programming(XP)
es
• Scrum
• Lean Software Development
• Crystal
ot
Extreme Programming(XP)
Extreme Programming (XP) is one of the numerous Agile frameworks
m
113
Software Project 1. Planning, the first stage, is when the customer meets the
Management
development team and presents the requirements in the form of user
stories to describe the desired result. The team then estimates the
stories and creates a release plan broken down into iterations needed
to cover the required functionality part after part. If one or more of
the stories can’t be estimated, so-called spikes can be introduced
which means that further research is needed.
2. Designing is a part of the planning process but can be set apart to
emphasize its importance. It’s related to one of the main XP values
that we’ll discuss below — simplicity. A good design brings logic
and structure to the system and allows to avoid unnecessary
complexities and redundancies.
3. Coding is the phase during which the actual code is created by
implementing specific XP practices such as coding standards, pair
programming, continuous integration, and collective code ownership
(the entire list is described below).
4. Testing is the core of extreme programming. It is the regular activity
that involves both unit tests (automated testing to determine if the
.in
developed feature works properly) and acceptance tests (customer
testing to verify that the overall system is created according to the
initial requirements).
es
5. Listening is all about constant communication and feedback. The
customers and project managers are involved to describe the
business logic and value that is expected.
ot
XP main practices
.in
es
Test-Driven Development
Is it possible to write a clear code quickly? The answer is yes, according to
ot
115
Software Project Pair Programming
Management
This practice requires two programmers to work jointly on the same code.
While the first developer focuses on writing, the other one reviews code,
suggests improvements, and fixes mistakes along the way. Such teamwork
results in high-quality software and faster knowledge sharing but takes
about 15 percent more time. In this regard, it’s more reasonable trying pair
programming for long-term projects.
Code Refactoring
To deliver business value with well-designed software in every short
iteration XP teams also use refactoring. The goal of this technique is to
continuously improve code. Refactoring is about removing redundancy,
eliminating unnecessary functions, increasing code coherency, and at the
same time decoupling elements. Keep your code clean and simple, so you
can easily understand and modify it when required would be the advice of
any XP team member.
Continuous Integration
.in
Developers always keep the system fully integrated. XP teams take
iterative development to another level because they commit code multiple
times a day, which is also called continuous delivery. XP practitioners
es
understand the importance of communication. Programmers discuss which
parts of the code can be re-used or shared. This way, they know exactly
what functionality they need to develop. The policy of shared code helps
ot
Small Releases
This practice suggests releasing the MVP quickly and further developing
the product by making small and incremental updates. Small releases
m
.in
System metaphor stands for a simple design that has a set of certain
qualities. First, a design and its structure must be understandable to new
people. They should be able to start working on it without spending too
much time examining specifications. Second, the naming of classes and
es
methods should be coherent. Developers should aim at naming an object
as if it already existed, which makes the overall system design
understandable.
ot
40-Hour Week
XP projects require developers to work fast, be efficient, and sustain the
un
hours a week. One overtime a week is possible only if there will be none
the week after.
Advantages and disadvantages of XP
XP practices have been debated upon for decades, as its approach and
methods are rather controversial in a number of aspects and can’t be
applied in just any project. Here, we’ll try to define the pros and cons of
XP methodology.
117
Software Project
Management
.in
Comparison of XP to other frameworks
As we mentioned above, XP is part of the agile methodology. It shares the
es
main agile principles, i.e., frequent releases, short development cycles,
constant communication with the customer, cross-functional teams, and so
on. For this reason, XP is often confused with other popular Agile
ot
those from the project management domain. So, its primary focus is on the
technical aspects of development and the implementation of specific
practices rather than the management and organizational sides.
118
118
Software
Prototyping
.in
after the sprint backlog is set. Another difference is that in XP the
customer prioritizes features and decides on the order of their
development, but in Scrum the team itself determines what to work on
first.
es
Scrum’s main roles are Product Owner, Scrum Master, and Scrum Team,
which are different from those in XP.
ot
the process.
Extreme programming vs Lean
m
• Scrum Master: The scrum can set up the master team, arrange the
meeting and remove obstacles for the process
• Product owner: The product owner makes the product backlog,
prioritizes the delay and is responsible for the distribution of
functionality on each repetition.
119
Software Project • Scrum Team: The team manages its work and organizes the work
Management
to complete the sprint or cycle.
What is Lean Software Development (LSD)?
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. 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.
Advantages of LSD
LSD has proved to improve software development in following ways :
1. LSD removes the unnecessary process stages when designing a
software so that it acta as a time saver as simplifies the
development process.
.in
2. With focus on MVP, Lean Software Development prioritizes
essential functions so this removes the risk of spending time on
valueless builds.
es
3. It increases involvement power of your team as more and more
members participate due to which the overall workflow becomes
optimized, and losses gets reduced.
ot
Waste reduction, being the first rule in Lean engineering, defines its entire
purpose. For the most part, the methodology tries to fight these 9 types of
waste.
• Vague requirements
• Inefficient communication
• Data duplications
120
120
1. Costs of aforementioned Software
Prototyping
To identify and eliminate waste, regular meetings are held by Project
Managers after each short iteration. They allow team members to
report progress, point out bottlenecks and suggest which changes to
implement during next iterations, which facilitates learning and
allows improvements to the code to be implemented in small,
manageable increments.
2. Building Quality In
Efficient quality management is, too, a guiding principle in lean
development methodology, as issues in this area lead to different
types of waste. Repetitive testing of the code, mistakes in logging
and their resolvement take time and therefore drive costs of
development higher; lean strives to address such nuances before they
even happen.
Various tactics are used in lean, and all related agile development
types, to ensure that quality is maintained all along the process.
.in
Engineering is kept flexible. Every small iteration, each loop is
followed by an immediate assessment. The time between software
development stages is always reduced as much as possible and
es
trade-offs (occasional sacrifices of qualify for other project
dimensions – time, costs and scope) are regularly discussed and
considered.
ot
.in
the course of development.
Lean software development methodology recognizes this threat. It
es
always leaves room for improvement by postponing irreversible
decisions until all the needed experimentation is done and as much
info as possible is gathered; until you’ve checked and examined
your requirements comprehensively and there are no doubts as to
ot
their relevance.
The methodology strives always to construct software to be flexible,
un
5. Delivering fast
Historically, meticulous, and long-term planning used to be the key
to success in business. Only when each aspect of your strategy had
been worked out thoroughly, agreed upon, strict milestones and pace
of development had been established, you were considered ready to
enter the software market.
As practice showed, however, such approach often led to a
catastrophe. It made engineers spend too much time on building
complex, monolithic systems packed with unneeded features. It
restrained them from adapting the software to the ever-changing
environment and client requirements.
As a result, lean engineers came up with the concept of MVP
(minimum viable product) and overall opposite philosophy: build
122
122
quickly, include little functionality, and launch a product to the Software
Prototyping
market as fast as possible. Then, study the reaction.
Such approach allows to enhance a piece of software incrementally,
based on the feedback collected from real customers, and ditch
everything that is of no value.
6. Respecting the team
Lean software development is a system aimed at empowering team
members, rather than controlling them. It goes beyond establishing
basic human courtesy; it instills trust within each project. Engineers
are granted freedom to make important development decisions,
based on knowledge they receive whilst writing code and their own
judgment. Providing, of course, that they’re experienced enough to
do so.
Such approach contributes a lot to a faster application of changes to
software that are needed to reflect the changes in the environment,
and it keeps your developers motivated.
.in
And what’s more important than team’s motivation?
Setting up a collaborative atmosphere, however, and keeping the
es
perfect balance of control within the project is hard. Developers
should be let to do their thing, implement changes that they feel are
necessary, but they’re also ought to report on their decisions; to
ot
123
Software Project Weakness in LSD :
Management
• Make it scalable as other frameworks since it strongly depends on
team involved.
• It is hard to keep with pace so it is not easy for developers to
work with team members as conflict may occur in between them.
• It leads to difficult decision-making process as it is mandatory for
customers to clearly set their requirements for the development
not to be interrupted.
Lean Software Development is one of the proactive approaches that
drives your body through productivity and cleanliness. It closely
connects to Agile methodology, knowledge-sharing experience, fast
product delivery. All processes and stags of development are accurately
built to deliver the product at minimum cost in a timely manner.
.in
In this Model, you can start with some of the software specifications and
develop the first version of the software. After the first version if there is a
need to change the software, then a new version of the software is created
es
with a new iteration. Every release of the Iterative Model finishes in an
exact and fixed period that is called iteration.
The Iterative Model allows the accessing earlier phases, in which the
ot
124
124
5.6.1 Phases of Iterative Model Software
Prototyping
Requirement gathering & analysis: In this phase, requirements are
gathered from customers and check by an analyst whether requirements
will fulfil or not. Analyst checks that need will achieve within budget or
not. After all of this, the software team skips to the next phase.
Design: In the design phase, team design the software by the different
diagrams like Data Flow diagram, activity diagram, class diagram, state
transition diagram, etc.
Implementation: In the implementation, requirements are written in the
coding language and transformed into computer programmes which are
called Software.
Testing: After completing the coding phase, software testing starts using
different test methods. There are many test methods, but the most common
are white box, black box, and grey box test methods.
Deployment: After completing all the phases, software is deployed to its
.in
work environment.
Review: In this phase, after the product deployment, review phase is
performed to check the behaviour and validity of the developed product.
es
And if there are any error found then the process starts again from the
requirement gathering.
Maintenance: In the maintenance phase, after deployment of the software
ot
in the working environment there may be some bugs, some errors or new
updates are required. Maintenance involves debugging and new addition
options.
un
125
Software Project 3. Design can be changed again and again because of imperfect
Management
requirements.
4. Requirement changes can cause over budget.
5. Project completion date not confirmed because of changing
requirements.
.in
Methodologies).
5.7.1 Selection Process Parameters for a Software Life Cycle Model
es
Selection Process parameters plays an important role in software
development as it helps to choose the best suitable software life cycle
model. Following are the parameters which should be used to select a
ot
SDLC.
Requirements characteristics :
un
• Reliability of Requirements
• How often the requirements can change
• Types of requirements
m
• Number of requirements
• Can the requirements be defined at an early stage
• Requirements indicate the complexity of the system
Development team :
• Team size
• Experience of developers on similar type of projects
• Level of understanding of user requirements by the developers
• Environment
• Domain knowledge of developers
• Experience on technologies to be used
• Availability of training
126
126
User involvement in the project : Software
Prototyping
• Expertise of user in project
• Involvement of user in all phases of the project
• Experience of user in similar project in the past
Project type and associated risk :
• Stability of funds
• Tightness of project schedule
• Availability of resources
• Type of project
• Size of the project
• Expected duration for the completion of project
• Complexity of the project
• Level and the type of associated risk
5.7.2 How to select the right SDLC
.in
Selecting the right SDLC is a process that the organization can implement
internally or consult for. There are some steps to get the right selection.
es
STEP 1: Learn the about SDLC Models
SDLCs are the same in their usage. To select the right SDLC, you should
have enough experience and be familiar with the SDLCs that will be
ot
important to know each tool usage to know which context it can fit into.
Imagine the image below by Jacob Lawrence, if the carpenter did not
know the tools he will use, what will be the results? Did you visualize the
m
disaster?
Some of the selection criteria or arguments that you may use to select an
SDLC are:
• Is the SDLC suitable for the size of our team and their skills?
• Is the SDLC suitable for the selected technology we use for
implementing the solution? 127
Software Project • Is the SDLC suitable for client and stakeholders concerns and
Management
priorities?
• Is the SDLC suitable for the geographical situation (distributed
team)?
• Is the SDLC suitable for the size and complexity of our software?
• Is the SDLC suitable for the type of projects we do?
• Is the SDLC suitable for our software engineering capability?
• Is the SDLC suit; able for the project risk and quality insurance?
.in
Unclear User Poor Poor Good Excellent Good Excellent
Requirement
128
128
STEP 4: Decide Software
Prototyping
When you define the criteria and the arguments you need to discuss with
the team, you will need to have a decision matrix and give each criterion a
defined weight and score for each option. After analyzing the results, you
should document this decision in the project artifacts and share it with the
related stakeholders.
STEP 5: Optimize
You can always optimize the sdlc during the project execution, you may
notice upcoming changes do not fit with the selected sdlc, it is okay to
align and cope with the changes. You can even make your own sdlc model
which optimum for your organization or the type of projects you are
involved in.
5.8 SUMMARY
.in
In Software Engineering, Prototype methodology is a software
development model in which a prototype is built, test and then reworked
when needed until an acceptable prototype is achieved.1) Requirements
es
gathering and analysis, 2) Quick design, 3) Build a Prototype, 4) Initial
user evaluation, 5) Refining prototype, 6)Implement Product and
Maintain; are 6 steps of the prototyping process. Type of prototyping
ot
129
Software Project
Management
5.10 MODEL QUESTION
.in
Cycle Model?
es
ot
un
m
130
130
6
SOFTWARE EFFORT ESTIMATION
Unit Structure
6.0 Software Effort Estimation: Introduction
6.1 Where are the Estimates Done?
6.2 Problems with Over- and Under-Estimates
6.3 Basis for Software Estimating
6.4 Software Effort Estimation Techniques
6.4.1 Bottomup Estimating
6.4.2 The Top-down Approach and parametric models
6.4.3 Expert Judgement
6.4.4 Estimating by Analogy
.in
6.4.5 Albrecht Function Point Analysis
6.4.6 Function Points Mark II
es
6.4.7 COSMIC Full Function Points
6.5 COCOMO II: A Parametric Productivity Model
6.5.1 Cost Estimation
ot
.in
will also confirm that the feasibility study is still valid, considering all that
has been learnt during detailed requirements analysis. The estimate at this
stage cannot be based only on the user requirement but technical plan is
also needed
es
Evaluation of suppliers' proposals In the case of the IOE maintenance
group accounts subsystem, for example, IOE might consider putting the
ot
actual system-building out to tender. Staff in the software houses that are
considering a bid would need to scrutinize the system specification and
produce estimates on which to base proposals. Amanda might still be
un
required to carry out her own estimate to help judge the bids received. IOE
might wish to question a proposal that seems too low: they might wonder,
for example, whether the proposer had properly understood the
requirements. If, on the other hand, the bids seem too high, they might
m
A project leader such as Amanda will need to be aware that the estimate
itself, if known to the development team, will influence the time required
to implement the system. An over-estimate might cause the project to take
longer than it would otherwise. This can be explained by the application of
two 'laws'.
Parkinson's Law ' Work expands to fill the time available', which implies
that given an easy target staff will work less hard. Brooks' Law The
132
132 effort required to implement a project will go up disproportionately with
the number of staff assigned to the project. As the project team grows so Software Effort
Estimation
will the effort that has to go into management, co-ordination, and
communication. This has given rise, in extreme cases, to the notion of
Brooks' Law: 'putting more people on a late job makes it later'. If there is
an over-estimate of the effort required, then this might lead to more staff
being allocated than are needed and managerial overheads will be
increased. This is more likely to be of significance with large projects.
Some have suggested that while the under-estimated project might not be
completed on time or to cost, it might still be implemented in a shorter
time than a project with a more generous estimate. There must, however,
be limits to this phenomenon where all the slack in the project is taken up.
The danger with the under-estimate is the effect on quality. Staff,
particularly those with less experience, might respond to pressing
deadlines by producing work which is sub-standard. Since we are into
laws, this might be seen as a manifestation of Weinberg's zeroth law of
reliability: 'if a system does not have to be reliable, it can meet any other
objective'. In other words, if there is no need for the program actually to
work, you can meet any programming deadline that might be set! Sub-
.in
standard work might only become visible at the later, testing, phases of a
project, which are particularly difficult to control and where extensive
rework can have catastrophic consequences for the project completion
date.
es
Because of the possible effects on the behaviour of development staff
caused by the size of estimates, they might be artificially reduced by their
ot
managers to increase pressure on staff. This will work only where staff are
unaware that this has been done. Research has found that motivation and
morale are enhanced where targets are achievable. If, over a period, staff
un
become aware that the targets set are unattainable and that projects are
routinely not meeting their published targets, then this will help to destroy
motivation. Furthermore, people like to think of themselves as winners
and there is a general tendency to put success down to our own efforts,
m
133
Software Project Observations on Estimation
Management
• Estimation need not be a one-time task in a project. It can take place
during −
• Acquiring a Project.
• Planning the Project.
• Execution of the Project as the need arises.
.in
• Use at least two estimation techniques to arrive at the estimates and
reconcile the resulting values. Refer Decomposition Techniques in
the next section to learn about reconciling estimates.
es
• Plans should be iterative and allow adjustments as time passes and
more details are known.
ot
.in
and controlled, and no major surprises occurred that caused
unexpected delays.
Estimation Issues
es
Often, project managers resort to estimating schedules skipping to
estimate size. This may be because of the timelines set by the top
management or the marketing team. However, whatever the reason, if this
ot
.in
estimation techniques.
• Reconcile the estimates. Observe the convergence or spread among
the estimates. Convergence means that you have got a good
es
estimate. Wideband-Delphi technique can be used to gather and
discuss estimates using a group of people, the intention being to
produce an accurate, unbiased estimate.
ot
Barry Bochm. in his classic work on software effort models, identified the
main ways of deriving estimates of software development effort as:
m
.in
algorithmic) models. These may be explained using the analogy of
estimating the cost of rebuilding a house. This would be of practical
concern to a house-owner who needs sufficient insurance cover to allow
es
for rebuilding the property if it were destroyed. Unless the house-owner
happens to be in the building trade it is unlikely that he or she would be
able to work out how many bricklayer-hours, how many carpenter-hours,
electrician-hours and so on would be required. Insurance companies,
ot
model.
The effort needed to implement a project will be related mainly to
variables associated with characteristics of the final system. The form of
m
the parametric model will normally be one or more formulae in the form:
effort = (system size) x (productivity rate). For example, system size
might be in the form 'thousands of lines of code' (KLOC) and the
productivity rate 40 days per KLOC. The values to be used will often be
matters of subjective judgment.
A model to forecast software development effort therefore has two key
components. The first is a method of assevsing the size of the software
development task to be undertaken. The second assesses the rate of work
at which the task can be done. For example. Amanda at IOE might
estimate that the first software module to be constructed is 2 KLOC. She
might then judge that if rate undertook the development of the code, with
her expertise she could work at a rate of 40 days per KLOC and complete
the work in 2 x 40 days, that is. 80 days, while Ken. who is less
experienced, would need 55 days per KLOC and take 2 x 55 that is, 110
days to complete the task? Some parametric models, such as that implied
by function points, are focused on system or task size, while others, such
137
Software Project are COCOMO are more concerned with productivity factors. Having
Management
calculated the overall effort required, the problem is then to allocate
proportions of that effort to the various activ ities within that project.
The top-down and bottom-up approaches are not mutually exclusive.
Project managers will probably try to get several different estimates from
different people using different methods. Some parts of an overall estimate
could be derived using a top-down approach while other parts could be
calculated using a bottom-up method.
At the earlier stages of a project, the top-down approach would tend to be
used, while at later stages the bottom-up approach might be preferred.
Comparison between bottom-up approach and top-down approach
Bottom-up
• Use when no past project data
• Identify all tasks that must be done – so quite time consuming
• Use when you have no data about similar past projects
.in
Top-down
• Produce overall estimate based on project cost drivers
es
• Based on past project data
• Divide overall estimate between jobs to be done
ot
The estimator would have to carry out impact analysis in order to judge
the proportion of code that would be affected and from that derive an
estimate. Someone already familiar with the software would be in the best
position to do this.
Some have suggested that expert judgment is simply a matter of guessing,
but experts tend to use a combination of an informal analogy approach
where similar projects from the past are identified and bottom-up
estimating.
6.4.4 Estimating by analogy
The use of analogy is also called case-based reasoning. The estimator
seeks out projects that have been completed (source cases) and that have
similar characteristics to the new project (the target case). The effort that
has been recorded for the matching source case can then be used as a base
estimate for the target. The estimator should then try to identify any
138
138
differences between the target and the source and adjust the base estimate Software Effort
Estimation
for the new project.
This might be a good approach where you have information about some
previous projects but not enough to draw generalized conclusions about
what variables might make good size parameters.
A problem here is how you identify the similarities and differences
between the different systems. Attempts have been made to automate this
process. One software application that has been developed to do this is
ANGEL. This identifies the source case that is nearest the target by
measuring the Euclidean distance between cases. The source case that is at
the shortest Euclidean distance from the target is deemed to be the closest
match. The Euclidean distance is calculated:
distance = square-root of ((target_parameter, - source_parameterx)' +
... + (target_parameterm — source_parameterH)2)
6.4.5 Albrecht function point analysis
.in
This is a top-down method that was devised by Allan Albrecht when he
worked for IBM. Albrecht was investigating programming productivity
and needed some way to quantify the functional size of programs
independently of the programming languages in which they had been
es
coded. He developed the idea of function points (l"Ps).
The basis of function point analysis is that computer-based information
ot
computer files.
• Logical internal file types are the standing files used by the system.
The term file' does not sit easily with modern information systems. It
refers to a group of data that is usually accessed together. It might be
made up of one or more record types. For example, a purchase order
file might be made up of a record type PuRCHASEORDER plus a
second that is repeated for each item ordered on the purchase order -
PurchaseOrderItem.
• External interface file types allow for output and input that might
pass to and from other computer applications. Examples of this
would be the transmission of accounting data from an order
processing system to the main ledger system or the production of a
file of direct debit details on a magnetic or electronic medium to be
passed to the Bankers Automated Clearing System (BACS). Files
shared among applications would also be counted here.
139
Software Project • External inquiry types - note the US spelling of inquiry - are
Management
transactions initiated by the user that provide information but do not
update the internal files. The user inputs some information that
directs the system to the details required.
6.4.6 Function points Mark II
The Mark II method has been recommended by the CCTA (Central
Computer and Telecommunications Agency), which lays down standards
for UK government projects. At one time this Mark II approach seemed to
be a good method to use with SSADM, but some difficulties are now
apparent. The 'Mark II' label implies an improvement and replacement of
the Albrecht method. The Albrecht (now IFPUG) method, however, has
had many refinements made to it and FPA Mark II remains a minority
method used mainly in the UK.
6.4.7 COSMIC Full Function Points
COSMIC function points are a unit of measure of software functional
size. The size is a consistent measurement (or estimate) which is very
useful for planning and managing software and related activities. The
.in
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
es
independent of the technology or processes used to develop the system. It
is an ISO standard. It is a refined improvement over its predecessors. The
unit of size is the COSMIC Function Point or CFP.
ot
Uses
Once you have measured (or estimated) the size in COSMIC Function
un
140
140
1. The ‘Software Context Model’ Software Effort
Estimation
Defines the software to be measured
• Software is bounded by hardware and typically structured
into layers.
• The scope of any piece of software to be measured shall
depend on the purpose of the measurement and shall be
confined wholly within a single layer.
• The functional users of a piece of software to be measured
shall be identified from its Functional User Requirements
(FUR) as the senders and/or intended recipients of data
to/from the software respectively.
• A precise COSMIC size measurement of a piece of software
requires that its FUR is known at a level of granularity at
which its functional processes and sub-processes may be
identified.
• An approximate COSMIC size measurement is possible if its
.in
FUR are measured at a high level of granularity by an
approximation approach and scaled to the level of granularity
of the functional processes.
es
2. The ‘Generic Software Model’
Generic concepts applicable to all software
ot
127
Software Project • Each functional process consists of sub-processes, data
Management
movements (DMs) and data manipulations.
• As an approximation for measurement purposes, the COSMIC
method assumes that the functionality of any data
manipulation is accounted for by the data movement with
which it is associated.
• There are four data movement types, Entry, Exit, Write and
Read.
• A data movement moves a single data group, which consists
of a unique set of data attributes that describe a single object
of interest.
.in
es
ot
un
.in
Table 1. Comparison between three classes of software project in
es
terms of size, team size, developer experience, environment,
innovation, and deadline.
ot
would like to conduct the cost estimation for their own project. COCOMO
can unveil the efforts and schedule of a software product based on the size
of the software in different levels. There are basic
COCOMO, Intermediate COCOMO, and Detailed/Completed
m
COCOMO.
Basic COCOMO model the basic COCOMO is used for rough
calculation which limits accuracy in calculating software
estimation. This is because the model solely considers based on lines of
source code together with constant values obtained from software project
types rather than other factors which have major influences on Software
development process. Intermediate COCOMO model Intermediate
COCOMO model is an extension of the Basic COCOMO model which
includes a set of cost drivers into account to enhance more accuracy to the
cost estimation model as a result. Complete/detailed COCOMO model
the model incorporates all qualities of both Basic COCOMO and
Intermediate COCOMO strategies on each software engineering process.
The model accounts for the influence of the individual development phase
(analysis, design, etc.) of the project.
129
Software Project Pros
Management
• COCOMO is transparent, one can see how it works unlike other
models such as SLIM.
• COCOMO works on historical data or the experience, therefore it is
predictable and more accurate.
• Easy to implement factors, as the drivers help to estimate the impact
of different factors that affect the projects.
• Easy to estimate the total cost of the projects. This is because
COCOMO uses a regression formula from historical projects.
Cons
• Cocomo ignores the requirements of the project and all the related
documentation related to the project.
.in
• When the Cocomo cannot establish a good understanding of the
project between the customers and the developers.
es
• Cocomo is dependent, If there are changes to the actual amount of
time spent on these phases, it will affect the accuracy.
• There are certain factors that are beyond the control of the developers
ot
130
130
2. Intermediate Sector: Software Effort
Estimation
.in
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.
es
(c) System Integration –
This category deals with large scale and highly embedded systems.
ot
3. Infrastructure Sector:
un
1. Stage-I:
It supports estimation of prototyping. For this it uses Application
Composition Estimation Model. This model is used for the
prototyping stage of application generator and system integration.
131
Software Project 2. Stage-II:
Management
It supports estimation in the early design stage of the project when
we less know about it. For this it uses Early Design Estimation
Model. This model is used in early design stage of application
generators, infrastructure, system integration.
3. Stage-III:
It supports estimation in the post architecture stage of a project. For
this it uses Post Architecture Estimation Model. This model is used
after the completion of the detailed architecture of application
generator, infrastructure, system integration.
The Constructive Cost Model (COCOMO) is an algorithmic software cost
estimation model developed by Barry Boehm. The model uses a basic
regression formula, with parameters that are derived from historical
project data and current project characteristics. COCOMO was first
published in 1981 Barry W.
.in
References to this model typically call it COCOMO 81. In 1997
COCOMO II was developed and finally published in 2000 in the book
Software Cost Estimation with COCOMO II. COCOMO II is the
successor of COCOMO 81 and is better suited for estimating modern
es
software development projects. It provides more support for modern
software development processes and an updated project database.
ot
132
132
6.5.1 Cost estimation Software Effort
Estimation
For instance, detailed COCOMO will perform cost estimation in each
development phase of Waterfall Model.
.in
Calculation
In COCOMO, the general calculation steps of COCOMO-based cost
es
estimation are the following:
1. Get an initial estimate of the development effort from evaluation
of thousands of delivered lines of source code (KDLOC).
ot
Now, let’s apply these steps to the real example in Basic COCOMO first.
Question statement: Suppose the project was estimated to be 400 KDLOC
calculate the effort, development time, and time of each of the 3 modes
Note: the basic COCOMO is used in Organic mode by default.
The arithmetic formula of Basic COCOMO is
.in
es
ot
un
m
Rather than the sole consideration on the number of lines of the source
code as shown in Basic COCOMO, Intermediate COCOMO introduces
sets of 15 subjective assessment called “Cost Drivers” to ensure that other
aspects of Software Development are considered in the cost estimation.
Cost drivers are divided into 4 groups including, product attributes,
hardware attributes, personal attributes, and project attributes.
134
134
Software Effort
Estimation
.in
es
Figure 3. Cost drivers
Each of cost driver is rated on the scale of are very low to extremely high
ot
The scale includes very low, low, normal, high very high, extra high,
accordingly. The adjustment factor is 1 for a cost driver that is judged as
normal. In practice, typical values for EAF range from 0.9 to 1.4.
m
.in
project attributes
By taking all cost drivers into account represented by EAF, the arithmetic
cost estimation formula for Intermediate COCOMO can be derived as
es
follow:
ot
un
.in
need to take corrective actions to get back on track and these are called
schedule compression methods. Schedule compression helps you to get
your project back on track. There are two methods for schedule
compression.
es
Schedule Compression Definition
Schedule compression techniques are applied during develop
ot
the project is behind schedule, you can meet the planned deadline only by
compressing the remaining schedule of the project.There are 2 approaches
for schedule compression
m
137
Software Project
Management
.in
The 2nd schedule compression technique: What is crashing in project
management?
Second technique is crashing. In crashing schedule compression
es
technique, there is a trade-off between cost and schedule. If the scope
is the same and project is behind schedule, another option for compressing
the schedule is putting extra resources on remaining activities of the
project. Because if it is possible to assign more than one resource on an
ot
in the initial plan, there will be an additional cost if crashing is used for
schedule compression.
m
.in
• The fifth step is cutting the quality. Achieving a certain level of
quality means cost and time. If the customer agrees to decrease its
es
quality expectations, cutting quality can help you to complete the
project faster. Note that, 4th and 5th steps are not recommended the
course of actions in a project
ot
139
Software Project Table 1: Rules of Thumb Based on LOC Metrics for
Management
Procedural Languages
(Assumes 1 work month = 132 work hours)
Size of Coding Coding Testing Noncode Total Net LOC
Program LOC per Month Effort Effort Effort Effort Per
in LOC (Months) Percent Percent (Months) Month
.in
As can be seen, the “monthly” form of this table is not very
convenient for the smaller end of the spectrum, but the “hourly” form is
es
inconvenient at the large end.
Table 2: Rules of Thumb Based on LOC Metrics for
ot
Procedural Languages
(Assumes 1 work month = 132 work hours)
un
140
140
The development of Visual Basic and its many competitors such as Software Effort
Estimation
Realizer have changed the way many modern programs are developed.
Although these visual languages do have a procedural source code
portion, quite a bit of the more complex kinds of “programming” are
done using button controls, pull-down menus, visual worksheets, and
reusable components. In other words, programming is being done without
anything that can be identified as a “line of code” for measurement or
estimation purposes. By the end of the century perhaps 30% of the
new software applications will be developed using either object-
oriented languages or visual languages (or both).
For large systems, programming itself is only the fourth most
expensive activity. The three higher-cost activities can not really be
measured or estimated effectively using the lines of code metric.
Also, the fifth major cost element, project management, cannot easily
be estimated or measured using the LOC metric . The usefulness of a
metric such as lines of code which can only measure and estimate one out
of the five major software cost elements is a significant barrier to
economic understanding.
.in
The Development of Function Point Metrics
By the middle 1970’s IBM’s software community was topping
es
25,000 and the costs of building and maintaining software were
becoming a significant portion of the costs and budgets for new
products.
ot
Allan J. Albrecht and his colleagues at IBM White Plains were tasked with
attempting to develop an improved methodology for sizing,
estimating, and measuring software projects. The method they
developed is now known as “function point analysis” and the basic metric
they developed is termed a “function point.”
In October of 1979 Allan Albrecht presented the function point metric at a
conference in Monterey, California sponsored jointly by IBM and
two IBM user groups, SHARE and GUIDE. Concurrently, IBM
placed the basic function point metric into the public domain. Now
that the function point metric has been in use for almost 20 years
on many thousands of software projects, a new family of simple rules of
thumb has been derived.
These new rules are based on function points, and encompass software
sizing algorithms, schedule algorithms, quality algorithms, and other
interesting topics. This article contains a set of ten simple rules of
thumb that cover various aspects of software development and
141
Software Project maintenance. The rules assume the version 4.1 function point counting
Management
rules published by the International Function Point Users Group (IFPUG).
The International Function Point Users Group (IFPUG ) is a non-profit
organization which has become the largest software metrics
association in history. Between IFPUG in the United States and
other function point affiliates in about 20 countries, more than 2000
corporations and 15,000 individuals now comprise the function
point community. Membership in function point user groups has been
growing at more than 50% per year, while usage of lines of code has been
declining for more than 10 years.
Users of other kinds of function points such as Mark II, COSMIC,
web-object points, story points, engineering function points, etc.
should seek out similar rules from the appropriate sponsoring
organization. However, most of the function point variants have the
interesting property of creating function point totals about 15%
larger than IFPUG function points.
The following set of rules of thumb are known to have a high margin of
.in
error. They are being published in response to many requests for
simple methods that can be used manually or with pocket calculators or
spreadsheets. The best that can be said is that the rules of thumb are
es
easy to use and can provide a “sanity check” for estimates produced by
other and hopefully more rigorous methods.
SIZING RULES OF THUMB
ot
The function point metric has transformed sizing from a very difficult task
into one that is now both easy to perform and comparatively accurate.
un
function points and lines of code (LOC), empirical ratios have been
developed for converting LOC data into function points, and vice versa.
The following rules of thumb are based on “logical statements” rather than
“physical lines.” For similar information on almost 500 programming
languages refer to my book Applied Software Measurement
Rule 1: Sizing Source Code Volumes
One function point = 320 statements for basic assembly language
One function point = 125 statements for the C programming language
One function point = 107 statements for the COBOL language
One function point = 71 statements for the ADA83 language
One function point = 15 statements for the SMALLTALK language
The overall range of non-commentary logical source code statements
to function points ranges from more than 300 statements per function
142
142 point for basic assembly language to less than 15 statements per
function point for object-oriented languages with full class libraries Software Effort
Estimation
and many program generators. However, since many procedural
languages such as C, Cobol, Fortran, and Pascal are close to the 100
to 1 mark, that value can serve as a rough conversion factor for
the general family of procedural source code languages.
Sizing Paper Deliverables
Software is a very paper intensive industry. More than 50
kinds of planning, requirements, specification, and user-related
document types can be created for large software projects. For many
large systems and especially for large military projects, the costs of
producing paper documents costs far more than source code. The
following rule of thumb encompasses the sum of the pages that will
be created in requirements, specifications, plans, user manuals, and
other business-related software documents.
Rule 2: Sizing Software Plans, Specifications, and Manuals Function
points raised to the 1.15 power predicts a pproximate page counts
for paper documents associated with software projects.
.in
Paperwork is such a major element of software costs and schedules
that it cannot safely be ignored. Indeed, one of the major problems with
es
the “lines of code” (LOC) metric was that it tended to conceal both the
volumes of paper deliverables and the high costs of software
paperwork.
ot
coding phases.
Assume that you and your clients agree during the requirements to
develop an application of exactly 100 function points. This rule of
thumb implies that every month thereafter, the original requirements
will grow by a rate of 2 function points. Since the design and coding
phases of a 100-function point project are usually about 6 months, this rule
would imply that about 12% new features would be added and the final
total for the application would be 112 function points rather than the initial
value of 100 function points.
Sizing Test Case Volumes
The function point metric is extremely useful for test case sizing,
since the structure of function point analysis closely parallels the
items that need to be validated by testing. Commercial software
estimating tools can predict the number of test cases for more than a dozen
discrete forms of testing. This simple rule of thumb encompasses the sum
of all test cases: 143
Software Project Rule 4: Sizing Test Case Volumes Function points raised to the 1.2
Management
power predicts the approximate number of test cases created.
A simple corollary rule can predict the number of times each test
case will be run or executed during development: assume that
each test case would be executed approximately four times during
software development.
Sizing Software Defect Potentials
The “defect potential” of an application is the sum of bugs or errors that
will occur in five major deliverables: 1) requirements errors; 2)
design errors; 3) coding errors; 4) user documentation errors; 5) bad
fixes, or secondary errors introduced in the act of fixing a prior
error.
One of the many problems with “lines of code” metrics is the fact that
more than half of software defects are found in requirements and design,
and hence the LOC metric is not capable of either predicting or measuring
their volumes with acceptable accuracy. Because the costs and effort for
.in
finding and fixing bugs is usually the largest identifiable software cost
element, ignoring defects can throw off estimates, schedules, and
costs by massive amounts.
es
Rule 5: Sizing Software Defect Potentials Function points raised to the
1.25 power predicts the approximate defect potential for new software
projects.
ot
A similar corollary rule can predict the defect potentials for enhancements.
In this case, the rule applies to the size of the enhancement rather than the
un
base that is being updated: Function points raised to the 1.27 power
predicts the approximate defect potential for enhancement software
projects. The higher power used in the enhancement rule is because of the
latent defects lurking in the base product that will be encountered during
m
.in
development schedule in calendar months.
Among our clients, the range of observed schedules in calendar months
varies from a low of about 0.32 to a high or more than 0.45. Table 4
es
illustrates the kinds of projects whose schedules are typically found at
various power levels, assuming a project of 1000 function points in size:
Table 4: Software Schedules in Calendar Months (Assumes 1000
ot
Calendar Months
0.32 9.12
m
.in
The implication of rule 9 is that one person can perform minor
updates and keep about 750 function points of software operational.
(Anther interesting maintenance rule of thumb is: Raising the
function point total to the 0.25 power will yield the approximate
es
number of years that the application will stay in use.)
Among our clients, the “best in class” organizations are achieving
ratios of up to 3,500 function points per staff member during
ot
The last rule of thumb in this article is a hybrid rule that is based on the
combination of rule 7 and rule 8:
Rule 10: Estimating Software Development Effort Multiply software
development schedules by number of personnel to predict the approximate
number of staff months of effort.
Since this is a hybrid rule, an example can clarify how it operates.
Assume you are concerned with a project of 1000 function points in size:
• Using rule 7, or raising 1000 function points to the 0.4 power,
indicates a schedule of about 16 calendar months.
• Using rule 8, or dividing 1000 function points by 150
indicates a staff of about 6.6 full time personnel.
• Multiplying 16 calendar months by 6.6 personnel indicates a
total of about 106 staff months to build this project.
146
146
6.8 SUMMARY Software Effort
Estimation
.in
This is believed to be unfortunate, because communication problems may
occur and because the concepts serve different goals.
https://tutorialspoint.com
un
https://datafloq.com/read/7-innovative-uses-of-clustering-algorithms/6224
https://en.wikipedia.org/wiki/Cluster_analysis
m
147
7
Software Project
Management
ACTIVITY PLANNING
Unit Structure
7.0 Objectives
7.1 Introduction
7.2 Objective of Activity Planning
7.3 When to Plan?
7.4 Project Schedules
7.5 Projects and Activities
7.5.1 Defining Activities
7.5.2 Identifying Activities
7.6 Sequencing and Scheduling Activities
.in
7.7 Network Planning Models
7.8 Formulating to a Network Model
7.9 Adding the Time Dimension
es
7.10 The Forward Pass
7.11 The Backward Pass
7.12 Identifying the Critical Path
ot
7.18 Exercises
7.19 References
7.0 OBJECTIVES
7.1 INTRODUCTION
A detailed plan for the project includes a schedule indicating the start and
completion time for each activity which will make us to understand the
following:
148
148
• Ensure that appropriate resources will be available precisely when Activity Planning
required.
• Avoid different activities competing for the same resources at the
same time
• Produce a detailed schedule showing which staffs carry out each
activity
• Produce a detailed plan against which actual achievement may be
measured
• Replan the project during its life to correct drift from the target
To be effective, a plan must be stated as a set of targets, the achievement
or non-achievement of which can be unambiguously measured. The
activity plan does this by providing a target start and completion date for
each activity (or a window within which each activity may be carried out).
The starts and completions of activities must be clearly visible and this is
one of the reasons why it is advisable to ensure that each and every project
activity produces some tangible product or 'deliverable'. Monitoring the
.in
project’s progress is then, at least in part, a case of ensuring that the
products of each activity are delivered on time.
As a project progresses it is unlikely that everything will go according to
es
plan. Much of the job pf project management concerns recognizing when
something has gone wrong identifying its causes and revisiting the plan to
mitigate its effects. The activity plan should provide a means of evaluating
the consequences of the meeting any of the activity target dates and
ot
guidance as to how the plan might most effectively modified to bring the
project back to target. We shall see that the activity plan may well also
un
.in
shortening project durations is to carry out activities in parallel .Clearly we
cannot undertake all the activities at the same time — some require the
completion of others before they can start and there are likely to be
resource constraints limiting how much may be done simultaneously
es
.Activity scheduling will, however, give us an indication of the cost of
these constraints in terms of lengthening timescales and provide us with an
indication of how timescales may be shortened by relaxing those
ot
constraint .
.in
7.5.1 Defining Activities
es
Before we try to identify the activities that make up a project it is worth
reviewing what we mean by a project and its activities and adding some
assumptions that will he relevant when we start to produce an activity
plan.
ot
• A project may start when at least one of its activities is ready to start.
151
Software Project
Management
.in
es
ot
152
152
Activity Planning
.in
When preparing a WBS, consideration must be given to the final level of
detail or depth of the structure. Too great a depth will result in a large
number of small tusks that will be difficult to manage, shallow structure
es
will provide insufficient detail for project control. Each branch should,
however, be broken down at least to a level where each leaf may be
assigned to an individual or responsible section within the organization.
ot
Advantages claimed for the WBS approach include the belief that it is
much more likely to result in a task catalogue that is complete and is
composed of non-overlapping include task definitions activities. Note that
un
it is only the leaves of the structure that comprise the list of along with
task Input activities in the project — higher-level nodes merely represent
collections of activities
m
The WBS also represents a structure that may be relined as the project
proceeds. In the early part of a project, we might use a relatively high-
level or shallow WBS, which can he developed as information becomes
available, typically during the project's analysis and specification phases.
Once the project's activities have been identified (whether or not by using
a WBS), they need to be sequenced in the sense of deciding which
activities need to be completed belbre others can start.
Product-Based Approach
It consists of producing a Product Breakdown Structure and a Product
Flow Diagram. The PFD indicates, for each product, which other products
are required as inputs. The PFD can therefore be easily transformed into
an ordered list of activities by identifying the transformations that turn
some products into others. Proponents of this approach claim that it is less
likely that a product will be left out of a PBS than that an activity might be
omitted from an unstructured activity list.
153
Software Project This approach is particularly appropriate if using a methodology such as
Management
SSADM or USDP (Unified Software Development Process), which
clearly specifies, for each step or task, each of the products required and
the activities required to produce it.
In the USDP, products are referred to as artifacts - see Figure 3.3 — and
the sequence of activities needed to create them is called a workflow— see
Figure 3.4 for an example. Some caution is needed in drawing up an
activity network from these workflows. USDP emphasizes that processes
are iterative. This means that it may not be possible to map a USDP
process directly onto a single activity in a network. In Section 4.18 we saw
how one or more iterated processes could be hidden in the single
execution of a larger activity. All projects, whether they contain iterations
or not, will need to have some fixed milestones or time-boxes if progress
towards a planned delivery date is to be maintained. These larger activities
with the fixed completion dates would be the basis of the activity network.
Hybrid Approach
The WBS illustrated in Figure 3.2 is based entirely on a structuring of
activities• Alternatively, and perhaps more commonly, a WBS may be
.in
based upon the project products as illustrated in Figure 3.5, which is in
turn based on a simple list of final deliverables and, for each deliverable, a
set of activities required to produce that product.
es
The degree to which the structuring is product-based or activity-based
might be influenced by the nature of the project and the particular
development method adopted. As with a purely activity-based WBS,
ot
having identified the activities we are then left with the task of sequencing
them.
un
m
A framework dictating the number of levels and the nature of each level in
the structure may be imposed on a WBS. For example, in their MITP
154
154
methodology, IBM recommends that the following five levels should be Activity Planning
used in a WBS:
• Level 1: Project
• Level 2: Deliverables such as software, manuals and training courses
.in
es
• Level 3: Components, which arc the key work items needed to
produce deliverables, such as the modules and tests required to
ot
155
Software Project
Management
7.6 SEQUENCING AND SCHEDULING ACTIVITIES
.in
differently es
ot
un
m
156
156
7.7 NETWORK PLANNING MODELS Activity Planning
These project scheduling techniques model the project's activities and their
relation as a network. In the network, time flows from left to right. These
techniques were originally developed in the 1950s — the two best known
being CPM (Critical Path Method) and PERT (Program Evaluation
Review Technique).
Both of these techniques used an activity-on-arrow approach to visualizing
the project as a network where activities are drawn as arrows joining
circles, or nodes, which represent the possible start and/or completion of
an activity or set of activities. More recently a variation on these
techniques, called precedence networks, has become popular. This method
uses activity-on-node networks where activities are represented as nodes
and the links between nodes represent precedence (or sequencing)
requirements. This latter approach avoids some of the problems inherent
in the activity-on-arrow representation and provides more scope for easily
representing certain situations. It is this method that is adopted in the
majority of computer applications currently available. These three
.in
methods are very similar and it must be admitted that many people use the
same name (particularly CPM) indiscriminately to refer to any or all of the
methods.
es
ot
un
m
157
Software Project
Management
.in
moments considering some rules for their construction. A project network
should have only one start node Although it is logically possible to draw a
network with more than one starting node, it is undesirable to do so as it is
es
a potential source of confusion. In such cases (for example, where more
than one activity can start immediately the project starts) it is normal to
invent a 'start' activity which has zero duration but may have an actual
start date. A project network should have only one end node The end node
ot
designates the completion of the project, and a project may finish only
once! Although it is possible to draw a network with more than one end
node. it will almost certainly lead to confusion if this is done. Where the
un
however, that the network in Figure 3.7 does not contain any reference to
durations. This network drawing merely represents the logic of the project
- the rules governing the order in which activities are carried out
Links normally have no duration Links represent the relationships between
activities In Figure 3.9 installation cannot start until program testing is
complete, program testing cannot start until both coding and data take-on
have been completed.
Precedents are the immediately preceding activities in figure6,9, the
activity 'program test' cannot start until both 'Code' and 'Data take-on' have
been completed and activity 'Install' cannot start until Program test' has,
finished. 'Code' and 'Data take-on' can therefore be said to be precedents
of 'Program test'. And 'Program test' is a precedent of 'Install'. Note that we
do not speak of 'Code' and 'Data take-on' as precedents of 'brush' - that
relationship is implicit in the previous statement.
158
158
Activity Planning
Time moves from left to right If at all possible, networks are drawn so that
time moves from left to right. It is rare that this convention needs to be
flouted, but some people add arrows to the lines to give a stronger visual
indication of the time flow of the project
fig.3.10 demonstrates a loop in a network. A loop is an error in that it
represents a situation that cannot be occurred in practice_ While loops, in
the sense of iteration, may occur in practice_ they cannot be directly
.in
represented in a project network. es
ot
un
m
Although it is easy to see the loop in this simple network fragment, very
large networks can easily contain complex loops which are difficult to
spot when they arc initially constructed. Fortunately, all network planning
applications will detect loops and generate error messages when they are
found. A network should not 'twain dangles A dangling activity such as
'Write user manual' in Figure 3.1 I should not exist as it is likely to lead to
errors in subsequent analysis. Indeed, in many cases, dangling activities
indicate errors in logic when activities are added as an afterthought. If, in
Figure 3.1 I, we mean to indicate that the project is complete once the
software has been installed and the user manual written then we should
redraw the network with a final completion activity — which, at least in
this case, is probably a more accurate representation of what should
happen. The redrawn network is shown in Figure 3.12.
159
Software Project
Management
.in
We might come across situations where we wish to undertake two
activities in parallel, so long as there is a lag between the two. We might
wish to document amendments to a program as it is being tested —
particularly if evaluating a prototype. In such a case, we could designate
es
an activity 'test and document amendments'. This Would, however, make
it impossible to show that amendment recording could start, say, one day
after testing had begun and finish a little after the completion of testing.
ot
Where activities can occur in parallel with a time lag between them, we
represent the lag with a duration on the g, e linking arrow as shown in
Figure 3.13. This indicates that documenting amendments can start one
un
day after the start of prototype testing and will be completed two days
after prototype testing is completed.
m
Hammock Activities
Hammock activities are activities which_ in themselves, have zero
duration but are assumed to start at the same time as the first `ham
mocked' activity and to end at the same as the last one. They are normally
160
160
used for representing overhead costs or other resources that will be Activity Planning
incurred or used at a constant rate over the duration of a set of activities.
Labelling Conventions
There are a number of differing conventions that have been adopted for
entering information on an activity -on-node network. The one adopted
here is shown on the left and is based on the British standard BS4335
Having created the logical network model indicating what needs to be and
the relationships between those activities, we are now ready to start
thinking about when each activity should be undertaken.
The critical path approach is concerned with two primary objectives:
planning the project in such a way that if is completed as quickly as
possible: and identifying those -activities where a delay is likely to affect
the overall end date of the project or later activities*start dates the method
.in
requires that for each activity we have estimate of its duration. The
network is then analysed by carrying out a forward pass to calculate the
earliest dates at which activities may commence, and the project be
completed, and a backward pass, to calculate the latest start dates for
es
activities and the critical path.
In practice, we would use a software application to carry out these
calculations; for anything but the smallest of projects. It is important,
ot
Though, that we understand how the calculation; are carried out in order to
interrupt the results correctly and understand the limitations of the method.
un
The forward pass is carried out to calculate the earliest dates on which
m
The second stage in the analysis of a critical path network is to carry out a
backward pass to calculate the latest date at which each activity may be
started and finished without delaying the end date of the project. In
calculating the latest dates, we assume that the latest finish date for the
project is the same as the earliest finish date - that is, we wish to complete
the project as early as possible.
161
Software Project
Management
.in
es
Figure 3.16 illustrates our network after carrying out the backward pass.
The latest activity dates are calculated as follows.
ot
un
m
• The latest completion date for activities C and D is the latest date at
which activity II must start that is week 11 They therefore have
latest start dates of week 8 (11 - 3) and week 7 (11 respectively.
• The latest start date for the project start is the earliest of the latest
start dates for activities A, B and F.
.in
This is week zero. This is, of course, not very surprising since it tells us
that if the project does not start on time it won't finish on time.
es
7.12 IDENTIFYING THE CRITICAL PATH
There will be at least one path through the network (that is, one set of
successive activities) that defines the duration of the project. This is
ot
known as the critical park Any delay to any activity on this critical path
will delay the completion of the project-The difference between an
un
activity's earliest start date and its latest start date (or. equally, the
difference between its earliest and latest finish dates) is known as the
activity's float — it is a measure of how much the start or completion of an
activity may be delayed without affecting the end date of the project. Any
m
activity with a float of zero is critical in the sense that any delay in
carrying out the activity will delay the completion date of the project as a
whole. There will always be at least one pad through the network joining
those critical activities — this path is known as the critical path and is
shown bold in Figure 3.17.
163
Software Project
Management
.in
• In planning the project, it is the critical path that we must shorten if
we are to reduce the overall duration of the project.
es
Figure 3.17 also shows the activity span. This is the difference between
the earliest start date and the latest finish date and is a measure of the
maximum time allowable for the activity. However, it is subject to the
ot
Although the total float is shown for each activity, it really 'belongs' to a
path through the network. Activities A and C in Figure 3.17 each have 2
m
weeks' total float. If, however, activity A uses up its float (that is, it is not
completed until week 8) then activity B will have zero float (it will have
become critical). In such circumstances, it may be misleading and
detrimental to the project's success to publicize total float!
There are a number of other measures of activity float, including the
following:
• Interfering float: The difference between total float and free float.
This is quite commonly used, particularly in association with the
free float. Once the free float has been used (or if it is zero), the
164
164
interfering float tells us by how much the activity may be delayed Activity Planning
without delaying the project end date — even though it will delay
the start of subsequent activities.
.in
There will come a point when we can no longer safely, or cost-effectively,
reduce critical activity durations in an attempt to bring forward the project
end date. Further savings, if needed, must be sought in a consideration of
es
our work methods and by questioning the logical sequencing of activities.
Generally, time savings are to be found by increasing the amount of
parallelism in the network and the removal of bottlenecks (subject always,
ot
The critical path identifies those activities which are critical to the end
date of the project; however, activities that are not on the critical path may
become critical. As the project proceeds, activities will invariably use up
m
some of their float and this will require a periodic recalculation of the
network. As soon as the activities along a particular path use up their total
float then that path will become a critical path and a number of hitherto
non-critical activities will suddenly become critical.
It is therefore common practice to identify near-critical paths — those
whose lengths are within, say, 10-20% of the duration of the critical path
or those with a total float of less than, say, 10% of the project's
uncompleted duration.
The importance of identifying critical and near-critical activities is that it
is they that arc most likely to be the cause of delays in completing the
project. We shall see, in the next three chapters, that identifying these
activities is an important step in risk analysis, resource allocation and
project monitoring.
165
Software Project
Management
7.16 ACTIVITY-ON-ARROW NETWORKS
The developers of the CPM and PERT methods both originally used
activity-on-arrow network Although now less common than activity-on-
node networks, they are still used and introduce an additional useful
Concept — that of events. We will therefore take a brief look at how they
are drawn and analysed using the same project example shown in Table
3.1.
In activity-on-arrow networks activities are represented by links (or
arrows) and the nodes represents events of activities (or groups of
activities) starting or finishing. Figure 3.18 illustrates our previous
example (see Figure 3.14) drawn as an activity-on-arrow network.
.in
es
ot
un
.in
Nodes are numbered sequentially There are no precise rules about node
numbering, but nodes should be numbered so that head nodes (those at the
es
'arrow' end of an activity) always have a higher number than tail events
(those at the 'non-arrow' end of an activity). This convention makes it easy
to spot loops. A network may not contain loops Figure 6,2() demonstrates
a loop in an activity-on-arrow network. As discussed in the context of
ot
.in
es
ot
un
m
168
168
Activity Planning
.in
for it and before coding the software. Before coding the software, it is also
necessary to specify the appropriate data structures, although clearly, we
do not need to wait for this to be done before the hardware is ordered.
Figure 3.23 is an attempt to model the situation described above, although
es
it is incorrect in that it requires both hardware specification and data
structure design to be completed before either an order may be placed, or
software coding may commence. We can resolve this problem by
ot
structure design and placing the order and is shown in Figure 3.24.
m
169
Software Project
Management
.in
es
ot
un
m
Activity Labelling
There are several differing conventions that have been adopted for
entering information on an activity-on-arrow network. Typically, the
diagram is used to record information about the events rather than the
activities - activity-based information (other than labels or descriptions) is
generally held on a separate activity table.
One of the more common conventions for labelling nodes, and the one
adopted here, is to divide the node circle into quadrants and use those
quadrants to show the event number, the latest and earliest dates by which
the event should occur, and the event slack (which will be explained later).
Network Analysis
Analysis proceeds in the same way as with activity-on-node networks,
although the discussion places emphasis on the events rather than activity
start and completion times.
170
170
The forward pass is carried out to calculate the earliest date on which each Activity Planning
event may be achieved and the earliest dates on which each activity may
be started and completed. The earliest date for an event is the earliest date
by all activities upon which it depends can be completed. Using Figure
6.18 and Table 6.1, the calculation proceeds according to the following
reasoning.
• Activity B will take 4 weeks, so the earliest it can finish and the
earliest we can achieve event 3 is week 4.
.in
es
ot
un
• Activity E can start as early as week 4 (the earliest date for event 3)
and, since it is forecasted to take 3 weeks, will be completed, at the
earliest, at the end of week 7.
• Similarly, we can reason that event 4 will have the earliest date of
week 9. This is the later of the earliest finish for activity D (week 8)
and the earliest finish for activity C (week 9).
.in
es
ot
un
m
Identifying the critical path, The critical path is identified in a way similar
to that used in activity-on-node networks. We do, however, use a different
concept, that of slack, in identifying the path. Slack is the difference
between the earliest date and the latest date for an event — it is a measure
of how late an event may be without affecting the end date of the project.
The critical path is the path joining all nodes with a zero slack
(Figure 3.29).
172
172
Activity Planning
7.17 SUMMARY
In this chapter, we have discussed the use of the critical path method and
precedence networks to obtain an ideal activity plan. This plan tells us
.in
about the order in which we should execute activities and the earliest and
latest we can start and finish them.
These techniques help us to identify which activities are critical to meeting
es
a target completion date.
In order to manage the project, we need to turn the activity plan into a
schedule that will specify precisely when each activity is scheduled to start
ot
and finish. Before we can do this, we must consider what resources will be
required and whether or not they will be available at appropriate times. As
we shall see, the allocation of resources to an activity may be affected by
un
how we view the importance of the task and the risks associated with it. In
the next two chapters we look at these aspects of project planning before
we consider how we might publish a schedule for the project.
7.18 EXERCISES
m
.in
latest finish dates. Work out the shortest project duration. If only two
software developers were available for the design and coding of
modules, what effect would this have on the project duration?
es
8. What are the limitations of the precedence and CPM activity
network notations?
9. Consider a software project with five tasks T1-T5. Duration of the
ot
representation of the project. When is the latest start date of the task
T3? What is the float time of the task T4? Which tasks are on the
critical path?
m
10. Consider a software project with five tasks that are denoted by T1,
T2, T3, T4 and TS, Duration of these five tasks (in days) are 15, 10,
12, 25 and 10, respectively. T2 and T4 can start when T1 is
complete. T3 can start when T2 is complete. TS can start when both
T3 and T4 are complete. What will be the latest start date of the task
T3? What is the slack time of the task T4?
11. Why is it necessary for a project manager to decompose the tasks of
a project using Work breakdown structure (WBS) into finer level
tasks before constructing the task schedule? To what granularity
level should the tasks be decomposed? Explain your answer.
12. For each of the following questions, exactly one option is correct.
Select the appropriate option.
(i) Which one of the following charts would be the most useful to
decompose the project activities into smaller tasks that are more
meaningfully managed?
(a) PERT chart
174
174
(b) GANTT chart Activity Planning
.in
(b) The PERT chart contains two or more activities that have
identical starting and ending events.
(c) In the PERT chart, two or more activities have different
es
ending events.
(d) In the PERT chart, two or more activities have the same
starting events
ot
(v) Using the data in the following table, what is the total project
duration?
un
(a) 20 (b) 27
(c) 37 (d) 44
(vi) PERT method differs from CPM in which one of the following
m
aspects.
(a) PERT uses statistical time durations whereas CPM uses
deterministic time durations,
(b) PERT uses dummy activities whereas CPM does not.
(c) PERT uses free float, whereas CPM uses total float in critical
path calculations.
(d) PERT uses activity on arc whereas CPM uses activity on node
networks.
(vii) Which one of the following is true of a critical path in a PERT
chart?
(a) It is the path having maximum number of tasks.
(b) It is the shortest path in terms of time.
(c) It is the longest path in terms of time.
(d) It is the path with the largest amount of slack time. 175
Software Project (viii) Which one of the following statements regarding critical paths in a
Management
PERT chart is true?
(a) A critical path through a PERT chart is any path through the
chart that contains the least number of edges.
(b) Some activities on the critical path can have slack.
(c) Every PERT chart has exactly one critical path.
(d) It is possible that in the PERT chart for a project, there can be
multiple critical paths, all having the same duration.
(ix) In a PERT chart, an activity has an early start (ES) of 3 days, a late
start (LS) of 13 days, an early finish (EF) of 16 days and a late finish
(LF) of 26 days. Which one of the following can be inferred
regarding this activity?
(a) It is on the critical path. (b) It is not progressing well.
(c) It is progressing well. (d) It is not on the critical path.
(x) Suppose you have estimated the nominal duration of your project to
be 4 months and you have planned to complete the work by
.in
deploying three developers. However, the customer request you to
complete the work in 3 months. In this case, what will be the man-
power requirement as per Putnam's results?
es
(a) 6 (b) 8
(c) 10 (d) 20
ot
Answer questions (xi) and (xii) for a project whose activities, their
precedence ordering, estimated time for completion are given in the
following table.
un
176
176
8
RISK MANAGEMENT
Unit Structure
8.0 Objectives
8.1 Introduction
8.2 Risk
8.3 categories of Risk
8.4 Risk Management Approaches
8.4.1 Reactive approaches
8.4.2 Proactive approach
8.5 A framework for dealing with Risk
8.6 Risk Identification
8.7 Risk Assessment
.in
8.8 Risk Planning
8.9 Risk Management
8.9.1 Contingency
es
8.9.2 Deciding on the risk action
8.9.3 Creating and maintaining the risk register
8.10 Evaluating Risk to the schedule
ot
177
Software Project
Management
8.0 OBJECTIVES
8.1 INTRODUCTION
In an earlier chapter we had seen that how the software for the new annual
maintenance contracts application was to be produced which included
estimation of how long each task would take. But suppose if one of the
developer leaves for better paid job then it might further delay the process
and getting the replacement immediately for the vacant post is bit difficult
which will impact the overall growth. Such type of activities is termed as
“Risks” which are uncertain about its occurrences and one has to be ready
to take it and face the consequences of it which can be sometimes fruitful.
.in
8.2 RISK
es
• PM-BOK defines risk as 'an uncertain event or condition that, if it
occurs, has a positive or negative effect on a project's objectives'.
178
178
8.3 CATEGORIES OF RISK Risk Management
• Project risks are those that could prevent the achievement of the
objective given to the project manager and the project team.
.in
es
• In this figure ‘Actors’ refers to all the people involved in the
development of the application in question. A typical risk in this
ot
• Task relates to the work planned. For instance ,the complexity of the
m
• All boxes are interlinked .Risk often arise from the relationships
between factors –for example technology and people.
• The proactive approaches try to anticipate the possible risks that the
project is susceptible. After identifying the possible risk, actions
are taken to eliminate the risks. If a risk cannot be avoided, these
approaches suggest making plans to contain the effect of the risk .
.in
events occur and, therefore, are much more preferred by scam:
However, when some risks cannot be anticipated, a reactive
approach is usually followed.
es
8.5 FRAMEWORK FOR DEALING WITH RISK
The two main approaches to the identification of risks are the use of
checklists and brainstorming
180
180
Risk Management
.in
es
ot
• Checklist
Checklists are simply lists of the risks that have been found to occur
un
• Brainstorming
181
Software Project
Management
8.7 RISK ASSESSMENT
.in
8.8 RISK PLANNING
Having identified the major risks and allocated priorities, the task is to
decide how to deal with them. The choices discussed will be
es
• Risk acceptance
• Risk avoidance
ot
• Risk acceptance
This is the do-nothing option We will already in the risk
m
• Risk avoidance
Some activities may be prone to accident that is best to avoid them
altogether. If you are worried about shark they don’t go into the
water. For example given all the problems with developing software
solution from scratch manager might decide to retain existing
clerical method or to buy an off-the-shelf solution.
• Risk Transfer
In this case the risk is transferred to other person or
organization you might the except the supplier to quote a
higher figure to cover the risk that the project takes longer than
the average excepted time.
• Contingency
Risk reduction activities would appear to have only a small impact on
reducing the probability of some risks, for example staff absence through
illness. While some employers encourage their employees to adopt a
.in
healthy lifestyle, it remains likely that some project team members will at
some point be brought down by minor illnesses such as flu. These kinds of
risk need a contingency plan. This is a planned action to be carried out if
the particular risk materializes. If a team member involved in urgent work
es
were ill then the project manager might draft in another member of staff to
cover that work.
The preventative measures that were discussed under the 'Risk reduction'
ot
heading above will usually incur some cost regardless of the risk
materializing or not. The cost of a contingency measure will only be
incurred if the risk materializes. However, there may be some things that
un
183
Software Project III. Risk reduction leverage = (REbefore-REafter)/ (Cost of the risk
Management
reduction) REbefore is the risk exposure, as explained, before
risk reduction actions have been taken. RE is the risk exposure
after taking the risk reduction action. An RRL above 1.00
indicates that the reduction in risk exposure achieved by a
measure is greater than its cost. To take a rather unrealistic
example, it might cost £200,000 to replace a hardware
configuration used to develop a software application. There is
a 1% chance of a fire (because of the location of the
installation, say). The risk exposure would be 1% of £200,000
that is £2,000. Installing fire alarms at a cost of £500 would
reduce the chance of fire to 0.5% the new risk exposure would
be £1,000, a reduction of £1,000 on the previous exposure.
The RRL would be (2000-1000)/500, that is 2.0, and the action
would therefore be deemed worthwhile.
.in
appear to be the most threatening risks to the project, they need to
record their findings in a risk register. The typical content of such a
register . After work starts on the project more risks will emerge and
be added to the register. At regular intervals, probably as part of the
es
project control life cycle described in Chapter 9, the risk register
should be reviewed and amended. Many risks threaten just one or
two activities, and when the project staffs have completed this risk
ot
This illustrated the point that a forecast of the time needed to do a job is
m
184
184
Risk Management
.in
es
ot
within a project. We will also touch upon Monte Carlo simulation, which
is a more powerful and flexible tool that tackles the same problem
A drawback to the application of methods like PERT is that in practice
m
Boehm has identified the top 10 risks that a typical project suffers from
and has recommended a set of countermeasures for each. We briefly
review these in the following.
1. Personnel shortfall: This risk concerns shortfall of project
personnel. The shortfall may show up as either project personnel
may lack some specific competence required for the project tasks or
personnel leaving the project (called manpower turnover) before
185
Software Project project completion. The countermeasures suggested including
Management
staffing with top talent, job matching, team building, and cross-
training f personnel.
2. Unrealistic schedules and budgets: The suggested counter
measures include the project manage working out the detailed
milestones and making cost and schedule estimations based on it
Other counter measures are incremental development, software
reuse, and requirements scrubbing It may be mentioned that
requirements scrubbing involves removing the overly complex and
unimportant requirements, in consultation with the customers.
3. Developing the wrong functions: The suggested countermeasures
include user surveys and user participation, developing prototypes
and eliciting user feedback, and early production users manas and
getting user feedback on it
4. Developing the wrong user interface: The countermeasures
suggested for this risk include pross typing, scenarios and task
analysis, and user participation.
.in
5. Gold-plating: Gold-plating as discussed in Chapter 1, concerns
development of features that the team members consider nice to
es
have and, therefore, decide to develop those even though the
customer has not expressed any necessity for those. The
countermeasures suggested for this risk includes require ments
scrubbing, prototyping and cost-benefit analysis.
ot
186
186
Risk Mitigation, Monitoring, and Management (RMMM) Plan Risk Management
.in
many of today's large software projects.
The method is very similar to the CPM technique (indeed many
practitioners use the terms PERT and CPM interchangeably) but, instead
es
of using a single estimate for the duration of each task, PERT requires
three estimates.
• Most likely time: the time we would expect the task to take under
ot
.in
A quantitative measure of the degree of uncertainty of an activity duration
estimate may be obtained by calculating the standard deviation s of an
es
activity time, using the formula
S=b-a/6
ot
The Z value calculated for each node that has a targeted date.It is
eiquivalent to the number of standard deviation between the node excepted
and target date.It is calculating using this formula.
z=T-te/s
converting z values
Advantages of PERT
We have seen that by requesting multi-valued activity duration estimates
and calculating expected dates PERT focuses attention on the uncertainty
of forecasting. We can use the technique to calculate the standard
deviation for each task and use this to rank them according to their degree
of risk. Using this ranking, we can see, for example, that activity F is the
one regarding which we have greatest uncertainty, whereas activity C
should, in principle, give us relatively little cause for concern.
.in
If we use the expected times and standard deviations for forward passes
through the network we can, for any event or activity completion, estimate
the probability of meeting any set target. By setting target dates along the
critical path, we can focus on those activities posing the greatest risk to the
es
project's schedule.
.in
• Step 4: Repeat Steps 2 and 3 for the specified number of
times.
es
• Step 5: Analyze the results din summarize and display using a
histogram as the one shown in Figure given below
ot
un
m
• This chapter has stressed the idea that the forecast for the duration of
an activity cannot in reality be a single number but must be a range
of durations that can be displayed on a graph such as Figure 7.3.
However, we would want to pick one value in that range which
would be the target.
• The duration chosen as the target might be the one that seems to be
the most likely. Imagine someone who cycles to work each day. It
may be that on average it takes those about 45 minutes to complete
the journey, but on some days, it could be more and on others it
could be less. These journey times could be plotted on a graph like
the one in Figure 7.3. If the cyclist had a very important meeting at
work, it is likely that they would give themselves more time - say an
.in
extra 15 minutes than the average 45 minutes to make sure that they
arrived in time. In the discussion above on the PERT risk technique
the most likely duration was the middle value, and the pessimistic
es
estimate was the equivalent of the 45+15=60 minute
• Of course, there will be some days when the cyclist will beat the
average of 45 minutes. When a project is being executed, the project
ot
properly handled, could put some time in hand that might still allow
the project to meet its target completion date if the later activities are
delayed.
m
.in
include a safety margin or comfort zone. From now on we are going
to assume that this is what has happened. In fact we will use the
figures already presented in Table 7.6 in this new role (Table 7.8).
es
Using latest start dates for activities
Working backwards from the target completion date, each activity is
scheduled to start as late as possible. Among other things, this should
ot
reduce the chance of staff being pulled of the project on to other work. It is
also argued - with some justification according to van Genuchten's
un
research above - that most developers would tend to start work on the task
at the latest start time anyway. However, it does make every activity
"critical'. If one is late the whole project is late. That is why the next steps
are needed.
m
• Buffers are also inserted into the project schedule where a subsidiary
chain of activities feeds into the critical chain. These feeding buffers
could once again be set at 50% of the length of the comfort zone'
removed from the subsidiary or feeding chain.
.in
Project execution
When the project is executed, the following principles are followed
No chain of tasks should be started earlier than scheduled, but once it has
es
been started it should be finished as soon as possible - this invokes the
relay race principle, where developers should be ready to start their tasks
as soon as the previous, dependent, tasks are completed.
ot
• Buffers are divided into three zones: green, amber, and red, each of
an even (33%) size:
un
• In this chapter we have seen how to identify and manage the risks
that might affect the success of a project. Risk Management is
concerned with assessing and prioritizing risks and drawing up
plans for addressing those risks before they become problems.
• This chapter has also described the techniques for estimating the
effect of risk on the project's activity network and schedule.
• Many of the risks affecting software project can be reduced by
allocating more experienced staff to those activities that are
affected.
8.16 EXERCISES
.in
to effectively manage risks in your project.
194
194
4) Which one of the following is the most appropriate sequence of Risk Management
strategies that can be adopted for dealing with positive risks?
a) Avoid mitigate transfer and accept
b) Transfer mitigate avoid and exploit
c) Exploit share enhance and accept
d) Mitigate Enhance exploit and accept
5) Purchasing insurance cover can be considered to be an example of
which one of the following risk handling strategies?
a) Mitigation
b) Transfer
c) Acceptance
d) Avoidance
6) Which one of the following can be considered to be the most
accurate definition of proactive risk management?
.in
a) Monitoring risks throughout the project and taking appropriate
actions to contain them
b) Identifying, analyzing and prioritizing risks and developing a
es
risk response plan
c) Developing a risk management plan to prevent occurrence of
various types of risks
ot
a) Requirements scrubbing
b) Cross training of personnel
c) Cost benefit analysis
d) Prototyping Dsadsa
8) Assume that you are the project manager software development
project. Sunrise Engineering Works the hardware vendor has
intimated you that a problem in customs clearance is preventing
your network equipment from being delivered on time and may get
delayed by several months. For handling this risk, you have arranged
for leasing a network equipment from a local company as an interim
arrangement. Which one of the following the risk response strategies
have you adopted?
a) Transference b) Acceptance c) Mitigation d) Avoidance
195
Software Project
Management
8.17 REFERENCES
.in
es
ot
un
m
196
196
9
RESOURCE ALLOCATION
Unit Structure
9.0 Objectives
9.1 Introduction
9.2 Nature of Resources
9.3 Identify Resources Requirements
9.4 Scheduling Resources
9.5 Creating Critical Paths
9.6 Counting the Cost
9.7 Being Specific
9.8 Publishing the Resources Schedule
.in
9.9 Cost Schedules
9.10 Summary
9.11 Exercises
es
9.0 OBJECTIVES
ot
project
• Produce a work plan and resource schedule
9.1 INTRODUCTION
m
A resource is any item or person required for the execution of the project.
This covers many things – from paper clip to key personnel – and it is
unlikely that we would wish to itemize every resource required, let alone
draw up a schedule for their use. Stationery and other standard office
supplies, for example, need not normally be the concern of the project
manager – ensuring an adequate is the role of the office manager. The
project manager must concentrate on those resources which, without
planning, might not be available when required.
Some resources, such as a project manager, will be required for the
duration of the duration of the project whereas others, such as a specific
software developer, might be required for a single activity. The former,
while vital to the success of the project, does not require the same level of
scheduling as the latter. The manager may have to request the use of a
developer who belongs to a pool of resources controlled at programmer
level.
.in
In general, resources will fall into one of seven categories.
computing and office equipment. We must not forget that staff also
need basic equipment such as desks and chairs.
• Materials: Materials are items that are consumed, rather than
m
Having produced the resource requirements list. The next stage is to map
this on to the activity plan to assess the distribution of resources required
over the duration of the project. This is best done by representing the
activity plan as a bar chart and using this to produce a resource histogram
for each resource.
Each activity has been scheduled to start at its earliest start date a sensible
.in
initial strategy, since we would, other things being equal, wish to save any
float to allow for contingencies. Earliest start scheduling, as is the case
with Amanda’s project, frequently creates resources histograms that start
es
with a peak and then tail off.
Changing the level of resources on a project over time, particularly
personnel, generally adds to the cost of a project. Recruiting staff has costs
ot
and, even where staff are transferred internally, time will be needed for
familiarization with the new project environment.
un
periods of time. This raises the question whether this idle time should be
charged to Amanda’s project. This ideal resource histogram will be
smooth with, perhaps, an initial build- up and a staged run – down.
Some project planning software tools will carry out resources smoothing
automatically, although they are unlikely to consider all the factors that
could be used by a project manager. Many project planning software tools
will produce resources histograms based on earliest activity start dates.
In practice, resources must be allocated to a project on an activity-by-
activity basis and finding the "best" allocation can be time consuming and
difficult. As soon as a member of the project team is allocated to an
activity, that activity acquires a scheduled start and finish date, and the
team member becomes unavailable for other activities for that period.
Thus, allocating a resource to one activity limits the flexibility for resource
allocation and scheduling of other activities.
199
Software Project It is therefore helpful to prioritize activities so that resources can be
Management
allocated to competing activities in some rational order. The priority must
almost always be to allocate resources to critical path activities and then to
those activities that are most likely to affect others. In that way, lower-
priority activities are made to fit around the more critical, already
scheduled activities.
Of the various ways of prioritizing activities, two are described below.
• Ordered list priority with this method, activities that can proceed at
the same time are ordered according to a set of simple criteria. An
.in
example of this is Burman's priority list, which considers activity
duration as well as total float:
1. Shortest critical activity
es
2. Critical activities
3. Shortest non-critical activity
4. Non-critical activity with least float
ot
5. Non-critical activities
Unfortunately, resource smoothing, or even containment of resource
un
Scheduling resources can create new critical paths. Delaying the start of an
activity because of lack of resources will cause that activity to become
critical if this uses up its float. Furthermore, a delay in completing one
activity can delay the availability of a resource required for a later activity.
If the later one is already critical, then the earlier one might now have
been made critical by linking their resources
Amanda's revised schedule, which still calls for four analyst/designers but
only for a single day, is illustrated in the solution to Exercise 8.2 (check it
in the back of the book if you have not done so already). Notice that in
rescheduling some of the activities she has introduced additional critical
activities. Delaying the specification of module C has used up all its float -
and that of the subsequent activities along that path! Amanda now has two
critical paths - the one shown on the precedence network and the new one.
200
200
In a large project, resource-linked criticalities can be quite complex - a Resource Allocation
hint of the potential problems may be appreciated by looking at the next
exercise.
.in
Allocating resources and smoothing resource histograms is relatively
straightforward where all resources of a given type can be considered
equivalent. When allocating Laboure’s to activities in a large building
es
project we need not distinguish among individuals - there are likely to be
many Laboure’s and they may be treated as equals so far as skills and
productivity are concerned.
ot
This is seldom the case with software projects. We saw in Chapter 5 that,
because of the nature of software development, skill and experience play a
significant part in determining the time taken and, potentially. the quality
un
of the final product. Except for extremely large projects, it makes sense to
allocate individual members of staff to activities as early as possible, as
this can lead us to revise our estimate of their duration.
m
.in
this case, Amanda has chosen not to include activity floats (which could
be indicated by shaded bars) as she fears that one or two members of the
team might work with less urgency if they are aware that their activities
es
are not critical.
Notice that, somewhat unusually, it is assumed that there are no public
holidays or other non-productive periods during the 100 days of the
ot
project and that none of the team has holidays for the periods they are
shown as working.
un
detailed and accurate estimate of costs and will serve as a plan against
which project progress can be monitored.
Calculating cost is straightforward where the organization has standard
cost figures for staff and other resources. Where this is not the case, then
the project manager will have to calculate the costs.
In general, costs are categorized as follows:
• Staff costs: These will include staff salaries as well as the other
direct costs of employment such as the employer's contribution to
social security funds, pension scheme contributions, holiday pay and
sickness benefit. These are commonly charged to projects at hourly
rates based on weekly work records completed by staff. Note that
contract staff are usually charged by the week or month - even when
they are idle.
202
202
• Overheads: Overheads represent expenditure that an organization Resource Allocation
incurs, which cannot be directly related to individual projects or
jobs, including space rental, interest charges and the costs of service
departments (such as human resources). Overhead costs can be
recovered by making a fixed charge on development departments (in
which case they usually appear as a weekly or monthly charge for a
project), or by an additional percentage charge on direct staff
employment costs. These additional charges or on-costs can easily
equal or exceed the direct employment costs.
9.10 SUMMARY
.in
We have seen the importance of the following:
priority.
• Taking care in allocating the right staff to critical activities.
un
9.11 EXERCISES
considers the activity duration as well as its total float. Why do you
think this is advantageous?
2. If you have access to project planning software, use it to produce an
activity plan for Amanda's project and include the staff resource
requirements for each activity.
Explore the facilities of your software and answer the following
questions.
.in
es
ot
un
204
204
Resource Allocation
.in
clashes.
7. Consider a software development project with seven tasks T1-17.
The estimated duration of these seven tasks in weeks are 3, 2, 3, 5, 2,
es
4, and 5 respectively. T2 and T4 can start when T1 is complete. T3
can start when T2 is complete. T5, T6, and T7 can start when both
T3 and T4 are complete. If developer: A is available from the start
ot
(ii) Which one of the following is not true about resource histograms?
(a) A resource histogram is a representation of the distribution of
the resources required over the duration of the project.
(b) Based on the resource histogram, some activities may be
delayed reducing the maximum demand of a resource.
(c) A resource histogram is used to estimate activity durations.
(d) The initial activity network is refined based on the resource
histogram.
(iii) Which one of the following is false regarding resource scheduling?
(a) Resource scheduling may lead to changing the duration of
some activities on the PERT chart.
(b) Resource scheduling may not affect the critical path.
(c) Resource scheduling usually shortens the critical path.
(d) Resource scheduling can create additional critical paths.
205
10
Software Project
Management
.in
10.4 Review
10.4.1 Utility of Review
10.4.2 Candidate Work Product for Review
es
10.4.3 Review Roles
10.4.4 Review Process
10.4.5 Data Collection
ot
10.0 OBJECTIVES
.in
• The risk of slippages
• The ways to visualize and assess the planned and actual state of the
project
es
• Countermeasures to revise target back on track in case of drift
•
ot
10.1 INTRODUCTION
un
• Once the work schedules have been published and the project has
begun, the focus must be on progress.
m
• Controlling a project and ensuring that goals are met requires regular
monitoring.
.in
es
ot
un
m
208
208
Monitoring and Control
.in
regular or adhoc. Sample table shows the various reporting
categories
.in
10.3 COLLECTING THE DATA
• The staff time booked to a task demonstrates the work did and the
charges to the undertaking.
210
210
Monitoring and Control
.in
es
ot
completion dates.
• So, in traffic light or RAG method, we recognize the key (first level)
components for a piece of work.
• Finally review first and second level assessment to produce the final
evaluation.
211
Software Project
Management
.in
• RAG assessment highlights risk of non-achievement.
10.4 REVIEW
ot
212
212
• A review meeting, in recognizing defects, frequently provides Monitoring and Control
learning opportunities for not only the creator of a work items, but
also the other review meeting participants.
• Apart from final work items and end products, other items are also
reviewed such as requirements specification documents, user
interface specification and design documents, architectural, high-
level and detailed design documents, test plan and the designed test
cases and lastly project management plan and configuration
management plan
10.4.3 REVIEW ROLES
.in
and Reviewer) to play key roles in the review process.
213
Software Project
Management
.in
author along with other reviewers respond to it and moderator
ensures discussions are focussed and productive. At the end the
recorder scribes the defects and prepares defect log with review
es
statistics.
• Rework and follow-up – The author raise all issues by team and
brings in relevant modification. A rejoinder is prepared against the
ot
• The Gantt chart is the most basic and oldest technique for tracking
project progress.
.in
schedule.
es
ot
un
m
215
Software Project
Management
.in
10.5.3 TIMELINE
• One drawback of the charts discussed thus far is that they do not
actually demonstrate the slippage of the project completion date
es
throughout the project's life cycle.
.in
• When we add projected future costs calculated by adding the
estimated costs of unfinished work to the costs already incurred, the
costs chart becomes more useful.
es
• A computer-based planning tool is used, and cost schedule revisions
are generally provided automatically after actual expenditure has
been recorded.
ot
un
m
217
Software Project • Planned value (PV) or Budgeted cost of work scheduled (BCWS) is
Management
the initial estimate of the effort/cost to complete a task (compare to
the concept of a 'price').
• A task that has not yet begun is assigned an earned value of zero,
and when completed, it is credited with the task's original planned
value.
.in
• 75/25 technique - It means initial value of 75% is started and on
completion given remaining 25% of budgeted value.
measuring criteria.
.in
the extent to which the value of completed work differs from that
anticipated.
• The difference between the earned value or budgeted cost and the
actual cost of completed work is calculated as EV-AC.
m
• Given the current rate of progress, SPI can be used to project the
project's possible duration.
219
Software Project • SAC/SPI = TEAC where TEAC stands for time estimate at
Management
completion; SAC stands for schedule at completion.
.in
Figure 10.11 - Earned value chart with revised forecast
• The list that follows prioritizes the deciding level used for
monitoring.
m
• Activities with less than a specified float – They may be taken care
by regular monitoring.
220
220
10.9 GETTING THE PROJECT BACK ON TARGET Monitoring and Control
• Almost every project will face delays and unexpected events at some
point.
• When developing plans to get a project back on track, there are two
main approaches to consider.
.in
become critical which should be taken care off.
• If costs rise, the value of the benefits at the end of the project falls.
• After reviewing the report and approving one of the options, the
Project Board may charge the project manager with developing a
more detailed exception plan.
.in
• It is expected that the final version will be created at some point.
•
es
Baselined products serve as the foundation for future product
development.
controlled.
10.10.1 CHANGE CONTROL PROCEDURES
m
222
222
• Step 6 - One or maybe more developers are authorised to duplicate Monitoring and Control
components that will be altered.
.in
monitored.
.in
software product's configuration throughout its entire life cycle.
• A configuration management tool must be deployed for effective
configuration management.
es
10.11.2 FEW TERMINOLOGIES
configuration control.
• Version – The configuration of a software product changes as
development and maintenance activities are performed on it. It is
un
• Variant – These are versions that are meant to coexist with one
another.
10.11.3 PURPOSE OF SOFTWARE CONFIGURATION
MANAGEMENT
.in
• Accurate determination of project status - Typically, a project
manager will perform configuration management using a
configuration management tool. Furthermore, a configuration
es
management tool aids in the tracking of various deliverable objects,
allowing the project manager to quickly and unambiguously
determine the current state of the project. The configuration
management tool allows the developer to make controlled changes
ot
225
Software Project • Work products that can be controlled include both controlled and
Management
pre-controlled work products.
.in
• Configuration management tools limit the number of modules that
can be reserved by a team member at any given time.
es
ot
un
m
226
226
10.11.5 MODIFICATIONS TO WORK PRODUCT UNDER Monitoring and Control
CONFIGURATION CONTROL
• Then, on their private copy, they can make all necessary changes to
the work product.
• Once they have completed all necessary changes, the changes must
be restored in the configuration management repository.
.in
configuration necessitates the approval of a Change Control Board
(CCB).
out such as
• Change is well-intentioned.
un
• The release process should require little action on the part of the
developer to post a new release of software and little effort on the
part of the users to download and install it.
227
Software Project 10.11.7 OPEN-SOURCE CONFIGURATION MANAGEMENT
Management
TOOLS
10.12 SUMMARY
.in
• Longer activities should be subdivided to make them more
manageable.
es
• The delivery of project products should be used to gauge progress.
• In order to effectively communicate information, progress must be
visually appealing.
ot
• https://www.guru99.com/software-configuration-management-
tutorial.html
• https://www.gristprojectmanagement.us/software/cost-
monitoring.html
• https://www.jigsawacademy.com/blogs/data-science/earned-value-
analysis
228
228
10.14 UNIT END EXERCISES Monitoring and Control
1. The scenario is for removing bugs from the code. Which technique
would be cost effective – Review or testing? State proper reasons.
2. A work with a PV of £40,000 should have been completed by now.
Some of that work is not done so EV is only £35,000. £55,000 had
actually been spent to get that EV. Calculate SV and CV. Also
calculate CPI and SPI. The budget at completion was £100,000. The
planned total duration for the project was 23 months. Calculate EAC
& TEAC.
3. Suppose a project is to be completed in one year at the cost of
£100,000. After 3 months, you realize that the project is 30%
complete at the cost of £40,000. Assess the performance of the
project.
4. Identify other reasons why there is tendency for software creep.
.in
5. What are the pros and cons of putting all the work products in a
project under configuration control?
es
ot
un
m
229
11
Software Project
Management
MANAGING CONTRACTS
Unit Structure
11.0 Objectives
11.1 Introduction
11.2 Types of Contracts
11.2.1 Fixed price contracts
11.2.2 Time and Materials contracts
11.2.3 Fixed price per unit delivered contracts
11.2.4 Open tendering process
11.2.5 Restricted tendering process
.in
11.2.6 Negotiated tendering process
11.3 Stages in Contract Placement
11.3.1 Requirement Analysis
es
11.3.2 Evaluation plan
11.3.3 Invitation to tender (ITT)
ot
11.6 Acceptance
11.7 Summary
m
11.0 OBJECTIVES
• Types of contracts
230
230
11.1 INTRODUCTION Managing Contracts
.in
• Probable suppliers will carefully assess the cost and time spent
responding to client request as the final contract cannot be
guaranteed.
es
11.2 TYPES OF CONTRACTS
ot
could be placed as a
wrapped software.