Over the years I found myself referring to the following over and over again so I thought that it would be good to formalize it. Here it goes:
- Step 1: Establish a core problem and do basic market research
- Create a one line answer to the question: why is this product necessary?
- Step 2: Make a prototype
- Something simple and elegant that would deliver core functionality, albeit perhaps trimmed or truncated. Note that the technology is irrelevant here unless the product is tied to a specific tech.
- Step 3: Get user validation
- Yes/no/maybe. Why?
- Step 4: Find a hosting solution
- Heroku, cloud hosting à la AWS EC2, DigitalOcean, etc.
- Step 5: Setup infrastructure
- Install updates, configure server, setup application environment, create docker images, etc.
- Step 6: Determine a name and buy a domain
- Namecheap, etc.
- Step 7: Branding and logo
- Inkscape, Logojoy, etc.
- Step 8: Add basic analytics
- Google Analytics, etc.
- Step 9: Deploy prototype to server and launch
- ProductHunt, friends, family.
- Step 10: Process user feedback and validation
- What is working and what isn't? Re-calibrate assumptions here.
- Step 11: Establish a release process and stabilize
- Semver, blog posts, notification system, end-2-end integration tests for critical paths, etc.
- Step 12: Add 3rd party service integrations
- I generally prefer doing this after launch but it might make sense to have all of this setup prior to launch or maybe even in the MVP - email via Mailchimp, payments via Stripe, etc.
- Step 13: Add application monitoring, resiliency and backups
-
Pingdom,
/usr/bin/wget "https://myproductisdo.pe" --timeout 30 -O - 2>/dev/null | grep -i "The funniest t-shirts" || echo "main site is down!" | /usr/bin/mailx -s "attention, main site is down" admin@myproductisdo.pe
, RDS, Crashplan, etc. - Step 14: Add detailed analytics
- Analytics are so crucial, it might make sense to go for gold right at the start. Of course, you could start adding them in slowly as you grow: Mixpanel, Baremetrics, etc.
- Step 15: Automate administrative tasks
- Basic cron jobs or an admin panel should be sufficient: error reports, test users, daily usage reports, weekly growth charts, etc.
- Step 16: Market it!
- Content marketing, ads, hustle.
- Step 17: Rinse
- Create/update roadmap and add features based on user feedback.
- Step 18: Repeat
- Goto step 16.
Bonus:
- Step 17.1: Scale
- Scale infrastructure and application based on user growth.
Note that following these steps is no guarantee that your product will be successful but it should hopefully give you a good reference point for all the nitty-gritty that needs to be taken care of. If you made it as far as the bonus, then I'd love to hear from you. Good luck!