Software Project Management: Irfan Ahmad Muddassir
Software Project Management: Irfan Ahmad Muddassir
PM Knowledge Areas
Introduction to PM Tools
Technical Fundamentals in SPM
Lifecycle Relationship
Classical Mistakes: Product-Process-People-
Technology
Project Phases
All projects are divided into phases
All phases together are known as the Project
Life Cycle
Each phase is marked by completion of
Deliverables
PM Knowledge Areas
PM Process Initiating Process Planning Process Group Executing Process Group Monitoring & Controlling Closing
Groups / Group Process Group Process
Knowledge Area Group
Processes
Project Develop Project Charter Develop Project Management Direct and Manage Project Monitor and Control Project Work Close Project
Management Develop Prelim Project Plan Execution Integrated Change Control
Integration Scope Statement
Project Quality Quality Planning Perform Quality Assurance Perform Quality Control
Management
Project HR Human Resources Planning Acquire Project Team Manage Project Team
Management Develop Project Team
Project Plan Purchases and Acquisitions Request Seller Responses Contract Administration Contract
Procurement Plan Contracting Select Sellers Closure
Management
Project Management Tools
Tools & Techniques by Knowledge Area
Work breakdown example
PM Tools - Software
Low-end
Basic features, tasks management, charting
MS Excel, Milestones Simplicity
Mid-market
Handle larger projects, multiple projects, analysis tools
MS Project (approx. 50% of market)
High-end
Very large projects, specialized needs, enterprise
AMS Realtime
Primavera Project Manager
Technical Fundamentals
Requirements
Analysis
Design
Construction
Quality Assurance
Deployment
Lifecycle Relationships
Classical mistakes
People related
Process related
Product related
Technology related
People Related
Undermined motivation – Studies have shown that giving suspicious talks at
the beginning, asking to work overtime reduces the motivation of the people.
Sometimes team leaders take long vacations while team is working overnights. The
researchers highlighted that team lead has to work along with other team members
is a positive motivation.
Weak personnel – If a team need an efficient development throughout the
project, the recruitment needs to hire talented developers. Also carefully filter
people who could do most of the work until the end of the project.
Uncontrolled problem employees – Failure to take actions for problems with
team members and team leads will eventually affect the development speed. Some
higher management should actively look into those and sort out.
Heroics – Heroics within the team increases the risk and discourages cooperation
among the other members of the team
Adding people to a late project – Adding new people when the project is
behind schedule, can take more productivity away from team members.
Process Related
Overly optimistic schedules – This sort of scheduling will result in failure by
under-scoping the project and hurt long-term morale and productivity of the
developers.
Insufficient risk management – If projects risks are not actively managed, the
project will lead in to slow-development mode.
Contractor failure – weak relationship with contractors can lead to slow-down
the project
Insufficient planning
Short-changed upstream activities – Start coding without properly design the
project plans will costs 10 or 100 times than doing it with properly designed plans.
Short-changed quality assurance – Eliminating design and code reviews,
eliminating test planning and do only perfunctory testing will reduce the
development of the project and ends up with major bugs.
Omitting necessary tasks from estimates – People forget about the less
visible tasks and those tasks add up.
Code-like-hell programming – Developers should be sufficiently motivated
rather forcing them to work hard.
Product Related
Requirements gold-planting – More requirements that are not really
necessary, and pay less attention on complex features.
Feature creep – On average 25% of requirements can be changed and affect the
project schedule.