Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
32 views97 pages

SPM Unit-1 Notes

The document outlines key concepts in Software Project Management (SPM) and Project Portfolio Management (PPM), emphasizing the importance of managing resources, time, cost, and risks to achieve strategic business goals. It discusses various techniques for cost-benefit analysis, including net profit, net present value, internal rate of return, and return on investment, along with risk evaluation methods like risk matrices and decision trees. Challenges in implementing PPM and the significance of aligning projects with business objectives are also highlighted.

Uploaded by

satveersingh0905
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views97 pages

SPM Unit-1 Notes

The document outlines key concepts in Software Project Management (SPM) and Project Portfolio Management (PPM), emphasizing the importance of managing resources, time, cost, and risks to achieve strategic business goals. It discusses various techniques for cost-benefit analysis, including net profit, net present value, internal rate of return, and return on investment, along with risk evaluation methods like risk matrices and decision trees. Challenges in implementing PPM and the significance of aligning projects with business objectives are also highlighted.

Uploaded by

satveersingh0905
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 97

SOFTWARE PROJECT MANAGEMENT

BOE-068
Software Project Management (PPM)
Definition:
• Software: To develop set of programs

• Project: To deliver the result according to the


client requirement

• Management: To Manage Resource, Time, Cost


and risk efficiently

Powered By Sumit Agarwal - CSE


Software Project Management (PPM)
Outcome
This subject will help you understand how large
software projects are planned, executed, and
managed successfully.
SPM Software Example:
• JIRA
• Zoho Projects
• Trello

Powered By Sumit Agarwal - CSE


Project Portfolio Management (PPM)
Definition:
Project Portfolio Management is the centralized
management of multiple projects to achieve strategic
business goals efficiently.
Project Portfolio Management (PPM)
Key Objectives
• Minimize risks
• Optimize resource allocation
• Maximize ROI (Return on Investment)
• Align projects with business strategy
Powered By Sumit Agarwal - CSE
Why Project Portfolio Management
(PPM)?
• Ensures projects contribute to overall business goals.

• Helps in prioritizing high-value projects.

• Enhances risk management by identifying potential


project failures early.

• Improves decision-making with real-time data


analysis.

Powered By Sumit Agarwal - CSE


Three Key Elements of Project
Portfolio Management (PPM)
1. Project Selection & Prioritization
• Evaluating projects based on strategic alignment, ROI,
and feasibility.

• Prioritizing projects that provide the most value to the


organization.

Example: A software company prioritizing AI-driven


projects over legacy system updates.

Powered By Sumit Agarwal - CSE


Three Key Elements of Project Portfolio
Management (PPM) Continue..
2. Resource Allocation & Optimization
• Efficiently distributing budget, workforce, and
technology across projects.

• Avoiding resource conflicts and maximizing


productivity.

• Example: Google assigning dedicated teams for


Android updates

Powered By Sumit Agarwal - CSE


Three Key Elements of Project Portfolio
Management (PPM) Continue..
3. Performance Monitoring & Risk
Management
• Tracking KPIs (Key Performance Indicators) to measure
project success.

• Identifying and mitigating risks before they impact


project outcomes.

• Example: Apply testing on project to prevent failures.


Powered By Sumit Agarwal - CSE
Challenges in Implementing PPM
• Difficulty in aligning projects with business goals

• Limited availability of resources

• Complexity in managing multiple projects


simultaneously

Powered By Sumit Agarwal - CSE


Challenges in Implementing PPM
• Difficulty in aligning projects with business goals

• Limited availability of resources

• Complexity in managing multiple projects


simultaneously

Powered By Sumit Agarwal - CSE


Challenges in Implementing PPM
• Difficulty in aligning projects with business goals

• Limited availability of resources

• Complexity in managing multiple projects


simultaneously

Powered By Sumit Agarwal - CSE


PPM Example
Google handles multiple software projects simultaneously,
such as:
• Google Search Updates – Improving algorithms for more
accurate search result.
• Android OS Development – Managing different OS
versions.
• Google Cloud Services – Expanding cloud computing
solutions.
• YouTube Features – Adding new streaming capabilities.

