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

Introduction to Software Project Management

The document outlines a course on Software Project Management led by Lt(Dr)Vivek Parashar, detailing his background, course content, objectives, and expected outcomes for students. It emphasizes the importance of project management in software development, including planning, organizing, controlling, and executing projects, while also addressing the differences between software engineering and project management. Additionally, it highlights the significance of effective resource utilization, risk management, and communication in ensuring project success.

Uploaded by

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

Introduction to Software Project Management

The document outlines a course on Software Project Management led by Lt(Dr)Vivek Parashar, detailing his background, course content, objectives, and expected outcomes for students. It emphasizes the importance of project management in software development, including planning, organizing, controlling, and executing projects, while also addressing the differences between software engineering and project management. Additionally, it highlights the significance of effective resource utilization, risk management, and communication in ensuring project success.

Uploaded by

personalgamer318
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Software Project Management

(MCA2021 )
BY
Lt(Dr)Vivek Parashar
Assistant. Professor, SCSE
vivekparashar@[Link]

1
About Myself
 I am Lt(Dr)Vivek Parashar, Assistant Professor (SCSE)

 [Link] (2002) and [Link] (2006) from NIT Raipur

 Having more than 20 years of teaching experience

 I also worked as a corporate trainer for Wipro


Technologies.

2
My Promise to you

 I will treat you with respect

 I will be available for questions (after class, during office hours)

 I will arrive prepared to teach

 I will try to be engaging and helpful

 I will grade you fairly and objectively

3
University Expectations
 Come to class on time (especially during exams)

 Turn in work on time

 Do all work independently (except group work)

 Follow Rules of Conduct and Academic Behavior Standards as


detailed in the Student Regulations.
 Take responsibility for your own learning!
4
My Expectations

 Treat each other with respect

 Work hard

 Keep silent in the classroom

 Ask if you have questions!

5
Course Content

 Unit 1: INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT

 Unit 2: PROJECT LIFE CYCLE AND EFFORT ESTIMATION

 Unit 3: ACTIVITY PLANNING AND RISK MANAGEMENT

 Unit 4: PROJECT MANAGEMENT AND CONTROL

 Unit 5: STAFFING IN SOFTWARE PROJECTS

6
Course Objectives

 To know the network planning model for project scheduling


 To learn risk management techniques

7
Course Outcome

Students who complete this course will be able to

 Design a component or a product applying all the relevant standards and


with realistic constraints.
 Use techniques, skills, and modern Engineering tools necessary for
engineering practices.

8
Text & References
 Mike Cotterell, Bob Hughes, Rajib Mall - Software Project Management –
Tata McGrawHill, Fifth Edition-2011.

 Greg Horine-Project Management Absolute Beginner's Guide, 3rd edition,


Que Publishing, 2012.

9
MODULE-I
INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT
INTRODUCTION TO SOFTWARE PROJECT
MANAGEMENT

MODULE-I
Introduction to software project management: Importance of Software Project
Management – Activities – Methodologies – Categorization of Software Projects –
Setting objectives – Management Principles – Management Control – Project
portfolio Management – Cost-benefit evaluation technology – Risk evaluation –
Strategic program Management – Stepwise Project Planning.
What is software project management
Before getting into it first we must know what is Project
• A project is a series of tasks that is carefully planned to achieve a particular
outcome. Projects can range from simple to complex and can be managed by
either an individual or a team. A project is defined as a planned undertaking of a
series of activities in the beginning to achieve the desired goals.
Characteristics of a project
1. Every project may have a unique and distinct goal.
2. The project is not a routine activity or day-to-day operation.
3. The project comes with a start time and an end time.
4. Project ends when its goal is achieved hence it is a temporary phase in the
lifetime of an organization.
5. The project needs adequate resources in terms of time, manpower, finance,
material, and knowledge bank.
• What is software project management?

• Software Project Management (SPM) is a discipline that


involves planning, organizing, and overseeing the
development, testing, and maintenance of software
systems. It encompasses a set of activities and tasks
that are designed to ensure the successful completion
of a software project within specified constraints such as
time, budget, and scope. The primary goal of software
project management is to deliver high-quality software
products that meet or exceed customer expectations.
• Software Project management is a specialized discipline
that involves planning, executing, and controlling
projects to achieve specific goals and objectives within
a predetermined timeline and budget. Software Project
management will continue to be a critical aspect of
many industries and organizations, with the demand for
skilled project managers expected to increase
significantly.
• It is a procedure of managing, allocating, and timing
resources to develop computer software that fulfills
requirements.
Some Statistics showing the need for
SPM
• The global market for project management software alone is
estimated to reach $4.7 billion by 2024, a significant jump from
2020’s total of $3.5 billion.
• General project management statistics and facts suggest that
project management software will grow at a CAGR of 10.67% and
will be worth $10 billion by 2026.
• According to PMI’s(Project managemet
institute) most recent Talent Gap report, 2.3 million people will
be needed each year to fill project management positions. Only
23% of organizations use project management software,
indicating significant future growth potential.
• According to the Project Management Institute, the global
economy will require 87.7 million project management roles by
2027.
• It is estimated that 44% of all managers believe project management
software is unimportant.
• The undervaluation of project management leads to 67% of projects failing.
• The most common causes of project failures are poor planning, lack of
communication, and unclear goals or objectives to measure progress (37%).
• Poor communication (19%) ends up working at cross-purposes.
• Approximately 43% of companies reported that their projects are completed
within the budget “most of the time” or “always.”
• Effective budget planning is linked to project success. Organizations that
invest in project management save 28 times as much money as those that
don’t.
• Companies are expected to invest more in project management. The global
project management software market is expected to reach $15.08 billion,
growing at a CAGR of 10.68% by 2030.
• Companies like google, Linkedin, PMI, Coursera, IIM, SAP, and many more.
Here are some key aspects of Software Project Management:

[Link]: This involves defining the scope of the project,


