#Hack a Problem
###1. Choose a Topic
Discuss with your peers an issue either in your school or community that could be made better with code
Here are some examples:
Remember to go easy on yourself. Choose something you can be successful at. You don't need to solve world hunger just yet. Instead, try and choose an issue you can solve today. World hunger can be the next hack-a-ton, once your team knows how to work together.
###2. Brain Storm
Choose the elements that you think are most important to work on. Discuss the full scope of the issues or problem, then eliminate all unncessary tasks. Limit the number of things you are going to tackle in the first iteration of your product to one or two items the group feels are most important and should be addressed frist.
Research what is already being done about the problem.
Questions to consider: Who is going to be using what you are making? How does your audience effect your design? Are there any databases or APIs that you could access? Or are you building the database? Does it need to be encripted and if so who should have access and why? Who else needs to be involved to make your solutino successful?
Learning how to work together is difficult. No matter what happens, act with kindness, remember to be open minded, and work hard.
- Most supportive (and/or least technical skills)? You'll be in charge of the whole scope of the project, including keeping to the schedule below, dealing with needs or blocks that arise, helping in all areas of the project, etc.
- Most followers on social media? You'll be in charge of marketing and PR. Who needs to know about your product? how are you going to tell them? What do you need from them to make your product successful? How are you going to get that? How are you going to drive people to your product? You should have a lot of content to share at the end. Think about your audience.
- Most opinionated (and/or fashionable)? You'll be in charge of design. Design is very important, it's how the user is going to intereact with the product. Make it easy, make it simple, make it intuative. Think about your audience.
- Strongest front end skills? You'll be in charge of bulding the website. Use frameworks and 3rd party solutions when applicable (need authentication for example, don't do it yourself, use a third party service, but know their terms and be able to defend your choice to your group.)
- Problem Solver (and/or knows backend)? You'll be in charge of setting up the backend and working with the database. How are you going to organize your data? What kinds of information do you need to get out of it? Think about storage, speed, and needs of your product.
- Don't know where you fit? Pick your poison, everyone will need help. If you want to learn something, this is your chance.
15 minutes to discuss and choose topic
15 minutes to brain storm ("Yes! And..." should be the first words out of your moth after each contribution. Anything goes here.)
15 minutes to research (Building the collective knowledge. Your research doesn't have to pertain to your role yet - this is just a time to learn.)
15 minutes to report findings and solidify decisions
<10 minutes to choose roles (Be supportive of people decisions, the PyCon Code of Conduct is a good place to start :)
1.5 hours to find an area to work and get started. (During this time the project manager(s) should be involved with each group, making sure everyone is working towards a common goal.)
15 minutes to come back together and report out on your progress and any blocks or needs you have to move forward
Break - eat, move around, etc
1.5 hours to work
15 minutes to report out on your progress, discuss next steps and test your product
15 minutes to reflect on the project. Were you successful? Why or why not? How can you make it better next time? How did you work together as a group? How can you improve as a whole? What issues came up that slowed you down? Was there something you didn't thaink about that would have helped you be more successful?