Software Development  ·  Level 6
Project Management Principles
Chapter 2: To perform project planning
📚 8 Topics
What you will be able to do

By the end of this chapter, you will be able to:

  • accurately prepare a project budget that meets all work requirements
  • determine a project schedule based on specific deliverables
  • allocate project resources efficiently according to your budget
  • create clear work breakdown structures based on the project schedule
  • prepare a project quality plan that follows workplace procedures
  • form a project team that suits the project’s requirements
  • assign roles and responsibilities to team members based on what the project needs
  • prepare a complete project plan using the correct work procedures

Mastering these skills will help you confidently plan and manage successful projects in the real world of work.

Project planning is an essential phase in software development projects, especially in Kenya's dynamic IT sector. Effective planning ensures optimal use of resources, timely delivery, and alignment with client expectations. This chapter focuses on two critical elements of project planning: preparing a project budget and determining the project schedule. These components help software developers, project managers, and stakeholders manage costs and time effectively to deliver successful software solutions.

2.1 Preparation of Project Budget

Project budgeting in software development involves estimating the financial resources required to complete the software project within scope and quality constraints. In Kenya, where software firms often compete for limited funding and clients demand cost-effective solutions, precise budgeting supports transparent client communication and resource allocation. Budgeting also serves as a control mechanism to avoid cost overruns and ensure profitability.

2.1.1 Steps of Preparing Budget

Preparing a project budget in software development requires a systematic approach to capture all cost elements accurately. Each step builds on the previous to produce a comprehensive financial plan that guides expenditure and funding decisions.

Identifying Project Scope and Deliverables

Understanding the full scope of the software project is the first step. This includes defining all features, modules, and expected outputs. For example, a banking software project may include modules for account management, loan processing, and mobile integration. Clear scope definition prevents budget inflation due to scope creep.

Estimating Resource Requirements

Determine the human resources, hardware, software tools, and infrastructure needed. This includes developers, testers, project managers, cloud services, and licenses. Estimations should consider the skill levels and productivity rates of the Kenyan software workforce.

Calculating Direct and Indirect Costs

Direct costs include salaries, software licenses, and equipment purchases. Indirect costs cover overheads such as office rent, utilities, and administrative support. For instance, a Nairobi-based software firm must factor in office lease expenses and electricity costs in their budget.

Applying Contingency Allowances

Set aside a percentage of the budget for unexpected expenses such as technical challenges or scope changes. In Kenyan projects, a typical contingency might range from 5% to 15%, depending on project complexity and risk.

Consolidating and Reviewing the Budget

Compile all cost estimates into a detailed budget document. Review with key stakeholders to validate assumptions and ensure alignment with project goals. This review may involve the client, finance team, and project sponsors to secure approval.

2.1.2 Budgeting Techniques

Various budgeting techniques provide frameworks to estimate and control costs in software projects. Selecting an appropriate method depends on project size, complexity, and available data.

Analogous Estimating

This technique uses historical data from similar past projects to estimate costs. For example, a software firm developing a hospital management system may reference budgets from previous healthcare projects. It is quick but less accurate for unique projects.

Parametric Estimating

Parametric estimating applies statistical relationships between project variables and cost. For instance, cost per function point or cost per line of code can be used to estimate budget based on software size metrics. This technique requires reliable data but offers better precision.

Bottom-Up Estimating

This method involves estimating costs for each work package or task and aggregating them to form the total budget. It is detailed and accurate but time-consuming. Kenyan software teams developing custom ERP systems often use bottom-up estimating to capture all activities.

Three-Point Estimating

This approach considers optimistic, pessimistic, and most likely cost estimates to calculate an expected budget using a weighted average. It helps address uncertainty and risk, common in innovative software projects in Kenya’s tech hubs.

Reserve Analysis

Reserve analysis involves allocating contingency and management reserves for identified and unidentified risks. It is particularly useful in projects with high uncertainty, such as those integrating emerging technologies like AI or blockchain.

Practice Questions

  1. Explain the importance of defining project scope before preparing a software project budget. (6 marks)
  2. Describe bottom-up estimating and discuss its advantages and disadvantages in software project budgeting. (8 marks)
  3. Identify and explain five key cost components that should be considered when preparing a project budget for a software development project in Kenya. (10 marks)
The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒2.2 Determination of Project Schedule

Scheduling is the process of defining when project activities will occur to ensure timely delivery of the software product. In Kenya’s fast-paced software industry, effective scheduling aligns team efforts, manages dependencies, and meets client deadlines. It…