setting goals and objectives, estimating resources, and creating a
schedule. Planning also includes risk assessment and
management to identify potential issues that may arise during
the project.
[Link]: This involves putting together a team of skilled
individuals, assigning roles and responsibilities, and establishing
communication channels. Organizing also includes creating a
development environment and setting up tools and processes.
3. Controlling: This involves monitoring and controlling the
project throughout its lifecycle. It includes tracking progress
against the plan, managing changes, and making adjustments
as necessary. Controlling also involves addressing risks and
issues to ensure the project stays on course.
4. Executing: This is the phase where the actual development of
the software takes place. It involves coding, testing,
integration, and other activities required to produce the final
product.
5. Closing: This phase involves delivering the completed software
product to the customer, obtaining feedback, and conducting a
post-project review to identify lessons learned and areas for
improvement.
Why we use Software Project Management:
[Link] Resource Utilization: SPM helps in the efficient allocation
and utilization of resources, including human resources, time, and
budget.
[Link] Management: SPM allows for the identification, assessment, and
management of risks throughout the project lifecycle, reducing the
chances of project failure.
[Link] Assurance: By defining processes and standards, SPM helps
ensure the development of a high-quality software product that meets
customer requirements.
[Link] and Cost Control: SPM enables the establishment of realistic
schedules and budgets, and provides mechanisms to monitor and control
progress, helping to deliver the project on time and within budget.
[Link] and Collaboration: SPM emphasizes communication
and collaboration among team members and stakeholders, fostering a
transparent and productive working environment.
6. Adaptability to Change: The field of software development is
dynamic, and changes in requirements or technology are common. SPM
methodologies, such as Agile, focus on adaptability and responsiveness
to changes, ensuring the project remains aligned with evolving needs.
7. Strategic Alignment: SPM aligns software projects with
organizational objectives. It ensures that projects contribute to the
overall goals of the business, making them more strategically valuable.
8. Career Advancement: Individuals with a strong understanding of SPM
principles are better positioned for career advancement, especially in
roles related to project management, team leadership, and software
development oversight.
9. Customer Satisfaction: SPM emphasizes understanding and meeting
customer requirements. Satisfied customers are more likely to continue
business relationships and recommend services, contributing to the
overall success of an organization.
• Where we use Software Project Management:
[Link] Development Companies: SPM is widely used in companies
that specialize in software development to manage projects and deliver
software products to clients.
[Link]-House IT Departments: Organizations with in-house IT departments
use SPM to manage the development of custom software solutions to
meet specific business needs.
[Link] Agencies: Government agencies often undertake software
projects for various purposes, and SPM helps them in planning, executing,
and controlling these projects.
[Link]-Profit Organizations: Non-profit organizations may use SPM to
manage the development of software solutions that support their mission
and operations.
[Link] and Academic Institutions: SPM is also relevant in
academic and research institutions where software projects are
conducted to advance knowledge and develop innovative solutions.
• Let's consider an example of software project management in the
context of developing a mobile application. The project involves
creating a mobile app for a fictional company called "TechCo"
that wants to launch a new e-commerce platform.
1. Project Planning:
• Objective: Develop and launch a mobile e-commerce app for
TechCo within six months.
• Scope: The app will include features such as product browsing,
user authentication, shopping cart, and payment processing.
• Resources: A project team consisting of developers, designers,
QA testers, and a project manager. Tools such as project
management software and version control systems will be used.
2. Organizing:
• A project manager is assigned to lead the team.
• Developers are organized into sub-teams responsible for different
modules (frontend, backend, authentication, etc.).
• Designers work on the user interface and user experience.
• QA testers focus on testing and quality assurance.
• Regular communication channels, such as daily stand-up
meetings and a shared collaboration platform, are established.
3. Controlling:
• Progress is monitored through the project management software, tracking
tasks, and milestones.
• Regular status meetings are held to address any issues and assess
whether the project is on track.
• Changes to the scope are documented and evaluated for their impact on
the schedule and budget.
4. Executing:
• Development activities commence, with the frontend team working on the
user interface and the backend team handling the server-side logic.
• Designers create wireframes and design mockups for review and approval.
• QA testers start writing test cases and conducting testing as features are
completed.
• The project manager oversees the coordination of activities and addresses
any obstacles.
5. Closing:
• The completed mobile app undergoes a final round of testing.
• The app is deployed to an app store, and marketing efforts begin
for the launch.
• TechCo receives feedback from users after the app is released,
and updates are planned based on the feedback.
• A post-project review is conducted to evaluate what went well,
what could be improved, and to document lessons learned for
future projects.
Difference between s/w Engineering
and SPM
• Software Project Management (SPM):
• Software Project Management is the discipline of planning,
organizing, and managing resources to bring about the
successful completion of software development projects. It
involves tasks like project planning, resource allocation, progress
monitoring, and risk management.
• Example: Imagine you're tasked with developing a mobile app
for a food delivery service. In the realm of Software Project
Management:
• Planning: You define the project scope, set goals, and create a
timeline for development.
• Organizing: You assemble a project team, assign roles
(developers, designers, testers), and establish communication
channels.
• Controlling: You monitor the development progress, track tasks,
and address any issues that may arise during the project.
• Executing: The actual development of the mobile app takes
place, following the plan and schedule.
• Closing: The completed app undergoes testing, deployment, and
the project is closed when the app is successfully launched.
• Software Engineering:
• Definition: Software Engineering is the systematic application of
engineering principles and methods to create software. It
involves designing, coding, testing, and maintaining software
systems with a focus on delivering a reliable, maintainable, and
efficient solution.
• Example: Continuing with the food delivery app example, in the
realm of Software Engineering:
• Requirements Analysis: You gather and analyze requirements
for the app, such as user features, order processing, and
payment functionalities.
• Design: Based on the requirements, you create a detailed design
for the app's architecture, user interface, and database structure.
• Implementation (Coding): Developers write the actual code for
the mobile app, following the design specifications.
• Testing: QA testers conduct various tests to ensure the app
functions correctly, catching and fixing any bugs.
• Maintenance: After the app is launched, ongoing maintenance
is required to address issues, implement updates, and add new
features.
• Key Differences:
[Link]:
SPM: Focuses on managing the project as a whole, ensuring it is
delivered on time, within budget, and meets stakeholder
expectations.
Software Engineering: Focuses on the technical aspects of
software development, emphasizing the design, coding, testing,
and maintenance of the software.
[Link]:
SPM: Involves roles like project managers, coordinators, and
planners who are responsible for organizing and managing
resources.
Software Engineering: Involves roles like software developers,
designers, and testers who are responsible for the actual creation
and quality of the software.
3. Activities:
SPM: Involves activities related to project planning, risk
management, communication, and coordination.
Software Engineering: Involves activities related to the
technical aspects of software development, including coding,
testing, and maintenance.
• In short, Software Project Management focuses on the successful
delivery of a software project, ensuring it aligns with the defined
goals and constraints. Software Engineering, on the other hand,
focuses on the technical aspects of designing, coding, and
maintaining the software system. Both are essential for the
overall success of a software development endeavor.
Activities of SPM

• Software Project Management consists of many activities,


including planning of the project, deciding the scope of the
product, estimation of cost in different terms, scheduling of tasks,
etc.
• The list of activities are as follows:
[Link] Planning and Tracking
[Link] Resource Management
[Link] Management
[Link] Management
[Link] Risk Management
[Link] Management
[Link] Communication Management
[Link] Management
1. Project Planning and Tracking:
• Involves defining the project, setting goals, and creating a
roadmap for how the project will be executed.
• Example: If a software company is planning to develop a new
mobile application, project planning would involve defining the
features, setting milestones, and creating a timeline for
development.
2. Project Resource Management:
• Ensures that the necessary resources (human, financial,
equipment) are available and allocated effectively for project
success.
• Example: If the mobile application project requires specific
programming skills, resource management would involve
identifying and assigning skilled developers to the project.
3. Scope Management:
Involves defining and controlling what is and is not included in
the project.
Example: If the mobile application is initially planned to have
basic features but the client requests additional functionalities,
scope management helps in evaluating the impact on the
project timeline and budget.
4. Estimation Management:
Involves estimating the time, effort, and costs required for
various project activities.
Example: If the mobile application project involves developing
specific features, estimation management would include
estimating the time required for coding, testing, and debugging
each feature.
5. Project Risk Management:
Identifying potential risks to the project and implementing
strategies to mitigate or manage those risks.
Example: A risk could be a key developer leaving the project
unexpectedly. Risk management would involve having
contingency plans, such as having documentation well-
maintained and having another developer familiar with the
code.
6. Scheduling Management:
Creating and maintaining a project schedule, which includes
timelines and deadlines for various project tasks.
Example: If the mobile application project has a deadline to be
launched in six months, scheduling management involves
breaking down tasks, setting milestones, and ensuring that the
development team adheres to the timeline.
7. Project Communication Management:
Involves establishing effective communication channels and
ensuring that relevant information is shared among project
stakeholders.
Example: Regular team meetings, progress reports, and status
updates to keep everyone involved in the mobile application
project informed about the current status, issues, and future
plans.
8. Configuration Management:
Involves managing changes to the project's scope, functionality,
and structure in a systematic way.
Example: If there are updates or changes to the mobile
application's features, configuration management ensures that
these changes are documented, tracked, and implemented in a
controlled manner.
Project Management Methodologies

• A project management methodology is a set of tools and


guidelines that help you organize projects in a way that optimizes
efficiency and performance.

More specifically, a given project management method helps you


more easily manage a project by providing a repeatable series of
steps and principles. The goal of any framework is to promote
collaboration, increase operational efficiency, keep the project on
budget, and enhance the quality of the final deliverable.
• There are many SPM methodizes few are listed here
1. Waterfall Model
2. Agile Model
3. Scrum
4. Kanban
5. Lean Software Development
6. DevOps
(I). Waterfall Methodology:
• In the waterfall methodology, the project is divided into distinct phases,
and each phase must be completed before moving on to the next.
• Alternatively referred to as the software development life cycle (SDLC),
the Waterfall method is a linear approach to project management. In
this methodology, each phase of work “cascades” into the next.
• When using this approach, project managers connect each task to the
previous one with a dependency, meaning teams can’t move on to the
next piece of work unless they’ve addressed outstanding tasks. This
approach promotes collaboration and ensures that the team stays
focused on the task at hand.

