Chapter 9 - Software Project Management

Updated 4 Oct 2026

CSS323 Software Engineering Asst.Prof.Dr. Sasiporn Usanavasin


Step-Wise: Project Planning Overview

  • Step 0: Select Project → Feasibility Study + Cost-Benefit Analysis
  • Step 1: Identify Project Scope and Objectives
  • Step 2: Identify Project Infrastructure
  • Step 3: Analyze Project Characteristics
  • Step 4: Identify Products and Activities
  • Step 5: Estimate Efforts for Activities
  • Step 6: Identify Risks
  • Step 7: Allocate Resources
  • Step 8: Review Plan
  • Step 9: Execute Plan
  • Step 10: Lower Level Planning (for each activity → lower level details → review)

Step 0: Project Selection

Feasibility Study — Content List

  • Introduction — identifies what the document is
  • Description of current situation
  • Problem description
  • Proposed development
  • Business and financial aspects
  • Technical aspects
  • Organizational aspects
  • Estimated costs
    • Development costs
    • Operational costs
  • Envisaged benefits
  • Recommendation

Cost-Benefit Analysis

  • The most common way of carrying out an economic assessment of a proposed project
  • Compares expected costs of development and operation against the benefits of having the project in place

Two Steps:

  1. Identify and estimate all costs and benefits
    • Estimate development costs
    • Estimate operation costs
    • Estimate costs/benefits when replacing old system with new system
  2. Express costs and benefits in common units
    • Express in monetary terms
    • Evaluate the net benefit = total benefit − total cost

Types of Costs and Benefits:

  • Costs
    • Development costs
    • Setup costs
    • Operational costs
  • Benefits
    • Direct benefits
    • Assessable indirect benefits
    • Intangible benefits

Cash-Flow Forecasting

  • A cash-flow forecast indicates when expenditure and income will take place
  • Typically products generate a negative cash flow during development, followed by a positive cash flow over operating life
  • There might be decommissioning costs at the end of a product's life

🏗️ ลองนึกภาพการสร้างบ้าน — ช่วงก่อสร้างจ่ายเงินออกตลอด (negative) แต่พอให้เช่าแล้วเงินเข้า (positive) และสุดท้ายอาจมีค่ารื้อถอน (decommissioning)

Example Table (Table 3.2) — Four Project Cash Flow Projections (£)

YearProject 1Project 2Project 3Project 4
0−100,000−1,000,000−100,000−120,000
110,000200,00030,00030,000
210,000200,00030,00030,000
310,000200,00030,00030,000
420,000200,00030,00030,000
5100,000300,00030,00075,000
Net Profit50,000100,00050,00075,000

Cost-Benefit Evaluation Techniques

Four main techniques:

  1. Net Profit
  2. Payback Period
  3. Return on Investment (ROI) / Accounting Rate of Return (ARR)
  4. Net Present Value (NPV)

Note: NPV and Internal Rate of Return (IRR) are collectively known as **Discounted Cash Flow (DCF)**technique.


1. Net Profit

  • The difference between total costs and total income over the life of the project
  • From Table 3.2: simply sum all cash flows including initial investment

💰 กำไรสุทธิ = รายรับทั้งหมด − ต้นทุนทั้งหมด ตลอดอายุโครงการ (ไม่คำนึงถึงมูลค่าเงินตามเวลา)


2. Payback Period

  • The time taken to break even or pay back the initial investment
  • The project with the shortest payback period is preferred — organization wants to minimize time "in debt"
  • Limitation: Ignores the overall profitability of the project

⏱️ เหมือนกู้เงินซื้อของ — อยากรู้ว่ากี่ปีถึงจะคืนทุน (แต่ไม่สนว่าหลังจากนั้นจะได้กำไรเท่าไร)

  • From Table 3.2:
    • Project 1: Payback at Year 5 (arrows indicate breakeven point)
    • Project 3: Payback at Year 4
    • Project 4: Payback at Year 4

3. Return on Investment (ROI) / ARR

  • Provides a way of comparing net profitability to investment required

ROI=Average Annual ProfitTotal Investment×100\boxed{ROI = \frac{\text{Average Annual Profit}}{\text{Total Investment}} \times 100}

