Unit1-Introduction - Updated
Unit1-Introduction - Updated
Unit 1
Introduction to Software
Project Management
Dr. Imran Khan
SMCS – DCS - IBA - Karachi
Introduction to
Software
Project
Management
UNIT #1
1
03/02/2025
Problem Scenario#1
2
03/02/2025
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
Course Outcome
Conceptual & Practical understanding of mindset behind a successful Project Management
Understanding of Project Management using different Software Models (Waterfall, Agile, Lean, Kanban)
4
03/02/2025
Course Outcome
Working within different constraints
Introduction
10
5
03/02/2025
Key terminologies
11
12
6
03/02/2025
13
14
7
03/02/2025
15
16
8
03/02/2025
History of Project
Management
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.
20
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.
22
23
11
03/02/2025
24
25
12
03/02/2025
26
27
13
03/02/2025
28
29
14
03/02/2025
30
31
15
03/02/2025
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.
33
16
03/02/2025
34
35
17
03/02/2025
36
37
18
03/02/2025
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
40
41
20
03/02/2025
42
43
21
03/02/2025
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.
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.
46
47
23
03/02/2025
48
49
24
03/02/2025
50
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).
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.
53
26
03/02/2025
Pair Programming
(AI Advancement)
Example (Copilot)
54
55
27
03/02/2025
56
57
28
03/02/2025
58
59
29
03/02/2025
60
61
30
03/02/2025
62
63
31
03/02/2025
Agile Journey
64
Agile beginning
65
32
03/02/2025
Agile
Agile is a mindset or approach that emphasizes flexibility, collaboration,
and customer satisfaction.
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.
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.
68
Agile – a mindset
69
34
03/02/2025
70
Agile – a mindset
71
35
03/02/2025
72
Agile – a mindset
73
36
03/02/2025
Agile
Methodolog Scrum
y Dr. Imran Khan - Software Project Management 74
74
Sprint
75
37
03/02/2025
Sprints
76
77
38
03/02/2025
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.
79
39
03/02/2025
Next Unit 2
80
40