• Example: Imagine building a house. First, you design the blueprint,


then you lay the foundation, build the walls, install plumbing and
wiring, and finish with interior decoration. Each step is sequential.
• Waterfall is like following a recipe step by step. Each phase of your
project is like a cooking step, and you finish one before moving on to
the next. Once a step is complete, it's set in stone, and you don't go
back.
• Example: Imagine you're planning a grand birthday party for your
friend. In the Waterfall method:
[Link] (Blueprint):
1. First, you sit down and figure out all the details - the theme, the
guest list, the decorations, and the menu. This is like creating a
blueprint for your party. Once you've decided on everything, you
move to the next step.
[Link] (Foundation):
1. Now that you know what you want, you start designing the
foundation of your party. This involves choosing a venue, setting
the date, and arranging for catering. It's like laying the foundation
of a house. Once the design is set, you move on.
3. Implementation (Building Walls):
1. With the foundation in place, you start building the walls. This is where you send
out invitations, hire a DJ, and arrange for entertainment. Everything starts taking
shape, just like the walls of a house coming up. Once invitations are sent, you can't
go back and change them.
4. Testing (Plumbing and Wiring):
2. After the walls are up, you test everything. Is the DJ playing the right music? Is the
catering up to the mark? This is like checking the plumbing and wiring in a house. If
there's a problem, it's challenging to go back and fix without affecting everything
else.
5. Deployment (Interior Decoration):
3. Finally, it's time for the grand reveal - the party itself! This is like finishing the
house with interior decoration. Everything has been planned and executed step by
step, and now it's time to enjoy the result.
Sequential Process:
• The key here is that each step is sequential. You can't start decorating before the walls
are up, and you can't test things until the walls are built. It's a structured and linear
process, like going through a recipe one step at a time without jumping back and forth.
(II). Agile Methodology:
• Agile(Able to move quickly) is a flexible and iterative approach
where the project is divided into small increments, and each
increment is developed and tested in short cycles, called
iterations or sprints.
• The Agile methodology is one of the most commonly used project
management frameworks, surpassing even Waterfall in
popularity. However, it isn’t actually a formal methodology but a
principle that focuses on speed, agility, collaboration, and
iterative processes.
• Example: Developing a software application in iterations. After
each sprint (say, two weeks), a functional part of the software is
delivered and can be tested, allowing for continuous
improvement.
• Agile is like building with LEGO blocks. Instead of trying to
construct the entire thing at once, you work on smaller pieces
and continuously improve them. It's a flexible and iterative
approach, meaning you don't have to decide everything upfront,
and you can make changes as you go.

• Example: Imagine you're making a video game, let's call it


"Adventure Quest." In traditional methods, you'd plan every
detail of the game upfront and then build it all at once, hoping
everything fits together perfectly. But with Agile, you take a
different approach.
(III). Sprints (Iterations): Picture each part of the game as a
LEGO block. Instead of building the whole game in one go, you
focus on one small section at a time. These are called "sprints,"
and they're like two-week building sessions.
(1)Continuous Improvement: After each two-week sprint, you
have a playable version of that small part of the game. Maybe it's
just the character moving or a simple level. You test it out and
make improvements based on feedback. This is like building,
testing, and refining one LEGO section at a time.
2. Flexibility: If you decide the character needs a cool new ability
or a different look, you can easily make those changes before
moving on to the next sprint. It's like realizing you want a different
color for your LEGO castle walls and swapping them out without
taking the whole thing apart.
3. Adapting to Feedback: Let's say players love a certain
feature - you can make more of it! If something isn't working well,
you can adjust it in the next sprint. It's like shaping your Adventure
Quest world based on what the players enjoy.
• So, Agile is all about taking your time, building a bit at a time,
and making improvements as you go along. It's like creating a
fantastic LEGO world where each part is tested and improved
before connecting it to the next, resulting in a better and more
enjoyable game.
(III) Scrum
• Scrum is an Agile framework (which means that Scrum is a
specific approach to project management and product
development that falls under the broader category of Agile
methodologies. In the context of software development and
project management, "Agile" is an umbrella term for a set of
principles and practices that prioritize flexibility, collaboration,
and customer satisfaction.) It emphasizes collaboration,
accountability, and iterative progress. It uses fixed-length
iterations called sprints.
• "Scrum" is a specific methodology or framework that aligns with
the Agile principles. It provides a structured way to implement
Agile practices in a project. Scrum focuses on iterative and
incremental development, with an emphasis on collaboration,
adaptability, and delivering value to the customer.
• Example: A software development team using Scrum might
have a two-week sprint where they plan, develop, test, and
deliver a small piece of functionality.
Lean project management methodology
• The Lean project management methodology prioritizes eliminating waste via its
simple framework.
• Under the traditional Lean methodology popularized by Motorola and Toyota,
“waste” referred to physical materials. Today, waste refers to any practice that
consumes resources but doesn’t add value, any task that over-taxes existing
resources (including team members), or overproduction in general.
• key principles of Lean project management with an easy example:
[Link]:
Identify what customers truly value in the product or service.
Example: Imagine a software development project to create a new mobile app.
Customers may value features like a user-friendly interface, fast performance,
and secure transactions.
[Link] Stream Mapping (VSM):
Visualize and understand the entire process from idea to delivery, eliminating
steps that don't add value.
Example: In the mobile app development project, the value stream may include
planning, coding, testing, and deployment. Value stream mapping helps identify
and remove unnecessary steps, like excessive documentation.
3. Pull System:
Work is pulled based on actual demand, avoiding overproduction.
Example: Instead of starting work on multiple app features simultaneously, the
team pulls in new tasks as they complete existing ones. This helps maintain a
steady workflow, reduce multitasking, and ensures work aligns with customer
priorities.

4. Kanban:
Visualize work on a Kanban board, limit work in progress, and improve flow.
Example: Use a physical or digital Kanban board to represent tasks like "To Do," "In
Progress," and "Done." Limiting the number of tasks in progress helps the team
focus on completing work before taking on new tasks.
5. Continuous Improvement (Kaizen):
Foster a culture of continuous improvement by regularly assessing and refining
processes.
Example: After each app release, the development team holds a retrospective to
discuss what worked well and what could be improved. They then implement
changes in the next iteration.
6. Lean Leadership:
Empower and support teams, promote a culture of collaboration
and continuous learning.
Example: Leadership encourages teams to experiment, learn
from failures, and share knowledge. They provide resources and
support to help teams succeed.
7. Eliminate Waste:
Identify and eliminate activities that don't add value to the
customer.
Example: Streamlining the app development process by
reducing unnecessary meetings, documentation, or redundant
code helps eliminate waste.
Kanban Methodology

• The kanban methodology is a visual approach to project


management. The name is literally billboard in Japanese. It helps
manage workflow by placing tasks on a kanban board where
workflow and progress are clear to all team members. The kanban
methodology helps reduce inefficiencies and is a great project
management tool for many purposes such as lean manufacturing
or agile projects.
• Kanban project management has been around since the late
1940s when it was studied by Toyota used the rate of demand to
control the rate of production of its vehicles. The car company
applied it to its lean manufacturing model, known as the Toyota
production system.
ProjectManager’s kanban board template for Excel.
• When to use it: Another process developed initially for
manufacturing and for software teams, the kanban method has
since expanded and has been used in human resources,
marketing, organizational strategy, executive process and
accounts receivable and payable. Almost anyone can plan with
Kanban boards, adding cards to represent project phases, task
deadlines, people, ideas and more. Kanban software makes this
methodology especially accessible.
DevOps
• A set of practices that aim to automate and integrate the
processes of software development and IT operations.
• DevOps is like a teamwork philosophy for building and delivering
software. It's not just about developers writing code and
operations teams running it on servers; it's about them working
closely together to make everything smoother.

