SEPM Chapter No-3
SEPM Chapter No-3
By
Prof. Supriya Ghodekar.
Chapter No-3
Fundamentals Of Project Management
3.1 Overview Of Project Management
What is Project –
A project is a group of tasks that need to complete to reach a clear result. A
project also defines as a set of inputs and outputs which are required to achieve a
goal. Projects can vary from simple to difficult and can be operated by one
person or a hundred.
1.Time
2.Cost
3.Quality
Quality metrics measure the value and performance of your business's products,
services, and processes.
Quality metrics can help assess customer satisfaction levels, identify areas for
improvement within your company, and track the overall quality of your
products or services
1. Code Quality – Code quality metrics measure the quality of code used for software
project development. Maintaining the software code quality by writing Bug-free and
semantically correct code is very important for good software project development. In
code quality, both Quantitative metrics like the number of lines, complexity, functions,
rate of bugs generation, etc, and Qualitative metrics like readability, code clarity,
efficiency, and maintainability, etc are measured.
2. Reliability – Reliability metrics express the reliability of software in different
conditions. The software is able to provide exact service at the right time or not checked.
Reliability can be checked using Mean Time Between Failure (MTBF) and Mean Time To
Repair (MTTR).
3. Performance – Performance metrics are used to measure the performance of the
software. Each software has been developed for some specific purposes. Performance
metrics measure the performance of the software by determining whether the software is
fulfilling the user requirements or not, by analyzing how much time and resource it is
utilizing for providing the service.
4. Usability – Usability metrics check whether the program is user-friendly or not. Each
software is used by the end-user. So it is important to measure that the end-user is happy
or not by using this software.
5. Correctness – Correctness is one of the important software quality metrics as this
checks whether the system or software is working correctly without any error by
satisfying the user. Correctness gives the degree of service each function provides as
per developed.
6. Maintainability – Each software product requires maintenance and up-gradation.
Maintenance is an expensive and time-consuming process. So if the software product
provides easy maintainability then we can say software quality is up to mark.
Maintainability metrics include the time required to adapt to new
features/functionality, Mean Time to Change (MTTC), performance in changing
environments, etc.
7. Integrity – Software integrity is important in terms of how much it is easy to
integrate with other required software which increases software functionality and
what is the control on integration from unauthorized software’s which increases the
chances of cyberattacks.
8. Security – Security metrics measure how secure the software is. In the age of cyber
terrorism, security is the most essential part of every software. Security assures that
there are no unauthorized changes, no fear of cyber attacks, etc when the software
product is in use by the end-user.
3.4 Risk Management Process
What is Risk?
"Tomorrow problems are today's risk." Hence, a clear definition of a "risk" is a problem
that could cause some loss or threaten the progress of the project, but which has not
happened yet.
These potential issues might harm cost, schedule or technical success of the project and
the quality of our software device, or project team morale.
“Risk Management is the system of identifying addressing and eliminating these
problems before they can damage the project.”
Risk Management
A software project can be concerned with a large variety of risks. In order to
be adept to systematically identify the significant risks which might affect a
software project, it is essential to classify risks into different classes. The
project manager can then check which risks from each class are relevant to
the project.
There are three main classifications of risks which can affect a software
project:
1.Project risks
2.Technical risks
3.Business risks
1.Project risks: Risks are threats affect the project schedule or resources. It is related
to loss of personnel or funds allocated to the project. An example of a project risk is the
loss of an experienced and talented staff. Finding an equivalent staff with appropriate
skills and experience may take a long time and, consequently, the software design will
take longer to complete.
2. Product risks: Risks that affect the quality or performance of the software. An
example of a product risk is the failure of a purchased component to perform as
expected. This may affect the overall performance of the system so that it is slower
than expected.
3. Business risks: Risks that threaten the viability of the software and affect the
organisation developing. For example, a competitor introducing a new product is a
business risk. The introduction of a competitive product will affect the sales of existing
software products..
Other risk categories
1.1. Known risks: Risks that become visible following a through evaluation
of the project schedule, the commercial and technological context in which
the plan is being created, and more reliable data sources (such as an
impossible delivery date)
2.2. Predictable risks: Risks that are assumed from previous project
experience (e.g., turnover in the past)
3.3. Unpredictable risks: Those risks that can and do occur, but are
extremely tough to identify in advance.
Principle of Risk Management
2. Risk analysis: You should assess the likelihood and consequences of these risks.
3. Risk planning: You should make plans to address the risk, either by avoiding it or
minimizing its effects on the project.
4. Risk monitoring: You should regularly assess the risk and your plans for risk mitigation
and revise these when you learn more about the risk.
The risk management process is an iterative process that continues throughout the project.
Once you have drawn up an initial risk management plan, you monitor the situation to
detect emerging risks. As more information about the risks becomes available, you have to
reanalyze the risks and decide if the risk priority has changed. You may then have to change
your plans for risk avoidance and contingency management.
1)Identification of Risk :
Risk identification is the first stage of the risk management process.
Risk identification may be a team process where a team get together
to brainstorm possible risks.
Alternatively, the project manager may simply use his or her
experience to identify the most probable or critical risks.
• It is concerned with o Identifying the risks
• What Type of risk it is
• To which it is associated
• From where it is derived.
• Possible threats of risk
• There are several other tools and techniques also for identifying
risks Five common information gathering techniques for risk
identification include brainstorming, Delphi
technique,interviewing,root cause analysis, and SWOT analysis.
Sr. Risk Type Associated /Derived From Possible Threats database used in
No.
1. Technology Derive from the software or The the system cannot process as many
risks hardware technologies that are transactions per second as expected.
used to develop the system Reusable software components contain
defects that mean they cannot be reused
as planned.
2. People risks Associated with the people in the It is impossible to recruit staff with the
development team. skills required Key staff are ill and
unavailable at critical times. Required
training for staff is not available.
5. Requirements Risks that derive from changes Changes to requirements that require
risks to the customer requirements major design rework are proposed.
and the process of managing the Customers fail to understand the
requirements change. impact of requirements changes.
6. Estimation Risks that derive from the The time required to develop the
risks management estimates of the software is under-estimated. The rate
resources required to build the of defect repair is underestimated.
system. The size of the software is
underestimated.
Risk Analysis
During the risk analysis process, you have to consider each identified risk and make a
judgment about the probability and seriousness of that risk. To do this you have to rely
on your own judgment and experience of previous projects and the problems that arose
in them. It is not possible to make precise, numeric assessment of the probability and
seriousness of each risk. Rather, you should assign the risk to one of a number of bands:
1. The probability of the risk might be assessed as:
• Very Low (<10%)
• Low (10-25%)
• Moderate (25-50%),
• High (50-75%),Or
• Very High(> 75%),
Probability Effects
Sr. No. Type of Risk Risk Probability Effects
The risk planning process considers each of the key risks that have been
identified, and develops strategies to manage these risks. For each of the
risks, you have to think about the actions which will minimize the
interference to the project if the problem identified in the risk occurs. You
should have strategies in place to cope with the risk if it arises. Strategy
should be so effective that reduce the overall impact of a risk on the project
or product.
Sr. Risk Strategy document for senior
No.
1. Organizational financial a briefing is management Prepare showing how the project
problems making of a important contribution to the goals to the the
business very and presenting reasons why cuts project
budget would not be cost-effective.
3. Staff illness Reorganize team so that there is more overlap of work and
people therefore understand each other's jobs
Risk monitoring and control is an ongoing process for the life of the project.
The risks change as the project matures, new risks develop, or anticipated risks
disappear.
Sr.no Risk Type Potential Indicators
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.
Key Process Areas (KPA) of a software organization
Except for SEI CMM level 1, each maturity level is featured by several Key Process Areas (KPAs
3.5.4 Software Configuration Management
Definition-
“The elements that comprise all information produced as a part of the software process
are collectively called a software configuration”.
When we develop software, the product (software) undergoes many changes in their
maintenance phase; we need to handle these changes effectively.
Several individuals (programs) works together to achieve these common goals. This
individual produces several work product (SC Items) e.g., Intermediate version of
modules or test data used during debugging, parts of the final product.
As software development progresses, the number of Software Configuration elements
(SCI's) grow rapidly.
SCM Process
It uses the tools which keep that the necessary change has been
implemented adequately to the appropriate component.
The version control and baseline step ensures the continuous integrity
of the product by identifying an accepted version of the software. This
baseline is designated at a specific time in the SCM process and can
only be altered through a formal procedure.
•Identifying and classifying the components that are covered by the
project
•Developing a way to track the hierarchy of different versions of the
software
•Identifying the essential relationships between various components
•Establishing various baselines for the product, including
developmental, functional, and product baselines
•Developing a standardized label scheme for all products, revisions,
and files so that everyone is on the same page.
3. Change Control
Change control is the method used to ensure that any changes that are made are
consistent with the rest of the project. Having these controls in place helps with
quality assurance, and the approval and release of new baseline(s). Change control
is essential to the successful completion of the project.