Final project report
For your final projects, both in-house and Tech for Better, you’ll write a detailed README on the project.
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)