• Why is it important? Imagine making a pizza. Developers are


like the chefs creating the recipe (code), and operations are like
the delivery folks bringing the pizza to your door (putting the
code into action on servers). DevOps is like having the chefs and
delivery folks in the same kitchen, talking, and working together
to make sure the pizza (software) is perfect and reaches you
quickly.
• What do they do in DevOps?
[Link] Integration (CI): It's like making sure every chef's
ingredient goes well together. Developers often write small bits of
code, and CI helps combine these bits frequently. This helps
catch mistakes early.
[Link] Delivery (CD): After cooking up some code,
DevOps wants to deliver it to you ASAP. CD is like the delivery
folks making sure the pizza is ready to go at any time.
[Link] Testing: Before sending the pizza to your door,
they want to be sure it's delicious. Automated testing is like
tasting the pizza automatically to make sure everything is perfect
and it won't give you any surprises.
• Why all this collaboration?
[Link] Delivery: Working together means they can make and
deliver the pizza (software) much faster.
[Link] Mistakes: By talking and working together, they catch
problems early and fix them before they reach you.
[Link] Customers: You get your pizza (software) quickly, and
it's always tasty and bug-free.
Rapid Application Development (RAD)

• A method that prioritizes rapid prototyping and quick feedback,


often involving end-users throughout the development process.
• Example: A RAD project might involve creating prototypes
quickly, getting feedback from users, and iterating rapidly to
deliver a solution.
Categorization of Software Projects

• Projects are often categorized on the basis of their scope, size,


speed of implementation, location, type, and technology.
(i). Scope and Significance :
The projects are generally classified on the basis of coverage and magnitude of
their operations. So on the basis of scope projects can be National or
International.
[Link] –
There are also projects that are undertaken either by the government itself or
assigned to private entrepreneurs in a country. In a country like India Public
and Private sectors coexist to undertake major and minor projects.
Government projects and private projects operate in vastly different
environments, associated with different advantages and disadvantages. The
only purpose of the National Project is the growth and development of the
economy and the maintenance of existing standards of living.
[Link] –
The projects which are embarked on by “Foreign investors” either by
establishing a solitary or a branch of their unit or by mere participation in the
equity of any domestic company are called International Projects. These can
be in the form of joint ventures, MNC’s, and collaborations between two
companies.
(II).Type
:
According to the type, projects can be industrial and non-industrial.
[Link] –
These are those projects which are undertaken with a view to
developing the economy. Ex: Establishment of manufacturing unit
for defence equipments.
[Link]-Industrial –
These projects can be related to the welfare and maintenance of
a standard of living in an economy. : Developing a E-Learning
Platform
(III). Level of Technology :

Technology plays a significant role in managing projects. Projects


can be sub-divided into four categories on the basis of technology.
These are as follows.
• Conventional Technology Projects –
These are the projects which use acquainted and known
technology in the continuous process. e.g. steel, cement, sugar,
chemicals, and fertilizers, etc.
• Non-Conventional Technology –
Such kinds of projects apply if not the latest at least
contemporary mode technology e.g. projects using solar energy
• High-Tech Project –
Huge investments are made in technology in these types of
projects, e.g., space projects, nuclear power projects, etc.
• Low Investment Projects –
These types of projects demand low investment in technology
e.g., cosmetics and household utilities, etc.
(IV). Size and Scale of Operations :

On the basis of size and scale of operations, projects can be large


scale, medium scale, and small scale.
• Small Scale Projects –
These are the projects which can be completed within a time
period of 1-2 years and with investment below Rs. 5 crores.
• Medium Scale Projects –
These are the projects which can be completed within a time
period of 2-5 years and with investment between Rs. 5 to Rs. 10
crores.
• Large Scale Projects –
These are the projects which can be completed within a time
period of 5-10 years and with investment over and above Rs. 100
crores.
(V). Ownership and Control :

Projects can be divided into 3 categories according to their


governance.
• Public Sector Projects –
These are fully owned and controlled by the government e.g.,
generating power and extracting minerals, etc.
• Private Sector Projects –
These are fully owned by individuals and companies e.g.,
newspapers and magazines, etc.
• Joint Sector Projects –
These projects are run and controlled by both government and
private individuals are under this category.
(VI). Speed of Implementation :
According to the speed of implementation, projects can be normal,
crash, and disaster projects.
• Normal Projects –
In this category, an adequate time is allowed for implementation.
It requires minimal capital costs.
• Crash Projects –
In this category, additional capital is incurred to save time.
• Disaster Projects –
In this category, naturally capital cost will go up, but project time
will get drastically reduced. Failure of quality is accepted.
(VII). Purpose :

There is always a purpose for everything. So, the projects are


classified according to purpose as follows.
• Rehabilitation Projects –
These projects are undertaken by financially sound investing
groups to service sick units. It is very risky and success is very
low in such projects.
• EX: A group of investors might decide to invest in a
manufacturing plant that has been facing financial difficulties.
The rehabilitation project would involve injecting capital,
restructuring the management, and implementing new strategies
to bring the plant back to profitability.
• Balancing Projects –
These are undertaken to cope with changes in the supply side of
economies of factors of production, to eliminate the underutilization of
the actual capacities, and enhance efficiency and effectiveness.
• EX: An automobile manufacturing company observes a change in
market demand towards electric vehicles. To balance its production
capabilities, it initiates a balancing project to reconfigure its production
lines, train its workforce in electric vehicle manufacturing, and ensure
optimal utilization of resources.
• Maintenance Projects –
These projects involve overhauling the machinery, repairs, and
patching up activities at regular intervals.
• EX: A power generation plant schedules a maintenance project to
inspect, clean, and repair its turbines. This regular maintenance
ensures the reliability of the turbines, prevents unexpected
breakdowns, and extends the lifespan of the equipment.
• Modernization Projects –
Modernization of old plants is required to cope with the dynamic
environment.
• EX: An outdated manufacturing facility decides to undergo a
modernization project to implement state-of-the-art technology,
automate production processes, and improve energy efficiency. This
modernization helps the plant stay competitive and aligned with
industry standards.
(VIII). Others :
Some other types of projects are as follows.
[Link] Expansion Projects –
This involves enlarging the existing capacity of the products.
[Link] Welfare Project –
The objective of such projects is to install infrastructural facilities for
improving working conditions and labor relations as well as to develop
the skills of the staff.
SETTING OBJECTIVES IN SPM
• To develop a successful project, the project manager and the team members
must be aware of the factors that lead them to success. There must be well-
defined objectives accepted by all the people involved in the development
process. A project authority must be identified to have an overall authority over
the project. This authority is governed by a project steering committee also called
as a project management board. Day–to-day activities must be reported to the
steering committee by the project manager at regular intervals. Any changes to
the defined objectives can be done only by the steering committee.
• The objectives are as follows

1. Specific: The project objectives should be specific and clearly defined, leaving no
room for ambiguity or misunderstanding. Measurable: measures of effectiveness.
Example in Software Project Management:
• Non-Specific: Improve the software.
• Specific: Implement a new feature that allows users to reset their passwords via
email verification.
2. Measurable: There should be clear measures or metrics to assess the progress and
success of the project.

• Non-Measurable: Enhance user interface.


• Measurable: Increase user satisfaction scores by 20% through a redesigned user
interface.


3. Achievable: The goals should be realistic and attainable,
considering the resources, skills, and capabilities available.
• Unachievable: Develop a complex AI system with limited
resources.
• Achievable: Implement a basic recommendation system
leveraging existing libraries and resources.
4. Relevant: The project goals should align with the overall
objectives of the organization, contributing to its success.

• Irrelevant: Develop a gaming app for a company focused on


