42
Software Project Management Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Embed Size (px)

Citation preview

Page 1: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Software Project Management

Lecture 1Introduction, Fundamentals, Classic Mistakes

• 1

Page 2: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Required Textbook

“Information Technology Project Management”, Kathy Schwalbe

Page 3: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Coursework

Assignments (25%) Discussions allowed but no plagiarism.

Mid-Term Exam (30%)

Final Exam (40%)

Attendance (5%)

Page 4: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

The Field

Jobs: where are they?

Professional Organizations Project Management Institute (PMI) (pmi.org) Software Engineering Institute (SEI) IEEE Software Engineering Group

Certifications PMI PMP

The “PMBOK” – PMI Body of Knowledge

Tools MS Project

• 4

Page 5: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Project Management Skills

LeadershipCommunicationsProblem SolvingNegotiating Influencing the OrganizationMentoringProcess and technical expertise

• 5

Page 6: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Software Project Management

• 6

Management

ProjectManagement

SoftwareProject

Management

Page 7: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

PM History in a Nutshell

Birth of modern PM: Manhattan Project (the bomb)

1970’s: military, defense, construction industry were using PM techniques

1990’s: large shift to PM-based models 1985: TQM 1990-93: Re-engineering, self-directed teams 1996-99: Risk mgmt, project offices 2000: M&A, global projects

• 7

Page 8: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Project Management

What’s a project?

PMI definition A project is a temporary endeavor

undertaken to create a unique product or service

A project manager Analogy: conductor, coach, captain

• 8

Page 9: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Project vs. Program Management

What’s a ‘program’?Mostly differences of scaleOften a number of related projectsLonger than projectsDefinitions varyEx: Program Manager for MS Word

• 9

Page 10: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Interactions / Stakeholders

As a PM, who do you interact with?Project Stakeholders

Project sponsor Executives Team Customers Contractors Functional managers

• 10

Page 11: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

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

• 11

Page 12: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Tools: Gantt Chart

• 12

Page 13: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Tools: Network Diagram

• 13

Page 14: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

PMI’s 9 Knowledge Areas Project integration management Scope Time Cost Quality Human resource Communications Risk Procurement

• 14

Page 15: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Why Rapid Development

Faster deliveryReduced risk Increased visibility to customerDon’t forsake quality

• 15

Page 16: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Strategy

Classic Mistake AvoidanceDevelopment FundamentalsRisk ManagementSchedule-Oriented Practices

• 16

Page 17: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Four Project Dimensions

PeopleProcessProductTechnology

• 17

Page 18: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Trade-off Triangle

Fast, cheap, good. Choose two.

• 18

Page 19: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Trade-off Triangle

• 19

Know which of these are fixed & variable for every project

Page 20: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

People

“It’s always a people problem” Gerald Weinberg, “The Secrets of Consulting”

Developer productivity: 10-to-1 range

- Improvements:- Team selection- Team organization Motivation

• 20

Page 21: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

People 2

Other success factors Matching people to tasks Career development Balance: individual and team Clear communication

• 21

Page 22: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Process

2 Types: Management & TechnicalDevelopment fundamentalsQuality assuranceRisk managementLifecycle planning

• 22

Page 23: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Process 2

Customer orientationProcess maturity improvementRework avoidance

• 23

Page 24: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Product

The “tangible” dimensionProduct size managementProduct characteristics and

requirementsFeature creep management

• 24

Page 25: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Technology

Often the least important dimensionLanguage and tool selectionValue and cost of reuse

• 25

Page 26: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Planning

Determine requirementsDetermine resources Select lifecycle modelDetermine product features strategy

• 26

Page 27: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Tracking

Cost, effort, schedulePlanned vs. ActualHow to handle when things go off

plan?

• 27

Page 28: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Measurements

To date and projected Cost Schedule Effort Product features

Alternatives Earned value analysis Defect rates Productivity Complexity

• 28

Page 29: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Technical Fundamentals

RequirementsAnalysisDesignConstructionQuality AssuranceDeployment

• 29

Page 30: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Project Phases

All projects are divided into phasesAll phases together are known as the

Project Life CycleEach phase is marked by completion

of Deliverables Identify the primary software project

phases

• 30

Page 31: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Lifecycle Relationships

• 31

Page 32: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Seven Core Project Phases

• 32

Page 33: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Project Phases

• 33

Page 34: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Phases Variation

• 34

ConceptExploration

SystemExploration

Requirements

Design

Implementation

Installation

Operations andSupport

Maintenance

Retirement

Page 35: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

36 Classic Mistakes

Types People-Related Process-Related Product-Related Technology-Related

• 35

Page 36: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

People-Related Mistakes Part 1

Undermined motivationWeak personnel

Weak vs. JuniorUncontrolled problem employeesAdding people to a late project

• 36

Page 37: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

People-Related Mistakes Part 2

Noisy, crowded officesCustomer-Developer frictionUnrealistic expectationsPolitics over substanceWishful thinking

• 37

Page 38: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

People-Related Mistakes Part 3

Lack of effective project sponsorshipLack of stakeholder buy-inLack of user input

• 38

Page 39: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Process-Related Mistakes Part 1

Optimistic schedules Insufficient risk managementContractor failure Insufficient planningAbandonment of plan under pressure

• 39

Page 40: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Process-Related Mistakes Part 2

Wasted time during fuzzy front endShortchanged upstream activities Inadequate designShortchanged quality assurance

• 40

Page 41: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Process-Related Mistakes Part 3

Insufficient management controlsFrequent convergenceOmitting necessary tasks from

estimatesPlanning to catch-up laterCode-like-hell programming

• 41

Page 42: Lecture 1 Introduction, Fundamentals, Classic Mistakes 1

Product-Related Mistakes

Feature creepPush-me, pull-me negotiationResearch-oriented development

• 42