Powered By Sumit Agarwal - CSE


Difference Between Project
Management & PPM
Project Portfolio
Feature Project Management
Management

Focus Managing a single project Managing multiple projects

Deliver project within Align projects with business


Goal
scope, budget, and time objectives

Short-term tactical Long-term strategic


Scope
execution planning

Managing all mobile app


Example Developing a mobile app
projects in a company

Focus Managing a single project Managing multiple projects

Powered By Sumit Agarwal - CSE


Cost-benefit Analysis
Definition:
Cost-benefit Analysis (CBA) is a systematic
approach used in Software Project Management
to analyze and compare the costs and benefits of
a project. It helps in determining whether the
project is financially viable and worth pursuing.

Powered By Sumit Agarwal - CSE


Cost-benefit Analysis Steps
Step-1: identifying and estimating all of the costs and
benefits of carrying out the project.
It includes
 Development cost of system.
 Operating cost of system.
 Benefits obtained by system.
Step-2: Expressing these costs and benefits in common
units typically monetary terms.
 Calculates net benefit.
Net benefit = total benefit - total cost

Powered By Sumit Agarwal - CSE


Cost-benefit Analysis Steps Continue..
Where:
• Total Benefits: The sum of all financial and non-
financial gains from the project.
• Total Costs: The sum of all expenses incurred during
the project.
• Net Benefit: The difference between benefits and
costs, representing the project's overall gain or loss.
Three types of cost :
• Development costs: includes salary and other
employment cost of staff involved.
Powered By Sumit Agarwal - CSE
Cost-benefit Analysis Steps Continue..
• Setup costs : includes the cost of
implementation of system such as hardware,
and also file conversion, recruitment and staff
training.
• Operational cost : cost require to operate
system, after it is installed.
Expected Benefits are:
• Direct Benefits: Increased revenue, productivity
improvements, cost savings.
• Indirect Benefits: Customer satisfaction,
competitive advantage, risk reduction.
Powered By Sumit Agarwal - CSE
Cost – Benefit Evaluation Techniques
Common method for comparing projects on the
basic of their cash flow forecasting.
• Net profit
• Payback Period
• Return on investment
• Net present Value
• Internal rate of return

Powered By Sumit Agarwal - CSE


Net Profit
Also called net income or net earnings
Formula:
• Net Profit=Total Revenue− (Total Costs + Taxes)
Where:
• Total Revenue = Income generated from the
project.
• Total Costs = Initial investment + Operating
costs.
• Taxes = Applicable government taxes on profits.
Powered By Sumit Agarwal - CSE
Net Profit Example
Example: A company invests ₹50,000 in a project that
generates a total revenue of ₹1,20,000 over 3 years.
The total operating costs, including maintenance and
salaries, are ₹40,000, and taxes amount to ₹10,000.
• Net Profit=1,20,000−(50,000+40,000+10,000) ₹20,000
Limitations of Net Profit Technique:
• It does not account for the time value of money
making it less effective for long-term projects.
• less effective for long-term projects

Powered By Sumit Agarwal - CSE


Calculate net profit

Powered By Sumit Agarwal - CSE


Net Present Value (NPV)
NPV calculates the present value of all cash inflows
and outflows of a project using a discount rate. A
positive NPV indicates a profitable project.
Formula:

Powered By Sumit Agarwal - CSE


Net Present Value (NPV) Continue..
A positive NPV indicates that the project is financially viable, while
a negative NPV suggests it may not be worth pursuing.

Example-1: Consider a project requiring an initial investment of


₹1,00,000 and generating ₹30,000 annually for 5 years at a 10%
discount rate. Using NPV calculations, if the result is positive, the
project is financially viable
Solution:
Powered By Sumit Agarwal - CSE
Net Present Value (NPV) Continue..

Since NPV is positive (₹13,720), the project is financially


viable and should be accepted.

Powered By Sumit Agarwal - CSE


Net Present Value (NPV) Example-2

Solution:

Powered By Sumit Agarwal - CSE


Net Present Value (NPV) Example-2 Solution