financial software.
• Relevant: Enhance the existing financial software to provide
real-time analytics.
• Example B: Software Development Project Timeline
[Link]:
Develop and launch a new version of the software within three
months.
The objective outlines a specific outcome - the development
and launch of a new software version - providing clarity to the
team.
[Link]:
Track progress using a project management tool and ensure
completion by the set deadline.
Progress can be measured using a project management tool
that displays tasks, milestones, and deadlines. This ensures
that the team stays on track and achieves the measurable goal
of completing the project within three months.
3. Attainable:
Given the complexity of the software, allocate sufficient
resources and utilize an agile development approach to achieve
the three-month timeline.
The objective takes into consideration the complexity of the
software, and by allocating appropriate resources and
employing an agile development approach, it becomes an
attainable goal.
4. Relevant:
Enhance user experience by incorporating customer feedback
into the new software version.
The objective emphasizes the relevance of the project by
connecting it to customer satisfaction and the improvement of
user experience, which aligns with the company's focus on
customer-centric software development.
• Time-oriented: The goals should have a clear time frame or
deadline for successful completion.
• Non-Time-oriented: Improve software security.
• Time-oriented: Implement a software security update within the
next three months.
5. Time-bound:
Complete the software development project within three months.
The objective sets a specific timeframe for the project, indicating
that the software development project must be completed within
three months from the start date.
• Example :
• The team will remain under a budget of 5,000 as they complete
the marketing campaign set to launch on the 30th day of the
month.

• Specific: Spend under 5,000 to complete the marketing project


• Measurable: Can be measured by tracking expenses on a
shared document
• Attainable: Because this is a recurring project, we know that it
usually costs 4899, so this is achievable
• Relevant: The marketing campaign supports larger company
goals of brand visibility
• Time-bound: The project will begin on the first of the month and
end on the 30th day of the same month. explain the above in
Management Principles in SPM
1. Division of Work
• According to this principle the whole work is divided into small tasks. The
specialization of the workforce according to the skills of a person , creating
specific personal and professional development within the labor force and
therefore increasing productivity; leads to specialization which increases the
efficiency of labor.

2. Authority and Responsibility –


• This is the issue of commands followed by responsibility for their consequences.
Authority means the right of a superior to give enhance order to his
subordinates; responsibility means obligation for performance.
3. Discipline –
It is obedience, proper conduct in relation to others, respect for authority, etc. It is
essential for the smooth functioning of all organizations.

4. Unity of Command –
This principle states that each subordinate should receive orders and be
accountable to one and only one superior. If an employee receives orders from
more than one superior, it is likely to create confusion and conflict.

5. Unity of Direction –
All related activities should be put under one group, there should be one plan of
action for them, and they should be under the control of one manager.
6. Subordination of Individual Interest to Mutual Interest –
• The management must put aside personal considerations and put company
objectives first. Therefore the interests of goals of the organization must prevail
over the personal interests of individuals.

7. Remuneration –
Workers must be paid sufficiently as this is a chief motivation of employees and
therefore greatly influences productivity. The quantum and methods of
remuneration payable should be fair, reasonable, and rewarding of effort
8. The Degree of Centralization –
The amount of power wielded by the central management depends on company size.
Centralization implies the concentration of decision-making authority at the top
management.

9. Line of Authority/Scalar Chain –


This refers to the chain of superiors ranging from top management to the lowest rank.
The principle suggests that there should be a clear line of authority from top to
bottom linking all managers at all levels.

10. Order –
Social order ensures the fluid operation of a company through authoritative
procedures. Material order ensures safety and efficiency in the workplace. Orders
should be acceptable and under the rules of the company.
11. Equity –
Employees must be treated kindly, and justice must be enacted to ensure a just workplace.
Managers should be fair and impartial when dealing with employees, giving equal attention
to all employees.

12. Stability of Tenure of Personnel –


Stability of tenure of personnel is a principle stating that in order for an organization to run
smoothly, personnel (especially managerial personnel) must not frequently enter and exit
the organization.

13. Initiative –
Using the initiative of employees can add strength and new ideas to an organization.
Initiative on the part of employees is a source of strength for the organization because it
provides new and better ideas. Employees are likely to take greater interest in the
functioning of the organization.
14. Team Spirit –
This refers to the need for managers to ensure and develop morale in the
workplace; individually and communally. Team spirit helps develop an atmosphere
of mutual trust and understanding. Team spirit helps to finish the task on time
MANAGEMENT CONTROL in SPM
• Following are the types of Management control in SPM

1. Structures:
Organizational structures define the hierarchy, roles, and
relationships within a software development team. It
encompasses authority, roles, accountability, responsibility, and
the separation of concerns.
Example: In a software project, an organizational structure
might include roles like project manager, software developers,
testers, and system analysts. Each role has specific
responsibilities, and the project manager holds the overall
authority for project decision-making.
2. Objectives:
• Objectives in software project management involve setting clear and
measurable goals for the project, such as deadlines, feature completion,
or quality standards.
• Example: An objective for a software project could be to release a new
version of the application within a specific time frame, ensuring that all
critical features are implemented and thoroughly tested.
3. Performance Management:
• Performance management in software project management involves
evaluating and guiding team members to ensure they meet project
goals and expectations.
• Example: Regular performance reviews assess individual contributions
to the project. If a developer consistently meets or exceeds coding
standards, delivers tasks on time, and collaborates effectively, they are
recognized and rewarded accordingly.
4. Task Assignment:
Task assignment involves allocating specific tasks to individuals
or teams based on their skills and expertise.
Example: In a software project, the project manager assigns
coding tasks to developers, testing responsibilities to the testing
team, and documentation tasks to technical writers. This ensures
a focused and organized approach to project completion.
5. Setting Expectations:
Clearly defining expectations helps in aligning team members
with project goals, deadlines, and quality standards.
Example: Before starting a new project phase, the project
manager communicates the expected outcomes, timelines, and
quality standards to the team. This helps manage expectations
and ensures everyone is on the same page.
6. Supervision:
Supervision involves overseeing the work of team members to
ensure it aligns with project requirements and standards.
Example: A project manager may supervise the development
team by conducting regular check-ins, reviewing code, and
providing guidance. This helps maintain consistency and quality
throughout the project.
7. Measurements:
Measurements involve quantifying project progress, quality, and
other relevant metrics.
Example: Using metrics such as code coverage, bug density,
and velocity can provide insights into the progress and quality of
a software project. For instance, tracking the number of resolved
bugs over time helps evaluate the effectiveness of the testing
process.
8. Monitoring:
• Monitoring involves observing project activities to identify
deviations from the plan and take corrective actions.
• Example: Continuous monitoring of the project timeline, budget,
and the completion of milestones allows the project manager to
identify potential issues early. If a team is falling behind
schedule, adjustments can be made to ensure project success.
Project portfolio Management in SPM
• Project Portfolio Management (PPM) is a strategic approach to
managing and organizing a collection of projects, programs, and
initiatives within an organization. In software project management, PPM
involves selecting and prioritizing software projects to align with the
organization's strategic goals and resource constraints. PPM provides a
holistic view of the organization's project landscape, allowing for
effective decision-making, resource allocation, and risk management.
• Key Components of Project Portfolio Management
1. Project Selection:
• Choosing the right projects that align with the organization's strategic
objectives and contribute the most value.
• Example: An organization may have several potential software
projects, including upgrading an existing system, developing a new
application, or implementing cybersecurity measures. PPM helps in
evaluating these projects based on factors like ROI, strategic fit, and
resource availability.
2. Prioritization:
• Ranking and prioritizing projects based on their importance,
urgency, and alignment with organizational goals.
• Example: If an organization aims to enhance customer
experience, a software project focused on improving the user
interface of a customer-facing application might be given higher
priority than an internal system maintenance project.
3. Resource Allocation:
• Efficiently distributing resources, including human resources,
budget, and technology, across different projects.
• Example: PPM helps in ensuring that the limited resources
available, such as skilled developers or specific technologies, are
allocated to projects where they can have the greatest impact.
4. Risk Management:
Identifying and managing risks associated with each project to
minimize potential negative impacts on the overall portfolio.
Example: If a software project has dependencies on external
APIs or third-party components, PPM would involve assessing
the risks associated with potential API changes, service
disruptions, or security vulnerabilities.
5. Performance Monitoring:
Regularly assessing the progress and performance of each
project within the portfolio.
Example: PPM involves tracking key performance indicators
(KPIs) for software projects, such as project timelines, budget
adherence, and quality metrics. This monitoring ensures that
projects stay on track and deviations are addressed promptly.
6. Strategic Alignment:
Ensuring that every project in the portfolio aligns with the
overarching business strategy and goals.
Example: If an organization's strategic goal is to expand into
new markets, PPM would prioritize software projects that
support this expansion, such as developing multilingual support
in existing applications or creating region-specific versions of a
software product.
7. Portfolio Review and Adaptation:
Periodically reviewing the portfolio, adapting priorities, and
making strategic adjustments based on changes in the business
environment.
Example: If market conditions change, a PPM review might
lead to reprioritizing projects or even discontinuing projects that
no longer align with the organization's goals.
• Benefits of Project Portfolio Management

