The party plan
You plan a party for 30 friends. What must you decide?
The date. The food. The money. Who does what. What to do if it rains.
A software project is the same. This lesson is about the plan: the jobs, the people, the cost and the tools.
Key words
| Word | What it means | Example |
|---|---|---|
| Task | A job that must be done. | design the login screen |
| Subtask | A small job inside a bigger task. | draw the password box |
| Milestone | An important point that shows real progress. | first working version |
| Schedule | A plan of who does what, and when. | a table of weeks and tasks |
| Resource | Anything the project uses: people, computers, software, time. | two developers |
| Budget | The most money the client will spend. | £3,000 |
| Day rate | What one person costs for one working day. | £200 a day |
| Scalability | How well the software copes when it gets bigger. | 50 users now, 5,000 later |
| Programming language | The set of words and rules used to write code. | Python, Java, JavaScript |
| Algorithm | A list of steps that solves a problem. | how the order total is worked out |
| Test plan | A list of how and when you will check that the software works. | try the order screen with five users |
| Licence | Permission, with rules, to use something that somebody else made. | a paid licence for a design program |
The cells students fill in are left blank in this preview.
Quick check: tasks and milestones
Have a go
Quick check: tasks and milestones
3 questionsYour answers are marked here and are not kept. A college account keeps every student’s marks.
A simple schedule
| Week | Task | Subtasks | Who | Milestone |
|---|---|---|---|---|
| 1 | Research and plan | Read brief, ask questions, write the plan | Everyone | Plan agreed |
| 2 | Design | Screens, data, algorithms | Designer, analyst | Designs approved |
| 3 to 4 | Build the menu and order screens | Menu list, basket, total | Two developers | First working version |
| 5 | Test | Test plan, user test, fix bugs | Tester, developers | Tests passed |
| 6 | Release | Install, train staff | Developer, client | Live |
The cells students fill in are left blank in this preview.
Worked example: estimate the cost
| Step | Working | Answer |
|---|---|---|
| A developer costs £200 for each day | given | £200 |
| The project needs 10 developer days | 10 times 200 (10 days, £200 for each day) | £2,000 |
| Other costs: test phones £300, design program £200 | 300 + 200 | £500 |
| Add people and other costs | 2,000 + 500 | £2,500 |
| Is it inside a £3,000 budget? | 2,500 is less than 3,000 | Yes |
The cells students fill in are left blank in this preview.
Estimates are guesses
data-callouts.warning.label
Projects nearly always take longer than the first guess. Add some spare days. Say that the number is an estimate. Tell the client early if it changes.
Choosing a programming language
| Criterion | The question | Example |
|---|---|---|
| Suitability | Is it good for this job? | JavaScript for a web page. Python for data. |
| Organisation policy | Does the company already require one? | The bank only uses Java. |
| Scalability | Will it cope with many more users? | A game with a million players. |
| Security | Does it help us write safe code? | A language with strong checks. |
| Trained staff | Does the team know it? | Nobody knows Rust yet. |
| Costs | Are the tools and training free, or do they cost a lot? | Free tools or a paid licence. |
| Reliability | Does it work well and rarely break? | Used for years in banks. |
The cells students fill in are left blank in this preview.