Example — Project 1:

  • Net Profit = £50,000 over 5 years
  • Average Annual Profit = 50,0005=10,000\frac{50{,}000}{5} = 10{,}000
  • Total Investment = £100,000

ROIProject 1=10,000100,000×100=10%ROI_{\text{Project 1}} = \frac{10{,}000}{100{,}000} \times 100 = 10\%

📈 ROI คือ % ผลตอบแทนต่อปีเทียบกับเงินลงทุน — ยิ่งสูงยิ่งดี เหมือนดอกเบี้ยเงินฝากนั่นแหละ


4. Net Present Value (NPV)

  • Standard method for financial appraisal of long-term projects
  • Used for capital budgeting — measures excess or shortfall of cash flows in present value terms
  • Core idea: money today is worth more than money in the future

PV=Value in Year t(1+r)t\boxed{PV = \frac{\text{Value in Year } t}{(1+r)^t}}

  • rr = discount rate (expressed as decimal, e.g., 10% = 0.10)
  • tt = number of years into the future the cash flow occurs

Discount Factor=1(1+r)t\boxed{\text{Discount Factor} = \frac{1}{(1+r)^t}}

NPV=∑t=0nCt(1+r)t\boxed{NPV = \sum_{t=0}^{n} \frac{C_t}{(1+r)^t}}

🕐 ลองนึกว่า ถ้ามีคนบอกว่าจะให้เงินคุณ 100 บาทในอีก 5 ปี — มันไม่ได้ค่าเท่ากับ 100 บาทวันนี้ เพราะเงินวันนี้เอาไปลงทุนได้ NPV คือการปรับค่าเงินในอนาคตให้เป็น "มูลค่าวันนี้"

What NPV Tells You:
If...It means...Then...
NPV > 0Investment adds value to the firmAccept the project
NPV < 0Investment subtracts value from the firmReject the project
NPV = 0Investment neither gains nor loses valueCould accept — shareholders get required rate of return; decision based on other criteria (e.g., strategic positioning)
Discount Factor Table (Present Value of $1)
Period6%7%8%9%10%12%14%16%
01.0001.0001.0001.0001.0001.0001.0001.000
10.9430.9350.9260.9170.9090.8930.8770.862
20.8900.8730.8570.8420.8260.7970.7690.743
30.8400.8160.7940.7720.7510.7120.6750.641
40.7920.7630.7350.7080.6830.6360.5920.552
50.7470.7130.6810.6500.6210.5670.5190.476
60.7050.6660.6300.5960.5640.5070.4560.410
70.6650.6230.5830.5470.5130.4520.4000.354
80.6270.5820.5400.5020.4670.4040.3510.305
90.5920.5440.5000.4600.4240.3610.3080.263
100.5580.5080.4630.4220.3860.3220.2700.227
NPV Example — Project 1 at 10% Discount Rate (Table 3.4)
YearCash Flow (£)Discount Factor @ 10%Discounted Cash Flow (£)
0−100,0001.0000−100,000
110,0000.90919,091
210,0000.82648,264
310,0000.75137,513
420,0000.683013,660
5100,0000.620962,090
Net Profit£50,000NPV: £618
NPV Exercise
  • Calculate NPV for Projects A, B, C using discount rates 8%, 10%, and 12%
YearProject A (£)Project B (£)Project C (£)
0−8,000−8,000−10,000
14,0001,0002,000
24,0002,0002,000
32,0004,0006,000
41,0003,0002,000
55009,0002,000
6500−6,0002,000
Net Profit4,0005,0006,000

Step 1: Identify Project Scope and Objectives

  • Identify project goals, objectives and measurements
  • Establish Authority
  • Stakeholder analysis

Goals vs. Objectives

GOALS — the "WHAT"

  • Broad statements that indicate what you hope to accomplish
  • Should describe the big picture of the final outcome
  • Related to the project need statement
  • Simply stated

Examples of Goals:

  • Website: "Visitors will be convinced that global warming exists"
  • Insurance: "The Medical Insurance department will increase provider options by 10%"
  • Healthcare: "Patients will not wait longer than 1 hour to see a physician"

OBJECTIVES — the "HOW"

  • Specific statements that support the goal
  • Every goal has one or more objectives tied to it
  • Operational and measurable
  • Should start with an action verb
  • Describe specific things to be accomplished
  • Include quantitative or qualitative degree/amount of achievement

