SENG : Software Project Management -
Comprehensive Course Notes
Project Definition and Fundamentals
What is a Project?
A project is a temporary endeavor undertaken to create a unique product, service, or
result.
Temporary: It has a clear start and end date.
Unique: It creates something new, distinguishable from routine operations.
Goal-Oriented: It aims to achieve specific objectives.
Resource-Constrained: It is limited by time, budget, scope, and quality.
Unique Characteristics of Software Projects
Software projects differ from traditional engineering (like construction) due to specific traits:
Intangibility: Software is not physical and cannot be touched. Progress is often invisible until
late stages.
High Complexity: Involves many interdependent modules, systems, and APIs. Complexity
grows rapidly with size.
Dynamic Requirements: User needs change frequently (requirement volatility), and the
project must adapt.
High Risk and Uncertainty: Subject to technology obsolescence, budget overruns, and
invisible progress0.
People-Centric: Success depends heavily on the communication, skills, and motivation of the
team rather than just materials.
Project Management Processes (PMBOK)
The management lifecycle consists of five process groups:
1. Initiating: Defining goals and authorizing the project.
2. Planning: Developing the schedule, budget, and scope.
3. Executing: Performing tasks and managing the team.
4. Monitoring & Controlling: Tracking progress and managing changes/risks.
5. Closing: Formal acceptance and documenting lessons learned.
Project Planning
Project Scope and Goals
Project Scope defines the boundaries of the project—what is included and what is excluded.
Asst. Prof. Dr. Gözde Özsert Yiğit
Components:
o Objectives: SMART goals (Specific, Measurable, Achievable, Realistic, Time-bound)
o Deliverables: Tangible or intangible outputs (e.g., reports, code).
o Exclusions: Explicitly stating what is not part of the project to prevent scope creep.
Process: Includes scope planning, WBS creation, verification, and control.
Requirement Gathering Techniques
The process of collecting information to ensure the product meets user needs.
Interviews: Direct discussions with stakeholders to explore expectations.
Questionnaires/Surveys: Useful for collecting structured data from many users quickly.
Observation: Watching users perform tasks in their real environment to find hidden needs.
Workshops: Group discussions with developers and clients to reach consensus.
Document Analysis: Reviewing existing reports, manuals, and logs.
Work Breakdown Structure (WBS)
Shutterstock
A hierarchical decomposition of the total project into smaller, manageable parts.
Structure:
o Level : Project Title.
o Level : Deliverables or Phases.
o Level : Work Packages (The smallest manageable unit of work used for estimation).
00% Rule: The WBS must represent 00% of the project scope; nothing more, nothing less.
Purpose: It foundations budgeting, scheduling, and accountability.
Time Planning Techniques
Gantt Chart: A bar chart showing tasks vs. time. It visualizes start/end dates, durations, and
dependencies, but can be hard to manage for large projects.
Asst. Prof. Dr. Gözde Özsert Yiğit
Critical Path Method (CPM): Identifies the longest path of tasks in the network.
o Importance: The critical path determines the shortest possible project duration. If a task on
this path is delayed, the entire project is delayed.
PERT (Program Evaluation and Review Technique): Handles uncertainty by using three
time estimates:
o Optimistic (O), Pessimistic (P), and Most Likely (M) .
o Formula: Expected Time (TE) = (O + M + P) / .
Resource Planning
Identifying and allocating people, tools, and budget to tasks.
Task Allocation: Assigning work based on team members' skills and availability.
Key Principles: Match skills to tasks, avoid overloading resources (multitasking), and
prioritize critical tasks .
Software Estimation and Economics
Cost Estimation Methods
Expert Judgment (Delphi): Estimates based on the intuition of experienced developers.
Analogy-Based: Comparing the current project with similar past projects.
Parametric Models: Using mathematical formulas based on project parameters like size and
complexity.
Bottom-Up: Summing the cost of individual tasks to get a total.
COCOMO Model (Constructive Cost Model)
A parametric model estimating effort, time, and cost based on KLOC (Thousands of Lines of
Code).
Basic: Estimates effort using a simple formula.
Intermediate: Adds "cost drivers" such as team experience and tools.
Formula: Effort = a \times (KLOC)^b.
Application: Widely used to plan schedules and staffing.
Function Point Analysis (FPA)
Estimates size based on functionality delivered to the user rather than lines of code.
Key Metric: Counts types of functions: Inputs, Outputs, Inquiries, Files, and Interfaces.
Advantage: It is independent of the programming language used and focuses on what the
system does.
Effort vs. Duration
Effort: Total work required (e.g., person-months).
Duration: Calendar time needed to complete the work.
Asst. Prof. Dr. Gözde Özsert Yiğit
Resource Trade-off: Adding more people reduces duration only up to a point;
communication overhead prevents proportional reduction (Brooks' Law).
Managing Estimation Uncertainty
All estimates involve risk due to incomplete requirements or new tech.
Monte Carlo Simulation: Uses probability to estimate effort ranges.
Contingency Buffers: Adding 0–0% extra to the estimate to handle unknowns.
Scenario Analysis: Planning for Best-case, Most-likely, and Worst-case scenarios.
Organization and Human Factors
Project Team Structures
Functional Structure: Team members are grouped by specialty (e.g., front-end, QA) and
report to a functional manager.
o Pros: Clear career paths, expertise focus. Cons: Slow communication across depts.
Matrix Structure: A hybrid where members report to both functional and project managers.
o Pros: Flexible resource allocation. Cons: Dual reporting causes conflict.
Project-Based Structure: The team is dedicated solely to the project.
o Pros: Fast decision-making, high cohesion. Cons: Underutilization between projects.
Leadership Styles
Autocratic: Leader makes unilateral decisions. Good for crises, but lowers morale0.
Democratic: Involves the team in decisions. Fosters engagement but is slower.
Laissez-Faire: Minimal guidance. Works well with highly skilled experts but risks confusion
for juniors.
Team Dynamics (Tuckman Model)
Teams pass through five development stages:
1. Forming: Introductions, unclear roles, polite interactions.
2. Storming: Conflicts arise over opinions and authority.
3. Norming: Agreement on roles and processes; trust improves.
4. Performing: High efficiency and smooth collaboration.
5. Adjourning: Project closure and team disbandment.
Motivation Theories
Maslow’s Hierarchy: Needs range from Physiological (salary) to Safety, Social, Esteem, and
Self-actualization (growth).
Herzberg’s Two-Factor:
o Hygiene Factors: (Salary, conditions) prevent dissatisfaction but do not motivate0000.
o Motivators: (Achievement, recognition) drive performance.
Asst. Prof. Dr. Gözde Özsert Yiğit
McClelland’s Theory: Focuses on the needs for Achievement, Affiliation (teamwork), and
Power .
Risk Management
Risk Categories
Technical Risks: Issues with tools, bugs, or unproven technology (e.g., new AI framework).
Project Management Risks: Poor planning, unrealistic deadlines, or unclear scope.
Organizational Risks: Management changes or funding cuts.
External Risks: Market shifts, laws (GDPR), or natural disasters.
Business Risks: Competition and market viability.
Risk Analysis
Qualitative Analysis: Uses descriptive scales (High/Medium/Low) and Risk Matrices. Best
for early stages.
Quantitative Analysis: Assigns numerical values using data.
o EMV (Expected Monetary Value): $Probability \times Impact$0.
o Monte Carlo Simulation: Uses random simulations to predict outcomes.
Risk Prioritization
Risks are ranked using the formula: Risk Exposure (RE) = Probability × Impact. This
ensures resources focus on critical threats (High Impact/High Probability).
Mitigation Strategies
Avoidance: Changing the plan to eliminate the risk entirely.
Mitigation: Taking action to reduce probability or impact (e.g., backups).
Transfer: Shifting impact to a third party (e.g., insurance, outsourcing).
Acceptance: Monitoring the risk without proactive action.
Software Quality and Standards
Quality Models
ISO : Defines six characteristics: Functionality, Reliability, Usability, Efficiency,
Maintainability, and Portability.
ISO/IEC 00: A modern evolution adding Security and Compatibility. It divides quality into:
o Product Quality (Internal attributes)00.
o Quality in Use (User experience: Satisfaction, Effectiveness)0.
Software Testing Levels
Unit Testing: Verifies individual components (e.g., functions)0.
Asst. Prof. Dr. Gözde Özsert Yiğit
Integration Testing: Ensures multiple modules work together correctly0.
System Testing: Validates the complete integrated system against requirements0.
Acceptance Testing: User validations (Alpha/Beta) to ensure business goals are met0.
Regression Testing: Ensures new changes do not break existing functionality0.
Process Maturity Models
CMMI (Capability Maturity Model Integration): Five levels from Initial (ad-hoc) to
Optimizing (continuous improvement)0. Level implies standardized processes0.
SPICE (ISO 0): Assesses process capability on a scale from 0 to 0.
Continuous Integration (CI) and QA
Developers integrate code frequently into a shared repository. Each integration is
automatically built and tested to detect defects early0.
Benefits: Early bug detection, reduced integration risk, and faster release cycles.
Fundamentals of Software Economics
Economic Characteristics of Software
Software differs from physical products:
High Fixed, Low Marginal Costs: Expensive to develop (R&D), but replicating copies costs
nearly zero.
Non-Rivalry: One person's use doesn't reduce availability to others.
Network Effects: The value of software increases as more people use it (e.g., WhatsApp).
Economies of Scale & Network Effects
Economies of Scale: As production increases, the average cost per unit decreases. In
software, this is powerful because distribution costs are negligible.
Types of Network Effects:
o Direct: Users benefit directly from other users (e.g., messaging apps).
o Indirect: Value from complementary products (e.g., Android app ecosystem).
o Lock-In: Switching costs make it hard for users to leave a platform.
Market Structures
Perfect Competition: Rare in software; many firms, identical products0.
Oligopoly: A few dominant players control the market (e.g., Cloud market: AWS, Azure,
Google).
Monopoly: One firm dominates, often due to network effects.
Platform Ecosystems: Platforms (e.g., App Store) connect developers and users.
Licensing Models
Asst. Prof. Dr. Gözde Özsert Yiğit
Open Source (OSS): Source code is public. Promotes innovation (e.g., Linux).
Proprietary: Closed source, controlled by vendor. High revenue (e.g., Windows).
SaaS: Subscription-based, cloud-hosted (e.g., Salesforce).
Cost Management
Types of Software Costs
Development Costs: Requirements, Design, Coding (largest component), Testing.
Operational Costs: Maintenance (often 0-0% of total lifetime cost), Support, Hosting.
Indirect Costs: Management, legal, training, and licenses.
Opportunity Costs: Value of the best alternative that was sacrificed0.
Failure Costs: Rework, outages, and reputation loss.
Budgeting Methods
Top-Down: Senior management sets total cost; fast but may ignore technical complexity.
Bottom-Up: Teams estimate individual tasks and sum them; highly accurate but time-
consuming.
Zero-Based Budgeting (ZBB): Every expense must be justified from zero; no assumptions
from past budgets.
Financial Metrics
Cost-Benefit Analysis (CBA): Compares total expected costs vs. benefits to determine
economic feasibility.
o Metrics: Net Benefit ($Total Benefits - Total Costs$) and Benefit-Cost Ratio (BCR).
Return on Investment (ROI): Measures profitability using the formula:
$$ROI = \frac{Total Benefits - Total Costs}{Total Costs} \times 00\%$$
Cost Overruns
Common causes include Poor Estimation, Scope Creep (uncontrolled additions),
Requirement Changes, and Technical Debt (poor code requiring rework) .
Project Tracking and Control
Earned Value Analysis (EVA)
Integrates scope, cost, and schedule to track performance.
Key Metrics:
o PV (Planned Value): Budget for work scheduled0.
Asst. Prof. Dr. Gözde Özsert Yiğit
o EV (Earned Value): Budget for work actually completed.
o AC (Actual Cost): Actual money spent.
Variances:
o Cost Variance (CV): $EV - AC$ (Is the project under or over budget?).
o Schedule Variance (SV): $EV - PV$ (Is the project ahead or behind schedule?).
Indices:
o CPI (Cost Performance Index): $EV / AC$ (Measures cost efficiency).
o SPI (Schedule Performance Index): $EV / PV$ (Measures schedule efficiency).
Scope Creep
Uncontrolled growth in project scope without adjustments to time or cost.
Causes: Ambiguous requirements or "Gold Plating" (developers adding unasked features).
Monitoring Tools
Gantt Charts: Visual timeline for Waterfall projects.
Kanban Boards: Visualizes workflow and limits Work In Progress (WIP)0.
Burndown Charts: Graphs work remaining vs. time (Scrum).
Legal Aspects & Contracts
Software Contracts
Fixed-Price: Predetermined price. Good for stable requirements; high risk for vendor.
Time and Materials (T&M): Client pays for hours/resources. High flexibility; good for
Agile.
Dedicated Team: Vendor provides a full-time team managed by the client.
Intellectual Property Rights (IPR)
Copyright: Protects expression of code (source/object code), documentation, and UI. Arises
automatically.
Patents: Protects inventions/functional methods (controversial in software).
Trademarks: Protects brand identity (logos, names).
Trade Secrets: Protects confidential business info (e.g., algorithms).
Open Source Licenses
Permissive (e.g., MIT, Apache): Allows proprietary derivatives and commercial use.
Copyleft (e.g., GPL): Derivative works must remain open source (viral effect)0.
Project Closure and Evaluation
Project Closure Process
Asst. Prof. Dr. Gözde Özsert Yiğit
Administrative Closure: Archiving records, analyzing success, and releasing resources.
Financial Closure: Paying bills, closing accounts, and finalizing cost reports.
Contractual Closure: Verifying all deliverables are met and providing formal notice of
completion.
Delivery and Sign-off
User Acceptance Testing (UAT): Conducted by end-users in a production-like environment.
Sign-Off: Legal acknowledgement (wet signature) transferring ownership to the client. Any
changes after this require a new contract.
Lessons Learned (Post-Mortem)
Retrospective Workshop: A blameless gathering to discuss successes and failures.
Knowledge Management: Uploading documents to Organizational Process Assets (OPA) for
future reference.
Root Cause Analysis: Using techniques like " Whys" or "Fishbone Diagram".
Shutterstock
Post-Project Maintenance
Corrective: Fixing bugs (warranty period).
Adaptive: Adjusting to environment changes (e.g., OS updates).
Perfective: Improving performance or maintainability.
Current Trends and General Review
Asst. Prof. Dr. Gözde Özsert Yiğit
Agile & DevOps
Agile: An iterative approach (Scrum/Kanban) valuing response to change over rigid plans.
DevOps: Combines Development and Operations to shorten the lifecycle using CI/CD
(Continuous Integration/Deployment).
Shutterstock
Cloud Economy
Shift from CAPEX to OPEX: Moving from buying servers (Capital Expenditure) to renting
services (Operational Expenditure).
Service Models:
o IaaS: Infrastructure as a Service (Rent hardware).
o PaaS: Platform as a Service (Rent platform for devs).
o SaaS: Software as a Service (Rent finished software).
AI in Management
Using AI models to analyze historical data for better estimation, risk identification, and
reducing human bias (Optimism Bias) in planning.
Asst. Prof. Dr. Gözde Özsert Yiğit