---
# System prepended metadata

title: Apprenticeship project report

---

# Apprenticeship project report

The following sections are required. Your report is supposed to demonstrate a certain set of knowledge, skills and behaviours. These are listed alongside the relevant questions as quotes.

## Introduction

- What are you building?
- Why are you building it?

## Project scope

- What are you _not_ building?
- How did you decide what features were important?

## Project plan

- How are you going to structure your sprints?
- What order are you going to build in?
- How did user research inform your plan?

## Requirement analysis

- How will you ensure your project is accessible to as many users as possible?
- Are there any legal or regulatory requirements you should consider?

## Project learnings

- Did your team work effectively?
- What would you do differently next time?

## Research and findings

- What did you find out from user testing?

## Project outcomes

- Were your assumptions right or wrong?

## Recommendations and conclusions

- What features would you prioritise to build next?
- Was the project a success?

## Software Development Lifecycle stages

### Planning

- What roles did your team take on?
   > Explain the roles and responsibilities of all people working within the software development lifecycle, and how they relate to the project (K2)
- Did these roles help your team work effectively?
   > Outline how teams work effectively to produce software and how to contribute appropriately (K6)
   > Compare and contrast the requirements of a software development team, and how they would ensure that each member (including themselves) were able to make a contribution (K6)

### Analysis

- What might be the intended and unintended consequences of building this product?

### Design

- How did you plan a user experience?
- What technical decisions did you make?
    - Server-render vs client-render vs both
    - Relational or non-relational or no DB
    - Self-hosted or platform-as-a-service
    - Frontend first vs DB first
- Did you create a technical specification?
   > Review methods of software design with reference to functional/technical specifications and apply a justified approach to software development (K11, S11, S12)

### Implementation/Build

- How did you ensure your code was good?
   > Create logical and maintainable code to deliver project outcomes, explaining their choice of approach. (S1)
- What interesting technical problems did you have to solve?
   > Outline and apply the rationale and use of algorithms, logic and data structures. (K9, S16)
- How did you debug issues that arose?
  > Apply structured techniques to problem solving to identify and resolve issues and debug basic flaws in code (S7)

### Test

- How did you verify your project worked correctly?
   > Identify and create test scenarios which satisfy the project specification (S6)
- Did writing automated tests catch any bugs?
   > Analyse unit testing results and review the outcomes, correcting errors. (S4)

### Deploy

- Where/how did you deploy your application?
   > Review and justify their contribution to building, managing and deploying code into the relevant environment in accordance with the project specification (S10)
- What problems did you encounter during deployment?

### Maintain

- Is it easy for someone make changes to the codebase?
- Could a new person quickly be onboarded to contribute?

---

- Establishes a logical thinking approach to areas of work which require valid reasoning and/or justified decision making (B2)
- Describes how they have maintained a productive, professional and secure working environment throughout the project activity (B3)
