π©πΎβπ Portfolio
A sort of repeating pattern for portfolio project development
Portfolio block viewer
This block viewer lets you flick through all the existing blocks in the Portfolio folder so you can choose what parts to add to your pages and what parts you might want to create, revise, or leave out.
It's literally just an alphabetical list of whatever is in this folder.
Next steps
- Comms: how are you going to communicate with each other during the week
- Git workflow: what does your git workflow look like?
User feedback
- Analyse feedback on your application as it is so far. Can users make use of any functionality
- If users cannot interact with your application - then this is also good feedback! How can you get feedback as quickly as possible?
π€ Guest Speaker
Learning Objectives
If a guest speaker is available, they will join us for this session. We will ask them questions about their career and their work, and they will give us advice about their specialism.
This is a placeholder block.
π Ground rules
Learning Objectives
We’re going to start off by defining rules and expectations for working on projects during this module.
π Ground rules
- We go together
- Do one project at a time
- We will put in the time - 25 hours
ποΈ Projects
- We start a new project when everyone has finished the current one
- We can work as individuals or in groups
- “Done” means “Good enough to show an employer”
- 1 great user story is better than 10 meh user stories
π£οΈ Communication
- Post a link to your deployed application by midnight at the end of every Thursday
- If everyone is ~done, we’ll start a new project on Saturday
- If you’re not done, LIST YOUR QUESTIONS AND BLOCKERS
- But don’t wait until Thursday to get help
- We are flexible to people’s needs: but you must express your needs
π Gathering requirements
Learning Objectives
In addition to [who] and [what], good user stories also include [why]
As a [who], I can [what] so that [why]
Choosing a project
βΉοΈ Use this section if you’ve not already chosen a project
Explore and discuss
π₯ Time: 30 minutes
- A set of project briefs are available here π https://drive.google.com/drive/u/0/folders/1UocnK_dRUkMCuwI6aytZ0Z9a12322EOx
- Split up into pairs
- Each pair choose a project brief. Make sure you choose different ones. Don’t spend too long choosing π
π Read
Read the business problem carefully Read ( if there are any ) the user stories carefully
β Questions
Answer the following questions:
Do you have any domain knowledge on this project?
Will you need to do more research to understand this business problem?
Does the business problem make sense? Can you explain the business problem in your own words?
Are there user stories for your chosen project brief? If not, sketch out some user stories.
If there are already user stories, check they make sense. Can you think of any more? Can you imagine the users of this application needing the stated functionality?
Does this project interest you?
Reflect and decide
Discuss
π₯ Time: 10 minutes
Get back together as a team. Get one person from each pair to explain in their own words what the project brief is about. Explain why you think you should do this project.
Decision
π₯ Time: 10 minutes
As a team, decide on which project you’re going to implement.
π Stand up
Learning Objectives
Take 15 minutes (set a timer!) to share your progress and blockers with your team. This is a chance to ask for help and to help others. Don’t get into details - just share the headlines and arrange to talk more after the stand up if you need to.
Criteria
Learning Objectives
π― 1. Meet the criteria
- People We need at least two Launched trainees to start a module A minimum ratio of 1:4 volunteers to trainees
- Space A place to meet on Saturdays
- Time Volunteers and trainees must commit to 5 weeks of Saturday sessions
- Money The Docs will pay for trainee expenses like food, bus tickets, equipment and childcare
- A Plan Here’s the plan: it’s this module! When you have all these things, you can start a Portfolio module.
π 2. Set the date!
- Choose a start date
πΉοΈ User Interface
Learning Objectives
As a team, you need to start thinking about and designing the user interface. To focus your discussion, keep these two things in mind for your UI:
Sufficiency
Sufficient means enough for a given purpose. Your user interface should provide enough functionality or data for users to achieve their goals.
Simplicity
Simple means easy to understand. Think of the number of times you’ve used a website and it’s been impossible to find the things you need. Your user interface should be simple and intuitive. Users should be able to figure how to navigate and use the user interface with minimal effort.
discussion
π°οΈ Time: 20 minutes
Split into pairs. Each pair, choose a different user story. Work on the following tasks, remember to focus on sufficiency and simplicity.
- What kind of pages will you need?
- What are the key components of this page (inputs, forms, buttons, cards, etc)
- Ensure you can clearly define the purpose of each page and its components
- What kind of data will you need to expose in this view?
πΌοΈ Wireframe
discussion
π°οΈ Time: 20 minutes
Create some wireframes for the pages you described in the previous section If you’ve not made wireframes before, check out this guide to help you come up with some ideas: https://balsamiq.com/learn/articles/what-are-wireframes/
πͺ Reflect and check
discussion
π°οΈ Time: 10 minutes
Now swap wireframes between each pair. Check the following: Does the proposed interface meet the requirements for the user story? Is it sufficient? Is it simple?
ποΈ Data
Learning Objectives
For your application to work, your user interface will interact with other services. These services provide data and ways to update this data via the user interface.
Here are the kinds of things these services may do:
π Reading
A means of reading data. The user interface might fetch data from some external source and render it in the interface.
πΎ Persisting
A means of persisting changes. Users will need to create or update existing data. For example, a user might need to create a comment on an article. Another user may need to update the like/dislike on an existing comment. In each of these cases, any changes are persisted in a database. The user interface enables users to read and persist data without worrying about the
Discuss
What are the key components of the application, how are they connected, is it a static or a dynamic application, what kind of data are you storing?
What sort of data does the client application need - what kind of data is it fetching?
What is the purpose of each component in your application, how will it communicate with other components in the architecture?
How do your different pieces of data relate to each other? If you’re storing things in a database, what tables will you need, and what relationships will there between the tables?
𧩠Break it down
Learning Objectives
You’ll need to break up your user stories into manageable units of work. Breaking down tasks into sub-problems is challenging: we often don’t know in advance how challenging the sub-problem will be. However through iteration, practice and feedback we can continue improving how we break problems down.
ποΈ Issues
You can keep track of work using a GitHub project board as you’ve done throughout the course.
Write your issue
β° Time 20 mins
- On your GitHub project board
- Create a new issue
- Set the title to the user story you just chose
β Acceptance criteria
If you’re working on something, then you need a definition of “done”. In other words, you need to have measurable criteria for knowing when you’ve completed some task. Acceptance criteria are the requirements that must be met for a unit of work to be considered complete. Most often you’ll ue acceptance criteria to decide whether a user story has been implemented. Here are two ways of expressing acceptance criteria:
- Scenario-oriented (the Given/When/Then template)
- Rule-oriented (the checklist template) and
π«± More detailed information on writing up acceptance criteria.
activity
β° Time 20 mins
- Choose one user story
- In pairs, come up with acceptance criteria. Decide on scenario-oriented or rule-oriented acceptance criteria.
𧩠Project time
Learning Objectives
This time is set aside to work as a team on your project.
Use this time wisely
You will have project time every Saturday. Donβt waste it. Use it to:
πͺ Employability
Learning Objectives
In this session we will work on our employability skills. This means: improving our CVs, LinkedIn profiles, GitHub profiles, finding and analysing job descriptions, and preparing for interviews.
This is a placeholder block.