Since NPV is positive ($9,005), the project is financially viable and should be
accepted.

Powered By Sumit Agarwal - CSE


Internal Rate of Return (IRR)

The Internal Rate of Return (IRR) is the discount rate at


which the net present value (NPV) of all cash flows (both
positive and negative) from a project equals zero.

Powered By Sumit Agarwal - CSE


Internal Rate of Return (IRR) Example
Calculate the internal rate of return of an investment of
Rs 1,36000which yields the following cash inflows:
year 1 - cash inflows: 30000,
year 2 - cash inflows: 40000,
year 3 - cash inflows: 60000,
year 4 - cash inflows: 30000,
year 5 - cash inflows: 20000
Solution:
We calculated the NPV at two trial discount rates, one
rate gives a positive NPV and a slightly higher rate gives a
negative NPV. In our case, we chose 10% and 11%

Powered By Sumit Agarwal - CSE


Internal Rate of Return (IRR) Example Continue..

Powered By Sumit Agarwal - CSE


Internal Rate of Return (IRR) Example Continue..

Powered By Sumit Agarwal - CSE


Internal Rate of Return (IRR) Example Continue..
Put value in formula we get:

Powered By Sumit Agarwal - CSE


Payback Period
This technique calculates the time required to recover
the initial investment from cash inflows. A shorter
payback period is preferable as it reduces risk.

Powered By Sumit Agarwal - CSE


Payback Period Example-2
Calculate Payback Period for below data:

Powered By Sumit Agarwal - CSE


Payback Period Example-2 Solution

•Negative values in Year 0 represent the initial investment (cash


outflow).
•Positive values in subsequent years represent cash inflows.
1. Payback Period for Project 1
Initial Outflow: ₹1,00,000

Powered By Sumit Agarwal - CSE


Payback Period Example-2 Solution Continue..

Powered By Sumit Agarwal - CSE


Payback Period Example-2 Solution Continue..
2. Payback Period for Project 2
Initial Outflow: ₹10,00,000

Powered By Sumit Agarwal - CSE


Payback Period Example-2 Solution Continue..
3. Payback Period for Project 3
Initial Outflow: ₹1,20,000

Powered By Sumit Agarwal - CSE


Return of Investment (ROI)
Return on Investment (ROI) is a simple, widely used measure
that indicates the profitability or efficiency of an investment. In
software project management, it helps stakeholders understand
how much financial return they might gain in comparison to the
cost of developing and implementing the software.
Formula:
ROI = (average annual profit * 100) / total investment

Average annual profit = net profit / total no. of years

Disadvantages
•It takes no account of the timing of the cash flows.
•Rate of returns bears no relationship to the interest rates
offered or changed by bank.

Powered By Sumit Agarwal - CSE


Return of Investment (ROI) Example

Calculate ROI For Projects


Powered By Sumit Agarwal - CSE
ROI Example Continue..

Powered By Sumit Agarwal - CSE


ROI Example Continue..

Powered By Sumit Agarwal - CSE


ROI Example Continue..

Powered By Sumit Agarwal - CSE


Risk Evaluation
Every software project involves risk, and it is essential to
evaluate these risks to ensure project success.
Risk evaluation is meant to decide whether to proceed with the
project or not, and whether the project is meeting its objectives.
Risk evaluation primarily focuses on two types of risks:
Project Risks – Prevents the project from being completed
successfully.
Business Risks – Prevents the project from being Profitable.

Powered By Sumit Agarwal - CSE


Risk Matrix
A Risk Matrix is a tool used to evaluate and prioritize risks based
on their likelihood of occurrence and potential impact. It is
widely used in software project management to assess and
mitigate risks that could affect project success.
Key Components of a Risk Matrix
A risk matrix is typically a grid that categorizes risks using two key
dimensions:

Likelihood (Probability of Occurrence) – How likely is the risk to


happen?

Impact (Severity of Consequences) – What is the effect if the risk


occurs?

Powered By Sumit Agarwal - CSE


Risk Identification and Ranking
Example of a Basic Project Risk Matrix (For an E-Commerce
Project)