🎯 Goal = "อยากผอม" | Objective = "ออกกำลังกาย 3 วัน/สัปดาห์ และลดน้ำหนัก 5 กก. ภายใน 3 เดือน"

Examples of Objectives (from Goal examples above):

Goal 1: Global warming awareness

  • To create a table comparing costs of addressing global warming today vs. 100 years from now
  • To illustrate effects of global warming in a photo gallery
  • To identify and address "myths" of global warming

Goal 2: Insurance provider options

  • To identify provider options and costs
  • To survey the customer to find each option's value
  • To compare options to competitors
  • To increase provider options at least 10%

Goal 3: Patient wait time

  • To evaluate personnel requirements
  • To purchase new appointment scheduling software
  • To set up appointment confirmation schedule

S.M.A.R.T. Objectives

LetterMeaningDescription
SSpecificWhat kind of or which problem is to be addressed
MMeasurableHow much, how many, how well the problem will be resolved
AAction-OrientedUses action verbs
RReasonableResult you can expect to achieve
TTime-boundGives specific date for its own achievement

🧠 SMART = เหมือน New Year's Resolution ที่ดี — "ออกกำลังกาย 30 นาที 3 วัน/สัปดาห์ ภายในสิ้นปีนี้" ดีกว่า "จะออกกำลังกายเยอะๆ"


Types of Objectives

Process Objectives

  • Typically begin with "To develop" or "To establish"
  • Describe a process rather than an outcome
  • Attainment = the objective was met (binary)
  • Example: "To evaluate personnel requirements"

Outcome Objectives

  • Typically begin with "To increase" or "To reduce"
  • Describe a measurable, expected outcome
  • Example: "To increase options at least 10%"
    • Measured by: Medical Insurance department actually increased provider options by ≥ 10%

Measurable Objectives — A-B-C-D-E Method

A=AudienceB=BehaviorC=ConditionsD=DataE=Era\boxed{A = \text{Audience} \quad B = \text{Behavior} \quad C = \text{Conditions} \quad D = \text{Data} \quad E = \text{Era}}

  • A — Audience: Who will be affected (target group)
  • B — Behavior: Observable change (knowledge, attitude, behavior, process) in target group
  • C — Conditions: How behaviors will be observed or measured; instruments to be used
  • D — Data: Levels of attainment that must be met for project to be called a success
  • E — Era: Identifies when the effects will be measured

Full Example:

"At the end of three years of implementation (Era), 90% of customers will provide feedbacks and comments about medical insurance options (Behavior) and top five options (Conditions) will be evaluated to find key success factors (Data)..."

Action verbs to use in objectives: Increase, Improve, Eliminate, Implement, Maintain, Seek, Reduce


Writing Objectives — Objectives, Activities, Evaluation

ObjectivesActions/ActivitiesMeasures
What do you propose to achieve and to what extent?What will you do to get there?How will you know what you did worked?
To review, select and implement one of the approved software development projects during 2019–2020Form a team to review and recommend a specific project to be selectedA project will be selected and new software will be developed and deployed by January 2020

Purpose of Evaluation Plan

  • Present strategies for collecting data that prove objectives were met
  • Describes how you will decide whether the project was successful
  • Demonstrates how you will prove you achieved your objective

Types of Evaluations

TypeSample QuestionFocus
Formative / Process Evaluation"How are we doing?"Ongoing monitoring; processes and short-term results
Summative / Product Evaluation"How did we do?"Effectiveness of achieving objectives; outcomes, impacts, and processes affecting outcomes

Step 2: Identify Project Infrastructure

Project Team Roles and Responsibilities

  • Project Manager
  • Team Leader
  • Project Coordinator
  • Business/System Analyst
  • Systems Architect
  • Software Engineers and Developers
  • Testers
  • DevOps
  • Quality Assurance Auditor

Standards and Procedures

Process Standards

  • PSP, TSP, CMMI, ISO, etc.
  • Agile

Documentation Standards

  • Organizational Templates
  • Project Templates
  • Personal Templates

Code Standards

  • Organizational coding standard
  • Project coding standard
  • Personal coding standard

CMMI Framework