[Link] Resource Utilization:


PPM helps organizations allocate resources efficiently, avoiding
overloading teams or technologies.
[Link] Alignment:
Ensures that every software project contributes to the
achievement of the organization's strategic objectives.
[Link] Mitigation:
Identifies and addresses risks at the portfolio level, minimizing
the impact of potential issues on individual projects.
4. Improved Decision-Making:
[Link] a comprehensive view for decision-makers, enabling
them to make informed choices about project selection and
prioritization.
5. Enhanced Visibility:
[Link] transparency into the status and performance of each
project, facilitating better overall portfolio management.
COST BENEFIT EVALUATION TECHNOLOGY

• Cost-Benefit Evaluation Technology in software project


management involves a systematic analysis of the potential costs
and benefits associated with a software development project.
This evaluation is crucial for decision-making processes, helping
project managers and stakeholders determine the viability and
overall value of the project. Here's an overview of key aspects
related to cost-benefit evaluation technology in software project
management:
• Net profit
• Payback period
• Return on Investment
• Net Present Value
• Internal Rate of Return
1. Net Profit:
• The difference between the total costs and the total income over the life of the project is
calculated as net profit.
• Net profits do not involve the timing of the cash flows. When there are many projects, the
net profit of preferable projects is based on selection criteria.
• Net profit is a straightforward measure of the financial gain or loss
resulting from a software project. It is calculated by subtracting the total
costs from the total benefits.
• Formula: Net Profit = Total Benefits - Total Costs
• Example: If a software project incurs total costs of $200,000 and
generates total benefits of $300,000, the net profit would be $300,000 -
$200,000 = $100,000.
• Pros: Easy to calculate
• Concern: Does not show profit relative to the size of the investment
• Does not consider the timing of payment
2. Payback Period
• The time taken to break even or pay back the initial investment is the payback period. The
project with the shortest payback period will be taken based on organizations that wish to
minimize the time limit.
• The payback period is simple to calculate but sensitive to forecasting errors.
• The limitation of the payback period is that it ignores the overall profitability of the project
• The payback period is the time it takes for the cumulative benefits to equal
the initial investment or total costs. It provides an indication of how quickly
the project is expected to recoup its costs.
• Formula: Payback Period = Initial Investment / Annual Cash Inflow
• Example: If a software project has an initial investment of $500,000 and
generates an annual cash inflow of $100,000, the payback period would be
5 years (500,000 / 100,000).
• Pros: Easy to calculate and give some idea of cashflow
• Concern: Ignore overall profitability
3. Return on Investment (ROI):
• ROI measures the profitability of a software project by expressing
the net profit as a percentage of the total costs. It is a widely
used metric to assess the efficiency of an investment.
• Also known as (ARR) accounting rate of return
• Formula: ROI = (Net Profit / Total Costs of investment) X 100
• Example: If a software project has a net profit of $100,000 and
total costs of $500,000, the ROI would be (100,000 / 500,000) X
100 = 20%.
• Pros: Easy to calculate
• Concern: Does not consider the timing of payments
• Does not consider bank interest rate.
4. Net Present Value
• The NPV Technique is a discount cashflow method that considers the time value of money in
evaluating the capital investment
• Net present value is a project evaluation technique that is determined by the profitability of the
project and the timing of the cash flows produced.
• The annual rate of return with respect to discounted future earnings is termed the discount rate.
• The formula to calculate the net present value (NPV) of a future cash flow (FV) is:

NPV=FV/(1+Discount Rate)t

Where t is the time (number of periods into the future).
• The discount rates must be standard and it should reflect the interest rates as nominal with similar
projects which is uncertain with the NPV method.
• Using NPV, the measure of profitability of comparable projects is not directly concerned with earnings
from other investments which are quoted as a percentage interest rate.
• Pros:
• Take into account Profitability
• Consider the timing of payments
• Consider the economic situation through the discount rate
• Concern:
• Discount rate could be difficult to choose.
• Imagine you have $100:
[Link] someone offers you $100 today, you'd take it, right?
[Link]'s because having $100 right now is nice. You can use it
immediately.
[Link], let's say someone offers you $100 a year from now.
Would you value it the same?
[Link] exactly. Why? Because even if they promise to give you
$100 in the future, you could have used that money
elsewhere and earned some interest or returns.
• The discount rate is like the interest you'd expect:
• It's the rate that helps us figure out how much less we would
value that $100 in the future compared to having it right now.
• Let's apply a discount rate of 10%:
• If someone promises you $100 a year from now, it's like saying, "I'll give you $90.91
today" (because $100 / 1+0.101+0.10 is approximately $90.91).
• So, why use the discount rate?
• Time Value of Money: It recognizes that money available today is more valuable
than the same amount in the future.
• Example:
• Imagine you're considering investing $200 in a project, and it promises to give you
$300 in two years.
• If your discount rate is 5%, you would want to know how much that $300 in two years
is worth to you today.
• Using the formula: NPV=FV/(1+DiscountRate)t

= 300/(1+0.05) ≈271.04
2

