Opinion: A Successful Hack
Opinions formed developing a winning product in a 24-hour hackathon.
I have mentored teams at the BizHacks hackathon at the University of British Columbia and recently I was a member of the winning team at Best Buy Canada’s SPARK hackathon. Hackathons are great way to practice getting customers value quickly. Hopefully you find some value in my opinions and experience.
- Pitch an idea.
- Build a team.
- Define the customer and their problem.
- Prioritize backlog.
- Achieve working software demo.
- Develop vision and value proposition.
1. Pitch an idea
It all starts with an idea. The days and weeks leading up to the event are free time for you to develop your pitching. You won’t necessarily know what you will be solving but you can strategize on how to pitch.
The goal of a pitch is to grow excitement for your brand, attracting investors and talent. It is one of the most important moments in the lifetime of any project. You must simultaneously:
- Communicate and bring awareness to the problem to be solved.
- Grow excitement about the world you will create.
- Convince stakeholders that now is the time for your team to solve it.
2. Build a team
Before you start it is important to build team that will maximize success.
What makes a successful team?
A team can loosely be defined as follows:
- Everyone shares a common goal or purpose.
- The team has access to all the skills required.
- Everyone is needed.
- Members win and lose as a team.
It is challenging to know exactly what skills will be required before you begin. A group of passionate people that are happy to take on many roles is a good place to start. Usually you will need the following roles:
- Engineering - someone to build a demoable product.
- Business - someone to develop your vision and value proposition.
- Generalists - someone who can take on tasks that don’t require specific expertise.
Note: Usually it is worth building a demo that is visually appealing, Front End Engineers are good to have for this reason.
3. Define the customer and their problem
Every successful product needs a customer and a clear problem it solves.
Who is your customer?
You can ask yourself a set of questions to identify who your customer is:
- Who interacts with your product?
- Who has an interest in your product?
- Who benefits the most from your product?
- Whose problem does your product solve?
Most of the time your primary customer is the persona who will be worse off without your product. Take some time to think it through and keep it in mind throughout your hackathon. Writing the persona up on a whiteboard or sticking it to the wall can keep you focused on fulfilling their needs.
What is the problem?
Now that you know who your customer is, you can clearly outline what their problem is. Ask yourself the following questions:
- Who will use your product?
- Why is your product important to them?
- How will your product be used?
- What measurements will indicate the success of your product?
Use the outcome of answering the above questions to start forming ideas about what you will create to solve the problem. Capture all the ideas of the team.
4. Prioritize backlog
Prioritization is hard
Prioritization is arguably the most difficult yet critical thing to get right in any time limited undertaking. Do you work on your product?, the vision for your product?, or how you will market the product to stakeholders?
The approach I like to take is to always make sure you have something to show. If you have nothing to show then you aren’t going to have much of a presentation once this is all over.
- Stick anything required to getting a workable demo as soon as possible at the top of your list.
- Soon after that comes thinking about how you are going to present it.
- Once you have something to show and a plan to present it, you can go back and work to improve aspects of your completed product and presentation.
- Develop an experience that is entirely mocked.
- Seek out user research to understand your customer and vision.
- Plan your demo.
- Reflect on time left and iterate on your product:
- Replace mocked components.
- Back up your vision and presentation with data.
- Spend time rehearsing your demo.
- Add polish to your product.
Note: Do not prioritize work that will risk breaking an already demoable product!
5. Achieve working software demo
Now is the fun part for most engineers. You get to go at it for a few hours until you have something that makes sense to demo. Enjoy it!
Here are some tips to keep you going the right direction:
- Reuse anything you can.
Noone won anything by building it all from scratch. Look for starter kits, bootstrapped applications, similar projects, anything that will help you get a workable demo sooner.
- Divide up the work.
Spread work evenly across your team. Don’t rely on a single individual for the success of your project. Divide and Conquer!
- Take breaks.
Even the most successful teams benefit from stopping and having a break. Take a walk, eat some food, have a powernap. Rest your mind and reflect on the direction you are going.
- Seek early feedback.
Ask people to review what you have and see if it makes sense. Recruit other teams, judge like individuals, the judges or mentors themselves are great assets to check your vision.
- Don’t worry about beautiful code.
This is a race. Not the time to show off your employability. Cut corners, throw in dirty hacks, laugh at how hilarious your implementation is and use it to reflect on how hard it would be to take a customer ready product to market.
Once you have a working demo it is time to go back and reflect on what is the most important to work on next. Have a mini retrospective on what has been completed so far and check you are still on track.
Check and refine your backlog before starting on another task:
- What can be deferred?
- Do you have a solid plan?
- Is your task priorization still valid?
- Do you need to change course?
- Do you need to reduce scope?
- Do you have extra time to add that nice-to-have you came up with?
Keep at it!
7. Develop vision and value proposition
Why is your product valuable and how will it change in value into the future?
All stakeholders want these two questions answered. They are trying to understand what your product is and if it is worth investing in. Are you solving a problem that makes sense to them and what trajectory is your team heading on?
- What are the clear reasons for your products existence?
- What were you able to achieve in the 24 hours?
- What is required to take your product to market?
Write down all your answers and start to make a plan for how you will present them at the end.
Do not wing the presentation!
Your entire 24 hours is about to be measured in a 5 minute presentation. It is imperative that you practice what you will share out loud. You are totally immersed in your product. Keep in mind your audience has no context of what you have been working on. Step back to the beginning and bring your them up to speed on how your product will change their world.
Some tips to ensure a rewarding final experience:
- Take the audience along on your journey:
- Who is the customer?
- What is their problem?
- What data have you got to support this being a problem that should be solved?
- What is your product and how will it solve the problem?
- How will your product be measured for success?
- Where will your vision take you next?
- Use high level slides that won’t distact the audience.
- Rehearse how long you will spend on each section of your presentation.
- Rehearse outloud multiple times.
- Speak slowly.
- Look at the judges.
- Leave time for questions.
Goodluck! Thank you for you interest in my opinions.