CMMI_Framework

Capability Maturity Model Integration (CMMI) — Three constellations:

  • CMMI-DEV — Requirements Development, Technical Solution, Product Integration, Verification, Validation
  • CMMI-SVC — Capacity & Availability Management, Service Delivery, Service Continuity, Strategic Service Management
  • CMMI-ACQ — Agreement Management, Acquisition Requirements Development, Acquisition Validation

CMMI Maturity Levels:

LevelNameDescription
1InitialProcesses are unpredictable, poorly controlled, reactive
2ManagedProcesses are planned, documented, performed, monitored, and controlled at the projectlevel. Often reactive
3DefinedProcesses are well characterized and understood; defined at the organizational level. Proactive
4Quantitatively ManagedProcesses controlled using statistical and other quantitative techniques
5OptimizingProcess performance continually improved through incremental and innovative improvements

🏆 CMMI Level = "ระดับความสุก" ขององค์กร — Level 1 คือทำแบบ improvise ทุกครั้ง, Level 5 คือมี process ที่ดีและปรับปรุงตลอด

CMMI vs. ISO

CMMIISO
TypeModelStandard
FocusIn-depth focus in SE, SW, SABroad focus
PurposeMeasure process qualityFocus on having a process
RigorMore rigorousLess rigorous
Best PracticesExtensive setAssists in satisfying CMMI capabilities
Tells youWhat to do (not how or who)What to do (not how or who)

Step 3: Analyze Project Characteristics

  • Take into account user-specific requirements concerning implementation

Constraint Categories:

  • Systems Design & Technology Constraints — Technology, Tools, Platform, etc.
  • Process Constraints — Standards, QA process
  • Resource Constraints
    • Budget
    • Timeline
    • Human Resources (HR)

Step 4: Identify Project Products and Activities

Three main tasks:

  1. Identify Project Activities and Deliverables (Work Products) → Perform WBS
  2. Document product flows
  3. Produce activity network → PERT Chart

Work Breakdown Structure (WBS)

  • Breaks a project into phases → activities → tasks
  • The goal is accomplished when all tasks in WBS are completed
Project
├── Phase 1
│   ├── Activity 1.0
│   │   ├── Task 1.1
│   │   ├── Task 1.2
│   │   └── Task 1.3
│   └── Activity 2.0
│       ├── Task 2.1
│       ├── Task 2.2
│       └── Task 2.3
└── Phase N

Why create a WBS?

  • Helps plan out the process needed to accomplish the project
  • Helps design the architecture of the project
  • Forms the basis for estimating time and effort

WBS: Three Approaches

1. Activity-Based Approach

  • Creates a list of all activities the project involves
  • WBS to create a task list
Project
├── Analysis Design
│   ├── Non-Functional Req. Analysis
│   ├── Functional Req. Analysis
│   └── Relational Data Analysis
├── Process Design
├── Physical Design
├── Data Design
└── Coding
    ├── Module A
    ├── Module B
    └── Module C

2. Product-Based Approach

  • WBS based on deliverables
  • Structured around work products to be produced
Project
├── Installed System
│   ├── Software Components
│   │   ├── Analyze Requirements
│   │   ├── High-Level Design
│   │   ├── Detailed Design
│   │   ├── Code Software
│   │   └── Test Software
│   └── (Integration, System Test, Deliver)
├── User Manuals
│   ├── Analyze Requirements
│   ├── Design Manual
│   ├── Write Text
│   └── Print Manuals
├── Training Course
│   ├── Review Requirements
│   ├── Design Course
│   ├── Write Material
│   └── Deliver Course
└── ...

3. Hybrid Approach

  • Activity → Product-Oriented, or
  • Product → Activity-Oriented

Tasks in WBS — Work Package Specification

A task is the smallest unit of management accountability — an atomic unit of work for planning and tracking.

Each task (Work Package) should specify:

  • Task ID
  • Task Name
  • Task Description
  • Person in charge
  • Resource
  • Preconditions
  • Duration
  • Work Product to be produced and acceptance criteria
  • Risks involved

Activity Network and WBS

Activity_Network_WBS

  • WBS decomposes the project hierarchically
  • Activity Network shows the sequencing and dependencies between tasks
  • WBS tasks become nodes in the activity network

