Professional Documents
Culture Documents
Q1
10 Types of Software
Development — Explained
There are many different types of software development.
Often, the various kinds of developers work together to
bring your project to fruition.
1. Frontend Development
Frontend developers work on the part of the product with which the
user interacts. They are primarily concerned with the user interface
(UI). For example, they might create the layout, visual aspects, and
interactive elements of a website or app. However, their role isn’t
identical to that of a UI or user experience (UX) designer. They also fix
bugs and make certain that the UI can run on different browsers.
2. Backend Development
In contrast, a backend developer works with the part of the product
users can’t see — the back end. This professional builds the
infrastructure that powers the website, app, or program, focusing on
functionality, integration of systems, and core logic. They will also deal
with the complex, underlying structure, ensuring strong performance,
scalability, and security.
3. Full-Stack Development
A full-stack developer works on all aspects of the product, including
both the front and back ends. To be a successful full-stack developer,
you must have strong programming skills, as well as a variety of soft
skills that all tech professionals must have, such as problem-solving
and critical thinking. At the end of the day, you — and perhaps your
team — are responsible for creating a full, complete product.
4. Desktop Development
Desktop developers exclusively create applications that run on a
desktop operating system, such as Windows, Mac, or Linux. This is
opposed to developers that create applications that run on mobile,
tablet, or other devices.
5. Web Development
Web development is the process of building web applications. People
use these apps through an internet browser on a multitude of devices.
This is different from a mobile app, which runs on a phone or tablet
and doesn’t necessarily require an internet connection to run.
6. Database Development
Not to be confused with a database administrator, who typically works
with daily database upkeep and troubleshooting and implements the
system, a database developer is responsible for building the database,
modifying and designing existing or new programs, and ensuring that
they satisfy the requirements of the users. Sometimes, the roles of
database administrator and developer do overlap — this depends on
the needs of the client or employer.
7. Mobile Development
As is probably obvious from the name, a mobile developer builds
applications that run natively on mobile devices, including
smartphones, tablets, and some types of smartwatches. Usually, these
professionals will specialize in either iOS or Android development but
not both.
8. Cloud Computing
Cloud computing encompasses services, programs, and applications
that run over the cloud. That means they can be accessed remotely
from practically any location, provided the user has an internet
connection and an appropriate login. They offer plenty of advantages,
including scalability.
Some developers specialize in cloud computing — that is, the creation
of cloud platforms. They will build cloud applications and facilitate
cloud deployment and migration, as well as manage cloud services and
provide maintenance to users.
9. DevOps Engineering
DevOps is a set of practices and philosophies that are focused on the
quick, efficient, and customer-centric delivery of software. Related to
Agile, this style has been widely adopted by software developers and
teams around the world.
DevOps engineers work with teams that practice the principles. They
participate not only in the development of the product at hand but also
in quality assurance (QA) testing and eventual deployment. They must
possess a wide range of skills, such as programming, integration,
scripting, QA testing, and more. They also need to blend theory and
practice to support and work with the rest of the team, which may
include software developers and QA professionals.
Benefits of hierarchical team organization :
It limits the number of communication paths and stills allows for the needed
communication.
It can be expanded over multiple levels.
It is well suited for the development of the hierarchical software products.
Large software projects may have several levels.
Limitations of hierarchical team organization :
As information has to be travel up the levels, it may get distorted.
Levels in the hierarchy often judges people socially and financially.
Most technical competent programmers tend to be promoted to the
management positions which may result in loss of good programmer and also
bad manager.
Chief-programmer team organization :
This team organization is composed of a small team consisting the following team
members :
The Chief programmer : It is the person who is actively involved in the
planning, specification and design process and ideally in the implementation
process as well.
The project assistant : It is the closest technical co-worker of the chief
programmer.
The project secretary : It relieves the chief programmer and all other
programmers of administration tools.
Specialists : These people select the implementation language, implement
individual system components and employ software tools and carry out tasks.
Advantages of Chief-programmer team organization :
Centralized decision-making
Reduced communication paths
Small teams are more productive than large teams
The chief programmer is directly involved in system development and can
exercise the better control function.
Disadvantages of Chief-programmer team organization :
Project survival depends on one person only.
Can cause the psychological problems as the “chief programmer” is like the
“king” who takes all the credit and other members are resentful.
Team organization is limited to only small team and small team cannot handle
every project.
Effectiveness of team is very sensitive to Chief programmer’s technical and
managerial activities.
Matrix Team Organization :
In matrix team organization, people are divided into specialist groups. Each group has a
manager. Example of Metric team organization is as follows :
Egoless Team Organization :
Egoless programming is a state of mind in which programmer are supposed to separate
themselves from their product. In this team organization goals are set and decisions are
made by group consensus. Here group, ‘leadership’ rotates based on tasks to be
performed and differing abilities of members.
In this organization work products are discussed openly and all freely examined all team
members. There is a major risk which such organization, if teams are composed of
inexperienced or incompetent members.
Democratic Team Organization :
It is quite similar to the egoless team organization, but one member is the team leader
with some responsibilities :
Coordination
Final decisions, when consensus cannot be reached.
Advantages of Democratic Team Organization :
Each member can contribute to decisions.
Members can learn from each other.
Improved job satisfaction.
Disadvantages of Democratic Team Organization :
Communication overhead increased.
Need for compatibility of members.
Less individual responsibility and authority.
Q3
Q4
This model divides the life cycle of a software development process into the phases as
shown in the figure.
Reasons for failure waterfall model:
The traditional waterfall model suffers from various shortcomings, basically we can’t use
it in real projects, but we use other software development lifecycle models which are
based on the classical waterfall model.
There are some reasons which are given below due to this waterfall model fails.
1. One way street:
This model is just like the one-way street. Once phase X is completed and next
phase Y has started then there is no way to going back on the previous phase.
This is one of the issues to the failure of the waterfall model.
2. Overlapping:
The waterfall model has lacked an overlapping among phase.The waterfall
model recommends that new phase can start only after the completion of the
previous phase. But in real projects, this can’t be maintained. To increase the
efficiency and reduce the cost, phases may overlap.
3. Interaction:
The waterfall model has lacked interaction among phase. Users have little
interaction with project them. This feedback is not taken during development.
After a development process starts, changes can not accommodate easily.
4. Support delivery of system:
The waterfall model does not support delivery of system in pieces. After a
development process starts, changes cannot accommodate easily.
5. Feedback path:
The waterfall model has no feedback path. In the traditional waterfall model
evolution of software from one phase to another phase is like a waterfall. The
waterfall model assumes that no error is ever committed by developers during
any phases. Hence, it does not incorporate any mechanism for error correction.
6. Not Flexible:
Difficult to accommodate change requests. The waterfall model assumes that
all the customer requirements can be completely and correctly defined at the
beginning of the project, but actually customers’ requirements keep on
changing with time. After the requirements specification phase is completed
difficult to accommodate any change requests.
Spiral Model
The below diagram shows the different phases of the Spiral Model: –
Each phase of the Spiral Model is divided into four quadrants as shown in the above
figure. The functions of these four quadrants are discussed below-
1. Objectives determination and identify alternative solutions: Requirements
are gathered from the customers and the objectives are identified, elaborated,
and analyzed at the start of every phase. Then alternative solutions possible for
the phase are proposed in this quadrant.
2. Identify and resolve Risks: During the second quadrant, all the possible
solutions are evaluated to select the best possible solution. Then the risks
associated with that solution are identified and the risks are resolved using the
best possible strategy. At the end of this quadrant, the Prototype is built for the
best possible solution.
3. Develop next version of the Product: During the third quadrant, the identified
features are developed and verified through testing. At the end of the third
quadrant, the next version of the software is available.
4. Review and plan for the next Phase: In the fourth quadrant, the Customers
evaluate the so far developed version of the software. In the end, planning for
the next phase is started.
Risk Handling in Spiral Model
A risk is any adverse situation that might affect the successful completion of a software
project. The most important feature of the spiral model is handling these unknown risks
after the project has started. Such risk resolutions are easier done by developing a
prototype. The spiral model supports coping up with risks by providing the scope to build
a prototype at every phase of the software development.
The Prototyping Model also supports risk handling, but the risks must be identified
completely before the start of the development work of the project. But in real life project
risk may occur after the development work starts, in that case, we cannot use the
Prototyping Model. In each phase of the Spiral Model, the features of the product dated
and analyzed, and the risks at that point in time are identified and are resolved through
prototyping. Thus, this model is much more flexible compared to other SDLC models.
Why Spiral Model is called Meta Model?
The Spiral model is called a Meta-Model because it subsumes all the other SDLC
models. For example, a single loop spiral actually represents the Iterative Waterfall
Model. The spiral model incorporates the stepwise approach of the Classical Waterfall
Model. The spiral model uses the approach of the Prototyping Model by building a
prototype at the start of each phase as a risk-handling technique. Also, the spiral model
can be considered as supporting the Evolutionary model – the iterations along the spiral
can be considered as evolutionary levels through which the complete system is built.
Advantages of Spiral Model:
Below are some advantages of the Spiral Model.
1. Risk Handling: The projects with many unknown risks that occur as the
development proceeds, in that case, Spiral Model is the best development
model to follow due to the risk analysis and risk handling at every phase.
2. Good for large projects: It is recommended to use the Spiral Model in large
and complex projects.
3. Flexibility in Requirements: Change requests in the Requirements at later
phase can be incorporated accurately by using this model.
4. Customer Satisfaction: Customer can see the development of the product at
the early phase of the software development and thus, they habituated with the
system by using it before completion of the total product.
Disadvantages of Spiral Model:
Below are some main disadvantages of the spiral model.
1. Complex: The Spiral Model is much more complex than other SDLC models.
2. Expensive: Spiral Model is not suitable for small projects as it is expensive.
3. Too much dependability on Risk Analysis: The successful completion of the
project is very much dependent on Risk Analysis. Without very highly
experienced experts, it is going to be a failure to develop a project using this
model.
4. Difficulty in time management: As the number of phases is unknown at the
start of the project, so time estimation is very difficult.
Q5
A 6 –
B 4 –
C 3 A
D 4 B
E 3 B
F 10 –
G 3 E, F
H 2 C, D
Forward Pass:
The forward pass is carried out to calculate the earliest dates on which each activity may
be started and completed.
1. Activity A may start immediately. Hence, earliest date for its start is zero i.e.
ES(A) = 0. It takes 6 weeks to complete its execution. Hence, earliest it can
finish is week 6 i.e. EF(A) = 6.
2. Activity B may start immediately. Hence, earliest date for its start is zero i.e.
ES(B) = 0. It takes 4 weeks to complete its execution. Hence, earliest it can
finish is week 4 i.e. EF(B) = 4.
3. Activity F may start immediately. Hence, earliest date for its start is zero i.e.
ES(F) = 0. It takes 10 weeks to complete its execution. Hence, earliest it can
finish is week 10 i.e. EF(F) = 10.
4. Activity C starts as soon as activity A completes its execution. Hence, earliest
week it can start its execution is week 6 i.e. ES(C) = 6. It takes 3 weeks to
complete its execution. Hence, earliest it can finish is week 9 i.e. EF(C) = 9.
5. Activity D starts as soon as activity B completes its execution. Hence, earliest
week it can start its execution is week 4 i.e. ES(D) = 4. It takes 4 weeks to
complete its execution. Hence, earliest it can finish is week 8 i.e. EF(D) = 8.
6. Activity E starts as soon as activity B completes its execution. Hence, earliest
week it can start its execution is week 4 i.e. ES(E) = 4. It takes 3 weeks to
complete its execution. Hence, earliest it can finish is week 7 i.e. EF(E) = 7.
7. Activity G starts as soon as activity E and activity F completes their execution.
Since, activity requires the completion of both for starting its execution, we
would consider the MAX(ES(E), ES(F)). Hence, earliest week it can start its
execution is week 10 i.e. ES(G) = 10. It takes 3 weeks to complete its
execution. Hence, earliest it can finish is week 13 i.e. EF(G) = 13.
8. Activity H starts as soon as activity C and activity D completes their execution.
Since, activity requires the completion of both for starting its execution, we
would consider the MAX(ES(C), ES(D)). Hence, earliest week it can start its
execution is week 9 i.e. ES(H) = 9. It takes 2 weeks to complete its execution.
Hence, earliest it can finish is week 11 i.e. EF(H) = 11.
Backward Pass:
The backward pass is carried out to calculate the latest dates on which each activity may
be started and finished without delaying the end date of the project.
Assumption: Latest finish date = Earliest Finish date (of project).
1. Activity G’s latest finish date is equal to the earliest finish date of the
precedent activity of finish according to the assumption i.e. LF(G) = 13. It
takes 3 weeks to complete its execution. Hence, latest it can start is week 10
i.e. LS(G) = 10.
2. Activity H’s latest finish date is equal to the earliest finish date of the
precedent activity of finish according to the assumption i.e. LF(H) = 13. It
takes 2 weeks to complete its execution. Hence, latest it can start is week 11
i.e. LS(H) = 11.
3. The latest end date for activity C would be the latest start date of H i.e. LF(C)
= 11. It takes 3 weeks to complete its execution. Hence, latest it can start is
week 8 i.e. LS(C) = 8.
4. The latest end date for activity D would be the latest start date of H i.e. LF(D)
= 11. It takes 4 weeks to complete its execution. Hence, latest it can start is
week 7 i.e. LS(D) = 7.
5. The latest end date for activity E would be the latest start date of G i.e. LF(G)
= 10. It takes 3 weeks to complete its execution. Hence, latest it can start is
week 7 i.e. LS(E) = 7.
6. The latest end date for activity F would be the latest start date of G i.e. LF(G) =
10. It takes 10 weeks to complete its execution. Hence, latest it can start is
week 0 i.e. LS(F) = 0.
7. The latest end date for activity A would be the latest start date of C i.e. LF(A)
= 8. It takes 6 weeks to complete its execution. Hence, latest it can start is
week 2 i.e. LS(A) = 2.
8. The latest end date for activity B would be the earliest of the latest start date of
D and E i.e. LF(B) = 7. It takes 4 weeks to complete its execution. Hence,
latest it can start is week 3 i.e. LS(B) = 3.
There are many constraints of the software projects but the main and fundamental
constraints includes: Time, Cost and Quality. Any one of the two factors can severely
affect the third one. Therefore, Software Project Management is essential to develop
software projects within time and the specified budget and that too of good quality.
Software Project Manager:
Software Project Manager is generally never directly involved in producing the end
product but he controls and manages the activities involved in the production. He is
aware of all the phases of Software Development Life Cycle that the software would go
through.
Responsibilities of software project manager:
1. Managing people:
Acts as a project leader
Communication with stakeholders
Manages human resources
2. Managing project:
Monitors progress and performance
Risk analysis at every phase
Manages time and budget constraint
Categorizing Software Projects:
1. Compulsory Vs Voluntary systems (projects):
Compulsory systems are the systems which the staff of an
organisation have to use if they want to do a task.
Voluntary systems are the systems which are voluntarily used by the
users eg. computer gaming, school project, etc.
2. Information Vs Embedded systems (projects):
Information systems are used by staff to carry out office processes
and tasks eg. stock control system.
Embedded systems are used to control machines eg. a system
controlling equipment in a building.
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.
Q2
(a) Contract
There is something truly satisfying about finding the perfect software solution that
meets every need of your company.
Once you’ve done your due diligence and made the effort to assess your requirements,
evaluate all of your software options, and check the reviews on G2, it’s time to make
a decision. Take advantage of the fact that G2 can connect you directly with that
software provider.
After you've seen some demos, discussed your specific needs, and calculated how
much you want to spend and for how long, you're ready to move to the software
contract.
Right to Use: Subject to the terms and conditions of this Agreement, the Provider
grants to Customer a worldwide, limited, non-exclusive, non-transferable right, and
license during the Term, to use the Software.
Usage Restrictions: The Customer may not license, sub-license, sell, re-sell, rent,
lease, transfer, distribute, timeshare, or otherwise make any portion of the Software
available to any third parties not authorized by this Agreement.
2. Ownership
The ownership portion of the contract is going to explain that the software company is
the owner of the software. As a buyer, the contract is granting you limited rights to
use the software but does not grant you any rights to own any of the underlying
technology or intellectual property.
"The most important thing I look for when reviewing a software contract is who owns
what.
Sarah Mattina
If you are uploading or storing any of your (or your company's) information, data, or
content into the software, you should make sure that the contract clearly states that
you, the buyer, are the owner of that information.
Ownership of Software: The Software and all copies thereof will at all times remain
the sole and exclusive property of the Provider, and the Customer shall obtain no title
to the Software.
Proprietary Rights: Provider owns all rights, title, and interest in and to the
Software. All data, information, files, or other materials and content that Customer
makes available to Provider for the purpose of utilizing the Software shall remain the
sole property of Customer.
With software contracts, the "term" provides some guidance for when and how a
contract will end, referred to as "termination".
Term: This Agreement is effective for 12 months after the date of the last signature.
This Agreement will automatically renew for an additional 12-month term unless one
party gives at least 30 days prior written notice of termination.
Termination: A party may terminate this Agreement for cause (i) upon 30 days
written notice to the other party of a material breach if such breach remains uncured at
the expiration of such period, or (ii) if the other party becomes the subject of a petition
in bankruptcy or any other proceeding relating to insolvency, receivership,
liquidation, or assignment for the benefit of creditors."
4. Fees and payment
This portion of the software contract will detail the price in dollars – or other currency
– of your purchase, and will typically be located on the order form in addition to the
payment terms. As an example, your contract may include details regarding a
predetermined “late fee” if you’re late on making payments.
This portion can also state that the software provider can suspend your access to the
software if payment conditions aren’t met.
Fees: The Customer will pay all fees specified in the Order Form. Fees invoiced and
paid are non-cancelable and non-refundable. If any invoiced amount is not received
by the Provider by the due date, those charges may accrue late interest at the rate of
1.5% of the outstanding balance per month, or the maximum rate permitted by law,
whichever is higher. If any fee owed by the Customer under this Agreement for
Software is 30 days or more overdue, the Provider may suspend your use of Software
until such overdue amounts are paid in full.
5. Indemnification
Indemnification can be one of the most confusing parts of any contract, not just a
software contract. It may be easier to understand the concept by using an example.
Indemnity provisions are used to determine who will pay for claims brought by third
parties against one party when the issue underlying the third party claim is actually the
responsibility of the other party.
Indemnification: The Provider will indemnify, protect, defend, and hold harmless the
Customer from and against any and all claims arising out of, involving, or in
connection with any negligent act or omission of the Provider.
At the end of the day, negotiating a contract for a SaaS application is all about
minimizing your risk, whether it is in terms of performance protection, security
protection, or simply making sure that both parties are in complete agreement with
what to expect from the other.
While it's good to know where to look for usage rights and restrictions and what
indemnification rights you may have or owe, at the end of the day, you need to be
prepared to negotiate those pesky commercial terms that are layered into the legal
terms and are often harder to pick out, but can have important consequences once
you're committed to the software.
The top two things to look out for and negotiate in your contract are:
The business terms
If you have the cash flow, you could ask for a discount in return for annual upfront
payment, and many software providers are happy to make that deal. Other times, a
software provider may offer you unlimited usage if you pay upfront instead of paying
a monthly or quarterly "package price."
Additionally, ask yourself if you need help implementing the software within your
operating systems. It’s common for a software provider's first offer to include some
implementation services for a set time frame. If you think the end users involved can
set it up themselves, ask for those services to be removed.
It’s important to remember that some software products must be implemented by
trained professionals. Ask the provider if you can get bundled pricing in exchange for
more favorable payment terms.
Lastly, consider how long you think you'll use the software. Will you need it for just
one year, or would you like to use this software long term? If you are confident that
the software suits the needs of your business and will continue to do so for many years
to come, you may want to commit to a longer contract term to secure more favorable
pricing.
Alternatively, if you're not ready to commit just yet, you can ask your software
provider to put a price increase cap in your contract documents. This is a clause that
states that when/if you renew, your price on your renewal will not go up by more than
a certain dollar or percentage amount.
If this is the case, you can negotiate a “termination for convenience”. This means that
at any time, you can contact the software provider and explain that you want to cancel
your contract, free of any penalties.
However, carefully consider if you want the provider to have the same right. Would it
be detrimental to your business if, with only 30 days notice, you weren’t able to use
the software you had purchased?
If you aren’t able to get your software provider to agree to termination for
convenience, you may want to lay out what pre-conditions might occur that should
permit you to terminate.
Common "termination for cause" examples include bankruptcy and breach of contract.
For example, a breach of contract would be that you can't access and/or use the
software as promised per the contract. There’s also "force majeure,” which is French
for "superior force" and covers what are considered acts of God, meaning tornados,
floods, earthquakes, or other natural disasters.
Most importantly, and regardless of whether or not you are terminating your contract
for convenience or "for cause," try to confirm with your software provider that you
will receive a refund of any pre-paid fees.
1. Assign an owner
When all is said and done and the contract is finalized and signed, it’s in your best
interest to assign someone as the contract owner, especially if the software is specific
to a certain part of your business. This person will be responsible for making sure that
the software does what it’s supposed to do, and that all payment arrangements,
renewals, and general oversight are taken care of.
Assigning an owner of the contract is made simple and convenient when you
utilize G2 Track. With the easy-to-read dashboard, G2 Track creates a seamless place
to not only see who the owner of the contract is, but also the billing cycle and when
the contract is up for renewal.
10-15%
of a company's software stack doesn't have a clear owner, contract, or approval.
One of the great aspects of utilizing G2 Track is that it manages contract renewals for
you. With all of your contracts in one dashboard, contract expiration and renewal
dates are easy to manage – as well as all relevant details and terms. G2 Track will
alert the right people when contract action is necessary. You’ll also be able to go back
in time on past software development contracts for a full view of everyone you’ve
worked with.
3. Set up alerts
As you take advantage of all that G2 Track has to offer, you can also set up alerts for
important dates or deadlines associated with your contact and the software license,
like when it’s set to end or auto-renew.
These alerts will also detail the notice periods you have for each of your software
contracts. Because of this, you’ll never miss renewals for the software your team is
actively using. In addition, you can also set up alerts when new products are added to
your tech stack and when spikes in spending occur.
Remember, if you've agreed to a late fees clause, any delays in making payments may
cost you more money than you expected to pay for the software. Do you need to
provide "notice" (telling your software provider something, usually formally in
writing) 30 days prior to the end of your contract that you do or do not want your
contract to renew? If yes, then alerts are sure to come in handy.
As you manage the software your team is using, G2 Track lets you see if your team is
getting the full value out of the software by showing which programs your employees
are using and how often. If you see unused licenses or seats within the dashboard, you
may be able to save some money by reducing the number of licenses you are paying
for under your contract.
With this data at your fingertips, you’ll know if any current software can be
considered obsolete, and which is considered critical to the success of your business.
5. Understand your spending
Did you know that an estimated $40 billion is spent on unused software each year?
When you utilize G2 Track, wasted spend is a thing of the past.
In addition to software use, G2 Track also keeps tabs on your products and spend by
department, as well as identifying opportunities to reduce spend and save. Thanks to
its world-class integrations within your financial systems, G2 Track easily
accomplishes this by looking at what is being spent within your budget.
The dashboard shows you:
Which tools you’re using and where you can consolidate
A pinpointed look at your average monthly cost per employee and cost by department
G2 Track makes taking inventory of your resources simple and concise by syncing
with your company’s financial data. When this occurs, you’ll be able to know how
much of your budget is being spent on each product on a monthly basis.
To make everything after you purchase a software contract completely seamless and
hassle-free, look no further than G2 Track. With every contract in one easy-to-read
dashboard, you’ll never lose track of another contract or forget any relevant details
and terms.
Best of all? G2 Track is now free for 90 days, so now is the time to sign up and
get all of your contracts in order.
Mara Calvello
Mara Calvello is a Content Marketing Manager at G2 with a focus on Human Resources and
SaaS Management. She graduated with a Bachelor of Arts from Elmhurst College. In addition to
working at G2, Mara is a freelance writer for a handful of small- and medium-sized tech
companies. In her spare time, Mara is either at the gym, exploring the great outdoors with her
rescue dog Zeke, enjoying Italian food, or right in the middle of a Harry Potter binge.
1. Risk Identification:
Risk identification involves brainstorming activities. it also involves the preparation of a
risk list. Brainstorming is a group discussion technique where all the stakeholders meet
together. this technique produces new ideas and promotes creative thinking.
Preparation of risk list involves identification of risks that are occurring continuously in
previous software projects.
2. Risk Analysis and Prioritization:
It is a process that consists of the following steps:
Identifying the problems causing risk in projects
Identifying the probability of occurrence of problem
Identifying the impact of problem
Assigning values to step 2 and step 3 in the range of 1 to 10
Calculate the risk exposure factor which is the product of values of step 2 and
step 3
Prepare a table consisting of all the values and order risk on the basis of risk
exposure factor
For example,
TABLE (Required)
Probability of
Risk occurrence of Impact of Risk
No Problem problem problem exposure Priority
Issue of
incorrect
R1 password 2 2 4 10
Testing reveals
R2 a lot of defects 1 9 9 7
Design is not
R3 robust 2 7 14 5