Spring 2023
Instructor
Adnan Ghaffar
1
Reference Books:
A Guide to the Project Management Body of
Knowledge 7th Ed.
The Software Project Manager’s Bridge to Agility,
Project Management the Agile Way,
The Agile Samurai
Other: Slides Lectures etc.
2
Theoretical concepts
Project Management in different Software
Models (Waterfall, Agile, Kanban)
Continuously Evolving Expectations from a
Project Manager.
Documentations required to be developed
by Project Manager.
3
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)
4
Lecture # 01
5
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.
Instructor: Adnan Ghaffar 6
What is Agile?
7
methodology.
a specific way of developing software
a list of instructions, or a certification.
a framework or process
8
Agile is not a methodology
Agile is not a specific way of developing
software
Agile not a list of instructions, or a
certification.
certification.
Agile is not a framework or process
Reference:
[Link]
philosophy
[Link]
framework
9
Agile is a philosophy.
Agile is an approach and a mindset .
Agile is a set of values and principles.
Hence the birth of many “Agile” methods.
10
is a set of values and principles.
Following are the 4 values:
Individuals
Working Customer Responding
and
Software Collaboration to Change
Interactions
11
1. Early and continuous delivery of valuable software
2. Embrace change
3. Frequent delivery
4. Cooperation
5. Autonomy and motivation
6. Better communication
7. Working software
8. Stable work environments
9. Quality assurance
10. Simplicity
11. Self-organizing teams
12. Reflection and adjustment
12
Agile is a way to manage projects.
Agile breaks down larger projects into small,
manageable chunks called iterations.
At the end of each iteration (which generally takes
place over a consistent time interval) something of
value is produced.
The product produced during each iteration should
be able to be put into the world to gain feedback
from users or stakeholders.
Agile has designers, developers and business
people working together simultaneously.
13
Waterfall Model
V- Model
Incremental Model
Evolutionary Model: Prototyping
Evolutionary Model: Spiral
Extreme Programming
Unified Process Model
Synchronize- stabilize Model
Object Oriented Life-cycle Model
Fountain Model
14
15
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.
16
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
17
If we rely on testing alone, defects
created first are detected last
User Product
Need System system test plan System Release
Requirements Testing
Software software test plan Software
Requirements Testing
integration plan
Software Integration
Design Testing
unit plan
Software Unit
Implementation Testing
time 18
Rather than deliver the system as a single
delivery, the development and delivery is broken
down into increments with each increment
delivering part of the required functionality
User requirements are prioritised and the
highest priority requirements are included in
early increments
Once the development of an increment is
started, the requirements are frozen though
requirements for later increments can continue
to evolve
19
C: Communication
P: Planning
M: Modeling (analysis, design)
C: Construction (code, test)
D: Deployment (Delivery, feedback)
20
Build 1
Implementation,
Specification Design Deliver to client
integration
Build 2
Implementation,
Specification Design Deliver to client
integration
Build 3
Implementation,
Specification Design Deliver to client
integration
Build n
Implementation,
Specification Design Deliver to client
integration
Specification team Implementation,
Design team integration team
21
22
Customer value can be delivered with each
increment so system functionality is
available earlier
Early increments act as a prototype to help
elicit requirements for later increments
Lower risk of overall project failure
The highest priority system services tend to
receive the most testing
23
24
25
If risks
cannot be
resolved,
project is
immediately
terminated
26
New approach to development based on the
development and delivery of very small
increments of functionality
Relies on constant code improvement, user
involvement in the development team and
pairwise programming
27
A software process that is:
use-case driven
architecture-centric
iterative and incremental
Closely aligned with the
Unified Modeling Language (UML)
28
Waterfall
Agile
Strategic
Scrum
Kanban
Lean
Six Sigma
PRINCE 2
29
Microsoft Project
Primavera
JIRA
Trello
Assana
ActiTime
SpiraTeam
WorkOtter
Teamwork
30
Project managers have a variety of skills to
get the job done. These include the technical,
business and management skills you’d
expect, but also a number of soft skills.
Project managers aren’t only dealing with
systems and processes, but also people.
When you boil it down, successful team
management is built on creating and
maintaining strong relationships across the
organization.
31
Soft skills
◦ Communication
◦ Organization
◦ Adaptability
◦ Empathy
◦ Unflappability
◦ Leadership
◦ Problem solving
32
Hard skills [ Technical skills ]
◦ Communication
◦ Planning and forecasting
◦ Risk management
◦ Budgeting
◦ Tracking and monitoring
◦ Project management software
33
Requirement
Requirement is ”a thing that is needed or wanted;
Requirement as a condition or capability that is
required to be present in a product, service, or
result to satisfy a contract or other formally
imposed specification.
Scope
Scope is the details of the work that needs to be
done or achieved.
Scope as the sum of the products, services, and
results to be provided as a project.
34
Statement of Work (SOW) contains high
level information of the project deliverables.
Project Scope Statement contains
more details of the deliverables plus
assumptions and constraints
35