0% found this document useful (0 votes)
20 views40 pages

Unit1-Introduction - Updated

The document is an introduction to Software Project Management by Dr. Imran Khan, covering key concepts, methodologies, and historical context of project management. It outlines course outcomes, essential terminologies, and various software process models, alongside the significance of standards, frameworks, and methodologies. Additionally, it discusses the evolution of project management practices and tools, including cloud-based software and the PDSA cycle for continuous improvement.

Uploaded by

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

Unit1-Introduction - Updated

The document is an introduction to Software Project Management by Dr. Imran Khan, covering key concepts, methodologies, and historical context of project management. It outlines course outcomes, essential terminologies, and various software process models, alongside the significance of standards, frameworks, and methodologies. Additionally, it discusses the evolution of project management practices and tools, including cloud-based software and the PDSA cycle for continuous improvement.

Uploaded by

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

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:
1.Asana: a software that allows teams to create, assign,
and track tasks and projects.
2.Trello: a visual project management tool that uses
boards, lists, and cards to organize tasks and projects.
3.Basecamp: a software that allows teams to
communicate, collaborate, and manage projects in one
place.
4.Monday.com: 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
5.Jira: a software that is specifically designed for software development
teams and allows them to track bugs, issues, and feature requests.
6.Slack: a communication tool that allows teams to chat and share files,
but also has project management features like task assignment and
tracking.
7.Microsoft Teams: a team collaboration software that includes project
management capabilities like task assignments, calendars, and file
sharing.
8.Smartsheet: 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:
1.Plan: Define the problem or opportunity, and plan the changes that will be
made.
2.Do: Implement the changes on a small scale to test their effectiveness.
3.Study: Evaluate the results of the test and study the effects of the changes.
4.Act: 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:
1.Crystal Clear: A lightweight methodology that is suitable for small
teams working on small projects.
2.Crystal Yellow: A methodology that is designed for larger teams and
more complex projects.
3.Crystal Orange: A methodology that is designed for projects that
require high levels of security and reliability.
4.Crystal 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

You might also like