713 Project planning and management
Plan your project to avoid missing deadlines and ensure its scope fits with the time you have available.
Project planning and management
Once the problem is defined and the user requirements are precise, the next step is to plan the project. Good planning allows you to set realistic milestones, manage time, track progress, and document decisions. This supports solo and collaborative work, and ensures the development process remains focused and organised.
Software engineers use a variety of tools to plan and manage projects. You don’t need to use all of them, but you need a system that helps you stay on track, communicate progress, and adapt when problems arise.
Gantt charts
A Gantt chart is a timeline that shows when tasks will be started and finished. Each task is represented by a horizontal bar. The bar's length shows the task's duration, and its position shows when it occurs in the project. Dependencies can also be marked—these tasks must be completed before others can begin.
Example tasks in a student's Gantt chart:
Define project scope
Write user requirements
Design system
Implement features
Test and refine
Prepare project documentation
Digital Gantt charts can be created using tools like:
Google Sheets or Excel
Trello (with timeline view)
ClickUp, Notion, or TeamGantt
GitHub Projects (for task tracking)
The following diagram shows the main elements of a Gantt chart. Other formats are acceptable.

Gantt charts can also be used to allocate resources, including team members, to specific tasks. The following chart shows the percentage of each task the assigned team member completes. Charts should be regularly updated during development to reflect actual versus estimated task times.

Process diary
A process diary is a logbook that records your progress as the project unfolds. This can be a physical journal, a shared document, or a digital workspace (e.g. Notion, Google Docs, GitHub Issues). Entries should be made regularly and include:
Date and time
Task(s) completed
Challenges encountered and how they were managed
Decisions made and why
Resources or links used
Planned next steps
This diary becomes a record of your project thinking and can be used to reflect on your development process when preparing your final evaluation.
Task breakdown and delegation
If the project is collaborative, it’s important to assign responsibilities. Each team member should know what they are working on and when it’s due.
Even for individual projects, breaking down large tasks into smaller, actionable steps makes the work more manageable. Task boards like Trello or GitHub Issues are excellent for visualising and tracking thiskind of progress.
Version control
Version control saves multiple versions of your code over time. This allows you to go back to a working version if something breaks, and to track changes you’ve made.
For student projects, you can:
Use Git and GitHub to track commits
Create regular manual backups if you're not using Git
Include version numbers in file names (e.g.
login_form_v2.py
)
Using GitHub also supports collaboration, pull requests, and feedback from teachers or peers.
Summary
This planning phase ensures the project doesn’t just start well—it stays on track, adjusts when needed, and finishes with a complete and well-documented solution.
Last updated
Was this helpful?