This matrix helps in evaluating projects (high-risk projects are less


preferred) and ranking risks for mitigation strategies.

Powered By Sumit Agarwal - CSE


Example of Risk Matrix in Software
Development
Imagine for a software project, and you identify the following
risks:
Security vulnerabilities in the software
•Likelihood: High
•Impact: Critical
•Risk Level: Critical (Needs immediate action)
Delays in requirement gathering
•Likelihood: Medium
•Impact: Medium
•Risk Level: Medium (Requires monitoring)
Budget overrun due to unexpected costs
•Likelihood: Low
•Impact: High
•Risk Level: Medium-High (Needs cost control measures)
Powered By Sumit Agarwal - CSE
Why Use a Risk Matrix?

✅ Helps prioritize risks efficiently.


✅ Assists in decision-making for risk mitigation.
✅ Provides a clear visual representation of project risks.
✅ Improves planning by identifying critical risks early.

Powered By Sumit Agarwal - CSE


Risk and Net Present Value (NPV)
• Riskier projects use a higher discount rate to calculate NPV.

• Additional risk premiums (e.g., 2% for low-risk projects, 5% for


high-risk ones) are applied.

•Projects are categorized as high, medium, or low risk based on a


scoring method.

Powered By Sumit Agarwal - CSE


CBA Including Risk
Cost-Benefit Analysis (CBA) is a structured approach used to
evaluate whether a software project is financially viable by
comparing its expected benefits against its estimated costs. When
considering risk, CBA incorporates uncertainty by assigning
probabilities to different outcomes and calculating expected values.

Incorporating Risk in Cost-Benefit Analysis include:

•Identify possible outcomes of a project.


•Estimate the probability of each outcome occurring.
•Assign a financial value to each outcome.
•Compute the project's overall expected value by summing up the
weighted values of each scenario.

Powered By Sumit Agarwal - CSE


Example of Risk-Based CBA
A software company considers developing a payroll application.
The potential market response is uncertain, leading to three
possible revenue scenarios:

Powered By Sumit Agarwal - CSE


Challenges of Risk-Adjusted CBA
•Assigning accurate probabilities requires extensive market
research.

•The approach averages out negative and positive outcomes,


which might not reflect the worst-case scenario.

•It works best when applied to a portfolio of projects where


successful ventures can offset failures​.

Powered By Sumit Agarwal - CSE


Risk Profile Analysis

This graph represents the risk vs. profitability


distribution for three different projects: P1, P2, and P3.
Each curve shows the probability distribution of
profitability for each project.
Powered By Sumit Agarwal - CSE
Risk Profile Analysis Continue..
X-Axis (Horizontal Axis) → Profitability & Risk

The wider the distribution, the higher the variation in


profitability, meaning higher risk.

If the curve is narrow and centered, it indicates low


risk (less variation in profit).

P1 has a narrower distribution (lower risk), while P2


has a wider distribution (higher risk).

Powered By Sumit Agarwal - CSE


Risk Profile Analysis Continue..
Y-Axis (Vertical Axis) → Probability Density
It represents how likely a certain profitability value is.
A peak in the curve means that most outcomes are
close to the expected profitability.
A flatter or spread-out curve indicates greater
uncertainty (higher risk).

Conclusion
Risk is indirectly shown by the spread of the curves
along the X-axis (profitability).

A wider spread = Higher risk, and a narrower spread =


Lower risk. Powered By Sumit Agarwal - CSE
Decision Tree
A decision tree is a visual and analytical tool used in risk
analysis to evaluate different possible outcomes of a
project. It helps in making informed decisions by
considering various risk scenarios, probabilities, and
their financial impact.

Powered By Sumit Agarwal - CSE


Decision Tree Example
The decision tree represents
a risk-based decision analysis
for an organization deciding
between two options:
•Extending the existing
system
•Replacing the system with a
new one

Powered By Sumit Agarwal - CSE


Decision Tree Example
Decision Node (D)
• The organization must choose between Extending or Replacing
the system.

Powered By Sumit Agarwal - CSE


Decision Tree Example

Since 40,000 > 10,000, the organization should choose to extend


