2. Page 2
Course titleCourse title
Software Project ManagementSoftware Project Management
Instructor:Instructor: Faisal Shafique ButtFaisal Shafique Butt SemesterSemester
Fall 2015Fall 2015
Credit hours:Credit hours: 33
Instructor’s Office NumberInstructor’s Office Number
051-9272614051-9272614
Ext. 265Ext. 265
Visiting hoursVisiting hours
By appointmentBy appointment
Instructor’s emailInstructor’s email
faisalshafique@yahoo.comfaisalshafique@yahoo.com
Mode of lectureMode of lecture
delivery:delivery: MultimediaMultimedia
3. Page 3
Class ParticipationClass Participation
Active participation is very important.Active participation is very important.
Attendance will count for students.Attendance will count for students.
5. PagePage 55
AcknowledgementAcknowledgement
Lectures slides are prepared from the PM books, materialLectures slides are prepared from the PM books, material
from public domain, the Internet, and from lecture slides/notesfrom public domain, the Internet, and from lecture slides/notes
from other professors with their permission.from other professors with their permission.
Acknowledgement:Acknowledgement:
1.1. Mr. Doug Gardner of Digital Lightwave, Florida, USAMr. Doug Gardner of Digital Lightwave, Florida, USA
2.2. Mr. Mike Chancey, Ravian Enterprises, Richardson, TexasMr. Mike Chancey, Ravian Enterprises, Richardson, Texas
3.3. Mr. John Musser, Columbia University, USAMr. John Musser, Columbia University, USA
4.4. Dr. Ali Ahsan, CASE IslamabadDr. Ali Ahsan, CASE Islamabad
6. PagePage 66
LeadershipLeadership
Communication across various functionsCommunication across various functions
Problem SolvingProblem Solving
Process EngineeringProcess Engineering
Technical knowledgeTechnical knowledge
Management SupportManagement Support
Successful Project Management RequiresSuccessful Project Management Requires
9. PagePage 99
SoftwareSoftware
What is it?What is it?
Software EngineeringSoftware Engineering
Management ChallengesManagement Challenges
10. PagePage 1010
Software EngineeringSoftware Engineering
Software Engineering is the establishmentSoftware Engineering is the establishment
and use of sound engineering principles inand use of sound engineering principles in
order to economically obtain software thatorder to economically obtain software that
is reliable and works efficiently on realis reliable and works efficiently on real
machines (Fritz Bauer)machines (Fritz Bauer)
11. Page 11
Project ManagementProject Management
A project is a non-repetitive activityA project is a non-repetitive activity
achieved by a finite, time-ordered andachieved by a finite, time-ordered and
interrelated set of tasks.interrelated set of tasks.
The activity is the projectThe activity is the project
The set of tasks is called the projectThe set of tasks is called the project
sequencesequence
Project management is the identificationProject management is the identification
of tasks and the management of theirof tasks and the management of their
sequencesequence
12. Page 12
Software Project ManagementSoftware Project Management
SPM is the application of knowledge, skills,SPM is the application of knowledge, skills,
tools, techniques to project activities totools, techniques to project activities to
meet project requirements. SPM ismeet project requirements. SPM is
accomplished through the use ofaccomplished through the use of
processes like planning, controlling,processes like planning, controlling,
executing, closing, initiating, cost, time, riskexecuting, closing, initiating, cost, time, risk
(control, forecasting, evaluation etc),(control, forecasting, evaluation etc),
quality, requirements etc.quality, requirements etc.
13. Page 13
Project Vs ProcessProject Vs Process
A process is a repetitive activity like aA process is a repetitive activity like a
plant turning over and producing the sameplant turning over and producing the same
productproduct
14. Page 14
Project, program, task, work packageProject, program, task, work package
Program:Program:
Refers to a an exceptionally large, longRefers to a an exceptionally large, long
range objective that is broken down into arange objective that is broken down into a
set of projects.set of projects.
Projects are further divided into tasksProjects are further divided into tasks
Tasks are split into work packagesTasks are split into work packages
Work packages are composed of workWork packages are composed of work
unitsunits
Military is the source of most these termsMilitary is the source of most these terms
15. Page 15
ProjectProject
A project is a specific finite task to beA project is a specific finite task to be
accomplished.accomplished.
It could be large or small scaleIt could be large or small scale
It could be long range or short rangeIt could be long range or short range
Project:Project:
It is a set of interrelated activities that are directedIt is a set of interrelated activities that are directed
towards a goal or purpose and are unique, complex andtowards a goal or purpose and are unique, complex and
must be completed within time, within budget andmust be completed within time, within budget and
according to specificationsaccording to specifications
Projects are the building blocks of an investment planProjects are the building blocks of an investment plan
16. Page 16
Attributes/CharacteristicsAttributes/Characteristics
Purpose:Purpose:
One time activity with a well defined set ofOne time activity with a well defined set of
desired end resultsdesired end results
Divided into subtasks that must be completed toDivided into subtasks that must be completed to
achieve project goalsachieve project goals
Complex:Complex:
Coordination and control in terms of timing,Coordination and control in terms of timing,
precedence, cost and performance are requiredprecedence, cost and performance are required
Interdependencies:Interdependencies:
18. Page 18
Project Life CyclesProject Life Cycles
Variation With Work StylesVariation With Work Styles
Variation With RisksVariation With Risks
19. Page 19
Attributes/CharacteristicsAttributes/Characteristics
Uniqueness:Uniqueness:
Projects are never alikeProjects are never alike
Projects by their nature cannot be completelyProjects by their nature cannot be completely
reduced to routinereduced to routine
Conflict:Conflict:
PMs live in a world characterized by conflictPMs live in a world characterized by conflict
Projects compete with functional departmentsProjects compete with functional departments
for resourcesfor resources
Main stake holders areMain stake holders are
• Client, parent organization, project team,Client, parent organization, project team,
publicpublic
20. Page 20
Why Project Management?Why Project Management?
Basic purpose of a project is to accomplishBasic purpose of a project is to accomplish
certain goalscertain goals
Reason to organize a task as a project isReason to organize a task as a project is
to focus the responsibility and authority toto focus the responsibility and authority to
attain the goalsattain the goals
Systematic undertaking of the projectsSystematic undertaking of the projects
21. Page 21
Skills Needed to Manage aSkills Needed to Manage a
ProjectProject
Identify outcomes and deliverablesIdentify outcomes and deliverables
Devise a sequence to achieve the goalsDevise a sequence to achieve the goals
Continuous controllingContinuous controlling
Recognize if and when the outcomes have been achievedRecognize if and when the outcomes have been achieved
Deal skillfully with peopleDeal skillfully with people
Manage unfamiliar complex systems and technicalManage unfamiliar complex systems and technical
specialistsspecialists
Enhance your software modeling skillsEnhance your software modeling skills
PM must have a strong hold on implementation environmentPM must have a strong hold on implementation environment
Identify key issuesIdentify key issues
Respond to contingent situationsRespond to contingent situations
22. Page 22
Skills Needed to Manage aSkills Needed to Manage a
Project (cont)Project (cont)
Identify and manage interfacesIdentify and manage interfaces
Manage time and costManage time and cost
Setup Software Project Management InformationSetup Software Project Management Information
SystemSystem
Manage political and community issuesManage political and community issues
(Management of stakeholders)(Management of stakeholders)
Manage contractual mattersManage contractual matters
Maintain a sense of urgencyMaintain a sense of urgency
Cope with riskCope with risk
Keep good recordsKeep good records
24. Page 24
ReasonsReasons
Government support in terms of tariff, restrictions,Government support in terms of tariff, restrictions,
subsidized STP and export zonessubsidized STP and export zones
5 year Software exemption of tax5 year Software exemption of tax
Cost of software is labor and it is cheap in IndiaCost of software is labor and it is cheap in India
($125 per unit of software vs. $925 in US)($125 per unit of software vs. $925 in US)
Quality (Process Maturity – Capability MaturityQuality (Process Maturity – Capability Maturity
Model)Model)
American companies are the largest customers of Indian SoftwareAmerican companies are the largest customers of Indian Software
26. Page 26
What does it all mean to us?What does it all mean to us?
Financial impactFinancial impact
National security riskNational security risk
What can we do?What can we do?
27. Page 27
Back to Project ManagementBack to Project Management
What’s a project?What’s a project?
PMI definitionPMI definition
A project is a temporary endeavor undertakenA project is a temporary endeavor undertaken
to create a unique product or serviceto create a unique product or service
A project managerA project manager
Analogy: conductor, coach, captainAnalogy: conductor, coach, captain
28. Page 28
Interactions / StakeholdersInteractions / Stakeholders
As a PM, who do you interact with?As a PM, who do you interact with?
Project StakeholdersProject Stakeholders
Project sponsorProject sponsor
ExecutivesExecutives
TeamTeam
CustomersCustomers
ContractorsContractors
Functional managersFunctional managers
29. Page 29
Why Rapid DevelopmentWhy Rapid Development
Faster deliveryFaster delivery
Reduced riskReduced risk
Increased visibility to customerIncreased visibility to customer
Don’t forsake qualityDon’t forsake quality
32. Page 32
PeoplePeople
““It’s always a people problem”It’s always a people problem” Gerald Weinberg,Gerald Weinberg,
“The Secrets of Consulting”“The Secrets of Consulting”
Improvements:Improvements:
-
Team selectionTeam selection
-
Team organizationTeam organization
-
Team motivationTeam motivation
33. Page 33
People (contd.)People (contd.)
Other success factorsOther success factors
Matching people to tasksMatching people to tasks
Career developmentCareer development
Balance: individual and teamBalance: individual and team
Clear communicationClear communication
34. Page 34
ProcessProcess
Is process stifling?Is process stifling?
Two Types: Management & TechnicalTwo Types: Management & Technical
Quality assuranceQuality assurance
Risk managementRisk management
Lifecycle planningLifecycle planning
36. Page 36
ProductProduct
The “tangible” dimensionThe “tangible” dimension
Product size managementProduct size management
Product characteristics and requirementsProduct characteristics and requirements
Feature creep managementFeature creep management
37. Page 37
TechnologyTechnology
Often the least important dimensionOften the least important dimension
Language and tool selectionLanguage and tool selection
Value and cost of reuseValue and cost of reuse
38. Page 38
PlanningPlanning
Determine requirementsDetermine requirements
Determine resourcesDetermine resources
Select lifecycle modelSelect lifecycle model
Determine product features strategyDetermine product features strategy
39. Page 39
TrackingTracking
Cost, effort, scheduleCost, effort, schedule
Planned vs. ActualPlanned vs. Actual
How to handle when things go off plan?How to handle when things go off plan?
40. Page 40
MeasurementsMeasurements
To date and projectedTo date and projected
CostCost
ScheduleSchedule
EffortEffort
Product featuresProduct features
42. Page 42
Project PhasesProject Phases
All projects are divided into phasesAll projects are divided into phases
All phases together are known as theAll phases together are known as the
Project Life CycleProject Life Cycle
Each phase is marked by completion ofEach phase is marked by completion of
DeliverablesDeliverables
Identify the primary software projectIdentify the primary software project
phasesphases
47. Page 47
People-Related Mistakes Part 1People-Related Mistakes Part 1
Undermined motivationUndermined motivation
Weak personnelWeak personnel
Weak vs. JuniorWeak vs. Junior
Uncontrolled problem employeesUncontrolled problem employees
BurnoutBurnout
Adding people to a late projectAdding people to a late project
48. Page 48
People-Related Mistakes Part 2People-Related Mistakes Part 2
Noisy, crowded officesNoisy, crowded offices
Customer-Developer frictionCustomer-Developer friction
Unrealistic expectationsUnrealistic expectations
Politics over substancePolitics over substance
49. Page 49
People-Related Mistakes Part 3People-Related Mistakes Part 3
Lack of effective project sponsorshipLack of effective project sponsorship
Lack of user inputLack of user input
50. Page 50
Process-Related Mistakes Part 1Process-Related Mistakes Part 1
Optimistic schedulesOptimistic schedules
Insufficient risk managementInsufficient risk management
Contractor failureContractor failure
Insufficient planningInsufficient planning
Abandonment of plan under pressureAbandonment of plan under pressure
51. Page 51
Process-Related Mistakes Part 2Process-Related Mistakes Part 2
Wasted time during fuzzy front endWasted time during fuzzy front end
Inadequate designInadequate design
Shortchanged quality assuranceShortchanged quality assurance
52. Page 52
Process-Related Mistakes Part 3Process-Related Mistakes Part 3
Insufficient management controlsInsufficient management controls
Omitting necessary tasks from estimatesOmitting necessary tasks from estimates
Planning to catch-up laterPlanning to catch-up later
Code-like-hell programmingCode-like-hell programming
54. Page 54
Technology-Related MistakesTechnology-Related Mistakes
Silver-bullet syndromeSilver-bullet syndrome
Overestimated savings from new tools andOverestimated savings from new tools and
methodsmethods
Switching tools in mid-projectSwitching tools in mid-project
<number>
Temporary:
can be years
Result can be lasting
Team can be temporary
Finite duration
Ex: thousands of buildings, but each is unique
Scope s/b constant even as elaboration happens
<number>
managing all stakeholder Expectations is challenging – conflict
<number>
McConnell refers to “Pillars”
These provide balance
<number>
Peopleware issues
10-to-1 difference in Dev productivity
Teams 3 or 5 to 1 diff
Process
Dev basics, risk mgmt, QA, lifecycle planning, customer orientation
Product
Most tangible dimension
Technology
<number>
Seductive: good reason for decisions at the time
Some are IT, most not
We’ll visit these throughout course
Gilligan’s Island: new scheme, get off island, seems to work, then fails
Being aware can help prevent
Class discussion
<number>
Motivation: studies show has largest impact
Don’t undermine Morale
2nd greatest influence on productivity
Junior != bad
Uncontrolled: most common developer complain about their managers
Heroics. Company hostage.
“Can-do”, “how high” attitudes
Brooks, reading assignment
<number>
60%of developers feel unsatisfactory environment: need quite and privacy
MS offices
Friction: classic differing viewpoints
Results in ‘poor communication’
Passive-aggressive
Realistic Expectations: 1 of top 5 reasons for success of in-house projects
Perception woe
Politics
Managing-up
Wishful
Cognitive dissonance
Closing your eyes and hoping
McConnell: maybe causes the most problems in software development
<number>
Sponsor: a must, no power
All players must buy-in
User input: Survey: number 1 reason for success
W/O input: guessing
<number>
Similar to wishful thinking
Puts unnecessary pressure
Risk Mgmt:
Risks will manage you
Contractor: late, poor quality, or fails to meet specifications
Requires lots of management
Insufficient planning: “if you don’t care where you’re going, any plan will do”
Abandonment
Out the window
Fall into code-and-fix mode
<number>
fuzzy: before sign-off
Upstream:
Lack of analysis and design
10 to 100 times more costly
5 hrs vs. 50
Design:
Seen schedules w/o it at all
QA:
Seems easy to compress
1 day QA == 3 to 10 later
<number>
Management controls
Need to be able to track
We’ll cover lots of these
PMI
Convergence
Waste of time
Missing tasks
Often 20-30% of a schedule
Catch-up later
How many times have you seen a project catch-up?
Only by all-nighters
Like hell
“Entrepreneurial” approach
See catch-up later
<number>
Gold
Gilding the lily
Performance is required more often than need be
Feature creep
25% average change in req.
Dev. Gold
Nifty new technology
Pet project
Push-me
Slip schedule + add features
Research vs. Development
<number>
who’s heard of ‘silver bullet’ (not the beer)
SCM
Jones: 10% month, I see more
<number>
who’s heard of ‘silver bullet’ (not the beer)
SCM
Jones: 10% month, I see more