🔒2.3 Allocation of Project Resources

Effective allocation of project resources is a critical phase in software development project management in Kenya. Resources, including human skills, technology tools, and financial budgets, must be carefully identified, allocated, balanced, and monitored to e…

🔒2.4 Determination of Project Work Breakdown Structures (WBS)

In software development projects in Kenya, organizing the project scope into manageable components is essential for successful delivery. The Work Breakdown Structure (WBS) provides a hierarchical decomposition of the total work to be carried out by the project…

🔒2.5 Preparation of Project Quality Plan

In software development projects in Kenya, preparing a project quality plan is critical to ensure that the final product meets customer requirements and industry standards. This plan guides the project team on how to achieve quality throughout the software dev…

🔒2.6 Formation of Project Team

In software development projects in Kenya, assembling an effective project team is a critical step that directly influences project success. The project team is responsible for executing the plan, managing technical challenges, and delivering quality software…

🔒2.7 Project Team Roles and Responsibilities

In software development projects in Kenya, clearly defining and managing project team roles and responsibilities is vital for successful delivery. Teams often comprise diverse specialists such as software developers, quality assurance testers, business analyst…

🔒2.8 Preparation of Project Plan

In software development projects within Kenya, preparing a comprehensive project plan is critical for aligning stakeholder expectations, defining clear deliverables, and guiding the development team through execution. The project plan acts as a roadmap that in…

Chapter Summary

