03/02/2025
Unit 1
Introduction to Software
Project Management
Dr. Imran Khan
SMCS – DCS - IBA - Karachi
Dr. Imran Khan - Software Project Management 1
Introduction to
Software
Project
Management
UNIT #1
Dr. Imran Khan
Assistant Professor, SMCS
IBA
Dr. Imran Khan - Software Project Management 2
1
03/02/2025
Problem Scenario#1
Dr. Imran Khan - Software Project Management 3
Create a report with the
following fields: user ID,
approval flag.
Dr. Imran Khan - Software Project Management 4
2
03/02/2025
As a departmental manager, I want a
report that shows pending approvals
for graduate students so I can
approve them.
BETTER ("who, what, why" instead of "how")
Dr. Imran Khan - Software Project Management 5
As a departmental manager, I need to know when
graduate students have pending approvals for
upcoming months so that I can be sure to approve
them before the payroll cycle.
EVEN BETTER (improved purpose)
Dr. Imran Khan - Software Project Management 6
3
03/02/2025
Textbooks
1. Agile Practice Guide by PMI and Agile Alliance
2. The Age of Agile – How Smart Companies are
Transforming the Way Work Gets Done by Stephen
Denning
Reference Books
Course Books 1. A Guide to the Project Management Body of Knowledge
6th Ed.
2. The Software Project Manager’s Bridge to Agility
by Michele Sliger, Stacia Broderick
3. The Agile Samurai
Dr. Imran Khan - Software Project Management 7
Course Outcome
Conceptual & Practical understanding of mindset behind a successful Project Management
Understanding of Project Management using different Software Models (Waterfall, Agile, Lean, Kanban)
Task/Documentations required to be performed/developed by Project Manager.
Analyse Software Project Management (SPM) tasks pertaining to knowledge areas.
Suggest and implement improvements in SPM practices.
Identify ethical issues in SPM and suggestion potential solutions.
Dr. Imran Khan - Software Project Management 8
4
03/02/2025
Course Outcome
Working within different constraints
Creating a Project Plan.
Ensuring Different Deliverable during various phases.
Various Project Management Styles that could be adapted.
Demo of Actual Cloud Based Project Management Tool (Probably JIRA)
Dr. Imran Khan - Software Project Management 9
Introduction
Dr. Imran Khan - Software Project Management 10
10
5
03/02/2025
Key terminologies
Dr. Imran Khan - Software Project Management 11
11
Standard, Framework & Methodology
• A standard is a good or best practices.
• A framework is a loose but incomplete structure which leaves room
for other practices and tools to be included but provides much of the
process required.
• A methodology is a set of principles, tools and practices which can be
used to guide processes to achieve a particular goal.
Dr. Imran Khan - Software Project Management 12
12
6
03/02/2025
A standard is a set of established and recognized rules,
guidelines, or characteristics that define best practices and
ensure consistency, safety, and efficiency in a specific field.
Purpose: Provides universally accepted principles and
benchmarks.
Nature: Typically enforced by regulatory bodies or
industry associations.
Examples:
Standard ISO 9001 – Quality management standard
IEEE 802.11 – Wireless networking standard (Wi-Fi)
NIST Cybersecurity Framework – Cybersecurity guidelines
Key takeaway: Standards ensure compliance and
interoperability across industries.
Dr. Imran Khan - Software Project Management 13
13
A framework is a structured approach that provides
guidelines, principles, and best practices to achieve
specific goals. Unlike a standard, a framework offers
flexibility and adaptability based on context.
Purpose: Provides a conceptual structure for problem-
solving and decision-making.
Nature: A high-level guide that can be customized.
Examples:
Framework COBIT – IT governance framework
TOGAF – Enterprise architecture framework
Scrum – Agile project management framework
Key takeaway: Frameworks offer a flexible roadmap but
do not dictate step-by-step processes.
Dr. Imran Khan - Software Project Management 14
14
7
03/02/2025
A methodology is a detailed, step-by-step process used to
implement a framework or achieve specific objectives. It
consists of predefined steps, tools, and techniques.
Purpose: Provides a systematic approach to executing
tasks.
Nature: A rigid or structured process to be followed.
Methodology Examples:
Six Sigma – Process improvement methodology
Waterfall Model – Software development methodology
Lean Startup – Business development methodology
Key takeaway: A methodology is a structured process with
specific steps to follow.
Dr. Imran Khan - Software Project Management 15
15
Software Process Models
• Waterfall Model
• V- Model
• Incremental Model
• Evolutionary Model: Prototyping
• Evolutionary Model: Spiral
• Extreme Programming
• Unified Process Model
• Agile Model
• Synchronize-stabilize Model
• Object Oriented Life-cycle Model
• Fountain Model
Dr. Imran Khan - Software Project Management 16
16
8
03/02/2025
History of Project
Management
Dr. Imran Khan - Software Project Management 17
17
History of Project
Management
• The history of project management can be traced
back to ancient civilizations, where large-scale
construction projects such as pyramids and temples
were managed through complex systems of
planning and organization.
• However, the formal practice of project
management as it is known today began to emerge
in the late 19th and early 20th centuries, with the
rise of industrialization and the need to manage
large-scale projects in fields such as construction,
engineering, and manufacturing.
Dr. Imran Khan - Software Project Management 18
18
9
03/02/2025
History of Project
Management
• In the 1950s and 1960s, the United States
Department of Defense developed the Program
Evaluation and Review Technique (PERT) and the
Critical Path Method (CPM) for managing complex
projects.
• These techniques were later adopted by private
industry and became widely used in project
management.
Dr. Imran Khan - Software Project Management 20
20
History of Project Management
• In the 1970s, the Project Management Institute (PMI) was
founded in the United States, and it developed the Project
Management Body of Knowledge (PMBOK), which is still
widely used today.
• The PMBOK is a guide to the standard practices of project
management and is recognized as the global standard for
project management.
Dr. Imran Khan - Software Project Management 21
21
10
03/02/2025
History of Project
Management
• In the 1980s and 1990s, new project management
methodologies such as Scrum (Agile) emerged,
which focused on flexibility, rapid delivery, and
customer involvement.
• These methodologies have become increasingly
popular in the software development industry and
have also been adopted in other fields.
Dr. Imran Khan - Software Project Management 22
22
History of Project Management
• In recent years, project management has evolved to
include new tools, technologies, and best practices,
such as virtual teams and remote work, cloud-based
project management software, and data analytics.
Dr. Imran Khan - Software Project Management 23
23
11
03/02/2025
Several cloud-based project
management software options
There are available, including:
[Link]: a software that allows teams to create, assign,
and track tasks and projects.
[Link]: a visual project management tool that uses
boards, lists, and cards to organize tasks and projects.
[Link]: a software that allows teams to
communicate, collaborate, and manage projects in one
place.
[Link]: a project management software that
allows teams to plan, organize, and track their work in a
visual and intuitive way.
Dr. Imran Khan - Software Project Management 24
24
Several cloud-based project management
software options
[Link]: a software that is specifically designed for software development
teams and allows them to track bugs, issues, and feature requests.
[Link]: a communication tool that allows teams to chat and share files,
but also has project management features like task assignment and
tracking.
[Link] Teams: a team collaboration software that includes project
management capabilities like task assignments, calendars, and file
sharing.
[Link]: a cloud-based platform that enables collaboration,
automation and data insights for project management.
Dr. Imran Khan - Software Project Management 25
25
12
03/02/2025
Dr. Imran Khan - Software Project Management 26
26
Deming's Plan-Do-Study-Act (PDSA) - 1945
• W. Edwards Deming's Plan-Do-Study-Act (PDSA) cycle is a quality
management tool that is used to improve processes and systems. It is also
known as the Deming Wheel or Deming cycle, and it is a method for
continuous process improvement. The PDSA cycle is a four-step process
that is designed to be repeated continuously:
[Link]: Define the problem or opportunity, and plan the changes that will be
made.
[Link]: Implement the changes on a small scale to test their effectiveness.
[Link]: Evaluate the results of the test and study the effects of the changes.
[Link]: Based on the results of the study, decide whether to continue with the
changes, make further improvements, or return to the previous process.
Dr. Imran Khan - Software Project Management 27
27
13
03/02/2025
The Four Stages of the PDSA Cycle
PLAN
• Objective: Identify a problem or opportunity for improvement and develop
a plan to address it.
• Key Actions:
Define the problem clearly.
Set measurable objectives.
Analyze root causes using tools like 5 Whys or Fishbone Diagrams.
Develop hypotheses and action plans.
Establish success criteria (KPIs or metrics).
• Example: A software company notices customer complaints about slow
app performance. The team plans to optimize the backend code and
database queries.
Dr. Imran Khan - Software Project Management 28
28
The Four Stages of the PDSA Cycle
DO
• Objective: Implement the plan on a small scale to test its
effectiveness.
• Key Actions:
Execute the plan in a controlled environment.
Document observations and unexpected issues.
Ensure all stakeholders understand the process.
Collect real-time data for analysis.
• Example: The software team releases a beta version with backend
optimizations to a small group of users and collects feedback.
Dr. Imran Khan - Software Project Management 29
29
14
03/02/2025
The Four Stages of the PDSA Cycle
STUDY
• Objective: Analyze the results and compare them with the expected
outcomes.
• Key Actions:
Evaluate data against success criteria.
Identify gaps between expected and actual performance.
Determine if the plan led to improvements or if adjustments are needed.
Conduct root cause analysis for any failures.
• Example: After the beta release, the team reviews performance logs and
user feedback. They notice improved response times but also some new
bugs.
Dr. Imran Khan - Software Project Management 30
30
The Four Stages of the PDSA Cycle
ACT
• Objective: Make data-driven decisions to standardize success or
iterate further.
• Key Actions:
If successful, implement changes on a larger scale.
If issues persist, refine the plan and restart the cycle.
Document lessons learned.
Share best practices across teams.
• Example: The software team fixes the identified bugs and rolls out
the optimized version to all users.
Dr. Imran Khan - Software Project Management 31
31
15
03/02/2025
Dr. Imran Khan - Software Project Management 32
32
Toyota Production
System (TPS) - 1948
• Toyota, the Japanese automaker, implemented Deming's PDSA
cycle and applied it to their manufacturing process, which they
called the Toyota Production System (TPS).
• TPS is a management philosophy that focuses on continuous
improvement, the elimination of waste and the pursuit of
perfection. It is a set of principles that are designed to improve
efficiency, quality, and customer satisfaction.
• The PDSA cycle is widely used in many industries and
organizations around the world and is considered a key element
in the success of Toyota's manufacturing process. It is still widely
used today, and it's a fundamental part of Lean Manufacturing or
Lean Management methodologies.
Dr. Imran Khan - Software Project Management 33
33
16
03/02/2025
Dr. Imran Khan - Software Project Management 34
34
Iterative and incremental development - 1950
• Iterative and incremental development is a software development process that involves
breaking down the development process into smaller, manageable pieces, and
repeatedly iterating through them. The process is often referred to as an iterative and
incremental process, or simply an iterative process.
• Iterative development involves breaking down the development process into smaller,
manageable chunks, called iterations. Each iteration is a complete development cycle
that includes planning, design, development, testing, and deployment. At the end of
each iteration, the product is reviewed and feedback is used to plan for the next
iteration.
• Incremental development is a technique that breaks down the development process into
smaller chunks, called increments. Each increment builds upon the previous one, and
together, the increments make up the complete product. The product is usable after
each increment, and feedback is used to plan for the next increment.
Dr. Imran Khan - Software Project Management 35
35
17
03/02/2025
Iterative and incremental development - 1950
• Iterative and incremental development is often used in Agile software
development methodologies, such as Scrum and Kanban. The process
allows teams to quickly adapt to changing requirements and
customer feedback, and it helps to ensure that the final product
meets the needs of the end-user.
• The process allows the team to learn and improve with each iteration,
and it enables the delivery of a working product incrementally, which
can be tested and validated by the customer during the development
process.
Dr. Imran Khan - Software Project Management 36
36
Dr. Imran Khan - Software Project Management 37
37
18
03/02/2025
New product development game - 1986
• The New Product Development Game is a simulation game developed
by W. Edwards Deming and his colleagues in 1986.
• The game is designed to teach the principles of quality management
and continuous improvement. It simulates the process of product
development and allows players to experience the challenges and
opportunities that arise during the process.
• The game is based on Deming's 14 points, and it was designed to help
players understand how to apply those principles in practice. It is
considered a valuable tool for teaching product development, quality
management, and continuous improvement, and it is still used today
as a training tool in many organizations.
Dr. Imran Khan - Software Project Management 38
38
A set of Management Principles (Deming's principles) that are designed to improve quality and
productivity in organizations. Some of the key points include:
1. Create constancy of purpose towards improvement of product and service, with the aim to
become competitive and stay in business, and to provide jobs.
2. Adopt the new philosophy. We are in a new economic age. Western management must
awaken to the challenge, must learn their responsibilities, and take on leadership for
change.
3. Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a
mass basis by building quality into the product in the first place.
4. End the practice of awarding business on the basis of price tag. Instead, minimize total cost.
Move towards a single supplier for any one item, on a long-term relationship of loyalty and
trust.
5. Improve constantly and forever the system of production and service, to improve quality
and productivity, and thus constantly decrease costs.
6. Institute training on the job.
7. Institute leadership. The aim of supervision should be to help people and machines and
gadgets to do a better job.
8. Drive out fear, so that everyone may work effectively for the company.
Deming's ideas have been widely adopted by organizations around the world and have had a
significant impact on the way that quality and productivity are managed.
Dr. Imran Khan - Software Project Management 39
39
19
03/02/2025
Dr. Imran Khan - Software Project Management 40
40
Allistair cockburn crystal
• Alistair Cockburn is a software development methodologist and one
of the founders of the Agile Alliance, a non-profit organization that
promotes Agile software development. He is also known for his work
on the Crystal family of Agile methodologies.
• The Crystal family of methodologies is a set of Agile methodologies
that focus on people and communication, rather than processes and
tools. The Crystal methodologies are designed to be lightweight and
flexible, and they can be tailored to the specific needs of a project
and a team.
Dr. Imran Khan - Software Project Management 41
41
20
03/02/2025
Allistair cockburn crystal
• The Crystal methodologies are divided into four levels:
[Link] Clear: A lightweight methodology that is suitable for small
teams working on small projects.
[Link] Yellow: A methodology that is designed for larger teams and
more complex projects.
[Link] Orange: A methodology that is designed for projects that
require high levels of security and reliability.
[Link] Red: A methodology that is designed for projects that require
very high levels of security and reliability.
Dr. Imran Khan - Software Project Management 42
42
Allistair cockburn crystal
• The Crystal family of methodologies emphasizes the importance of
communication, collaboration, and customer involvement, and it is
designed to be adaptable to the specific needs of a project and a
team.
• Cockburn's Crystal methodologies have been widely adopted by
software development teams and organizations around the world,
and it is recognized as one of the most flexible Agile methodologies
available. It is often used in combination with other Agile
methodologies, such as Scrum, to create a hybrid approach tailored
to the specific needs of the project and organization.
Dr. Imran Khan - Software Project Management 43
43
21
03/02/2025
Dr. Imran Khan - Software Project Management 44
44
Refactoring
• Refactoring is a technique used in software development to
improve the design of existing code without changing its
functionality.
• It involves making small, incremental changes to the
codebase to make it more readable, maintainable, and
efficient.
• This can include things like renaming variables, extracting
functions, and reorganizing code.
Dr. Imran Khan - Software Project Management 45
45
22
03/02/2025
Refactoring
• In terms of project management, refactoring can be considered a separate
phase or task within the software development process.
• It is often done in conjunction with other methodologies such as Agile or
Waterfall.
• The goal is to make the codebase more manageable and easier to work on,
which can ultimately lead to faster development and fewer bugs.
• It's important to note that refactoring should be done with care and with a
plan.
• It's a good practice to create a refactoring plan, and to test the code after
any refactoring, to ensure that the changes have not broken any existing
functionality.
Dr. Imran Khan - Software Project Management 46
46
Dr. Imran Khan - Software Project Management 47
47
23
03/02/2025
DSDM (Dynamic Systems Development
Method)
• It is an Agile project management framework that
emphasizes rapid development and delivery of
software systems.
• It is a methodology that is focused on delivering
working software quickly, while maintaining a high
level of quality and flexibility.
Dr. Imran Khan - Software Project Management 48
48
DSDM (Dynamic Systems Development
Method)
DSDM consists of eight principles:
1. Active user involvement
2. Empower the team
3. Deliver on time
4. Collaborate
5. Never compromise quality
6. Build incrementally from firm foundations
7. Develop iteratively
8. Communicate continuously and clearly
Dr. Imran Khan - Software Project Management 49
49
24
03/02/2025
DSDM (Dynamic Systems Development
Method)
DSDM also includes a set of four phases in the project lifecycle:
1. Pre-project: this phase defines the project's objectives, scope, and
stakeholders.
2. Feasibility: this phase determines if the project is viable and what
the solution should be.
3. Development: this phase involves the actual development of the
software.
4. Post-project: this phase covers the final testing and deployment of
the software, and the evaluation of the project as a whole.
Dr. Imran Khan - Software Project Management 50
50
Dr. Imran Khan - Software Project Management 51
51
25
03/02/2025
Pair programming
• Pair programming is a software development technique in
which two programmers work together at one computer,
with one person typing and the other person reviewing the
code as it's being written.
• The two programmers take turns being the "driver" (the
person typing) and the "navigator" (the person reviewing the
code).
Dr. Imran Khan - Software Project Management 52
52
Pair programming
• The goal of pair programming is to improve the quality and
efficiency of the code being written.
• The navigator acts as a second set of eyes, catching bugs and
suggesting improvements as the code is being written.
• The driver and navigator also work together to think through
problems and come up with solutions.
Dr. Imran Khan - Software Project Management 53
53
26
03/02/2025
Pair Programming
(AI Advancement)
Example (Copilot)
Dr. Imran Khan - Software Project Management 54
54
Dr. Imran Khan - Software Project Management 55
55
27
03/02/2025
Dr. Imran Khan - Software Project Management 56
56
Before Agile methodology, software was
built through “waterfall” development.
What exactly is the “Waterfall” approach?
Dr. Imran Khan - Software Project Management
57
57
28
03/02/2025
Dr. Imran Khan - Software Project Management 58
58
Waterfall Model Assumptions
1. The requirements are knowable in advance of implementation.
2. The requirements have no unresolved, high-risk implications
e.g., risks due to COTS choices, cost, schedule, performance, safety, security, user
interfaces, organizational impacts
3. The nature of the requirements will not change very much During
development; during evolution
4. The requirements are compatible with all the key system stakeholders’
expectations
e.g., users, customer, developers, maintainers, investors
5. The right architecture for implementing the requirements is well
understood.
6. There is enough calendar time to proceed sequentially.
Dr. Imran Khan - Software Project Management 59
59
29
03/02/2025
Waterfall model problems
• Inflexible partitioning of the project into distinct stages
• This makes it difficult to respond to changing customer requirements
• Therefore, this model is only appropriate when the requirements are
well-understood
Dr. Imran Khan - Software Project Management 60
60
Disadvantage of Waterfall Model
Dr. Imran Khan - Software Project Management 61
61
30
03/02/2025
Dr. Imran Khan - Software Project Management 62
62
Dr. Imran Khan - Software Project Management 63
63
31
03/02/2025
Agile Journey
Dr. Imran Khan - Software Project Management 64
64
Agile beginning
Manifesto was born!
Dr. Imran Khan - Software Project Management 65
65
32
03/02/2025
Agile
Agile is a mindset or approach that emphasizes flexibility, collaboration,
and customer satisfaction.
Dr. Imran Khan - Software Project Management 66
66
Definition
• “Agile is a mindset or approach that emphasizes flexibility,
collaboration, and customer satisfaction.”
• Agile is not considered a methodology as it is not a specific,
prescriptive method with a defined process to be followed.
• It is often implemented through frameworks such as Scrum
and Kanban, which provide a set of guidelines and practices
for implementing an agile approach in a specific context,
such as software development.
Dr. Imran Khan - Software Project Management 67
67
33
03/02/2025
Definition
• It is based on the Agile Manifesto, a set of principles for
software development that prioritize individuals and
interactions, working software, and customer collaboration
over processes and tools.
• Agile practices include the use of user stories, sprints, and
retrospectives to continuously improve the process and
deliver value to customers.
Dr. Imran Khan - Software Project Management 68
68
Agile – a mindset
Dr. Imran Khan - Software Project Management 69
69
34
03/02/2025
Manifesto for Agile Software Development
Agile Values
Dr. Imran Khan - Software Project Management 70
70
Agile – a mindset
Dr. Imran Khan - Software Project Management 71
71
35
03/02/2025
Manifesto for Agile Software Development
Agile Principles
Dr. Imran Khan - Software Project Management 72
72
Agile – a mindset
Dr. Imran Khan - Software Project Management 73
73
36
03/02/2025
Agile
Methodolog Scrum
y Dr. Imran Khan - Software Project Management 74
74
Sprint
Dr. Imran Khan - Software Project Management 75
75
37
03/02/2025
Sprints
Dr. Imran Khan - Software Project Management 76
76
Dr. Imran Khan - Software Project Management 77
77
38
03/02/2025
Deciding between Agile and Waterfall
Dr. Imran Khan - Software Project Management 78
78
Summary
• Waterfall:
• Linear, sequential process
• Suitable for well-defined, non-changing projects
• Detailed planning and documentation required
• Changes require starting the process over
• Agile:
• Iterative and adaptive process
• Suitable for projects with changing requirements
• Prioritizes flexibility and collaboration
• Encourages constant reassessment and improvement
• Both methodologies have their own advantages and disadvantages, and
the choice between them depends on the specific needs and constraints of
the project.
Dr. Imran Khan - Software Project Management 79
79
39
03/02/2025
Next Unit 2
Dr. Imran Khan - Software Project Management 80
80
40