Activity Network (PERT Chart)

PERT_Chart

Steps for Creating a PERT Chart:

  1. Identify specific activities and milestones (from WBS)
  2. Determine the proper sequence of activities
  3. Construct a network diagram
  4. Estimate the time required for each activity
  5. Determine the critical path
  6. Update the PERT chart as the project progresses

Step 5: Estimate Efforts for Activities

Project Estimation Flow

Project_Estimation_Flow

Size Estimation→{Effort Estimation→Cost Estimation Duration Estimation→Staffing Estimation→Scheduling\text{Size Estimation} \rightarrow \begin{cases} \text{Effort Estimation} \rightarrow \text{Cost Estimation} \ \text{Duration Estimation} \end{cases} \rightarrow \text{Staffing Estimation} \rightarrow \text{Scheduling}

  • Size Estimation feeds into both Effort and Duration estimation
  • Effort + Duration feed into Staffing Estimation
  • Staffing + Duration feed into Scheduling

Critical Path

  • Critical Path = The series of activities which determines the earliest completion of the project
  • It is the longest path through the network

🚦 Critical Path คือเส้นทางที่ยาวที่สุด = bottleneck ของโครงการ — ถ้า task ไหนอยู่บน critical path แล้วช้า โปรเจคทั้งหมดก็จะช้าตาม

Critical_Path_Diagram

Example (from slide):

  • Path A-C-G-H = 4 + 5 + 2 + 2 = 13 days → Critical Path
  • Path B-D-E-H = 3 + 3 + 1 + 2 = 9 days
  • Path B-F-H = 3 + 4 + 2 = 9 days

Step 6: Identify Activity Risks

Risk Management Paradigm (4 Steps)

  1. IDENTIFY — Identify project, product and business risks
  2. ANALYZE — Assess the likelihood and consequences of these risks
  3. PLAN — Draw up plans to avoid or minimise effects of the risk
  4. MONITOR & CONTROL — Monitor and control the risks throughout the project (loops back to Identify)

Risk Management Process Flow

Risk Identification→Risk Analysis→Risk Planning→Risk Monitoring↺\text{Risk Identification} \rightarrow \text{Risk Analysis} \rightarrow \text{Risk Planning} \rightarrow \text{Risk Monitoring} \circlearrowleft

Each step produces:

  • Risk Identification → List of potential risks
  • Risk Analysis → Prioritised risk list
  • Risk Planning → Risk avoidance and contingency plans
  • Risk Monitoring → Risk assessment

Risk Identification — Risk Categories

Risk TypePossible Risks
TechnologyDatabase cannot process expected transactions per second; Reused software components contain defects
PeopleImpossible to recruit staff with required skills; Key staff ill at critical times; Required training not available
OrganisationalOrganisation restructured with different management; Financial problems force budget reductions
ToolsCASE tool-generated code is inefficient; CASE tools cannot be integrated
RequirementsRequirements changes requiring major design rework; Customers fail to understand impact of requirement changes
EstimationDevelopment time underestimated; Defect repair rate underestimated; Software size underestimated

Risk Analysis

  • Determine probability and seriousness of each risk
  • Probability levels: very low, low, moderate, high, very high
  • Risk effects: catastrophic, serious, tolerable, insignificant

Risk Exposure=Risk Likelihood×Risk Impact\boxed{\text{Risk Exposure} = \text{Risk Likelihood} \times \text{Risk Impact}}

  • Risk Likelihood: scale 1 (least likely) to 10 (most likely)
  • Risk Impact: scale 1 to 10

Example Risk Exposure Table:

HazardLikelihoodImpactRisk Exposure
R1: Requirement changes during coding188
R2: Specification takes longer than expected3721
R3: Key staff sickness affect critical path activities5735
R4: Key staff sickness affect non-critical activities10330
R5: Module coding takes longer than expected4520
R6: Module testing demonstrates errors or deficiencies in design11010

🎲 Risk Exposure เหมือนคูณ "โอกาสเกิด × ความเสียหาย" — อะไรที่โอกาสสูงและเสียหายมากต้องจัดการก่อน


Risk Planning

Three types of risk strategies:

  • Avoidance strategies — Reduce the probability that the risk will arise
  • Minimization strategies — Reduce the impact of the risk on the project/product
  • Contingency plans — Plans to deal with the risk if it does arise

Risk Management Strategies Table:

RiskStrategy
Organisational financial problemsPrepare briefing document for senior management showing project's important contribution to business goals
Recruitment problemsAlert customer of potential delays; investigate buying-in components
Staff illnessReorganise team for more work overlap so people understand each other's jobs
Defective componentsReplace potentially defective components with bought-in components of known reliability
Requirements changesDerive traceability information to assess change impact; maximise information hiding in design
Organisational restructuringPrepare briefing document for senior management
Database performanceInvestigate possibility of buying a higher-performance database
Underestimated development timeInvestigate buying in components; investigate use of a program generator

Risk Monitoring

  • Assess each identified risk regularly to decide if it's becoming more or less probable
  • Assess whether the effects of the risk have changed
  • Each key risk should be discussed at management progress meetings

Risk Indicators:

Risk TypePotential Indicators
TechnologyLate delivery of hardware or support software; many reported technology problems
PeoplePoor staff morale; poor relationships amongst team members; job availability
OrganisationalOrganisational gossip; lack of action by senior management
ToolsReluctance to use tools; complaints about CASE tools; demands for higher-powered workstations
RequirementsMany requirements change requests; customer complaints
EstimationFailure to meet agreed schedule; failure to clear reported defects

Step 7: Allocate Resources

Triple Constraints in Project Management

Triple_Constraints

The three legs of the "tripod" that hold up Quality:

  • Resources (Cost)
  • Time (Schedule)
  • Scope

⚖️ ถ้าเพิ่ม Scope โดยไม่เพิ่ม Cost/Time → Quality ตก เหมือนขาโต๊ะ 3 ขา — ดึงขาหนึ่งยาวขึ้นโดยไม่ปรับอีกสองอัน โต๊ะจะเอียง


Resource Constraint Overview

Key questions after resources are assigned:

  • Will assigned labor/equipment be adequate and available?
  • Will outside contractors be needed?
  • Do unforeseen resource dependencies exist? Is there a new critical path?
  • How much flexibility do we have in using resources?
  • Is the original deadline realistic?

Types of Resource Constraints

  • People
  • Materials
  • Equipment

Classification of Scheduling Problems

TypeDefinitionApproach
Time-ConstrainedMust be completed by an imposed date; resources can be added if neededMinimize resource usage while meeting deadline
Resource-ConstrainedLevel of resources cannot be exceeded; acceptable to delay project but as little as possibleMinimize project delay without exceeding resource limit

Resource Allocation Methods

Time-Constrained Projects: Resource Smoothing

  • Focuses on resource utilization
  • Uses resource leveling techniques — delay noncritical activities (using slack) to:
    • Reduce peak demand
    • Increase resource utilization
    • Minimize fluctuations in resource demand

Three goals of smoothing (Botanical Garden example):

  1. Peak demand for the resource was reduced
  2. Total number of resources over the project life was reduced
  3. Fluctuations in resource demand were minimized

Resource_Smoothing_Example

Resource-Constrained Projects: Parallel Method

  • Uses heuristics (rules of thumb) to prioritize resource allocation
  • Parallel method = most widely used; starts from beginning of project time
  • When resources exceed availability, prioritizes by:
    1. Minimum slack (most urgent first)
    2. Smallest duration (shortest task first)
    3. Lowest activity identification number (tie-breaker)

🔀 Parallel Method คือการ "เข้าคิว" — ใครด่วนที่สุด (slack น้อย) ได้ resource ก่อน ใครไม่ด่วนก็รอ

Resource_Constrained_Schedule


Project Planning Process Summary

\text{Scope/WBS} \rightarrow \text{Network} \rightarrow \text{Resource & Cost Scheduling} \rightarrow \text{Master Plan}

  • Risk interacts bidirectionally with all four stages

WBS Example (Software Development Project):

WBS_Software_Development

Main phases and approximate effort percentages:

  • 1.0 Specification (25%)
  • 2.0 Design (20%)
  • 3.0 System Implementation (30%)
  • 4.0 Testing (15%)
  • 5.0 Project Close Out (10%)

End of SPM Notes — CSS323 Software Engineering