• So, with a 5% discount rate, the present value of $300 two years from now is
approximately $271.04. It helps you decide if the investment is worthwhile based on
the present value of future returns.
• NPV=PV of inflow-PV of Outflow
• Evaluation of Net Present Value Methos: Project with higher NPV
should be selected
• Accepted if NPV>0
• Rejected if NPV<0
• May or May not Accept if NPV=0
5. Internal Rate of Return (IRR)
• The limitation of NPV is overcome by the internal rate of return method. This
method provides a profitability measure as a percentage return that is directly
compared with interest rates.
• IRR is the discount rate that would produce an NPV of Zero for the project..
• Can be used to compare different investment opportunities.
• A project with an IR greater than the current interest rates provides a better
return rate than lending from a bank.
• The limitation of IRR is that it does not indicate the absolute size of the return
value.
• A total evaluation takes into account the problems of cash flow funding where
whereas a project’s IRR indicates that the profitable project future earnings are
less reliable than investing with a bank.
• In other terms, IRR helps you figure out the percentage
return you'd need for an investment to make it just
as attractive as other options. It's like finding a
common ground to compare different investment
opportunities. Higher IRR means a potentially better
investment, but it's crucial to compare it with your
required rate of return or cost of capital.
Ex: Imagine you're considering two investment
options:
[Link] A: You invest $1,000 today, and after
a year, you get back $1,100.
[Link] B: You invest $1,000 today, and after
a year, you get back $1,150.
• Now, you want to know which investment is
better.
• Here's where IRR comes in:
• The IRR is like asking, "What's the rate of return that makes both
investments equally attractive?"
• IRR Answer:
• Example: Imagine you invest money to start a lemonade stand. You
want to know how good of an investment it is. The IRR helps answer
that.
[Link] and Returns:
[Link] invest $100 to buy a table, chairs, and ingredients for your
lemonade stand.
[Link] the year, you make money selling lemonade – let's say you
make $30.
[Link] IRR:
[Link] is like finding the interest rate that makes your investment
break even. In our case, it's the interest rate that makes your initial
$100 investment turn into $130 (your initial investment plus profit).
[Link]:
[Link] the IRR is high, like 30%, it means your lemonade stand is a good
investment because it's making a high return.
[Link] the IRR is low, like 5%, it means your investment isn't making much
profit compared to the initial cost.
• The IRR would be the rate at which the present value of these future cash
flows equals the initial investment. Let's say the IRR is 5%.
• What Does IRR Tell You?
• If the IRR is 5%, it means that both investments are equally good if you
consider a rate of return of 5%. If the actual rate of return is higher than
5%, the investments are even better.
• Practical Example:
• Suppose you find out that the actual rate of return for both investments is
8%. This means that both investments are doing better than expected
because the actual rate of return (8%) is higher than the IRR (5%).
Risk evaluation in SPM
• “Tomorrow's problems are today's risk”. Hence risk is a problem
that could cause some loss or threat for the progress of the
Project, but which has not happened yet.
• There are three main classifications of risk
• Project Risk
• Technical Risk
• Business Risk
Risk Evaluation
• Risk is associated with almost every project. Risk can become an important factor
when the project is not able to meet its objectives.
• Every possible risk must be identified, analyzed and minimized during the
development of the software system.
• Risk Assessment
• The objective of risk assessment is to division the risks in the condition
of their loss, causing potential. For risk assessment, first, every risk
should be rated in two methods:
• The possibility of a risk coming true (denoted as r).
• The consequence of the issues relates to that risk (denoted as s).
• Based on these two methods, the priority of each risk can be estimated:
• p=r*s
• Where p is the priority with which the risk must be controlled, r is the
probability of the risk becoming true, and s is the severity of loss
caused due to the risk becoming true. If all identified risks are set up,
then the most likely and damaging risks can be controlled first, and
more comprehensive risk abatement methods can be designed for
these risks.
1. Risk Identification: The project organizer needs to
anticipate the risk in the project as early as possible so that the
impact of risk can be reduced by making effective risk management
planning.
• A project can be of use to a large variety of risks. To identify the
significant risk, this might affect a project. It is necessary to
categorize into the different risk of classes.
• There are different types of risks that can affect a software project:
• Technology risks: Risks that assume from the software or
hardware technologies that are used to develop the system.
• People risks: Risks that are connected with the person in the
development team.
• Organizational risks: Risks that are assumed from the
organizational environment where the software is being developed.
• Tools risks: Risks that assume from the software tools and other
support software used to create the system.
• Requirement risks: Risks that assume from the changes to the
customer requirement and the process of managing the
requirements change.
• Estimation risks: Risks that assume from the management
estimates of the resources required to build the system
2. Risk Analysis: During the risk analysis process, you have to
consider every identified risk and make a perception of the probability
and seriousness of that risk.
• There is no simple way to do this. You have to rely on your perception
and experience of previous projects and the problems that arise in
them.
• It is not possible to make an exact, numerical estimate of the
probability and seriousness of each risk. Instead, you should
authorize the risk to one of several bands:
[Link] probability of the risk might be determined as very low (0-10%),
low (10-25%), moderate (25-50%), high (50-75%) or very high
(+75%).
[Link] effect of the risk might be determined as catastrophic (threatens
the survival of the plan), serious (would cause significant delays),
tolerable (delays are within allowed contingency), or insignificant.
• Risk Ranking
• Based on the risk identified, ranking can be established for projects.
• Evaluating projects based on the risk project matrix gives a clear picture of how
to rank the different risks that occur in projects.
• Risk ranking involves giving scores to projects based on priorities defined for
each risk in the project.
• NPV and Risk
• Where a project is relatively risky it is common practice to use a higher discount
• rate to calculate the NPV. The risk premium be an additional 2 % for a safe project
or 5 % for a fairly risky project
• Projects may be categorized as high, medium or low risk using a scoring method
• and risk premiums designated for each category.
• Cost-benefit analysis
• Identify and estimate all of the costs and benefits of carrying out the project and
operating the delivered application.
• Expressing the cost and benefit in some common unit.
• Identify and divide the cost category(Development cost, Setup cost, Operational
cost)
• Also identify the type of benefits( Direct benefits, Indirect Benefits, Intangible
Benefits)
• The value of the project is then obtained by summing the cost or benefit for each
possible outcome weighted by its corresponding probability.
• Drawback: Does not take full account of worst-case scenarios.(averaging out the
• negative and positive outcomes of the scenarios)
• Risk Profile Analysis
• Risk profiles are constructed using sensitivity analysis which involves the
sensitivity factors that affect the project costs or benefits.
• For example, the original estimate of a project was calculated with plus or minus
5% of the risk, then calculating the expected costs and benefits for each of the
estimating factors results in evaluating the sensitivity of the project.
• Sensitivity analysis identifies the factors that yield success to the project and
decides whether to carry on with the project or lay off.
• The sensitivity analysis takes into account every risk factor and evaluates the
possible chances of a particular outcome of the project.
• The Monte Carlo simulation tool is used to find out the number of possible
chances of a specific project.
• Risk handling using Decision trees
• A decision tree is a visual representation and analytical tool used in decision
analysis to outline possible decision paths and their potential outcomes. It
is a tree-like structure where each node represents a decision or an event,
and branches emanating from the nodes depict possible alternative courses
of action or outcomes. Decision trees are commonly employed in various
fields, including business, finance, operations research, and machine
learning. Any decision that is made will have a greater impact on the future profitability of
the project.
• The analysis of a decision tree consists of evaluating the expected benefit of taking each path
from a decision point.
• The expected value of each path is determined by the sum of the value of each possible
outcome multiplied by its probability of occurrence.
• The figure illustrates the use of a decision tree of when to extend the project or replace the
existing system based on the NPV values defined.
• Decision trees are more advantageous because they will give a precise idea of modeling and
analyzing the problems in the project.
STRATEGIC PROGRAM MANAGEMENT in
SPM
• Programme Management Definition:
A classical definition of programme management by [Link], “a group of projects
that are maintained in a coordinated way to gain benefits that would not be
possible where the projects to be managed independently”

Strategic Program Management (SPM) in software project


management involves planning and coordinating multiple projects
to achieve strategic organizational goals. Instead of managing
each project independently, SPM focuses on aligning projects with
the overall business strategy.
• The strategic program management consists of six interrelated managerial tasks

A) shareholder’s analysis –
Shareholders are those who affect or can be affected by the Program. Stakeholder
analysis is not a lengthy process but is tricky as it requires management to identify
the conflicting expectations of the different stakeholders and their power and
influence on the organization.
B) Vision mission and objectives

i. Vision - Sets the purpose of the business organization. It also states the
direction of where to go.

ii. Mission - The mission statement outlines how the vision is to be translated into
reality. It also states what is to be done to achieve the vision.

iii. Objectives - These are quantifiable targets that will enable management to
measure the success of the strategy. It enables measuring the success of the
strategy
C) Analysis of factors influencing strategy formation –

Businesses are subject to various factors that influence strategies and over which
they have limited or no control at all.
• i. Environment analysis - Government policies, changes in customer attitude,
and technological changes are the important factors that the organization should
be watchful and predict the environment in which it has to operate

• ii. Firm analysis - it is important that the firm identifies its own resources and
analyses them for their ability to deliver. Firms should allocate and utilize the
resources most efficiently to get maximum return on investment
iii. Industry analysis - To develop a good and sound strategy for the business, it is
necessary to understand the industry in which the business operates or proposes
to operate. The competitive forces within the industry have a lot of bearing on the
strategy formulation. It is important that the strength of the competitors is also
analyzed. The size and trends of the industry also need to be considered.

iv. Product analysis- The business needs to analyze the competitive position of its
products in the context of the development in the market
D) SWOT analysis –
SWOT(strengths, weaknesses, opportunities, and threats) analysis
combines the analysis of the firm's internal and external environment. The
strengths and the weaknesses of the firm are in the context of the opportunities
and threats. The aim of this analysis is to achieve an optimum match of the firm’s
resources with the environment as well as with their objectives of attaining
competitive advantage. The firm should build its own strength, adopt a strategy
that either hides the weaknesses or reduces them, make the maximum of the
opportunities using its strength and anticipates threats and reduces their exposure
E) Generate strategic options –
Strategic options are generated based on the analysis undertaken so far. The
strategies generator should be able to provide the firm competitive advantage,
discover alternative strategic courses, and provide alternative methods to engage
strategies