the existing system rather than replace it.

Powered By Sumit Agarwal - CSE


AKTU 2022-23 Numerical
Year Project1 Project2 Project3 Project4
0 -100000 -100000 -100000 -120000
1 10000 200000 30000 30000
2 10000 200000 30000 30000
3 10000 200000 30000 30000
4 20000 200000 30000 30000
5 100000 300000 30000 75000

Calculate net profit value, Payback period, Return on investment,


and net present value (NPV) on the basis of above table. You may
assume discount rate to be as 10%

Powered By Sumit Agarwal - CSE


Solution
Net Present Value (NPV) Calculation for Project 1

Powered By Sumit Agarwal - CSE


Solution
Net Present Value (NPV) Calculation for Project 1

Powered By Sumit Agarwal - CSE


Solution
Net Present Value (NPV) Calculation for Project 1

Powered By Sumit Agarwal - CSE


Solution
Net Present Value (NPV) Calculation for Project 2

Powered By Sumit Agarwal - CSE


Solution
Net Present Value (NPV) Calculation for Project 3

Powered By Sumit Agarwal - CSE


Solution
Net Present Value (NPV) Calculation for Project 4

Powered By Sumit Agarwal - CSE


Solution
• Summary of NPVs

Project 2 has the highest NPV, making it the most profitable investment!

Powered By Sumit Agarwal - CSE


Solution
Payback Period

Powered By Sumit Agarwal - CSE


Solution
Payback Period – Project1 (Initial Investment = ₹1,00,000)

Powered By Sumit Agarwal - CSE


Solution

Powered By Sumit Agarwal - CSE


Solution
Payback Period – Project3 (Initial Investment = ₹1,00,000)

Powered By Sumit Agarwal - CSE


Solution
Payback Period – Project4 (Initial Investment = ₹1,20,000)

Powered By Sumit Agarwal - CSE


Solution

Powered By Sumit Agarwal - CSE


Solution
Return on Investment (ROI)

ROI = (average annual profit * 100) / total investment

Average annual profit = net profit / total no. of years

Powered By Sumit Agarwal - CSE


Solution
Project-1 ROI Calculation

Powered By Sumit Agarwal - CSE


Solution
Project-2 ROI Calculation

Powered By Sumit Agarwal - CSE


Solution
Project-3 ROI Calculation

Powered By Sumit Agarwal - CSE


Solution
Project-4 ROI Calculation

Powered By Sumit Agarwal - CSE


Solution
ROI Summary of All Projects

Project 2 has the highest ROI (200%), making it the most profitable choice.

Powered By Sumit Agarwal - CSE


Solution

Powered By Sumit Agarwal - CSE


Solution

Conclusion:
Project 2 generates the highest net profit (₹10,00,000), making it the most profitable
investment.
Powered By Sumit Agarwal - CSE
Strategic Program Management
It is a structured approach to managing multiple interdependent
software projects under a common program to maximize
efficiency, minimize risks, and ensure alignment with business
strategy.
Strategic Program Management in Software Project Management
ensures that software projects are not just completed on time and
within budget but also drive business success. It connects project
execution with strategic goals, maximizes ROI, and enhances
collaboration across teams.
Project vs. Program:
•A Project is a single effort with a defined scope, timeline, and
budget.
•A Program consists of multiple related projects that contribute to
a larger business goal.
Powered By Sumit Agarwal - CSE
Strategic Program Management
Key Objectives of Strategic Program Management

•Business Alignment – Ensuring software projects align with


business goals.
•Resource Optimization – Efficient use of resources across
multiple projects.
•Risk Management – Identifying and mitigating risks at the
program level.
•Stakeholder Engagement – Managing expectations of clients,
executives, and teams.
•Performance Tracking – Monitoring project health and ensuring
value delivery.

Powered By Sumit Agarwal - CSE


Strategic Program Management
Components of Strategic Program Management
1. Program Governance
• Establishes rules, policies, and decision-making frameworks.
• Defines accountability and authority within the program.

2. Program Planning
• Identifies dependencies between software projects.
• Develops a roadmap with milestones and key deliverables.

