Professional Documents
Culture Documents
A project manager has to deal with risks arising from three possible cases:
1. Known knowns: are software risks that are actually facts known to the team
as well as to the entire project. For example not having enough number of
developers can delay the project delivery. Such risks are described and
included in the Project Management Plan.
2. Known unknowns: are risks that the project team is aware of but it is
unknown that such risk exists in the project or not. For example if the
communication with the client is not of good level then it is not possible to
capture the requirement properly. This is a fact known to the project team
however whether the client has communicated all the information properly
or not is unknown to the project.
3. Unknown Unknowns: are those kind of risks about which the organization
has no idea. Such risks are generally related to technology such as working
with technologies or tools that you have no idea about because your client
wants you to work that way suddenly exposes you to absolutely unknown
unknown risks.
Risk identification entails brainstorming. It also entails the creation of a risk list.
Brainstorming is a group discussion technique in which the whole project
management is present. This technique generates new ideas and encourages
creative thinking. The preparation of a risk list entails identifying risks that have
occurred repeatedly in previous software projects.
The project manager should make a table with all of the values and rank the risks
according to the risk exposure factor.
The goal of this technique is to eliminate the occurrence of risks entirely. To avoid
risks, reduce the scope of projects by eliminating non-essential requirements. Risk
avoidance involves identifying potential risks and then eliminating them as much
as possible, or reducing their impact if they cannot be eliminated.
Not using certain features in the software due to the potential for bugs or
other problems to occur;
Increase software testing activities using test cases to ensure no bugs exist in
a product before it goes live;
Making sure that any changes made to software are thoroughly tested before
they are deployed.
4. Risk transfer
This technique is used in software engineering to reduce the risk of a project. Risk
transfer is usually used when the scope of a project is too large for any one team to
handle, and there is no way to split up the work so that each team can be
responsible for its own piece of it. In this case, you have to find an outside
company that can take on some portion of your project.
For example, if you're working on a video editor app and your team doesn't have
enough designers or programmers to make it happen, project management could
decide to hire someone else who does have the necessary resources. That way, you
don't have to worry about handling all parts of the app yourself and can focus on
what's most important--making sure that everything comes together in an enjoyable
way!
5. Risk acceptance
The risk should be continuously monitored by reevaluating the risks, the impact of
the risk, and the probability of the risk occurring.
RMMM Plan :
A risk management technique is usually seen in the software Project plan. This
can be divided into Risk Mitigation, Monitoring, and Management Plan
(RMMM). In this plan, all works are done as part of risk analysis. As part of the
overall project plan project manager generally uses this RMMM plan.
In some software teams, risk is documented with the help of a Risk Information
Sheet (RIS). This RIS is controlled by using a database system for easier
management of information i.e creation, priority ordering, searching, and other
analysis. After documentation of RMMM and start of a project, risk mitigation
and monitoring steps will start.
Risk Mitigation:
It is an activity used to avoid problems (Risk Avoidance).
Steps for mitigating the risks as follows.
1. Finding out the risk.
2. Removing causes that are the reason for risk creation.
3. Controlling the corresponding documents from time to time.
4. Conducting timely reviews to speed up the work.
Risk Monitoring:
It is an activity used for project tracking.
It has the following primary objectives as follows.
1. To check if predicted risks occur or not.
2. To ensure proper application of risk aversion steps defined for risk.
3. To collect data for future risk analysis.
4. To allocate what problems are caused by which risks throughout the project.
Risk Management and planning:
It assumes that the mitigation activity failed and the risk is a reality. This task is
done by Project manager when risk becomes reality and causes severe problems.
If the project manager effectively uses project mitigation to remove risks
successfully then it is easier to manage the risks. This shows that the response
that will be taken for each risk by a manager. The main objective of the risk
management plan is the risk register. This risk register describes and focuses on
the predicted threats to a software project.
Example:
Let us understand RMMM with the help of an example of high staff turnover.
Risk Mitigation:
To mitigate this risk, project management must develop a strategy for reducing
turnover. The possible steps to be taken are:
Meet the current staff to determine causes for turnover (e.g., poor working
conditions, low pay, competitive job market).
Mitigate those causes that are under our control before the project starts.
Once the project commences, assume turnover will occur and develop
techniques to ensure continuity when people leave.
Organize project teams so that information about each development activity is
widely dispersed.
Define documentation standards and establish mechanisms to ensure that
documents are developed in a timely manner.
Assign a backup staff member for every critical technologist.
Risk Monitoring:
As the project proceeds, risk monitoring activities commence. The project
manager monitors factors that may provide an indication of whether the risk is
becoming more or less likely. In the case of high staff turnover, the following
factors can be monitored:
General attitude of team members based on project pressures.
Interpersonal relationships among team members.
Potential problems with compensation and benefits.
The availability of jobs within the company and outside it.
Risk Management:
Risk management and contingency planning assumes that mitigation efforts have
failed and that the risk has become a reality. Continuing the example, the project
is well underway, and a number of people announce that they will be leaving. If
the mitigation strategy has been followed, backup is available, information is
documented, and knowledge has been dispersed across the team. In addition, the
project manager may temporarily refocus resources (and readjust the project
schedule) to those functions that are fully staffed, enabling newcomers who must
be added to the team to “get up to the speed“.
Drawbacks of RMMM:
It incurs additional project costs.
It takes additional time.
For larger projects, implementing an RMMM may itself turn out to be another
tedious project.
RMMM does not guarantee a risk-free project, infact, risks may also come up
after the project is delivered.
Users rely on software to be dependable and consistent so that they can use
the features to produce the same results. This involves having a program that
behaves predictably depending on user inputs. It also requires reliable
maintenance practices to resolve issues quickly. Here are a few specific
metrics that uphold dependable software quality:
2. Functionality
For a software program to meet user expectations, it's essential that all
features function with minimal bugs and errors. A primary aspect of the
testing process in software development and maintenance is identifying and
removing errors to improve functionality. This involves using functionality-
related metrics to track common errors and the features or aspects of the code
that cause the most issues for users. Examples of software function metrics
for quality include:
3. Code characteristics
The way programmers write code also contributes to the quality of the final
program. You can use a variety of performance measures to determine how
the style and content of software scripts influence quality factors, such as
defect rates and user satisfaction. Here are some elements of code
characteristics to measure:
4. Interface accessibility
It's essential that software interfaces are accessible and usable to impress
customers. This involves having an attractive design and an intuitive
navigation panel that's easy for people to understand. Many software
programs also have a tutorial mode that teaches users how to operate the
basic functions of the program, so it's essential that the application is as
accessible as possible.
5. System performance
6. Defect management
Mean time to detect crashes and bugs: This is how long it takes a
programmer or team to detect crashes or bugs from the time they exist.
7. Documentation
Building a relationship with software users so that they trust you with their
data is essential for software developers. You can develop confidence in the
security of your application by recording details about how you protect user
data and tracking metrics regarding the integrity of your existing security
measures. These security indicators for software can show your quality
management for user data safety:
Objectives of FTR
1. FTR is useful to uncover error in logic, function and implementation for any
representation of the software.
2. The purpose of FTR is to ensure that software meets specified requirements.
3. It is also ensure that software is represented according to predefined standards.
4. It helps to review the uniformity in software development process.
5. It makes the project more manageable.
Besides the above mentioned objectives, the purpose of FTR is to enable junior
engineer to observer the analysis, design, coding and testing approach more
closely.
Steps in FTR
1. Involvement of people
3. Short duration The short duration of the review meeting should be less than two
hour.
Rather than attempting to review the entire design walkthrough are conducted for
modules or for small group of modules.
The focus of the FTR is on work product (a software component to be reviewed).
The review meeting is attended by the review leader, all reviewers and the
producer.
The review leader is responsible for evaluating for product for its deadlines. The
copies of product material is then distributed to reviewers. -The producer
organises “walkthrough” the product, explaining the material, while the reviewers
raise the issues based on theirs advance preparation.
One of the reviewers become recorder who records all the important issues
raised during the review. When error are discovered, the recorder notes each.
At the end of the review, the attendees decide whether to accept the product or
not, with or without modification.
During the FTR, the reviewer actively record all the issues that have been raised.
At the end of meeting these all raised issues are consolidated and review issue
list is prepared.
Finally, formal technical review summary report is produced.
3. Review guidelines
1. Concentrate on work product only. That means review the product not the
producers.
2. Set an agenda of a review and maintain it.
3. When certain issues are raised then debate or arguments should be limited.
Reviews should not ultimately results in some hard feelings.
4. Find out problem areas, but don’t attempt to solve every problem noted.
5. Take written notes (it is for record purpose)
6. Limit the number of participants and insists upon advance preparation.
7. Develop a checklist for each product that is likely to be reviewed.
8. Allocate resources and time schedule for FTRs in order to maintain time
schedule.
9. Conduct meaningful trainings for all reviewers in order to make reviews effective.
10. Reviews earlier reviews which serve as the base for the current review being
conducted.
1. Configuration Manager
2. Developer
3. Auditor
The auditor is responsible for SCM audits and reviews.
Need to ensure the consistency and completeness of release.
4. Project Manager:
5. User
The end user should understand the key SCM terms to ensure he has the
latest version of the software
Concurrency Management:
When two or more tasks are happening at the same time, it is known as
concurrent operation. Concurrency in context to SCM means that the same
file being edited by multiple persons at the same time.
If concurrency is not managed correctly with SCM tools, then it may create
many pressing issues.
Version Control:
SCM uses archiving method or saves every change made to file. With the
help of archiving or save feature, it is possible to roll back to the previous
version in case of issues.
Synchronization:
Users can checkout more than one files or an entire copy of the repository.
The user then works on the needed file and checks in the changes back to the
repository. They can synchronize their local copy to stay updated with the
changes made by other team members.