F) Evaluating strategic options –


It is very problematic to find the strategic option to be selected despite all the
analysis. Strategic management is more of an art than a science. Moreover, the
decision maker should also try to use all the various quantitative and qualitative
techniques available before finalizing the strategy.
G) Implementation monitoring and review –
In the Implementation stage, the strategy must be clubbed with the operational
plan, organization chart, clear job description, procedures and manuals, budgets,
and control systems. Budgets confirm that the execution is per the plan. Objectives
of the budget and constant monitoring ensure that the strategic objectives are
accomplished
Stepwise Project Planning in SPM
• The stepwise project planning will lead to the success of a project. Following are the
steps involved in SPP.
1. Selecting Project:
• Choose a project that aligns with organizational goals, market
demand, or specific needs.
• Ex: A software development company decides to embark on a project
to create a mobile app for expense tracking, recognizing the
increasing demand for digital finance tools.
2. Project Scope & Objectives:
• Clearly define what the project will encompass (scope) and the goals
it aims to achieve (objectives).
• Ex: Scope includes features like transaction recording, budget
management, and report generation. Objectives involve improving
user financial literacy and providing a user-friendly app.
3. Project Infrastructure:
• Set up the tools, technology, and environment required for the
project to operate efficiently.
• Ex: Establish a development environment with programming
languages like Java, utilize project management tools such as
Jira, and set up version control using Git.
4. Analyze Project Characteristics:
• Understand the unique aspects and requirements of the project
by analyzing its characteristics.
• Ex: For the expense tracking app, analyze whether it needs to
integrate with various banking APIs, support multiple currencies,
or comply with data privacy regulations.
5. Project Products and Activities:
• Identify key deliverables (products) and tasks (activities)
necessary for project completion.
Products Activities
Expense Tracking App Designing
User Documentation Coding
Completed Code Testing
6. Estimation Effort:
• Estimate the time and resources required for each task to create
a realistic project timeline.
Resources
Activities Estimated Time Required
Designing 2 weeks UI/UX Designer
Coding 4 weeks Developers
Testing 3 weeks Testers
7. Activity Risks:
• Identify potential risks or challenges associated with each task to
proactively plan for mitigation.
Activities Risks
Delay due to
Designing unavailability of design
assets
Integration challenges
Coding
with banking APIs
Compatibility issues with
Testing
different devices
8. Allocate Resources:
• Assign people, equipment, and materials to each task to ensure a
well-organized workflow.
Activities Assigned Resources
UI/UX Designer, Graphic
Designing
Designer
Coding Developers
Testing Testers
9. Review Plan:
• Review the entire project plan to ensure it aligns with project
objectives, is feasible, and resources are allocated appropriately.
• Ex: Conduct a comprehensive review, making adjustments if
needed to meet changing requirements or unforeseen
challenges.
10. Execute Plan:
• Begin working on the tasks according to the plan, ensuring each
team member understands their roles and responsibilities.
• Ex: Start the design phase, followed by coding and testing, with
regular check-ins to ensure the project is progressing as planned.
Strategic assessment in software project
management
Strategic assessment in software project management is a crucial phase where the
strategic value and alignment of a software project with broader organizational
goals are evaluated. This process involves analyzing various dimensions such as
business objectives, technological feasibility, market dynamics, and financial
considerations. The purpose is to ensure that the software project not only meets
specific functional requirements but also contributes significantly to the
organization’s strategic objectives. There are few key components of strategic
assessment.
1. Alignment with Business Objectives:
• Goal Identification: Understand the business goals the project aims to support or
achieve. This could include increasing revenue, improving customer service,
streamlining operations, or gaining a competitive advantage.
• Value Proposition: Evaluate how the proposed software will add value to the
business. This involves assessing the potential for cost reduction, efficiency
improvements, revenue generation, or enhanced customer satisfaction.
2. Market Analysis:
• Competitive Analysis: Study competitors’ offerings to identify gaps in the market
that the software could fill or areas where it could provide a competitive edge.
• Customer Needs Assessment: Gather insights about potential users’ needs and
preferences to ensure the software aligns with customer expectations and
demands.
3. Technological Feasibility:
• Technology Stack Evaluation: Assess whether the current technology stack and
infrastructure can support the new software or if upgrades and changes are
necessary.
• Integration Capability: Examine the capability of the new software to integrate
with existing systems and databases, ensuring smooth interoperability and data
consistency.
4. Resource Assessment:
• Skill Availability: Determine if the current team has the necessary skills and
expertise or if additional training or hiring is needed.
• Resource Allocation: Plan the allocation of personnel, technology, and financial
resources to support the development, implementation, and maintenance of the
software project.
5. Financial Analysis:
• Cost-Benefit Analysis: Conduct a detailed financial evaluation to compare the
expected costs of the project (development, implementation, ongoing support)
with the anticipated benefits (cost savings, revenue generation).
• ROI Estimation: Estimate the return on investment to assess the financial viability
and justify the project expenditure.
6. Risk Assessment:
• Identify Potential Risks: Recognize risks related to technology, team
performance, budget overruns, timeline slippages, and market changes.
• Risk Mitigation Strategies: Develop strategies to mitigate identified risks,
including contingency planning and regular risk reviews.

7. Legal and Compliance Review:


• Regulatory Compliance: Ensure that the software complies with all relevant laws,
regulations, and standards, particularly concerning data security and privacy.
• Intellectual Property: Consider intellectual property rights, ensuring that the
software development does not infringe on existing patents or copyrights, and
securing proprietary aspects of the software.
Technical assessment in software
project management
Technical assessment in software project management is an essential process that
evaluates the technical feasibility, requirements, and implications of a proposed
software project. This phase is crucial for determining whether the technical
aspects of the project can support the business objectives and for identifying
potential technical challenges that could jeopardize project success. The
assessment focuses on several core areas, including software architecture,
technology stack, system integration, performance requirements, and security.
Following are the main goals of technical assessment.
1. Technology Stack Evaluation:
• Current Technology: Assess the existing technology stack's capability to support
the new software, including hardware, software, network infrastructure, and
development tools.
• New Technologies: Determine if new technologies are needed for the project,
evaluating their stability, scalability, and support within the industry.

2. Software Architecture:
• System Design: Review or design the software architecture to ensure it meets the
requirements for scalability, maintainability, and flexibility.
• Compatibility: Ensure that the proposed architecture is compatible with existing
systems and can be integrated smoothly.
3. System Integration:
• Integration Points: Identify all points of integration with existing systems and
third-party services, assessing the complexity and potential challenges.
• Data Flow: Map out how data will flow between systems to ensure efficiency and
integrity.

4. Performance Requirements:
• Load Capacity: Evaluate the expected load the software must handle and ensure
the architecture can support it without performance degradation.
• Stress Testing: Plan for tests to evaluate how the system performs under stress or
high loads.
5. Security Assessment:
• Vulnerability Analysis: Identify potential security vulnerabilities in the proposed
design and technology.
• Compliance Requirements: Ensure the software will comply with relevant
security standards and regulations (e.g., GDPR, HIPAA).

6. Scalability and Maintainability:


• Future Growth: Assess whether the system design allows for easy expansion and
scaling as user numbers or data volume increases.
• Maintenance: Ensure the design facilitates easy updates and maintenance
without significant disruptions.
7. Resource Availability:
• Technical Expertise: Check whether the current team has the necessary technical
skills or if additional training, hiring, or outsourcing is needed.
• Development Tools: Evaluate if current development tools are adequate or if new
tools are required.

8. Cost Implications:
• Development Costs: Estimate costs related to development tools, technologies,
and human resources.
• Operational Costs: Project the costs of running the software, including server
costs, maintenance, and support.

You might also like