This chapter covers the essential steps and techniques involved in project planning, beginning with the preparation of a comprehensive project budget through systematic steps and appropriate budgeting methods. It then explores the determination of the project schedule, detailing the process of preparing schedules and the use of tools such as the critical path and PERT to manage timelines effectively. The allocation of project resources is addressed by identifying necessary resources, assigning them according to availability, balancing their use, and continuously monitoring and adjusting as needed. The chapter also explains the development of the project work breakdown structure by identifying major deliverables, dividing them into manageable tasks, assigning resources and timelines, and applying a numbering system for clarity. Preparation of the project quality plan is discussed with a focus on setting quality objectives, implementing assurance activities, quality control measures, and defining acceptance criteria. The formation of the project team involves identifying the skills required, selecting members, defining roles and responsibilities, and fostering collaboration. Detailed attention is given to clarifying team roles and responsibilities by defining, assigning, documenting, and obtaining formal approval. Finally, the chapter concludes with the preparation of a comprehensive project plan that integrates objectives, scope, schedule, resource allocation, risk management, communication, change management, and securing project approval.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the first step in preparing a project budget for a software development project? (2 marks)
  2. Identify two budgeting techniques commonly used in software project management and briefly explain their differences. (4 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with model answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain the significance of preparing a project budget in software development projects at a Kenyan fintech company like M-Pesa Foundation. (4 marks)
  2. List and briefly describe four budgeting techniques suitable for software development projects. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Prepare a Detailed Project Budget for a Construction Project

Software Development · Level 6
Project Management Principles
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare a detailed project budget for a residential building project covering all phases with a total cost estimate of KES 5,000,000 using budgeting techniques.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with Microsoft Excel installedProject Budget Template (Excel file)
CalculatorProject Scope Document
Pen and Notepad
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with Microsoft Excel installed1 Pc per Candidate
2Project Budget Template (Excel file)1 Pc per Candidate
3Calculator1 Pc per Candidate
4Project Scope Document1 Pc per Candidate
5Pen and Notepad1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Project Budget Preparation
Candidate dons appropriate PPE before starting (e.g., safety shoes, if applicable)
(Award 1 mark for correct PPE use)
1
Candidate reviews the project scope document to identify budget categories
(Award 1 mark per correctly identified budget category, max 3)
3
Candidate applies at least two budgeting techniques (e.g., top-down, bottom-up)
(Award 2 marks per correctly applied budgeting technique)
4
Candidate lists all project cost items clearly in the budget template
(Award 1 mark per correctly listed cost item, max 4)
4
Candidate assigns realistic cost estimates to each budget item using market rates
(Award 1 mark per correctly estimated cost item, max 5)
5
Candidate calculates total project budget correctly with formulas in Excel
(Award 3 marks for accurate total budget calculation)
3
Sub-Total20
TASK 2: Budget Documentation and Presentation
Candidate prepares a clear budget summary report including assumptions
(Award 4 marks for clear, concise budget summary)
4
Candidate includes contingency allowances as a percentage of the total budget
(Award 3 marks for appropriate contingency inclusion)
3
Candidate formats the budget document professionally (headings, tables, currency)
(Award 3 marks for professional formatting)
3
Candidate submits the completed budget in the provided Excel template
(Award 2 marks for submission in correct format)
2
Sub-Total12
PRODUCT CHECKLIST
Final budget document includes all required cost categories with correct calculations
(Award 5 marks for completeness and accuracy of the budget)
5
Budget totals KES 5,000,000 ± 5% tolerance
(Award 4 marks if total budget is within ±5% of target)
4
Budget document is clear, well-organized, and professionally presented
(Award 4 marks for clarity and presentation quality)
4
Sub-Total13
GRAND TOTAL45
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Develop a Project Schedule Using Scheduling Tools

Software Development · Level 6
Project Management Principles
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Develop a detailed project schedule for a residential building project with a timeline of 180 days using Microsoft Project.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with Microsoft Project installedProject scope document and activity list
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with Microsoft Project installed1 Pc per Candidate
2Project scope document and activity list1 Set per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Identification and Sequencing of Activities
Identified all project activities from the scope document
(Award 4 marks for correctly listing all key activities)
4
Sequenced activities logically using dependencies
(Award 5 marks for correct dependency mapping)
5
Assigned realistic durations to each activity
(Award 3 marks for reasonable and consistent durations)
3
Sub-Total12
TASK 2: Creation of Gantt Chart Using Microsoft Project
Entered all activities into Microsoft Project correctly
(Award 4 marks for accurate data entry)
4
Linked activities with dependencies in the software
(Award 4 marks for creating correct task relationships)
4
Set project start date and overall timeline to 180 days
(Award 3 marks for correctly configuring project timeline)
3
Included milestones for key phases (e.g., design, foundation, finishing)
(Award 3 marks for appropriate milestone placement)
3
Sub-Total14
TASK 3: Review and Adjustment of Project Schedule
Reviewed schedule for overlapping and resource conflicts
(Award 3 marks for identifying and adjusting conflicts)
3
Adjusted schedule to optimize project flow and reduce delays
(Award 4 marks for effective schedule optimization)
4
Sub-Total7
PRODUCT CHECKLIST
Completed project schedule with all activities, dependencies, and durations matching the 180-day timeline
(Award 7 marks for accuracy and completeness of the schedule)
7
Gantt chart visually clear with milestones and key phases properly labelled
(Award 6 marks for clarity and professional presentation)
6
Sub-Total13
GRAND TOTAL46
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Identify and Analyze Critical Path in Project SchedulePractical 3
🔒Construct and analyze a PERT chart for a software development projectPractical 4
🔒Identification and Allocation of Project Resources Based on AvailabilityPractical 5
🔒Balance and Monitor Project Resources with AdjustmentsPractical 6
🔒Develop Work Breakdown Structure (WBS) with Numbering System for a Website Development ProjectPractical 7
🔒Assign Resources and Timelines to WBS for Office Building ProjectPractical 8
🔒Prepare Project Quality Plan with Objectives and Acceptance CriteriaPractical 9
🔒Implement Quality Assurance and Control Measures for a Project PlanPractical 10
🔒Form Project Team by Identifying Skills and Selecting MembersPractical 11
🔒Define and document project team roles and responsibilities for a software development projectPractical 12
🔒Develop and Apply Team Collaboration Strategies for Project SuccessPractical 13
🔒Prepare a comprehensive project plan for a community health center constructionPractical 14
🔒Formal Presentation for Project Approval of a Construction Project PlanPractical 15
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 17 questions Start quiz ▾
0%
0 / 2
🔒

15 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • accurately prepare a project budget that meets all work requirements
  • determine a project schedule based on specific deliverables
  • allocate project resources efficiently according to your budget
  • create clear work breakdown structures based on the project schedule
  • prepare a project quality plan that follows workplace procedures
  • form a project team that suits the project’s requirements
  • assign roles and responsibilities to team members based on what the project needs
  • prepare a complete project plan using the correct work procedures

Tick each one you can genuinely do.

Prove it — in the simulator

Sample simulation — try how the simulator works. A version built for this chapter's practical is coming.

Prepare Kenyan PilauLocked ▸

Free: practical guides, quick cards, workplace scenarios and more.

Now — are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.