3. Resource Management
• Allocates developers, testers, and other resources across
projects.
•Balances workloads to prevent bottlenecks.

Powered By Sumit Agarwal - CSE


Strategic Program Management
4. Risk Management & Issue Resolution:
• Identifies cross-project risks and implements mitigation
strategies.
• Addresses software development challenges proactively.

5. Stakeholder Communication
• Regular updates for executives, clients, and teams.
• Ensures transparency and alignment with organizational goals.

6. Performance & Benefit Realization


•Measures the return on investment (ROI) of software programs.
•Adjusts strategies based on feedback and performance data.

Powered By Sumit Agarwal - CSE


Strategic Program Management Example
Imagine a bank developing an integrated mobile banking
application. This program includes multiple software projects
such as:
1. Core Banking System Upgrade
2. Mobile App Development
3. Cyber security Enhancements
4. Customer Support Chatbot

SPM ensures that:


• Resources are optimally assigned.
• Dependencies (e.g., security before deployment) are managed.
• Business objectives (e.g., improved customer experience) are
met.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step-wise project planning in Software Project
Management follows the "Step Wise" framework,
which structures project planning into distinct
phases. Below is a detailed breakdown of the
steps involved:
Step 0: Select Project
 The project selection process occurs before
actual planning begins.
 It involves evaluating project feasibility, business
case justification, and priority against other
projects.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 1: Identify Project Scope and Objectives
 Define objectives and measures of effectiveness.
 Establish project authority (who has decision-
making power).
 Identify stakeholders and analyze their influence.
 Modify objectives based on stakeholder analysis.
 Set communication methods to ensure smooth
interaction among all parties.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 2: Identify Project Infrastructure
Define the relationship between the project
and strategic goals.

Establish installation standards and


procedures.

Determine the project team structure and


reporting hierarchy.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 3: Analyze Project Characteristics
 Classify whether the project is objective-driven
(goal-focused) or product-driven (deliverable-
focused).
 Identify key project risks and challenges.
 Consider user requirements and implementation
constraints.
 Choose an appropriate development lifecycle
model.
 Review and refine resource estimates.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 4: Identify Project Products and Activities
Identify all project deliverables (products) and
their quality requirements.
Define the workflow of product creation
(Product Breakdown Structure).
Identify major milestones and activity
dependencies.
Develop an ideal activity sequence while
considering stages and checkpoints.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 5: Estimate Effort for Each Activity
 Conduct bottom-up estimation (estimating effort
at task level).
 Adjust the plan to break down activities into
controllable units.
Step 6: Estimate Effort for Each Activity
 Identify risks related to each project task.
 Develop risk mitigation and contingency
strategies.
 Revise estimates and plans based on identified
risks.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 7: Allocate Resources
 Identify required resources (human, technological,
financial).
 Allocate resources efficiently based on project
constraints.
 Revise project timelines and cost estimates to match
available resources.
Step 8: Review and Publicize Plan
 Review the quality aspects of the plan.
 Document the final project plan.
 Obtain approval from stakeholders and ensure project-
wide agreement.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 9: Execute the Plan
 Start project execution as per the approved plan.
 Assign responsibilities to team members.
 Monitor project progress using tracking tools
(e.g., Gantt charts, PERT charts).
 Implement risk mitigation strategies as needed.
 Ensure quality control through regular testing and
reviews.
 Manage changes effectively by following the
change control process.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
Step 10: Lower-Level Planning
 Refine plans for upcoming phases based on current
progress.
 Adjust schedules and resources dynamically.
 Break down tasks further into more detailed subtasks.
 Re-evaluate risks and update contingency plans.
 Improve communication by updating stakeholders
with revised plans.
 Ensure alignment with business objectives and
overall project goals.

Powered By Sumit Agarwal - CSE


Stepwise Project Planning-Framework
This structured approach ensures that a
software project is planned systematically,
covering risks, dependencies, and resource
constraints to improve the chances of
successful execution.

Powered By Sumit Agarwal - CSE


UNIT-1

Powered By Sumit Agarwal - CSE

You might also like