Uploaded by Aashish Bhandari

SPM

advertisement
Unit 1: Introduction to Software Project Management
What is Software Engineering?
Software engineering is defined as a process of analyzing user requirements and
then designing, building, and testing software application which will satisfy those
requirements.
Why Software Engineering is Popular?
•
•
•
•
•
•
Large software – In our real life, it is quite more comfortable to build a wall
than a house or building. In the same manner, as the size of the software
becomes large, software engineering helps you to build software.
Scalability- If the software development process were based on scientific
and engineering concepts, it is easier to re-create new software to scale an
existing one.
Adaptability: Whenever the software process was based on scientific and
engineering, it is easy to re-create new software with the help of software
engineering.
Cost- Hardware industry has shown its skills and huge manufacturing has
lower the cost of the computer and electronic hardware.
Dynamic Nature- Always growing and adapting nature of the software. It
depends on the environment in which the user works.
Quality Management: Offers better method of software development to
provide quality software products.
Challenges of Software Engineering
Here are some critical challenges faced by software engineers:
•
•
•
•
In safety-critical areas such as space, aviation, nuclear power plants, etc. the
cost of software failure can be massive because lives are at risk.
Increased market demands for fast turnaround time.
Dealing with the increased complexity of software need for new
applications.
The diversity of software systems should be communicating with each other.
Software Products
Software Products are nothing but software systems delivered to the
customer with the documentation that describes how to install and use the
system. In certain cases, software products may be part of system products
where hardware, as well as software, is delivered to a customer. Software
products are produced with the help of the software process. The software
process is a way in which we produce software.
Types of software products:
Software products fall into two broad categories:
Generic products:
Generic products are stand-alone systems that are developed by a production
unit and sold on the open market to any customer who is able to buy them.
Customized Products:
Customized products are the systems that are commissioned by a particular
customer. Some contractor develops the software for that customer.
Attributes for Software Products
The characteristics of any software product include features which are displayed by
the product when it is installed and put in use.
They are not the services which are provided by the product. Instead, they have
related to the products dynamic behavior and the use made of the product.
Examples of these attributes are:
Efficiency, reliability, robustness, maintainability, etc.
However, the relative importance of these characteristics varies from one software
system to another.
Product Characteristics
Description
Maintainability
The software should evolve to meet the
changing demands of the clients.
Dependability
Dependability includes various characteristics
Dependable software should never cause any
physical or economic damage at the time of
system failure.
Efficiency
The software application should overuse
system resources like memory and processor
cycle.
Usability
The software application should have specific
UI and documentation
Software Engineering Problems
The Problem of scale: A fundamental problem of software engineering is the
problem of scale; development of a very large system requires a very different set
of methods compared to developing a small system. In other words, the methods
that are used for developing small systems generally do not scale up to large
systems. A different set of methods has to be used for developing large software.
Any large project involves the use of technology and project management.
Cost, schedule and quality: The cost of developing a system is the cost of the
resources used for the system, which, in the case of software, are the manpower,
hardware, software, and the other support resources. Generally, the manpower
component is predominant, as software development is largely labor-intensive and
the cost of the computing systems is now quite low.
The Problem of consistency: Though high quality, low cost and small cycle time
are the primary objectives of any project, for an organization there is another goal:
consistency. An organization involved in software development does not just want
low cost and high quality for a project, but it wants these consistently.
Software Project
A Software Project is the complete procedure of software development from
requirement gathering to testing and maintenance, carried out according to the
execution methodologies, in a specified period of time to achieve intended
software product.
SP Vs. other types of projects activities covered by SPM
• Many Techniques of general project management are applicable to software
project management,But fred Brooks pointed out that the products of
software projects have certain characteristics that make them different.
Some ways of categorizing software projects
1. Compulsory Vs Voluntary systems (projects):
• Compulsory systems are the systems which the staff of an
organization have to use if they want to do a task.
• Voluntary systems are the systems which are voluntarily used
by the users e.g., computer gaming, school project, etc.
2. Information Vs Embedded systems (projects):
• Information systems are used by staff to carry out office
processes and tasks e.g., stock control system.
• Embedded systems are used to control machines e.g. a system
controlling equipment in a building.
Embedded systems are also called real-time or industrial systems.
Information systems versus embedded systems
A distinction may be made between information systems and
embedded systems. Very crudely, the difference is that in the former
case the system interfaces with the organization, whereas in the latter
case the system interfaces with a machine! A stock control system
would be an information system that controls when the organization
reorders stock. An embedded, or process control, system might
control the air conditioning equipment in a building. Some systems
may have elements of both so that the stock control system might also
control an automated warehouse.
3. Objective-based Vs Product-based systems (projects):
• Project whose requirement is to meet certain objectives which
could be met in a number of ways, is objective-based project.
• Project whose requirement is to create a product, the details of
which have been specified by the client, is product-based
project.
Project management cycle
Phase 1: Project Initiation
This is the starting phase where the project manager must prove that the project has
value and is feasible. This includes creating a business case that justifies the need
for the project, and a feasibility study to prove it can be executed within a
reasonable time and cost.
Steps for the project initiation phase may include the following:
•
Undertaking a feasibility study: Identify the primary problem your
project will solve and whether your project will deliver a solution to
that problem
•
Identifying scope: Define the depth and breadth of the project
•
Identifying deliverables: Define the product or service to provide
•
Identifying project stakeholders: Figure out whom the project affects
and what their needs may be
•
Developing a business case: Use the above criteria to compare the
potential costs and benefits for the project to determine if it moves
forward
Phase 2: Project Planning
After the project has been approved, the project moves into the second project
management phase: project planning. The goal of this phase is the creation of the
project plan, which will be the guide for the next two phases. The project plan must
include every component associated with the execution of the project, including
the costs, risks, resources and timeline.
Project managers often lay out their project plan using a Gantt chart, which
provides a visual representation of the entire project. This provides a roadmap for
the work until the project reaches its conclusion.
Steps for the project planning phase may include the following:
•
Creating a project plan: Identify the project timeline, including the
phases of the project, the tasks to be performed, and possible
constraints
•
Creating workflow diagrams: Visualize your processes using
swimlanes to make sure team members clearly understand their role in
a project
•
Estimating budget and creating a financial plan: Use cost estimates to
determine how much to spend on the project to get the maximum
return on investment
•
Gathering resources: Build your functional team from internal and
external talent pools while making sure everyone has the necessary
tools (software, hardware, etc.) to complete their tasks
Phase 3: Project Execution
The third project management phase is project execution, which is when the tasks
and milestones outlined in the plan are tackled to produce the deliverable to the
client’s or stakeholder’s satisfaction.
Along the way, the project manager will reallocate resources as needed to keep the
team working. In addition, they will identify and mitigate risks, deal with problems
and incorporate any changes.
Steps for the project execution phase may include the following:
•
Creating tasks and organizing workflows: Assign granular aspects of
the projects to the appropriate team members, making sure team
members are not overworked
•
Briefing team members on tasks: Explain tasks to team members,
providing necessary guidance on how they should be completed, and
organizing process-related training if necessary
•
Communicating with team members, clients, and upper
management: Provide updates to project stakeholders at all levels
•
Monitoring quality of work: Ensure that team members are meeting
their time and quality goals for tasks
•
Managing budget: Monitor spending and keeping the project on track
in terms of assets and resources
Phase 4: Project Monitoring and Control
The fourth project management phase, project monitoring and control, takes place
concurrently with the execution phase of the project. It involves monitoring the
progress and performance of the project to ensure it stays on schedule and within
budget. Quality control procedures are applied to guarantee quality assurance.
The biggest issues in a project are typically related to three factors—time, cost and
scope, which collectively are referred to as the triple constraint. The main goal of
this phase is to set firm controls on the project to ensure those three factors don’t
go off track.
Phase 5: Project Closure
The fifth project management phase is project closure, in which the final
deliverables are presented to the client or stakeholder. Once approved, resources
are released, documentation is completed and everything is signed off on. At this
point the project manager and team can conduct a post-mortem to evaluate
the lessons learned from the project.
Steps for the project closure phase may include the following:
•
Analyzing project performance: Determine whether the project's goals
were met (tasks completed, on time and on budget) and the initial
problem solved using a prepared checklist.
•
Analyzing team performance: Evaluate how team members
performed, including whether they met their goals along with
timeliness and quality of work
•
Documenting project closure: Make sure that all aspects of the project
are completed with no loose ends remaining and providing reports to
key stakeholders
•
Conducting post-implementation reviews: Conduct a final analysis of
the project, taking into account lessons learned for similar projects in
the future
•
Accounting for used and unused budget: Allocate remaining resources
for future projects
SPM framework
A project management framework consists of the processes, tasks, and tools used
to take a project from start to finish. It encompasses all the key components
required for planning, managing, and governing projects. The project
management framework can be broken into three parts:
1.Project life cycle This is the cycle a project goes through from beginning to
end. It consists of five phases:
Initiation: This is where you define what the project actually is. You can
outline your objectives in a project charter and identify any potential risks.
Planning: In this phase, you list all the project tasks in a detailed roadmap.
Estimate how long each one will take, create deadlines, and add assignees.
Execution: Put the plan into action. Teams commence work on project tasks
and align their schedules to achieve key deliverables.
Monitoring and controlling: Project managers oversee progress by tracking
team performance, creating reports, and readjusting priorities if necessary.
Closure: The final phase incorporates the results achieved when all project
tasks are completed. A project manager will analyze these results and plan
the next steps.
2. Project control cycle The control cycle is the process of monitoring and
controlling the project.
3. Tools and templates Project plans, project management reports, and risk logs
are common tools and templates for managing projects. Project framework
examples There are many project management frameworks you can choose to
use. Here are six of the most common ones: PRINCE2: This framework is highly
structured with a heavy emphasis on upfront planning.
CCPM: Critical chain project management focuses primarily on resource
allocation across the project.
Lean: A lean framework focuses on minimizing wasted effort and resources.
Process improvement techniques are often incorporated into this framework.
XPM: Extreme project management was designed for complex projects that
occur in fast-changing environments. Emphasis is on stakeholder management as
plans and schedules are rapidly changing.
Scrum: This framework was also designed for industries undergoing rapid
change. Using this framework, projects are often broken down and planned in 24 week sprints.
Waterfall: This framework is one of the traditional approaches to project
management. Waterfall requires a project to be planned from beginning to end,
with no phase of a project beginning until the previous one has ended.
How to choose a project management framework One single framework does
not work for all projects, which is why so many of them have been created over
the years. When deciding which framework is best for your project, consider the
following: If your industry, technology, or product is fast-changing, an adaptable
framework such as XPM or Scrum is recommended. If the project deliverable is
not well defined and is intangible in nature (such as software), a sprint-based
approach (such as Scrum) may work best. If the project is well defined and
stable, planning it out in its entirety decreases risks. Therefore, PRINCE2 or
Waterfall should work best. Frameworks may be chosen based on what your
organization and stakeholders are familiar with. If your company has never
completed an XPM project before, introducing one may be difficult. The
priorities of your stakeholders will impact your framework. If waste is a critical
concern, a lean framework may be chosen. Frameworks are designed to be
flexible and adapt to a project’s needs. It may be that you will end up borrowing
pieces of separate frameworks as the circumstances of your project change.
Unit 2: Project Analysis
Project analysis is the process of examining the aspects of a project in details.
This is mainly to see to it that the project runs as expected and is also within the
predefined budget.
Strategic Assessment
Used to assess whether a project fits in the long-term goal of the organization
Usually carried out by senior management
Needs a strategic plan that clearly defines the objectives of the organization
Evaluates individual projects against the strategic plan or the overall business
objectives Programmed management
suitable for projects developed for use in the organization Portfolio
management
suitable for project developed for other companies by software houses
SA – Programmed Management
Individual projects as components of a programmed within the organization
Programmed as “a group of projects that are managed in a coordinated way to
gain benefits that would not be possible were the projects to be managed
independently
SA – Programmed Management Issues
Objectives
How does the project contribute to the long-term goal of the
organization?
Will the product increase the market share? By how much?
IS plan
Does the product fit into the overall IS plan?
How does the product relate to other existing systems?
Organization structure
How does the product affect the existing organizational structure? the
existing workflow? the overall business model?
MIS
What information does the product provide?
To whom is the information provided?
How does the product relate to other existing MISs?
Personnel
What are the staff implications?
What are the impacts on the overall policy on staff development?
Image
How does the product affect the image of the organization?
SA – Portfolio Management
suitable for product developed by a software company for an organization
may need to assess the product for the client organization
Programmed management issues apply
need to carry out strategic assessment for the providing software company
Long-term goal of the software company
The effects of the project on the portfolio of the company (synergies and
conflicts)
Any added-value to the overall portfolio of the company
Technical Assessment
Functionality against hardware and software
The strategic IS plan of the organization
any constraints imposed by the IS plan
Internal Rate of Return(IRR)
Capital budgeting is a function of management, which uses various techniques to
assist in decision making. Internal Rate of Return (IRR) is one such technique of
capital budgeting. It is the rate of return at which the net present value of a project
becomes zero. They call it ‘internal’ because it does not take any external factor
(like inflation) into consideration.
Formula and Calculation for IRR
The formula and calculation used to determine this figure is as follows.
How to Calculate IRR
1. Using the formula, one would set NPV equal to zero and solve for the
discount rate, which is the IRR.
2. The initial investment is always negative because it represents an outflow.
3. Each subsequent cash flow could be positive or negative, depending on the
estimates of what the project delivers or requires as a capital injection in the
future.
4. However, because of the nature of the formula, IRR cannot be easily
calculated analytically and must thus instead be calculated iteratively either
through trial-and-error or by using software programmed to calculate IRR
(e.g. using Excel)
What is the Benefit-Cost Ratio (BCR)?
The benefit-cost ratio (BCR) is a profitability indicator used in cost-benefit
analysis to determine the viability of cash flows generated from an asset or project.
The BCR compares the present value of all benefits generated from a project/asset
to the present value of all costs. A BCR exceeding one indicates that the
asset/project is expected to generate incremental value.
Formula for the Benefit-Cost Ratio
The formula for the benefit-cost ratio is outlined below:
Where:
•
•
•
•
CF = Cash flow
i = Discount rate
n = Number of periods
t = Period that the cash flow occurs
Although the formula above may appear complicated, the calculation is simply the
discounted cash inflows divided by the discounted cash outflows. The discount rate
used refers to the cost of capital, which can be the company’s required rate of
return, the hurdle rate, or the weighted average cost of capital.
Example of the Benefit-Cost Ratio
Cash flow projections for a project are provided below. The relevant discount
rate is 10%.
Question: What is the benefit-cost ratio of the project?
Answer:
The benefit-cost ratio would be calculated as $97,670.72 / $33,625.09 = 2.90.
Interpreting the Benefit-Cost Ratio
The higher the BCR, the more attractive the risk-return profile of the project/asset.
The value generated by the BCR indicates the dollar value generated per dollar
cost.
For example, the BCR of 2.90 in the preceding example can be interpreted as “For
each $1 of cost in the project, the expected dollar benefits generated is $2.90.” The
following shows the value range of the BCR and its general interpretation:
Advantages of the Benefit-Cost Ratio
Key advantages of the benefit-cost ratio include:
•
•
•
•
It is a useful starting point in determining a project’s feasibility and whether
it can generate incremental value.
If the inputs are known (cash flows, discount rate), the ratio is relatively easy
to calculate.
The ratio considers the time value of money through the discount rate.
The ratio indicates the value generated per dollar of costs.
Limitations of the Benefit-Cost Ratio
Key limitations of the benefit-cost ratio include:
•
•
The reliability of the BCR depends heavily on assumptions. Poor cash flow
forecasting or an incorrect discount rate would lead to a flawed ratio.
The ratio itself does not indicate the project’s size or provide a specific value
on what the asset/project will generate. For example, both projects below
show a BCR of 2, but present value cash flows are significantly different:
CASH FLOW
Introduction
In this method of comparison, the cash flows of each alternative will be
reduced to time zero by assuming an interest rate i. Then, depending on the type
of decision, the best alternative will be selected by comparing the present worth
amounts of the alternatives.
The sign of various amounts at different points in time in a cash flow diagram
is to be decided based on the type of the decision problem.
In a cost dominated cash flow diagram, the costs (outflows) will be assigned
with positive sign and the profit, revenue, salvage value (all inflows), etc. will be
assigned with negative sign.
In a revenue/profit-dominated cash flow diagram, the profit, revenue, salvage
value (all inflows to an organization) will be assigned with positive sign. The
costs (outflows) will be assigned with negative sign.
In case the decision is to select the alternative with the minimum cost, then the
alternative with the least present worth amount will be selected. On the other
hand, if the decision is to select the alternative with the maximum profit, then the
alternative with the maximum present worth will be selected.
BASES FOR COMPARISON OF ALTERNATIVES
In most of the practical decision environments, executives will be forced to
select the best alternative from a set of competing alternatives.
Let us assume that an organization has a huge sum of money for potential
investment and there are three different projects whose initial outlay and annual
revenues during their lives are known. The executive has to select the best
alternative among these three competing projects.
There are several bases for comparing the worthiness of the projects. These bases
are:
1. Present worth method
2. Future worth method
3. Annual equivalent method
4. Rate of return method
1.PRESENT WORTH METHOD
ü In this method of comparison, the cash flows of each alternative will be
reduced to time zero by assuming an interest rate i.
ü Then, depending on the type of decision, the best alternative will be
selected by comparing the present worth amounts of the alternatives.
In a cost dominated cash flow diagram, the costs (outflows) will be
assigned with positive sign and the profit, revenue, salvage value (all
inflows), etc. will be assigned with negative sign.
ü In a revenue/profit-dominated cash flow diagram, the profit, revenue,
salvage value (all inflows to an organization) will be assigned with
positive sign. The costs (outflows) will be assigned with negative sign.
a.Revenue-Dominated Cash Flow Diagram
A generalized revenue-dominated cash flow diagram to demonstrate the present
worth method of comparison is presented in Fig.
To find the present worth of the above cash flow diagram for a
given interest rate, the formula is
PW(i) = – P + R1[1/(1 + i)1] + R2[1/(1 + i)2] + ...
+ Rj [1/(1 + i) j] + Rn[1/(1 + i)n] + S[1/(1 + i)n]
b.Cost-Dominated Cash Flow Diagram
A generalized cost-dominated cash flow diagram to demonstrate the
present worth method of comparison is presented in Fig.
To compute the present worth amount of the above cash flow diagram for
a given interest rate i, we have the formula
PW(i) = P + C1[1/(1 + i)1] + C2[1/(1 + i)2] + ... + Cj[1/(1 + i) j]
+ Cn[1/(1 + i)n] – S[1/(1 + i)n]
EXAMPLE
Alpha Industry is planning to expand its production operation. It has identified three
different technologies for meeting the goal. The initial outlay and annual revenues
with respect to each of the technologies are summarized in Table 1. Suggest the best
technology which is to be implemented based on the present worth method of
comparison assuming 20% interest rate, compounded annually.
Solution
In all the technologies, the initial outlay is assigned a negative sign
and the annual revenues are assigned a positive sign.
TECHNOLOGY 1
Initial outlay, P = Rs. 12,00,000
Annual revenue, A = Rs. 4,00,000
Interest rate, i = 20%, compounded annually
Life of this technology, n = 10 years
The cash flow diagram of this technology is as shown in Fig. 4.3.
Fig. Cash flow diagram for technology 1.
The present worth expression for this technology is
PW(20%)1 = –12,00,000 + 4,00,000 (P/A, 20%, 10)
= –12,00,000 + 4,00,000 (4.1925)
= –12,00,000 + 16,77,000
= Rs. 4,77,000
TECHNOLOGY 2
Initial outlay, P = Rs. 20,00,000
Annual revenue, A = Rs. 6,00,000
Interest rate, i = 20%, compounded annually
Life of this technology, n = 10 years
The cash flow diagram of this technology is shown in Fig. 4.4.
Fig. Cash flow diagram for technology 2.
The present worth expression for this technology is
PW(20%)2 = – 20,00,000
= – 20,00,000
=
+ 6,00,000 (P/A, 20%, 10)
+ 6,00,000 (4.1925)
– 20,00,000 + 25,15,500
=
Rs. 5,15,500
TECHNOLOGY 3
Initial outlay, P = Rs. 18,00,000
Annual revenue, A = Rs. 5,00,000
Interest rate, i = 20%, compounded annually
Life of this technology, n = 10 years
The cash flow diagram of this technology is shown in Fig. 4.5.
Fig. Cash flow diagram for technology 3.
The present worth expression for this technology is
PW(20%)3 = –18,00,000
= –18,00,000
+ 5,00,000 (P/A, 20%, 10)
+ 5,00,000 (4.1925)
=
–18,00,000 + 20,96,250
=
Rs. 2,96,250
From the above calculations, it is clear that the present worth of technology 2 is the
highest among all the technologies. Therefore, technology 2 is suggested for
implementation to expand the production.
2. FUTURE WORTH METHOD
ü In the future worth method of comparison of alternatives, the future worth of
various alternatives will be computed.
ü Then, the alternative with the maximum future worth of net revenue or with
the minimum future worth of net cost will be selected as the best alternative
for implementation.
i.Revenue-Dominated Cash Flow Diagram
A generalized revenue-dominated cash flow diagram to demonstrate the future worth
method of comparison is presented in Fig.
In Fig. P represents an initial investment, Rj the net-revenue at the end of the jth
year, and S the salvage value at the end of the nth year.
The formula for the future worth of the above cash flow diagram for a given
interest rate, i is
FW(i) = –P(1 + i)n + R1(1 + i)n–1 + R2(1 + i)n–2 + ...
+ R j(1 + i)n–j + ... + Rn + S
In the above formula, the expenditure is assigned with negative sign and the
revenues are assigned with positive sign.
ii.Cost-Dominated Cash Flow Diagram
A
generalized
costdominated cash flow diagram
to demonstrate the future worth method
of comparison is given in Fig.
In Fig. 5.2, P represents an initial investment, Cj the net cost of
operation and maintenance at the end of the j th year, and S the
salvage value at the end of the nth year.
The formula for the future worth of the above cash flow diagram
for a given interest rate, i is
FW(i) = P(1 + i)n + C1(1 + i )n–1 + C2(1 + i)n–2 + ... + Cj(1 + i)n–j + ... + Cn – S
EXAMPLE
Consider the following two mutually exclusive alternatives:
At i = 18%, select the best alternative based on future worth method of
comparison.
Solution Alternative A
Initial investment, P = Rs. 50,00,000
Annual equivalent revenue, A = Rs. 20,00,000
Interest rate, i = 18%, compounded annually
Life of alternative A = 4 years
The cash flow diagram of alternative A is shown in Fig.
The future worth amount of alternative B is computed as
FWA(18%) = –50,00,000(F/P, 18%, 4) + 20,00,000(F/A, 18%, 4)
= –50,00,000(1.939) + 20,00,000(5.215)
= Rs. 7,35,000
Alternative B
Initial investment, P = Rs. 45,00,000
Annual equivalent revenue, A = Rs. 18,00,000
Interest rate, i = 18%, compounded annually
Life of alternative B = 4 years
The cash flow diagram of alternative B is illustrated in Fig..
The future worth amount of alternative B is computed as
FWB(18%) = – 45,00,000(F/P, 18%, 4) + 18,00,000 (F/A, 18%, 4)
= – 45,00,000(1.939) + 18,00,000(5.215)
= Rs. 6,61,500
3.ANNUAL EQUIVALENT METHOD
ü In the annual equivalent method of comparison, first the annual equivalent
cost or the revenue of each alternative will be computed.
ü Then the alternative with the maximum annual equivalent revenue in the
case of revenue-based comparison or with the minimum annual equivalent
cost in the case of cost- based comparison will be selected as the best
alternative.
i.Revenue-Dominated Cash Flow Diagram
A generalized revenue-dominated cash flow diagram to demonstrate the annual
equivalent method of comparison is presented in Fig.
Fig. Revenue-dominated cash flow diagram.
In Fig. P represents an initial investment, Rj the net revenue at the end
of the j th year, and S the salvage value at the end of the nth year.
The first step is to find the net present worth of the cash flow diagram
using the following expression for a given interest rate, i:
PW(i) = –P + R1/(1 + i)1 + R2/(1 + i)2 + ...
+ Rj/(1 + i) j + ... + Rn/(1 + i)n + S/(1 + i)n
In the above formula, the expenditure is assigned with a negative sign and the
revenues are assigned with a positive sign.
ii.Cost-Dominated Cash Flow Diagram
A generalized cost-dominated cash flow diagram to demonstrate the annual
equivalent method of comparison is illustrated in Fig.
In Fig, P represents an initial investment, Cj the net cost of operation and
maintenance at the end of the jth year, and S the salvage value at the end of
the nth year.
The first step is to find the net present worth of the cash flow diagram using
the following relation for a given interest rate, i.
PW(i) = P + C1/(1 + i)1 + C2/(1 + i)2 + ...
+ Cj/(1 + i) j + ... + Cn/(1 + i)n – S/(1 + i)n
EXAMPLE
A company provides a car to its chief executive. The owner of the
company is concerned about the increasing cost of petrol. The cost per
litre of petrol for the first year of operation is Rs. 21. He feels that the cost
of petrol will be increasing by Re.1 every year. His experience with his
company car indicates that it averages 9 km per litre of petrol. The
executive expects to drive an average of 20,000 km each year for the next
four years. What is the annual equivalent cost of fuel over this period of
time?. If he is offered similar service with the same quality on rental basis
at Rs. 60,000 per year, should the owner continue to provide company car
for his executive or alternatively provide a rental car to his executive?
Assume i = 18%. If the rental car is preferred, then the company car will
find some other use within the company.
Solution
Average number of km run/year = 20,000 km
Number of km/litre of petrol = 9 km
Therefore,
Petrol consumption/year = 20,000/9 = 2222.2 litre
Cost/litre of petrol for the 1st year = Rs. 21
Cost/litre of petrol for the 2nd year = Rs. 21.00 + Re. 1.00
= Rs. 22.00
Cost/litre of petrol for the 3rd year = Rs. 22.00 + Re. 1.00 = Rs. 23.00
Cost/litre of petrol for the 4th year = Rs. 23.00 + Re. 1.00 = Rs. 24.00
Fuel expenditure for 1st year = 2222.2 21 = Rs. 46,666.20
Fuel expenditure for 2nd year = 2222.2 22 = Rs. 48,888.40
Fuel expenditure for 3rd year = 2222.2 23 = Rs. 51,110.60
Fuel expenditure for 4th year = 2222.2 24 = Rs. 53,332.80
The annual equal increment of the above expenditures is Rs. 2,222.20
(G). The cash flow diagram for this situation is depicted in Fig.
Fig. Uniform gradient series cash flow diagram.
In Fig., A1 = Rs. 46,666.20 and G = Rs. 2,222.20
A = A1 + G(A/G, 18%, 4)
= 46,666.20 + 2222.2(1.2947)
= Rs. 49,543.28
The proposal of using the company car by spending for petrol by the company will
cost an annual equivalent amount of Rs. 49,543.28 for four years. This amount is
less than the annual rental value of Rs. 60,000. Therefore, the company should
continue to provide its own car to its executive.
4.RATE OF RETURN METHOD
ü The rate of return of a cash flow pattern is the interest rate at which the
present worth of that cash flow pattern reduces to zero.
ü In this method of comparison, the rate of return for each alternative is
computed. Then the alternative which has the highest rate of return is
selected as the best alternative.
ü A generalized cash flow diagram to demonstrate the rate of return method of
comparison is presented in Fig
In the above cash flow diagram, P represents an initial investment, Rj the
net revenue at the end of the jth year, and S the salvage value at the end of
the nth year.
The first step is to find the net present worth of the cash flow diagram using
the following expression at a given interest rate, i.
PW(i) = – P + R1/(1 + i)1 + R2/(1 + i)2 + ...
+ Rj/(1 + i) j + ... + Rn/(1 + i)n + S/(1 + i)n
EXAMPLE
A person is planning a new business. The initial outlay and cash flow pattern for the
new business are as listed below. The expected life of the business is five years. Find
the rate of return for the new business.
Solution
Initial investment = Rs. 1,00,000 Annual equal revenue = Rs. 30,000
Life = 5 years
The cash flow diagram for this situation is illustrated in Fig.
Fig. Cash flow diagram.
The present worth function for the business is
PW(i) = –1,00,000 + 30,000(P/A, i, 5)
When i = 10%,
PW(10%) = –1,00,000 + 30,000(P/A, 10%, 5)
= –1,00,000 + 30,000(3.7908)
=
Rs. 13,724.
When i = 15%,
PW(15%) = –1,00,000 + 30,000(P/A, 15%, 5)
= –1,00,000 + 30,000(3.3522)
= Rs. 566.
When i = 18%,
PW(18%) = –1,00,000 + 30,000(P/A, 18%, 5)
= –1,00,000 + 30,000(3.1272)
= Rs. – 6,184
i= 15% + 0.252% = 15.252%
Therefore, the rate of return for the new business is 15.252%.
Unit 3: Activity Planning and Scheduling
Activity planning begins with outlining the structure of work breakdown.
The goal of activity planning is pinpointing activities required to achieve
deliverables. This sequence is known as activity planning in project management.
Every project cycle through a process known as progressive elaboration.
OBJECTIVES OF ACTIVITY PLANNING
• The objective of software project planning is to provide a framework that
enables the manager to make reasonable estimates of resources, cost, and
schedule.
1.GANTT CHART
The bar chart (Gantt chart) is used for the representation of a project in which the
activities are represented by horizontal segments, of which the length is
proportional to the time necessary to conclude the task in question.
The bar chart is an effective tool for the management of work in a project.
Shortening the project duration
If we wish to shorten the overall duration of a project, we would normally consider
attempting to reduce activity durations. In many cases this can be done by applying
more resources to the task - working overtime or procuring additional staff, for
example. The critical path indicates where we must look to save time -if we are
trying to bring forward the end date of the project, there is clearly no point in
attempting to shorten non-critical activities. Referring to Figure 6.20 it can be seen
that we could complete the project in week 12 by reducing the duration of activity
F by one week (to 9 weeks).
What would the end date for the project be if activity F were shortened to 7 weeks?
Why?
As we reduce activity times along the critical path, we must continually check for
any new critical path emerging and redirect our attention where necessary.
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 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, of course, to resource and quality
constraints).
Identifying critical activities
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 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 arc within, say. 10-20% of the duration of the critical path or those with a
total float of less than say. Often of the project's uncompleted duration.
The importance of identifying critical and near-critical activities is that it is they
that are 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.
Unit 4: Risk Management
Risk Management
Risk management is the process of identifying, assessing and controlling threats to
an organization's capital and earnings. These threats, or risks, could stem from a
wide variety of sources, including financial uncertainty, legal liabilities, strategic
management errors, accidents and natural disasters. IT security threats and datarelated risks, and the risk management strategies to alleviate them, have become a
top priority for digitized companies. As a result, a risk management plan
increasingly includes companies' processes for identifying and controlling threats
to its digital assets, including proprietary corporate data, a customer's personally
identifiable information (PII) and intellectual property.
Importance
•
Creates a safe and secure work environment for all staff and customers.
•
Increases the stability of business operations while also decreasing legal
liability.
•
Provides protection from events that are detrimental to both the company
and the environment.
•
Protects all involved people and assets from potential harm.
•
Helps establish the organization's insurance needs in order to save on
unnecessary premiums.
Risk management strategies and processes
All risk management plans follow the same steps that combine to make up the
overall risk management process:
•
Establish context. Understand the circumstances in which the rest of the
process will take place. The criteria that will be used to evaluate risk
should also be established and the structure of the analysis should be
defined.
•
Risk identification. The company identifies and defines potential risks
that may negatively influence a specific company process or project.
•
Risk analysis. Once specific types of risk are identified, the company
then determines the odds of them occurring, as well as their
consequences. The goal of risk analysis is to further understand each
specific instance of risk, and how it could influence the company's
projects and objectives.
•
Risk assessment and evaluation. The risk is then further evaluated after
determining the risk's overall likelihood of occurrence combined with its
overall consequence. The company can then make decisions on whether
the risk is acceptable and whether the company is willing to take it on
based on its risk appetite.
•
Risk mitigation. During this step, companies assess their highest-ranked
risks and develop a plan to alleviate them using specific risk controls.
These plans include risk mitigation processes, risk prevention tactics and
contingency plans in the event the risk comes to fruition.
•
Risk monitoring. Part of the mitigation plan includes following up on
both the risks and the overall plan to continuously monitor and track new
and existing risks. The overall risk management process should also be
reviewed and updated accordingly.
•
Communicate and consult. Internal and external shareholders should be
included in communication and consultation at each appropriate step of
the risk management process and in regards to the process as a whole.
Risk management approaches
After the company's specific risks are identified and the risk management process
has been implemented, there are several different strategies companies can take in
regard to different types of risk:
•
Risk avoidance. While the complete elimination of all risk is rarely
possible, a risk avoidance strategy is designed to deflect as many threats
as possible in order to avoid the costly and disruptive consequences of a
damaging event.
•
Risk reduction. Companies are sometimes able to reduce the amount of
damage certain risks can have on company processes. This is achieved by
adjusting certain aspects of an overall project plan or company process,
or by reducing its scope.
•
Risk sharing. Sometimes, the consequences of a risk are shared, or
distributed among several of the project's participants or business
departments. The risk could also be shared with a third party, such as a
vendor or business partner.
•
Risk retaining. Sometimes, companies decide a risk is worth it from a
business standpoint, and decide to keep the risk and deal with any
potential fallout. Companies will often retain a certain level of risk if a
project's anticipated profit is greater than the costs of its potential risk.
Limitations:
•
A false sense of stability. Value-at-risk measures focus on the past
instead of the future. Therefore, the longer things go smoothly, the better
the situation looks. Unfortunately, this makes a downturn more likely.
•
The illusion of control. Risk models can give organizations the false
belief that they can quantify and regulate every potential risk. This may
cause an organization to neglect the possibility of novel or unexpected
risks. Furthermore, there is no historical data for new products, so there's
no experience to base models on.
•
Failure to see the big picture. It's difficult to see and understand the
complete picture of cumulative risk.
•
Risk management is immature. An organization's risk management
policies are underdeveloped and lack the history to make accurate
evaluations.
Risk management examples
One example of risk management could be a business identifying the various risks
associated with opening a new location. They can mitigate risks by choosing
locations with a lot of foot traffic and low competition from similar businesses in
the area.
Another example could be an outdoor amusement park that acknowledges their
business is completely weather-dependent. In order to alleviate the risk of a large
financial hit whenever there is a bad season, the park might choose to consistently
spend low and build up cash reserves.
Yet another example could be an investor buying stock in an exciting new
company with high valuation even though they know the stock could significantly
drop. In this situation, risk acceptance is displayed as the investor buys despite the
threat, feeling the potential of the large reward outweighs the risk.
Nature of Project Risks
• Planning assumptions
• Estimation errors
• Eventualities
Planning assumptions
At every stage during planning, assumptions are made which, if not valid, may put
the plan at risk. Our activity network, for example, is likely to be built on the
assumption of using a particular design methodology - which may be subsequently
changed. We generally assume that, following coding, a module will be tested and
then integrated with others - we might not plan for module testing showing up the
need for changes in the original design but, in the event, it might happen.
At each stage in the planning process, it is important to list explicitly all of the
assumptions that have been made and identify what effects they might have on the
plan if they are inappropriate.
Estimation errors
Some tasks are harder to estimate than others because of the lack of experience of
similar tasks or because of the nature of a task. Producing a set of user manuals is
reasonably straightforward and, given that we have carried out similar tasks
previously, we should be able to estimate with some degree of accuracy how long
it will take and how much it will cost. On the other hand, the time required for
program testing and debugging, might be difficult to predict with a similar degree
of accuracy - even if we have written similar programs in the past.
Estimation can be improved by analyzing historic data for similar activities.
Keeping records comparing our original estimates with the final methods of
estimation, outcome will reveal the type of tasks that are difficult to estimate
correctly.
-- Keep historic data of your estimation and the actual performance
– Compare your estimation and the actual value
– Classify the tasks that are easy or difficult to give accurate estimation.
Eventualities
Some eventualities might never be foreseen and we can only resign ourselves to
the fact that unimaginable things do, sometimes, happen. They are, however, very
rare. The majority of unexpected events can, in fact, be identified - the
requirements specification might be altered after some of the modules have been
coded, the senior programmer might take maternity leave, the required hardware
might not be delivered on time. Such events do happen from time to time and,
although the likelihood of any one of them happening during a particular project
may be relatively low, they must be considered and planned for.
• Unexpected and unimaginable events
• Common unexpected events
– Hardware cannot be delivered on time
– Requirement’s specification needs to be rewritten
– Staffing problem
Managing Risk
• Step 1: Risk Identification
– Generate a list of possible risks through brainstorming,
problem identification and risk profiling.
• Macro risks first, then specific events
• Step 2: Risk Assessment
– Scenario analysis for event probability and impact
– Risk assessment matrix
– Failure Mode and Effects Analysis (FMEA)
– Probability analysis
• Decision trees, NPV, and PERT
– Semiquantitative scenario analysis
Risk Identification
Risk identification is the process of identifying and assessing threats to an
organization, its operations, and its workforce. For example, risk identification
may include assessing IT security threats such as malware and ransomware,
accidents, natural disasters, and other potentially harmful events that could disrupt
business operations. Companies that develop robust risk management plans are
likely to find they’re able to minimize the impact of threats, when and if they
should occur.
Risk Identification Process Steps:
There are five core steps within the risk identification and management
process. These steps include risk identification, risk analysis, risk evaluation, risk
treatment, and risk monitoring.
Risk Identification: The purpose of risk identification is to reveal what,
where, when, why, and how something could affect a company’s ability to operate.
For example, a business located in central California might include “the possibility
of wildfire” as an event that could disrupt business operations.
Risk Analysis: This step involves establishing the probability that a risk
event might occur and the potential outcome of each event. Using the California
wildfire example, safety managers might assess how much rainfall has occurred in
the past 12 months and the extent of damage the company could face should a fire
occur.
Risk Evaluation: Risk evaluation compares the magnitude of each risk and
ranks them according to prominence and consequence. For example, the effects of
a possible wildfire may be weighed against the effects of a possible mudslide.
Whichever event is determined to have a higher probability of happening and
causing damage, it would rank higher.
Risk Treatment: Risk treatment is also referred to as Risk Response
Planning. In this step, risk mitigation strategies, preventative care, and contingency
plans are created based on the assessed value of each risk. Using the wildfire
example, risk managers may choose to house additional network servers offsite, so
business operations could still resume if an onsite server is damaged. The risk
manager may also develop evacuation plans for employees.
Risk Monitoring: Risk management is a non-stop process that adapts and
changes over time. Repeating and continually monitoring the processes can help
assure maximum coverage of known and unknown risks.
What Is Risk Analysis?
Risk Analysis is a process that helps you to identify and manage potential
problems that could undermine key business initiatives or projects. However, it can
also be applied to other projects outside of business, such as organizing events or
even buying a home!
To carry out a Risk Analysis, you must first identify the possible threats that you
face, then estimate their likely impacts if they were to happen, and finally estimate
the likelihood that these threats will materialize.
Risk Analysis can be complex, as you'll need to draw on detailed information such
as project plans, financial data, security protocols, marketing forecasts, and other
relevant information. However, it's an essential planning tool, and one that could
save time, money, and reputations.
When to Use Risk Analysis
Risk analysis is useful in many situations:
•
When you're planning projects, to help you to anticipate and neutralize
possible problems.
•
When you're deciding whether or not to move forward with a project.
•
When you're improving safety and managing potential risks in the
workplace.
•
When you're preparing for events such as equipment or technology
failure, theft, staff sickness, or natural disasters.
•
When you're planning for changes in your environment, such as new
competitors coming into the market, or changes to government policy.
Main techniques include:
– Decision tree analysis
– simulation
Decision Trees and Expected Monetary Value (EMV)
• A decision tree is a diagramming method used to help you select the best
course of action in situations in which future outcomes are uncertain
• EMV is a type of decision tree where you calculate the expected monetary
value of a decision based on its risk event probability and monetary value.
Simulation
• Simulation uses a representation or model of a system to analyze the
expected behavior or performance of the system
• Monte Carlo analysis simulates a model’s outcome many times to provide
a statistical distribution of the calculated results
• To use a Monte Carlo simulation, you must have three estimates (most
likely, pessimistic, and optimistic) plus an estimate of the likelihood of the
estimate being between the optimistic and most likely values.
Unit 5: Resource Allocation
Identifying resource requirements:
•
•
•
•
The first step in producing a resource allocation plan is to list the resource
that will be required along with the expected level of demands.
This will normally be done by considering with each activity in turn and
identifying the resources required.
It is likely that there will also be resources required that are not activity
specific but are part of the project infrastructure.
Resource requirement list must be comprehensive.
Resource allocation
Resource allocation is the process of assigning and managing assets in a manner
that supports an organization's strategic goals.
Resource allocation includes managing tangible assets such as hardware to make
the best use of softer assets such as human capital. Resource allocation involves
balancing competing needs and priorities and determining the most effective
course of action in order to maximize the effective use of limited resources and
gain the best return on investment.
In practicing resource allocation, organizations must first establish their desired
end goal, such as increased revenue, improved productivity or better brand
recognition.
The Importance of Resource Allocation
The most important aspect of resource allocation is that you’re going to have
everything where you need it and when you need it. After all, if you need the
company accountant to help you with specific financials for your project but she’s
working on another task elsewhere you’re not properly allocating your resources.
If you need a meeting room to host a big discussion but they’re all booked then
you also haven’t properly allocated your resources. That’s why it’s so important to
get these things done as early as possible.
6 Aspects That Negatively Impact Your Resource Allocation
What if you can’t get everything working just right? What if there are struggles in
the process of allocating your resources? Well, the truth is that several different
things could make resource allocation more difficult. So, let’s take a little closer
look at what some of those things are that you should be looking at.
1. Timeline Changes
One of the first things that often changes when it comes to any project is the
timeline. You might end up with a project manager or program manager who
decides they need to project done sooner (like yesterday). Or you might have a
client that is suddenly in a big rush to get things done. Or maybe one of the pieces
of the puzzle took longer than expected and now everyone else needs to work
faster to get their part done. And of course, their part started later, which means
they may not have the same availability that they did initially (which takes us to
another point further down).
2. Scope Changes
The scope of the project is another aspect that can change the resources being
allocated. If the scope of the project being requested changes it is entirely possible
that the people required to work on it will also change. New tasks and new needs
are going to make it essential for additional tools to be used as well. This can
change what you originally requested as the resources for your project and might
throw off the entire project if those resources are not immediately available.
3. Resource Availability Changes
If you don’t have the right resources to get the job done you’re also going to have
some problems getting everything allocated. Maybe the people you need for this
project just aren’t available at the time you need them. If that’s the case you’ll
either need to find new people or you’re going to need to rearrange the timeline of
the project itself. This can make it difficult for project managers or program
managers to get the job done or to ensure that someone else can get the job done.
4. Task Dependencies
If there is one part of the project that needs to get done before the next part of the
project can get done that means there’s a dependency. But what if part A of the
project takes a week longer than it was planned? Now you need part B to be done
later. And that might not be possible with the original team that you put together.
Because what if the team that’s responsible for part B has another project that now
needs to be done? Maybe they booked you into the only week they had available
but now that you’re behind they just can’t make it work? Now you have to figure
out a way to work around their other schedule or to change the team you have
planned.
5. Overall Urgency
You have to understand what the most urgent aspects are. Do you need to get this
task done immediately? It’s often the case that a project that comes in first will get
pushed off to the side in favor of an entirely different project that needs to be
completed. If that’s the case you may need to reallocate some of your people so
they can work on the newer project or your project might lose people because your
manager believes the other project is more important and allocates your team to
that area instead.
6. Teamwork
Your entire team needs to be able to work together. It’s not just about making sure
that your team can work together in small groups. The entire team, everyone who
is responsible for the project, needs to be able to work together and to get the
project done together. This isn’t always easy, especially when you’re bringing
together people who may not work together frequently. If that’s the case you want
to make sure that you’re doing some team building and that you’re figuring out
ways to make sure everyone can get along.
Resource Smoothing
Resource smoothing is one of the project management tools used in the resource
optimization techniques. It is defined as a technique that adjusts the activities of
a schedule model so that all requirements for the resources do not go beyond the
resource limits already pre-defined during the planning.
There are only a few reusable resources that are limitless thus the time schedules
have to be imposed and adjusted to manage the limited availability of the resources
in a given time. Resource smoothing is one of the tools used to reconcile the
limited resources and time but a different approach than resource leveling.
It is used when the time constraint takes important priority in project planning. The
objective of this project management tool is to complete the work or activity within
the required date and, at the same time, avoiding peaks and troughs or the resource
demand.
A smooth resource profile is usually achieved by delaying some tasks or works.
This will reduce the flexibility of the schedule when it comes to dealing with
delays but it is very cost effective in managing and using the resources.
Resource Leveling
Resource leveling is a technique in project management that overlooks resource
allocation and resolves possible conflict arising from over-allocation. When project
managers undertake a project, they need to plan their resources accordingly.
This will benefit the organization without having to face conflicts and not being
able to deliver on time. Resource leveling is considered one of the key elements to
resource management in the organization.
An organization starts to face problems if resources are not allocated properly i.e.,
some resource may be over-allocated whilst others will be under-allocated. Both
will bring about a financial risk to the organization.
Structure of Resource leveling
Many organizations have a structured hierarchy of resource leveling. A work-based
structure is as follows:
•
•
•
Stage
Phase
Task/Deliverable
All of the above-mentioned layers will determine the scope of the project and find
ways to organize tasks across the team. This will make it easier for the project team
to complete the tasks.
In addition, depending on the three parameters above, the level of the resources
required (seniority, experience, skills, etc.) may be different. Therefore, the
resource requirement for a project is always a variable, which is corresponding to
the above structure.
Resource leveling is aimed at increasing efficiency when undertaking projects by
utilizing the resources available at hand. Proper resource leveling will not result in
heavy expenditure.
The project manager needs to take into account several factors and identify critical
to non-critical dependencies to avoid any last-minute delays of the project
deliverables.
Differences between Resource Leveling and Resource Smoothing
Resource leveling
Resource Smoothing
It applies the resource constraints to the project and
may result in a change in project duration.
We apply resource smoothing after doing
resource-leveling.
Since we need to first accommodate the
resource constraints before we can optimize it.
Here we make use of slack, and will not result
in a change of project duration. Because the
total allocation of a certain resource remains
the same.
Resource Leveling is primarily driven by resource
constraints like you do not have more than 45
hours of the given resource for a week.
Resource smoothing is more to do with
desired limits like we do have 45 hours
available for a given resource but we wish that
we allocate 38 hours per week so we have
some breathing space.
The allocation limits identified in resource leveling
must be applied.
The desired limit identified in resource
smoothing may not be applied in some cases,
if we do not have slack. It is optimized within
the float boundaries
When Resource Leveling changes the project
dates, may also change the critical path, since
constraints drive it.
Resource smoothing will not change the
critical path; it tries to make the best use of
slack.
Unit 6: Monitoring and Control
Monitoring and Control
Monitoring and control processes continually track, review, adjust and report on
the project’s performance. It’s important to find out how a project’s performing
and whether it’s on time, as well as implement approved changes. This ensures the
project remains on track, on budget and on time.
Project control is a “project management function that involves comparing actual
performance with planned performance and taking appropriate corrective action (or
directing others to take this action) that will yield the desired outcome in the
project when significant differences exist.”
Essentially, project controls are a series of tools that help keep a project on
schedule. Combined with people skills and project experience, they deliver
information that enables accurate decision making. The project control process
mainly focuses on:
•
Measuring planned performance vs actual performance.
•
Ongoing assessment of the project’s performance to identify any preventive
or corrective actions needed.
•
Keeping accurate, timely information based on the project’s output and
associated documentation.
•
Providing information that supports status updates, forecasting and
measuring progress.
•
Delivering forecasts that update current costs and project schedule.
•
Monitoring the implementation of any approved changes or schedule
amendments.
Importance of project monitoring and control:
Monitoring and control keep projects on track. The right controls can play a major
part in completing projects on time. The data gathered also lets project managers
make informed decisions. They can take advantage of opportunities, make changes
and avoid crisis management issues.
Monitoring and control techniques:
There are a range of monitoring and control techniques that can be used by project
managers, including:
A Requirements Traceability Matrix (RTM). This map, or traces, the project’s
requirements to the deliverables. The matrix correlates the relationship between
two baseline documents. This makes the project’s tasks more visible. It also
prevents new tasks or requirements being added to the project without approval.
This makes the project’s tasks more visible. It also prevents new tasks or
requirements being added to the project without approval.
A control chart monitors the project’s quality. There are two basic forms of
control chart – a univariate control chart displays one project characteristic, while a
multivariate chart displays more than one.
Review and status meetings further analyses problems, finding out why
something happened. They can also highlight any issues that might happen later.
Put simply, monitoring and control ensures the seamless execution of tasks. This
improves productivity and efficiency.
Collecting the data
As a rule, managers will try to break down long activities into more controllable
tasks of one- or two-weeks duration. However, it will still be necessary to gather
information about partially completed activities and, in particular, forecasts of how
much work is left to be completed. It can be difficult to make such forecasts
accurately.
A software developer working on Amanda's project has written the first 250 lines
Exercise 9.1 of a Cobol program that is estimated to require 500 lines of code.
Explain why it would be unreasonable to assume that the programming task is 50%
complete. How might you make a reasonable estimate of how near completion it
might be?
Where there is a series of products, partial completion of activities is easier to
estimate. Counting the number of record specifications or screen layouts produced,
for example, can provide a reasonable measure of progress.
In some cases, intermediate products can be used as in-activity milestones. The
first successful compilation of a Cobol program, for example, might be considered
a milestone even though it is not the final product of the activity code and test.
Partial completion reporting
Many organizations use standard accounting systems with weekly time sheets to
charge staff time to individual jobs. The staff time booked to a project indicates the
work carried out and the charges to the project. It does not, however, tell
the project manager what has been produced or whether tasks are on schedule.
It is therefore common to adapt or enhance existing accounting data collection
systems to meet the needs of project control. Weekly time sheets, for example, are
frequently adapted by breaking jobs down to activity level and requiring
information about work done in addition to time spent. Figure 9.3 shows a typical
example of such a report form, in this case requesting information about likely
slippage of completion dates as well as estimates of completeness.
Asking for estimated completion times can be criticized on the grounds that
frequent invitations to reconsider completion dates deflects attention away from
the importance of the originally scheduled targets and can generate an ethos that it
is acceptable for completion dates to slip.
Weekly timesheets are a valuable source of information about resources used.
They are often used to provide information about what has been achieved.
However, requesting partial completion estimates where they cannot be obtained
from objective measures encourages the 99% complete syndrome -tasks are
reported as on time until 99% complete, and then stay at 99% complete until
finished.
Risk reporting
One popular way of overcoming the objections to partial completion reporting is to
avoid asking for estimated completion dates, but to ask instead for the team
members' estimates of the likelihood of meeting the planned target date.
One way of doing this is the traffic-light method. This consists of the following
steps:
• identify the key (first level) elements for assessment in a piece of work;
• break these key elements into constituent elements (second level);
• assess each of the second level elements on the scale green for 'on target', amber
for 'not on target but recoverable', and red for 'not on target and recoverable only
with difficulty';
• review all the second level assessments to arrive at first level assessments;
• review first and second level assessments to produce an overall assessment.
Visualizing Progress
Having collected data about project progress, a manager needs some way of
presenting that data to greatest effect. we look at some methods of presenting a
picture of the project and its future. Some of these methods (such as Gantt charts)
provide a static picture, a single snap-shot, whereas others (such as time-line
charts) try to show how the project has progressed and changed through time.
1.GANTT CHART
The bar chart (Gantt chart) is used for the representation of a project in which the
activities are represented by horizontal segments, of which the length is
proportional to the time necessary to conclude the task in question.
The bar chart is an effective tool for the management of work in a project.
2.BALL CHART
➢ Ball charts – way of showing or not targets have been met
or not.
➢ It is represented in the form of circles that indicate the start
and the end point completion of activities.
➢ Circles of the ball chart mostly contain only two dates the
original and the revised one.
➢ An activity is denoted by a red circle and green color
denotes that the activity is ahead of its schedule.
➢ Slippage in the project completion date but it is overcome
by the timeline charts.
SLIP CHART
➢ Slip chart – visual indication of activities that
are not progressing to schedule.
➢ An alternative view of Gantt chart by providing
a visual indication of those activities which are
not on schedule.
➢ The more bend in the greater the variation in
the project plan.
➢ If the slip line deviates more towards the non
achievement of project objectives then it has to
be reconsidered
➢ Additional slip lines can be included at regular
intervals.
3.THE TIMELINE
One disadvantage of the charts described so far is that they do not show clearly the
slippage of the project completion date through the life of the project. Knowing the
current state of a project helps in revising plans to bring it back on target, but
analyzing and understanding trends helps to avoid slippage in future projects.
The timeline chart is a method of recording and displaying the way in which
targets have changed throughout the duration of the project.
➢ The Timeline – recording and displaying the way in which
targets have changed.
➢ The chart represents the planned time along the horizontal
axis and the actual time along the vertical axis.
➢ A line down the horizontal axis represents the scheduled
activity completion dates and the slip in the line indicates a
delay in the respective activities.
➢ It is used to calculate the duration of execution of the
project.
Cost monitoring:
➢ It provides an indication of the effort.
➢ It provides a simple method of comparing actual and planned
expenditure.
➢ The more cost is incurred to complete the activities to keep the project
on schedule.
➢ The chart does a comparison between the actual and the planned
expenditure.
➢ Cost charts become much more useful to calculate the future costs.
Earned Value Analysis:
➢ The total value credited to a project at any point is known as the
earned value.
➢ The assigned value is the original budgeted cost value and termed as a
planned value or budgeted cost of work schedule.
➢ Common methods used in assigning an earned value are,
1) 0/100 technique
2) 50/50 technique
3) Milestone technique
➢ 0/100 technique is suitable for longer duration cost estimation.
➢ Earned value denotes the total value credited to a project at any point
and it is termed as budgeted cost of work performed(BCWP).
➢ Budgeted cost of work performed(BCWP).
➢ The baseline budget
➢ Monitoring earned value
➢ Schedule variance
➢ Cost variance
➢ Performance ratios.
5.1) Baseline Budgets
➢ To setup an earned value analysis, the first step is to create a baseline
budget.
➢ Common ways of measuring earned value in software development
process is persons –hours or work days.
➢ The 0/100 technique can be used to get the creditability of earned
value.
5.2) Monitoring Earned value
➢ The earned value analysis is to monitor the project progress.
➢ Monitoring process indicates the completion of tasks and includes the
activity start and milestone achievement of the project.
➢ The actual cost is calculated by the actual cost of each task and is also
called as actual cost of work performed.
➢ Types of variance are,
➢ Schedule variance – difference between the earned value and
the planned value indicates the degree of the completed work .
➢ Cost variance – difference between the earned value and the
actual cost of a completed work results in cost variance.
➢ Positive cost variance – project under control
➢ Negative cost variance – actual cost incurred is much
more than the planned one.
5.3) performance ratios
➢ Performance ratios defines two index values namely cost performance
index and schedule performance index.
➢ Formulas,
➢ CPI = Earned value/Actual costs
➢ SPI = Earned value/ Planned value
➢ Greater value – work is completed better than planned
➢ Lesser value – work is more costlier than planned.
Project Controls:
Project controls are processes for gathering and analyzing project data to keep
costs and schedules on track. The functions of project controls include initiating,
planning, monitoring and controlling, communicating, and closing out project costs
and schedule. Ultimately, project controls are iterative processes
for measuring project status, forecasting likely outcomes based on those
measurements and then improving project performance if those projected
outcomes are unacceptable.
Activities under the umbrella of project controls may include:
•
•
•
•
•
•
•
•
Aligning projects with portfolio/organization goals and objectives
Developing a work-breakdown structure (WBS)
Collaborating on initial project schedules
Developing a risk management plan
Project budgeting and forecasting
Monitoring project costs
Feedback and reporting
Optimizing project strategies to enable better outcomes in the future
While a project may deal with many parameters, such as quality, scope, etc., the
discipline of project controls focuses on the cost and schedule factors, continuously
monitoring for any risk to them.
Hierarchically, project controls nest under project management. A project
controller could be reporting to a project manager on a specific project or an
entire portfolio of projects. Project controls are integral to successful project
management, as it alerts project stakeholders to potential trouble areas and allows
them to course correct, if needed.
Benefits of Project Controls
In megaprojects, the various moving parts can make it difficult to stay aligned with
the initial plans. However, close monitoring, analysis, and regulation can keep this
in check. Projects of all sizes, not just large projects, experience significant
benefits when controls are properly executed.
The following are some of the key benefits of project controls:
•
•
•
•
•
•
•
•
•
Reduced project costs through ability to make timely decisions using KPIs
Increased project predictability for cost and completion date
Increased visibility into the financial health of the project at all stages
Ability to mitigate project scope creep
Meaningful benchmarking data for future projects via well-structured
projects
Increased margins when working in a fixed-price environment
Improved reputation for properly managing and controlling projects
Competitive advantage over organizations with less mature project
management capabilities
Increased job satisfaction for project team members
What is the Difference Between Project Controls and Project Management?
There are 3 key differences between Project Controls and Project Management:
1- Project Control is one of the Project Management subsets with the primary focus
of managing the project’s cost and schedule.
2- Project Manager is directing the work of the project team while the Project
Controller advises the team and the Project Manager of possible cost & schedule
issues/ recovery plans.
3- Project Controller generates the project’s cost/ schedule information while the
Project Manager consumes the information generated and makes decisions for the
project.
Unit 7: Managing Contracts and people
Learn the basics of contract management.
•
•
•
Contract management is when someone takes on the responsibility of
managing contracts for employees or vendors or other parties.
Contract managers need legal knowledge to accurately lead the contract
management process.
Not all companies have set contract managers, but major defense firms or
companies that frequently work with the government tend to use contract
managers.
What is contract management, and why is it important?
Contract management is the process of managing contract creation, execution, and
analysis to maximize operational and financial performance at an organization, all
while reducing financial risk. Organizations encounter an ever-increasing amount
of pressure to reduce costs and improve company performance. Contract
management proves to be a very time-consuming element of business, which
facilitates the need for an effective and automated contract management system.
Types Of Contracts In Software Project Management:
The types of contracts in software project management can include fixed price,
firm fixed price, fixed price incentive fee, fixed price with economic price
adjustments, purchase orders, cost reimbursable, cost plus fixed fee, cost plus
incentive fee, cost plus award fee, cost plus percentage of cost, time and materials,
and unit price contracts.3 min read
1. Fixed Price Contracts
2. Purchase Orders
3. Cost Reimbursable Contract
4. Unit Price Contract
5. Time and Materials Contract
The types of contracts in software project management can include fixed price,
firm fixed price, fixed price incentive fee, fixed price with economic price
adjustments, purchase orders, cost reimbursable, cost plus fixed fee, cost plus
incentive fee, cost plus award fee, cost plus percentage of cost, time and materials,
and unit price contracts.
Fixed Price Contracts
With fixed price contracts, also known as lump sum contracts, the buyer and
service provider agree on a fixed price for the services in question. This type of
contract is low-risk for the buyer, but high-risk for the seller since the time and
costs of the project could exceed the fixed price. For this reason, a fixed price
contract should include a detailed scope of work that clearly outlines what the
buyer can expect for the agreed-upon price. When the contract is signed, the seller
must complete the task or deliver the goods as agreed or risk being in breach of
contract. Types of fixed price contracts include the following:
•
•
•
•
Firm Fixed Price Contracts: This type of fixed price contract is typically
used in government and partial government projects where the scope is
defined in detail. This makes it easy to create a request for proposals and to
compare the bids you receive. The downside for this contract is that
deviating from the defined scope can be expensive.
Fixed Price Incentive Fee Contracts: With this type of fixed price
contract, the buyer also offers a performance-based incentive as an extra
payment to the seller. Performance can be measured for this purpose by
various metrics, including time, cost, or performance.
Fixed Price Award Fee Contracts: As with the fixed price incentive fee,
this type of contract offers a bonus for exceeding a specific
performance metric. For example, if the seller delivers the product early, he
or she could be eligible for a bonus equal to 10 percent of the total contract.
Fixed Price With Economic Price Adjustment: With this type of contract,
although the price is fixed, it can be readjusted with fluctuations in the
market.
Fixed price contracts are commonly used on a deliverables basis for outsourcing
and turnkey procurement.
Purchase Orders
A purchase order is a specific type of contract that is used only to purchase goods
and commodities.
Cost Reimbursable Contract
When the scope of a project is unclear or subject to change, you should consider a
cost reimbursable contract. This document, sometimes called cost disbursable, is
also useful when the risk of a specific project is high. The seller provides work for
a fixed time period or project, then increases the bill to create profit after finishing
the work.
The amount of profit in this type of contract is often based on performance metrics
detailed in the document itself. The downside of this type of contract lies with the
buyer, who carries the risk for this type of contract since he or she pays all costs.
The full cost of the contract won't be defined until the work is done. For this
reason, few businesses opt to use a cost reimbursable contract.
Types of cost reimbursable contracts include the following:
•
•
•
•
Cost Plus Percentage of Costs/Cost Plus Fee: With this variation, the
seller receives a defined percentage of the total cost of the project upon
completion. This is also an arrangement that mainly benefits the seller.
Cost Plus Fixed Fee: The seller receives costs incurred plus an additional
flat fee that is fixed in the contract. This amount is received when the
contract is fulfilled regardless of performance.
Cost Plus Incentive Fee: This is a performance-based fee paid on top of
actual costs. It is a flat amount rather than a percentage.
Cost Plus Award Fee: Similar to a cost plus incentive fee, this contract
provides an award on top of the costs incurred.
Unit Price Contract
This type of contract, also called an hourly rate contract, combines elements
of fixed price and cost contracts. A unit price contract pays a specified hourly rate
for every hour spent on the project. It is commonly used by freelancer workers.
Time and Materials Contract
This contract is used when labor is the main deliverable and typically provides the
seller an hourly rate.
If you need help with software project management contracts, you can post your
job on Up Counsel’s marketplace. Up Counsel accepts only the top 5 percent of
lawyers to its site. Lawyers on Up Counsel come from law schools such as Harvard
Law and Yale Law and average 14 years of legal experience, including work with
or on behalf of companies like Google, Menlo Ventures, and Airbnb.
Contract Lifecycle:
Stage 1: Contract Management Preparation—Identify Your Needs, Establish
Goals, Set Expectations, and Define Risk
Contracts are legally binding documents that should not be approached
lightly. Therefore, it’s important to be organized and prepared with the right
resources.
Properly identifying the needs, reasons, and ultimate goals that require a
contract makes any decisions down the line much easier.
Contract management should:
•Seek
to define and mitigate risk in a relationship
•Look ahead to scenarios that could occur over the lifetime of the document
•Account for these various outcomes in the contract
For example, the terms of agreement within a contract should address what
happens if the client files for bankruptcy, goes out of business, or sells the
company, along with any other contingencies that may arise.
Another example is a contract of pricing terms for customers. One goal of
this document is to financially protect the business in any scenario, and
ensure payment once the tasks outlined in an agreement are complete.
Good contract management ensures that even if a business relationship is
strong, each side obtains exactly what is in the contract.
Once we establish the reasons for creating a contract, it’s time to begin
drafting the contract.
Stage 2: Draft the Contract
Consulting with in-house counsel or an attorney is wise, especially if there
are any uncertainties. Better yet, use a pre-set template drafted by your legal
team to ensure all the information is up-to-date and all required clauses and
terms are automatically included.
When drafting or authoring the terms of the contract, it’s important to pay
attention to specific wording. Any ambiguity leaves contracts up for
interpretation, even down to a comma. State and country laws also need to be
taken into consideration. This is especially true if the two parties are in
different locations.
Stage 3: Get Approval Before Finalizing the Contract
In companies that need manager approval or have audit procedures, all
requirements for approval need to be met before finalizing the deal.
For example, a company needs to meet procurement policies prior to contract
approval. In a contract management platform, this is as simple as setting up
an approval workflow. Simply put, whoever needs to approve the
contract receives a notification and can view, edit, and comment on the
contract in real time.
Stage 4: Contract Negotiation
No matter how much research, planning, and preparation goes into the first
draft of a contract, negotiation almost always follows. Contract negotiation
should begin with transparency and trust. Anticipating and researching the
other party’s needs before the conversation simplifies the process. Further, it
creates a strong foundation for a lasting relationship.
As redlining begins, it’s easiest to use a contract management platform so
both parties can view the working document to make changes and collaborate
in real time.
Email and offline documents can be confusing and cause costly mistakes. A
single source of truth for conversations and contracts will result in quicker
negotiations and a contract that provides visibility for both sides.
Stage 5: Sign the Contract
The signing should be the simplest part of a contract. Both parties agree, the
wording is exact, and the next step is simply making it official.
However, many businesses make agreements across the country or even the
globe, and getting signatures isn’t as straightforward as meeting in person.
Especially if deadlines are tight or time zones are incompatible, overnight
mail or even email may not be the best way to get signatures faster.
A legally binding online signature (e-signature) can solve all these problems,
allowing you to move faster. More importantly, it accelerates signatures and
revenue.
Stage 6: Keep Up With Amendments and Revisions
Contracts are rarely stagnant. Revisions and amendments are a common part
of the contract lifecycle. Tracking changes and the effects for each party can
be confusing, unfortunately.
Moreover, this is another reason to implement a reliable process, such as a
contract lifecycle management platform, to easily record edits and add
amendments. It’s important to stay ahead of the changes. Additionally, make
sure both parties are fully aware and in agreement on any revisions.
Stage 7: Manage After the Signature—Audits, Renewals, and Obligations
Finally, contract lifecycle management doesn’t stop once there is a signed
contract. In particular, performing regular audits ensures all parties meet
obligations and realize value.
Alerts should be set for deadlines and renewals. Missed renewals mean lost
opportunities to continue a relationship, and most importantly for a company,
lost revenue. Being aware and making contact well before the renewal time
shows reliability and care for the relationship. Additionally, this effort will
continue to build trust and loyalty.
Moving Forward in Contract Management
Contract management is a time-consuming task. Luckily, it has potential to
be one of the most lucrative areas for building business relationships and
generating revenue.
A contract lifecycle management platform simplifies contract management
processes by:
•Managing
and avoiding risk and compliance issues through templates and
approval workflows
•Streamlining contract negotiations with online redlining
•Delivering more revenue (and faster) with online eSignatures, and
•Tracking signed documents, helping organizations grab otherwise missed
opportunities
7 Essential Stages of Contract Management
Lifecycle. Process. Whatever you call it, effective contract management doesn’t
only involve developing agreements and getting them signed – it’s a series of
actions that guide you from the earliest stages of developing holistic processes for
handling each and every company agreement, through to the steps to seeing
contracts through to their conclusion.
Having a clear understanding of what happens at each stage is an important way to
ensure your contract management processes meet all of the requirements and
objectives to deliver optimal results.
Here are the seven essential stages of contract management.
1. Planning stage
Before you can implement a process, it’s important to develop a system that will
best suit your company’s needs and resources. To keep things streamlined and
organized, it’s also important to develop contract management processes that can
be implemented company-wide.
Your contract management strategy is a flexible roadmap consisting of processes
that account for all types of company agreements, from standard employment
contracts to the paperwork from highly specific and complex deals. The first step
to developing your strategy is to determine your needs, including answering the
following:
•
•
•
•
•
What types of contracts do you have to manage and in what volume?
Are there standard agreements you use again and again? What needs to be
included in these?
Who is responsible for each stage of contract management and what do they
need to perform their job?
What common problems have occurred in the past, or what issues might
arise during the management of a typical contract?
What resources are required to implement your contract strategy?
Understanding the remaining stages of contract management will help to inform
your processes.
2. Implementation stage
Once you have outlined your contract management processes, you will need to
implement your plan before you can start using it. This includes deploying contract
management software to help you to execute contract-related tasks, as well as
migrating your contracts to a centralized repository.
A crucial part of your implementation plan is onboarding – making sure everyone
involved understands your vision and objectives for contract management and is
comfortable with the tools they will be using.
3. Pre-contract stage
Now that you have your contract management foundation set up, you can begin to
implement it for new contracts. That means developing new contracts or
implementing boilerplate agreements for more standard situations. The key
challenge of this stage of contract management is developing a specific document
that will deliver what you need and reduce your risks.
For standard situations, this stage may be as simple as finding the right contract
type, entering the relevant information and perhaps making a few tweaks. More
unusual or complex contracting scenarios may require the development of a whole
new document. Developing a contract from scratch can be made easier by looking
at other agreements that might be applicable and adapting those terms. Don’t forget
to carry over any important requirements such as compliance obligations or
branding standards. Once you have agreed on the terms and developed your
contract, e-signatures can keep things moving.
4. Handover stage
It’s common – especially in larger companies – that the individuals involved in
executing a contract are not the same as those who negotiated it. Thus, in order to
ensure the contract is fulfilled as expected, it’s important to ensure a smooth
handover. Rather than assuming stakeholders have everything they need, it’s useful
to spend some time walking through all of the contract details and confirming
roles, responsibilities and milestones.
5. Contract stage
The contract stage is when all of the goals of your contracts come to life – if you
manage them properly. And much of the contract management work you’ve
performed thus far is setting you up to do just that.
But the contract stage doesn’t manage itself – it’s here where you must play close
attention to all of the terms laid out within your agreement and perform regular
monitoring to make sure everything is happening as it should. It’s useful to have
a plan for doing so, with a clear sense of key milestones and performance metrics
that will let you confirm everything is on track – or provide an early warning
system if any problems arise.
6. Pre-renewal stage
Nothing lives forever – not even your contracts. But there are several ways your
agreements may come to an end: one-off agreements may wind down to a natural
conclusion, you may renew an agreement, or choose to terminate it. Often there are
specific terms – and even possibly penalties or default actions, should you fail to
do anything – that can affect the outcome, which is why it’s important to start
thinking about the end of your contract in a proactive and timely manner. Now is
the time to evaluate how your contract performed and decide whether you want to
renew and/or make any changes. Make sure all stakeholders are aware of
termination and renewal dates and that you have enough time to consider all the
information before you get locked into any decisions.
7. Post-contract stage
Once a contract ends, there is still some housekeeping to do to ensure that
everything is wrapped up properly. This includes ensuring termination conditions
have been met, issuing or paying final invoices, and archiving your contract. It’s
also useful to perform a contract post-mortem, which can provide valuable
information and learnings that can improve the results of future contracts.
What is the role of each type of Contract in Project Management?
We know that every day, many projects and infrastructure works are undertaken
across the world. These projects can be of any type ranging from software,
construction, telecom, to scientific, and oil & gas. Every project has
stakeholders/clients and vendor/seller/supplier in common. In other words, every
project is initiated by an organization which should be supported by suppliers for
the various needs of the procurement. In project procurement management, these
two parties are generally termed as 'buyer' and the 'seller.' The agreement between
the two is called the “contract.”
Contracts are an essential part of procurement management. Since formal, it
creates a legal binding between the buyer and the seller. Contracts are necessary
for project management as they provide relief on either side. It is by managing the
risks involved in procurements. A contract is required to share and bear the
individual’s responsibilities in completion of the project. This is more so in larger
and complex projects. Good procurement practices help the corporates to increase
their profitability.
In this article, an attempt is made to throw more light on procurement as well as on
contract management. It is to get the professionals to understand and be conversant
with the contractual processes and their types.
The Project Manager:
Project Manager is the person who leads the team that is responsible for achieving
the project objectives. The performing organization assigns a Project Manager.
Based on the authority level, the project manager performs numerous roles. Many
organizations based on the project size and complexity, assign 'a contract project
manager.' A contract project manager's role is significantly different from the
Project Manager.
Contract Manager:
The Contract Project Manager (also referred to as Contract Manager) plays a very
critical role for an organization. He/she manages contracts throughout the projects
and their life cycle. On many occasions, they also play the role of a Liaoning
person between the companies, employees, vendors, customers. He/she creates the
contract’s repository and is solely responsible for maintaining all the contractual
records. The company uses these records for their projects, which finally become
part of Record Management.
Some of the key responsibilities include but not limited to:
•
•
•
•
•
Draft, develop, negotiate and execute the contract.
Create policies and procedures to the contract and ensure the effectiveness.
A Liaoning person and a contract facilitator.
Manage and close the contracts throughout the project duration.
Create a contract repository and update periodically.
Placement refers to the process of connecting the selected person and the
employer in order to establish an ongoing employment relationship.
In this step the employee is given the activities he/she needs to perform and is told
about his/her duties. Placement is usually followed by the orientation process.
Typical terms of a contract
In a textbook such as this, it is not possible to describe all the necessary content of
contracts for IT goods or services. It is possible, however to outline some of the
major areas of concern.
Definitions
The terminology used in the contract document may need to be defined, for
example, who is meant by the words 'client' and 'supplier'.
Form of agreement
For example, is it a contact of sale, a lease, or a licence? Also, can the subject of
the contract, such as a licence to use a software application, be transferred to
another party?
Goods and services to be supplied
Equipment and software to be supplied This includes an actual list of the individual
pieces of equipment to be delivered, complete with the specific model numbers.
Services to be provided This covers such things as:
• documentation;
• installation;
• conversion of existing files;
• maintenance agreements;
• transitional insurance arrangements.
Ownership of the software
Who has ownership of the software? There are two key issues here: firstly, whether
the customer can sell the software to others and, secondly, whether the supplier can
sell the software to others. Where off-the-shelf software is concerned, the supplier
often simply grants a license for you to use the software. Where the software is
being written specially for a customer, then that customer will normally wish to
ensure exclusive use of the software - they may object to software which they
hoped would give them a competitive edge being sold to their rivals. They could
do this by acquiring the copyright to the software outright or by specifying that
they should have exclusive use of the software. This would need to be written into
the contract. Where a core system has been customized by a supplier, then there is
less scope for the customer to insist on exclusive use.
Where software is written by an employee as part of a contract of employment, it is
assumed that the copyright belongs to the employer. Where the customer
organization has contracted an external supplier to write software, the contract
needs to make clear who is going to retain the copyright - it cannot, in this case, be
automatically assumed it is the customer. The customer might have decided to take
over responsibility for maintenance and further development once the software is
delivered and in this case will need access to the source code. In other cases, where
the customer does not have an adequate in-house maintenance function, the
supplier can retain the source code, and the customer will have to approach the
supplier for any further changes. There are many potential dangers with this, not
the least being that the supplier could go out of business. An escrow agreement can
be included in the contract so that up-to-date copies of the source code are
deposited with a third party. In the United Kingdom, the National Computing
Centre provide an escrow service.
Environment
Where physical equipment is to be installed, the demarcation line between the
supplier's and customer's responsibilities with regard to such matters as
accommodation and electrical supply needs to be specified. Where software is
being supplied, the compatibility of the software with the existing hardware and
operating system platforms would need to be confirmed.
Customer commitments
Even when work is carried out by external contractors, a development project still
needs the participation of the customer. The customer will have to provide
accommodation for the suppliers and perhaps other facilities such as telephone
lines.
Acceptance procedures
Good practice would be to accept a delivered system only after it has undergone
user acceptance tests. This part of the contract would specify such details as the
time that the customer will have to conduct the tests, deliverables upon which the
acceptance tests depend and the procedure for signing off the testing as completed.
Standards
This covers the standards with which the goods and services should comply. For
example, a customer can require the supplier to conform to the ISO 12207 standard
relating to the software life cycle and its documentation (or, more likely, a
customized sub-set of the standard). Within the European Union, government
customers with contracts for projects above a certain threshold value must, by law,
ensure that the work conforms to certain standards.
Some customers find that specially written or modified software is not thoroughly
tested by the supplier before delivery. Some suppliers seem to think that it is
cheaper to get the customer to do the testing for them!
Project and quality management
The arrangements for the management of the project must be agreed. Among these
would be frequency and nature of progress meetings and the progress information
to be supplied to the customer. The contract could require that appropriate ISO
9000-series standards be followed. The ISO 12207 standard provides for the
customer to have access to quality documentation generated internally by the
supplier, so that the customer can ensure that there is adherence to standards.
Timetable
This provides a schedule of when the key parts of the project should be completed.
This timetable will commit both the supplier and the customer. For example, the
supplier might be able to install the software on the agreed date only if the
customer makes the hardware platform available at that point.
Price and payment method
Obviously the price is very important! What also needs to be agreed is when the
payments are to be made. The supplier's desire to be able to meet costs as they are
incurred needs to be balanced by the customer's requirement to ensure that goods
and services are satisfactory before parting with their money.
Miscellaneous legal requirements
This is the legal small print. Contracts often have clauses that deal with such
matters the legal jurisdiction that will apply to the contract, what conditions would
apply to the sub-contracting of the work, liability for damage to third parties, and
liquidated damages. Liquidated damages are estimates of the financial losses that
the customer would suffer if the supplier were to fall short of their obligations. It is
worth noting that under English law, the penalties laid down in penalty clauses
must reflect the actual losses the customer would suffer and cannot be unrealistic
and merely punitive. Even this limitation will not be enough in some cases as far as
the supplier is concerned. As computer systems assume increasingly critical roles
in many organizations and in safety-critical systems can even be life-threatening in
the case of malfunction, the possible consequential damage could be very great.
Suppliers will not unnaturally try to limit this kind of liability. The courts (in
England and Wales) have tended to look critically at such attempts at limiting
liability, so that suppliers will, in the case of major contracts, take out insurance to
cover such liabilities.
If there is a dispute, resorting to litigation, while being lucrative to the lawyers
involved, is both time-consuming and expensive. An alternative is to agree that
disputes be settled by arbitration. This requires that any dispute be referred to an
expert third party whose decision as to the facts of the case is binding. Even this
procedure is seldom quick and inexpensive and another option is alternative
dispute resolution where a third party acts as a mediator who has only an advisory
capacity and attempts to broker an agreement between the two sides.
What is Contract Management?
Contract management is an intricate oversight process that follows contracts from
pre-award to completion, including execution, vendor selection, issue detection
and control, tracking and processing. When implemented properly, contract
management processes ensure that budgets and abilities are in alignment with
project objectives.
The Stages of Contract Management
Contract management is not solely about creating agreements and getting them
approved. It includes a series of stages that follow the process through to a
successful conclusion. Any missed steps can cause delays and mistakes down the
line. Here’s an outline of five fundamental areas of importance:
1. Create: The contract management system must have the ability to
incorporate standardized procedures with details specific to the goals of the
organization. First steps include identifying the type of contract and who
will be responsible for each task. The planning process should consider
company resources, objectives and team member strengths and weaknesses,
while developing an overview of potential challenges and risks.
2. Negotiate: The contract should be written in a manner that reflects the
organizational needs and values, helping to establish trust between the two
parties. Once the initial contract has been designed, negotiation is the
obvious next step. Line items can be discussed, changed or removed, as part
of the negotiation process.
3. Approve: Approval usually includes multiple sign-offs. Numerous
managers, departments and even contractors, may have to sign off on the
specifics before the final deal is made.
4. Finalize: The contract signing process between enterprises is the final step
before getting the project underway. Obtaining signatures from numerous
parties and entities quickly—even when distance is a factor—is crucial to
avoiding postponements to the process.
5. Manage: Once the project begins, changes can still occur. Revisions need to
be carefully managed and communicated to the appropriate parties.
Deadlines, audits, revenue, and expenditures need to be tracked, completed
and shared with the rest of the team.
An Acceptance Management Process is a method by which project deliverables
are reviewed, tested and accepted by the customer. The process entails completing
a number of review steps to ensure that the deliverable meets the customer's
expectations and satisfies the acceptance criteria outlined in the Project Charter.
When work is completed, customer needs to carry out acceptance testing.
Contract may put a time limit to acceptance testing – customer must
perform testing bf
time expired.
• Part or all payment to the supplier should depend on acceptance testing
Acceptance criteria are defined as “the list of requirements that must be
satisfied prior to the customer accepting delivery of the product”.
MANAGING PEOPLE AND ORGANIZING TEAMS
1 INTRODUCTION
OB = organizational behavior
There are 3 main concerns in OB; staff selection, staff
development, and staff motivation
The issues have impact at all stages of project planning and
execution, particularly in;
➢ Some objectives can address health and safety during the project (step 1:
Identify project scope and objectives)
➢ Although project leaders might have little control over organizational
structure, they need to be aware of its implications (step2: Identify project
infrastructure)
➢ The scope and nature of activities can be set in a way they will enhance
staff motivation (Step 3: Identify the products and activities)
➢ Many risks to project success relate to staffing (Step 4: Identify activity
risks)
➢ The qualities of individual members of staff should be taken into account
when allocating staff to activities (Step 5: Allocate resources)
2 Understanding behavior
Behaviors associated with complex and challenging mental health, dementia
or other neurological conditions include aggression, wandering, agitation. These
apparent changes in the personality of the person with the disease are a major source
of distress both to the person who is presenting the behaviors and to those who
experience them – the caregiver, the family members, and the service providers in
all sectors of the health-care system.
People differ from each other in their needs and values. Group effort eases
their task of achieving organizational goals effectively. Human relations can be
defined as motivating people in organizations to work as a team. Although human
relationships have existed from quite some time in the past, the study of human
relations has developed only recently. Social sciences like sociology, psychology,
anthropology, economics and political science have contributed to the development
of OB and human relations.
Goal of Human Relations
Create a win-win situation by:
satisfying employee needs
while achieving organizational objectives
Win-win situation:
occurs when the organization and the employees get what they want.
Levels of Behavior
Individual behavior – influences group behavior
Group Level Behavior-– consists of the things two or more people do and say
as they interact
Organizational Level Behavior
Organization – a group of people working to achieve an objective
Created to produce goods and services for the larger society
Organizational behavior – the collective behavior of an organization’s
individuals and groups.
3 ORGANIZATIONAL BEHAVIOURS: A BACKGROUND
OB was studied by Frederick Taylor in the late 19th and early
20th centuries
Taylor attempted to analyses the most productive way of doing
manual tasks
Taylor had 3 basic objectives:
to select the best people for the job
to instruct them in the best methods
to give incentives in the form of higher wages to the best
workers
Taylor’s view emphasizes on the financial basis of staff
motivation; however, the other issues of motivation should be
encouraged staff not just on such rewards.
Theory X and Theory Y by Donald McGregor draws attention
to the way that expectations influence behavior
Theory X holds that:
The average human has an innate dislike of work
There is a need therefore for coercion, direction and
control
People tend to avoid responsibility
Theory Y holds that:
Work is as natural as rest or play
External control and coercion are not the only ways of
bringing about effort directed towards and organization’s
ends
Commitment to objectives is a function of the rewards
associated with their achievement
The average human can learn to accept and further seek
responsibility
The capacity to exercise imagination and other creative
qualities is widely distributed
One way of judging whether a manager espouses Theory X or
Theory Y is to observe how staff react when the boss is absent:
If there is no discernible change then this is a Theory Y
environment;
If everyone visibly relaxes, it is a Theory X environment
Therefore,
A “reward” does not have to be a financial reward- it could be
something like a sense of achievement
Theory X and Theory Y illustrated how the state of mind of workers
influenced their productivity
SELECT THE RIGHT PERSON FOR THE JOB
Taylor stressed “the need for the right person for the job”.
Examples of question;
What sort of characteristics should they be looking for?
Is an experienced programmer better than a new graduate
with a first?
class mathematics degree?
Recruitment is often an organizational responsibility
There are 2 types of candidates that are distinguished by Meredith Belbin:
@Eligible candidate
@Suitable candidate
Eligible candidates have curriculum vitae (CV) which shows, for
example, the
‘right’ number of years in some previous post and the ‘right’ paper
qualifications.
Suitable candidates can actually do the job well
A mistake is to select an eligible candidate who is not in fact
suitable
Thus, Belbin suggests we should try to assess actual skills rather
than past experience and provide training to make good minor gaps in
expertise
And it also has the general approach for recruitment process
5 INSTRUCTIONS IN THE BEST METHODS
Create a job specification
Create a job holder profile
Obtain applicants
Examine CVs
Interviews (e.g., aptitude tests, personality tests and the
examination of samples of previous work)
Other procedures (e.g. medical examination)
What is the purpose of instruction?
The purpose of instruction is to help people learn. The goal of instructional
designers is to make learning easier, quicker, and more enjoyable. Some
people view training as a process of finding out who the brightest employees
are. But performance in a course is not very highly correlated with the basic
ability to be good on the job. We believe that an instructional designer's job is
to help everyone to learn and be successful.
Challenge: How to make good instruction?
The key to improving our instruction is to know what methods of instruction to
use when. It's helpful to think of different methods of instruction as different
tools for a carpenter. If you only have a hammer, then everything looks like a
nail to you. And you won't be able to make a very good piece of furniture. So,
what we need is a knowledge base about methods of instruction to
supplement the creative, "art" aspect of training. Such a knowledge base
would offer optimal methods for given situations.
What are the relevant kinds of learning?
Perhaps the most important aspect of the situation is the kind of learning that is to
be facilitated. Knowing about the kinds of learning helps us to do a better job of
teaching them. The most basic distinction is Benjamin Bloom's three domains:
Cognitive learning (thoughts), such as teaching someone to add fractions.
Affective learning (feelings, values), such as teaching someone to not want to
smoke.
Physical or motor learning (actions), such as teaching someone to touch type.
6 MOTIVATIONS
The Taylorist model:
Taylor’s viewpoint is reflected in the use of piece-rates in
manufacturing industries and sales bonuses amongst sales forces.
Piece-rates can cause difficulties if a new system will change
work practices.
If new technology improves productivity, adjusting piece-rates
to reflect this will be a sensitive issue.
“Piece-rates” are where workers are paid a fixed sum for each
item they produce.
“Day-rates” refer to payment for time worked
Rewards based on piece-rates need to relate directly to work
produced
So, this model emphasizes on the reward system
Maslow’s hierarchy needs:
1.Physicological needs
2.Saftey needs
3.Needs for Love and Belonging
4.Needs for Esteem
5.Needs for Self-Actualization
6.Needs to Know and understand
7.Aesthic needs
Herzberg’s two-factor theory:
Some things about a job can make you dissatisfied.
If the causes of this dissatisfaction are removed, this does not
necessarily make the job more exciting
There are two sets of factors about a job:
Hygiene or maintenance factors
Motivators
Hygiene or maintenance factors, which can make you
dissatisfied if they are not right, for example the level of pay or the
working conditions;
Motivators, which make you feel that the job is worthwhile, like
a sense of achievement or the challenge of the work itself
A model of motivation developed by Vroom and his colleagues.
It identifies three influences on motivation:
expectancy: the belief that working harder will lead to a better
performance
instrumentality: the belief that better performance will be
rewarded
perceived value: of the resulting reward
Motivation will be high when all three factors are high
A zero level for any one of the factors can remove motivation
7 HACKMAN JOB CHARACTERISTICS MODEL:
Managers should group together the elements of tasks to be carried
out so that they form meaningful and satisfying assignments.
Oldham and Hackman suggest that the satisfaction that a job gives
is based on 5 factors
The first three factors make the job ‘meaningful’ to the person who
is doing it
These three factors:
- skill variety: the number of different skills that the job holder has
the opportunity to exercise
- task identify: the degree to which your work and its results are
identifiable as belonging to you
task significance: the degree to which your job has an influence on
others
The other two factors are:
autonomy: the discretion you have about the way that you do the
job
-feedback: the information you get back about the results of your
works
Methods of improving motivation;
Set specific goals: these goals need to be demanding and yet
acceptable to staff. Involving staff in the setting of goals helps to gain
acceptance for them.
Provide feedback: Not only do goals have to be set but staff have to
have regular feedback about how they are progressing
Considering job design: Jobs can be altered to make them more
interesting and give staff more feeling of responsibility
Two measures are often used to enhance job design;
job enlargement-> The person doing the job carries out a wider
variety of activities. It is opposite of increasing specialization
job enrichment -> The job holder carries out tasks that are normally
done at a managerial or supervisory level
8. WORKING IN GROUPS:
A problem with major software projects is that they always involve
working in groups, and many people attracted to software development
find this difficult.
It is not easy for people from different backgrounds to work
together as a team so it is suggested that teams should go through five
basic stages of development.
9 BECOMING A TEAM:
It is suggested that teams go through 5 basic stages of development:
1.Forming: The members of the group get to know each other and try
to set up some ground rules about behavior
2.Storming: Conflicts arise as various members of the group try to
exert leadership and the group’s methods of operation are being
established
3.Norming: Conflicts are largely settled and a feeling of group identity
emerges.
4.Performing: The emphasis is now on the tasks at hand
5.Adjourning: The group disbands.
10 DECISION MAKING:
• Decision can be categorized as being:
structured: generally, relatively simple, routine decisions where rules
can be applied in a fairly straightforward way
Unstructured: more complex and often requiring a degree of
creativity
• Some mental obstacles in good decision making
➢ Faculty heuristics
➢ Escalation of commitment
➢ Information overload
• Group decision making
• Obstacles
Measure to reduce disadvantages in group decision making
*Another way to categorize decisions is by the amount if risk and uncertainty
that is involved*
➢ To make it more efficient and effective -> training members to
follow a set procedure
➢ Brainstorming techniques can help groups to create more ideas.
11 LEADERSHIP:
Leadership is based on the idea of authority or power.
Power may come either from the person’s position (position power),
from the person’s individual qualities (personal power) or may be a
mixture of the two
Types of Power: Position power
1.coercive power: the ability to force someone to do something
by threatening punishment
2.connection power: which is based on having access to those
who have power
3. legitimate power: which is based on a person’s title
conferring a special status
4. reward power: where the holder can give rewards to those
who carry out tasks to his or her satisfaction
Types of Power: Personal power
1.expert power: which comes from being the person who is able
to do a specialized task
2.information power: where the holder has exclusive access to
information
3. referent power: which is based on the personal attractiveness
of the leader
Leadership style:
There are 2 axes: directive vs. permissive and autocratic vs. democratic:
-directive autocrat: makes decisions alone, close supervision of
implementation
- permissive autocrat: makes decision alone, subordinates have
latitude in implementation
Directive democrat: makes decisions participatively, close
supervision of implementation
Permissive democrat: makes decisions participatively,
subordinates have latitude in implementation.
12 Organizational Structures
An organizational structure defines how activities such as task allocation,
coordination and supervision are directed towards the achievement of organizational
aims.[1] It can also be considered as the viewing glass or perspective through which
individuals see their organization and its environment.
Organized Structure gives members clear guidelines for how to proceed.
A clearly-established structure gives the group a means to maintain order and
resolve disagreements.
Organized Structure binds members together. It gives meaning and identity
to the people who join the group, as well as to the group itself.
Organized Structure in any organization is inevitable -- an organization, by
definition, implies a structure. Your group is going to have some structure
whether it chooses to or not. It might as well be the structure which best
matches up with what kind of organization you have, what kind of people are
in it, and what you see yourself doing.
It is important to deal with structure early in the organization's development.
Structural development can occur in proportion to other work the organization is
doing, so that it does not crowd out that work. And it can occur in parallel with, at
the same time as, your organization's growing accomplishments, so they take place
in tandem, side by side. This means that you should think about structure from the
beginning of your organization's life. As your group grows and changes, so should
you’re be thinking on the group's structure.
Elements of Structure:
Some kind of governance
Rules by which the organization operates
A distribution of work
13 HEALTH AND SAFETY:
Responsibility for safety must be clearly defined at all levels. Some points
that will need to be considered include:
➢ Top management must be committed to the safety policy
➢ The delegation of responsibilities for safety must be clear
➢ Those to whom responsibilities are delegated must understand the
responsibilities and agree to them
➢ Deployment of a safety officer and the support of experts in particular
technical areas
➢ Consultation on safety
➢ An adequate budgeting for safety costs
Unit 8: Software quality assurance and testing
Objectives and principles of software testing
Software Testing Definition -:
Software testing is a process of evaluation of functional and nonfunctional items to
identify difference between expected and actual result.
Software testing is a process of executing a source code or application with intent
to identifying and eliminating bugs from the source code or application.
According to IEEE “Software testing is a process of evaluating the system or
system component by manual or automated means to verify that it satisfy specified
user requirement or to identify difference between expected and actual result.”
According to Myers “Software testing is a process of executing a program or
system with the intent of finding errors.”
Objectives of software testing -:
– Ensures the quality of product
– Defect prevention and detection
– Verify and validate the user requirement
– Ready to integration and revise the component
– Focus on accurate and reliable result
– Work should be performed under predefined process and SRS
– Discuss on generating test cases test cases
– Provide information to take decision for next phase
– Gain confidence of work
– Evaluates the capabilities of a system and system performance
Principles of software testing -:
– It is ongoing process to achieve quality product
– Defect discovered, Analysis and correct
– Trying to meet user satisfaction
– Ensure product and system application
– Evaluation of user requirement
– Covers all test coverage
– Process for early testing to discover defect
Test Plan
A Test Plan is a detailed document that describes the test strategy, objectives,
schedule, estimation, deliverables, and resources required to perform testing for a
software product. Test Plan helps us determine the effort needed to validate the
quality of the application under test. The test plan serves as a blueprint to conduct
software testing activities as a defined process, which is minutely monitored and
controlled by the test manager.
What is the Importance of Test Plan?
•
•
•
Help people outside the test team such as developers, business managers,
customers understand the details of testing.
Test Plan guides our thinking. It is like a rule book, which needs to be
followed.
Important aspects like test estimation, test scope, Test
Strategy are documented in Test Plan, so it can be reviewed by
Management Team and re-used for other projects.
How to write a Test Plan
You already know that making a Test Plan is the most important task of Test
Management Process. Follow the seven steps below to create a test plan as per
IEEE 829
1.
2.
3.
4.
5.
6.
7.
8.
Analyze the product
Design the Test Strategy
Define the Test Objectives
Define Test Criteria
Resource Planning
Plan Test Environment
Schedule & Estimation
Determine Test Deliverables
Levels of Testing
There are mainly four Levels of Testing in software testing :
1. Unit Testing : checks if software components are fulfilling functionalities or
not.
2. Integration Testing : checks the data flow from one module to other
modules.
3. System Testing : evaluates both functional and non-functional needs for the
testing.
4. Acceptance Testing : checks the requirements of a specification or contract
are met as per its delivery.
Each of these testing levels has a specific purpose. These testing level provide
value to the software development lifecycle.
1) Unit testing:
A Unit is a smallest testable portion of system or application which can be
compiled, liked, loaded, and executed. This kind of testing helps to test each
module separately.
The aim is to test each part of the software by separating it. It checks that
component are fulfilling functionalities or not. This kind of testing is performed by
developers.
2) Integration testing:
Integration means combining. For Example, In this testing phase, different
software modules are combined and tested as a group to make sure that integrated
system is ready for system testing.
Integrating testing checks the data flow from one module to other modules. This
kind of testing is performed by testers.
3) System testing:
System testing is performed on a complete, integrated system. It allows checking
system's compliance as per the requirements. It tests the overall interaction of
components. It involves load, performance, reliability and security testing.
System testing most often the final test to verify that the system meets the
specification. It evaluates both functional and non-functional need for the testing.
4) Acceptance testing:
Acceptance testing is a test conducted to find if the requirements of a specification
or contract are met as per its delivery. Acceptance testing is basically done by the
user or customer. However, other stockholders can be involved in this process.
Other Types of Testing:
Regression Testing
Whenever a change in a software application is made, it is quite possible that other
areas within the application have been affected by this change. Regression testing
is performed to verify that a fixed bug hasn't resulted in another functionality or
business rule violation. The intent of regression testing is to ensure that a change,
such as a bug fix should not result in another fault being uncovered in the
application.
Alpha Testing
This test is the first stage of testing and will be performed amongst the teams
(developer and QA teams). Unit testing, integration testing and system testing when
combined together is known as alpha testing. During this phase, the following
aspects will be tested in the application −
•
Spelling Mistakes
•
Broken Links
•
Cloudy Directions
Beta Testing
This test is performed after alpha testing has been successfully performed. In beta
testing, a sample of the intended audience tests the application. Beta testing is also
known as pre-release testing. Beta test versions of software are ideally distributed
to a wide audience on the Web, partly to give the program a "real-world" test and
partly to provide a preview of the next release.
Test Strategy
A Test Strategy is a plan for defining an approach to the Software Testing Life
Cycle (STLC). It guides QA teams to define Test Coverage and testing scope. It
helps testers get a clear picture of the project at any instance. The possibility of
missing any test activity is very low when there is a proper test strategy in place.
What is Test Strategy Document?
Test Strategy Document is a well-described document in software testing which
clearly defines the exact software testing approach and testing objectives of the
software application. Test document is an important document for QA teams which
is derived from actual business requirements that guides the whole team about
software testing approach and objectives for each activity in the software testing
process.
How to prepare a good test strategy document
Every organization has their unique priority and set of rules for software designing,
so do not copy any organization blindly. Always ensure that their document is
compatible and adds value to your software development before following the
template.
Test Strategy in STLC:
Step#1: Scope
It defines parameters like
•
•
•
Who will review the document?
Who will approve this document?
Software Testing activities carried out with timelines
Step#2 Test Approach
It defines
•
•
•
•
•
Process of testing
Testing levels
Roles and responsibilities of each team member
Types of Testing ( Load testing, Security testing, Performace testing etc.)
Testing approach & automation tool if applicable
•
Adding new defects, re-testing, Defect triage, Regression Testing and test
sign off
Step#3 Test Environment
•
•
Define the number of requirement and setup required for each environment
Define backup of test data and restore strategy
Step#4 Testing Tools
•
•
Automation and Test management tools needed for test execution
Figure out a number of open-source as well as commercial tools required,
and determine how many users are supported on it and plan accordingly
Step#5 Release Control
•
Release management plan with appropriate version history that will make
sure test execution for all modification in that release
Step#6 Risk Analysis
•
•
List all risks that you can estimate
Give a clear plan to mitigate the risks also a contingency plan
Step#7 Review and Approvals
•
•
All these activities are reviewed and signed off by the business team, project
management, development team, etc.
Summary of review changes should be traced at the beginning of the
document along with an approved date, name, and comment
Difference Between Test Strategy and Test Plan
Test Plan
Test Strategy
•
A test plan for software project
can be defined as a document that
defines the scope, objective,
approach and emphasis on a
software testing effort
•
Test strategy is a set of
guidelines that explains test
design and determines how
testing needs to be done
•
Components of Test plan includeTest plan id, features to be tested,
test techniques, testing tasks,
features pass or fail criteria, test
deliverables, responsibilities, and
schedule, etc.
•
Components of Test strategy
includes- objectives and scope,
documentation formats, test
processes, team reporting
structure, client communication
strategy, etc.
•
Test plan is carried out by a
testing manager or lead that
describes how to test, when to
test, who will test and what to test
•
A test strategy is carried out by
the project manager. It says
what type of technique to
follow and which module to
test
•
Test plan narrates about the
specification
•
Test strategy narrates about the
general approaches
•
Test plan can change
•
Test strategy cannot be changed
•
Test planning is done to
determine possible issues and
dependencies in order to identify
the risks.
•
It is a long-term plan of action.
You can abstract information
that is not project specific and
put it into test approach
•
A test plan exists individually
•
In smaller project, test strategy
is often found as a section of a
test plan
•
It is defined at project level
•
It is set at organization level
and can be used by multiple
projects
Software Quality
Software quality product is defined in term of its fitness of purpose. That is, a
quality product does precisely what the users want it to do. For software products,
the fitness of use is generally explained in terms of satisfaction of the requirements
laid down in the SRS document. Although "fitness of purpose" is a satisfactory
interpretation of quality for many devices such as a car, a table fan, a grinding
machine, etc.for software products, "fitness of purpose" is not a wholly satisfactory
definition of quality.
Example: Consider a functionally correct software product. That is, it performs all
tasks as specified in the SRS document. But, has an almost unusable user interface.
Even though it may be functionally right, we cannot consider it to be a quality
product.
The modern view of a quality associated with a software product several
quality methods such as the following:
Portability: A software device is said to be portable, if it can be freely made to
work in various operating system environments, in multiple machines, with other
software products, etc.
Usability: A software product has better usability if various categories of users can
easily invoke the functions of the product.
Reusability: A software product has excellent reusability if different modules of
the product can quickly be reused to develop new products.
Correctness: A software product is correct if various requirements as specified in
the SRS document have been correctly implemented.
Maintainability: A software product is maintainable if bugs can be easily
corrected as and when they show up, new tasks can be easily added to the product,
and the functionalities of the product can be easily modified, etc.
Software Engineering Institute Capability Maturity Model (SEICMM)
The Capability Maturity Model (CMM) is a procedure used to develop and refine
an organization's software development process.
The model defines a five-level evolutionary stage of increasingly organized and
consistently more mature processes.
CMM was developed and is promoted by the Software Engineering Institute (SEI),
a research and development center promote by the U.S. Department of Defense
(DOD).
Capability Maturity Model is used as a benchmark to measure the maturity of an
organization's software process.
LEVELS OF SEICMM:
Level 1: Initial
Ad hoc activities characterize a software development organization at this level.
Very few or no processes are described and followed. Since software production
processes are not limited, different engineers follow their process and as a result,
development efforts become chaotic. Therefore, it is also called a chaotic level.
Level 2: Repeatable
At this level, the fundamental project management practices like tracking cost and
schedule are established. Size and cost estimation methods, like function point
analysis, COCOMO, etc. are used.
Level 3: Defined
At this level, the methods for both management and development activities are
defined and documented. There is a common organization-wide understanding of
operations, roles, and responsibilities. The ways through defined, the process and
product qualities are not measured. ISO 9000 goals at achieving this level.
Level 4: Managed
At this level, the focus is on software metrics. Two kinds of metrics are composed.
Product metrics measure the features of the product being developed, such as its
size, reliability, time complexity, understandability, etc.
Process metrics follow the effectiveness of the process being used, such as
average defect correction time, productivity, the average number of defects found
per hour inspection, the average number of failures detected during testing per
LOC, etc. The software process and product quality are measured, and quantitative
quality requirements for the product are met. Various tools like Pareto charts,
fishbone diagrams, etc. are used to measure the product and process quality. The
process metrics are used to analyze if a project performed satisfactorily. Thus, the
outcome of process measurements is used to calculate project performance rather
than improve the process.
Level 5: Optimizing
At this phase, process and product metrics are collected. Process and product
measurement data are evaluated for continuous process improvement.
Software Engineering | Software Quality Assurance(SQA)
Software Quality Assurance (SQA) is simply a way to assure quality in the
software. It is the set of activities which ensure processes, procedures as well as
standards suitable for the project and implemented correctly.
Software Quality Assurance is a process which works parallel to development of a
software. It focuses on improving the process of development of software so that
problems can be prevented before they become a major issue. Software Quality
Assurance is a kind of an Umbrella activity that is applied throughout the software
process.
Software Quality Assurance have:
1. A quality management approach
2. Formal technical reviews
3. Multi testing strategy
4. Effective software engineering technology
5. Measurement and reporting mechanism
Major Software Quality Assurance Activities:
1. SQA Management Plan:
Make a plan how you will carry out the sqa through out the project.
Think which set of software engineering activities are the best for
project.check level of sqa team skills.
2. Set The Check Points:
SQA team should set checkpoints. Evaluate the performance of the
project on the basis of collected data on different check points.
3. Multi testing Strategy:
Do not depend on single testing approach. When you have lot of testing
approaches available use them.
4. Measure Change Impact:
The changes for making the correction of an error sometimes re
introduces more errors keep the measure of impact of change on project.
Reset the new change to change check the compatibility of this fix with
whole project.
5. Manage Good Relations:
In the working environment managing the good relation with other teams
involved in the project development is mandatory. Bad relation of sqa
team with programmers team will impact directly and badly on project.
Don’t play politics.
Benefits of Software Quality Assurance (SQA):
1.
2.
3.
4.
5.
6.
7.
SQA produce high quality software.
High quality application saves time and cost.
SQA is beneficial for better reliability.
SQA is beneficial in the condition of no maintenance for long time.
High quality commercial software increase market share of company.
Improving the process of creating software.
Improves the quality of the software.
QA organization structure
Quality assurance principles require an organizational structure that links
responsibility for quality directly to the executive level of the company. Large
organizations fulfill this requirement by appointing a quality assurance manager
who reports to the CEO. The organizational structure also has to provide the QA
manager with direct organizational paths into every department. Small businesses
can meet these requirements by assigning the QA responsibilities to someone in
management, giving him the authority to manage QA matters throughout the
company and creating a QA reporting path to the executive level. Employees
continue to report to their department manager for disciplinary and non-QA
matters, but report to the person responsible for QA on quality questions.
Design
Quality assurance principles require the verification of all design work. In small
businesses, designers can check their own work, but they have to do it as a
separate process. On an organizational level, this means that the design
department doesn't need a special quality function. All designers are responsible
for the quality of their own work, under the supervision of the manager
responsible for quality. They sign drawings and design documentation as designer
and then check their work, initialing it when verified. They also keep track of
revisions. The manager in charge of quality can use his organizational access to
perform spot checks.
Sales and Marketing
Quality in sales and marketing means that sales and marketing material matches
the documented characteristics of the company's products and services. Typically,
sales personnel and marketing managers are responsible for the quality of the
materials they create. The manager in charge of quality can use his organizational
access to periodically review sales and marketing material. If he finds
discrepancies, he may try to resolve them directly with the person responsible
through his direct supervisory path in the organization. If he is not satisfied with
the results, he can use his organizational access to the executive level to report
the problem and suggest solutions.
Production
Production is a key company department for quality and normally requires its
own quality function. Quality in a product means that the product corresponds
with the needs and expectations of the customer. The two aspects of production
quality are the specification of the product and its production according to the
specification.
The responsibility for verifying that the specification matches customer needs and
expectations usually rests with the manager responsible for quality. He makes
sure production has the appropriate documentation. Within the production
department's organization, responsibility for quality lies with testing. The
production department assigns responsibility for quality to a member of the
testing group who then reports to the manager in charge of quality on quality
issues. The manager can use his organizational direct access to production to
identify and solve problems or report them to the executive level of the company.
Human Resources
In human resources, quality means that job descriptions are clear, the required
education and training is specified for each position and the personnel files
include proof of the required education and training for each employee. The
responsibility for quality lies with the department manager. The manager
responsible for quality works with the department manager through the
organizational link, giving him direct access to the department. Together, they
verify that employee files satisfy quality requirements.
Software Quality Assurance Plan
Abbreviated as SQAP, the software quality assurance plan comprises of the
procedures, techniques, and tools that are employed to make sure that a product or
service aligns with the requirements defined in the SRS(software requirement
specification).
The plan identifies the SQA responsibilities of a team, lists the areas that need to
be reviewed and audited. It also identifies the SQA work products.
The SQA plan document consists of the below sections:
1. Purpose section
2. Reference section
3. Software configuration management section
4. Problem reporting and corrective action section
5. Tools, technologies and methodologies section
6. Code control section
7. Records: Collection, maintenance and retention section
8. Testing methodology
Unit 9: Software Configuration Management
What is Software Configuration Management?
In Software Engineering, Software Configuration Management (SCM) is a
process to systematically manage, organize, and control the changes in the
documents, codes, and other entities during the Software Development Life Cycle.
The primary goal is to increase productivity with minimal mistakes. SCM is part of
cross-disciplinary field of configuration management and it can accurately
determine who made which revision.
Why do we need Configuration management?
The primary reasons for Implementing Technical Software Configuration
Management System:
•
•
•
•
•
•
There are multiple people working on software which is continually
updating
It may be a case where multiple version, branches, authors are involved in a
software config project, and the team is geographically distributed and
works concurrently
Changes in user requirement, policy, budget, schedule need to be
accommodated.
Software should able to run on various machines and Operating Systems
Helps to develop coordination among stakeholders
SCM process is also beneficial to control the costs involved in making
changes to a system
Tasks in SCM process
•
•
•
•
•
Configuration Identification
Baselines
Change Control
Configuration Status Accounting
Configuration Audits and Reviews
Configuration Identification:
Configuration identification is a method of determining the scope of the software
system. With the help of this step, you can manage or control something even if
you don't know what it is. It is a description that contains the CSCI type (Computer
Software Configuration Item), a project identifier and version information.
Activities during this process:
•
•
•
•
•
Identification of configuration Items like source code modules, test case, and
requirements specification.
Identification of each CSCI in the SCM repository, by using an objectoriented approach
The process starts with basic objects which are grouped into aggregate
objects. Details of what, why, when and by whom changes in the test are
made
Every object has its own features that identify its name that is explicit to all
other objects
List of resources required such as the document, the file, tools, etc.
Example:
Instead of naming a File login.php its should be named login_v1.2.php where v1.2
stands for the version number of the file
Instead of naming folder "Code" it should be named "Code_D" where D represents
code should be backed up daily.
Baseline:
A baseline is a formally accepted version of a software configuration item. It is
designated and fixed at a specific time while conducting the SCM process. It can
only be changed through formal change control procedures.
Activities during this process:
•
•
•
•
Facilitate construction of various versions of an application
Defining and determining mechanisms for managing various versions of
these work products
The functional baseline corresponds to the reviewed system requirements
Widely used baselines include functional, developmental, and product
baselines
In simple words, baseline means ready for release.
Change Control:
Change control is a procedural method which ensures quality and consistency
when changes are made in the configuration object. In this step, the change request
is submitted to software configuration manager.
Activities during this process:
•
•
•
Control ad-hoc change to build stable software development environment.
Changes are committed to the repository
The request will be checked based on the technical merit, possible side
effects and overall impact on other configuration objects.
It manages changes and making configuration items available during the
software lifecycle
Configuration Status Accounting:
Configuration status accounting tracks each release during the SCM process. This
stage involves tracking what each version has and the changes that lead to this
version.
Activities during this process:
•
•
•
•
•
•
Keeps a record of all the changes made to the previous baseline to reach a
new baseline
Identify all items to define the software configuration
Monitor status of change requests
Complete listing of all changes since the last baseline
Allows tracking of progress to next baseline
Allows to check previous releases/versions to be extracted for testing
Configuration Manager
Responsible for the execution of the Process (directly perform or delegate
responsibilities). Includes operating the defined and agreed process, ensuring it
interfaces with all other relevant processes, reviewing the effectiveness and
efficiency of the process, performing process audits and managing the process
improvement cycle.
Responsibilities
•
•
•
•
•
•
•
•
•
•
•
Responsible for the deployment of the process. Evaluates performance
metrics against the defined critical success factors and institutes actions to
correct shortcomings or further streamline the process as necessary
Responsible for the execution of the process controls, ensuring that staff
comply with process and data standards
Interfaces with other processes and/or business functions to ensure they are
able to leverage the benefits provided by the Configuration Management
process
Directs, prioritizes and schedules audits; ensures that any corrective action
identified in Process and/or Database audits are carried out
Directs and schedules the training of new CI owners and CI coordinators
Manages the evaluation of Configuration Management tools and recommend
those that best meet the organization's requirements
Ensures regular housekeeping of the Configuration Management System
data
Ensures appropriate security and access levels to the Configuration
Management System
Plans and manages a population of the Configuration Management System,
including discovery and other data import methods
Produces reports and Management information, including impact analysis
reports and Configuration status reports
Identifies opportunities and submits proposals for improvement with respect
to tools, staff, training, process, procedures and work instructions
Participant of SCM process:
Following are the key participants in SCM
1. Configuration Manager
•
•
•
Configuration Manager is the head who is Responsible for identifying
configuration items.
CM ensures team follows the SCM process
He/She needs to approve or reject change requests
2. Developer
•
•
The developer needs to change the code as per standard development
activities or change requests. He is responsible for maintaining configuration
of code.
The developer should check the changes and resolves conflicts
3. Auditor
•
•
The auditor is responsible for SCM audits and reviews.
Need to ensure the consistency and completeness of release.
4. Project Manager:
•
Ensure that the product is developed within a certain time frame
•
•
•
Monitors the progress of development and recognizes issues in the SCM
process
Generate reports about the status of the software system
Make sure that processes and policies are followed for creating, changing,
and testing
5. User
The end user should understand the key SCM terms to ensure he has the latest
version of the software
Download