Lecture 1 Introduction, Fundamentals, Classic Mistakes 1.

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

Transcript of Lecture 1 Introduction, Fundamentals, Classic Mistakes 1.

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