When it comes to building an app, the general rule of thumb is:
1) Research (ready) to validate your idea
2) Plan (aim) to eliminate risk
3) Execute (fire) and hope you succeed
Seems logical right? Don't plan until you validated your idea with research and make sure your plan is solid before executing so you can succeed! Got it, no need to read on. Except...
Logical as this approach may seem, we are not logical creatures. As human beings we often mask fear in our careful planning. Don't believe me? How many times have you put that side project aside because you asked yourself these questions:
Instead of adding clarity, these questions simply create more confusion and uncertainty which ultimately leads to discouragement and in some cases a total abandonment of a project.
At the end of the day, these questions really are about failure, and more specifically how to avoid failure. However, success is often born out of failure.
If you look into some of the most successful developers, one of the things they have in common (among many) is that their final product often doesn't resemble their initial prototype. This evolution of the product is usually a result of iterating on feedback. More specifically iterating on feedback from their users!
As much as we hate to admit it, we are simply guessing at what users want when we first build an app. To combat this problem we try to plan (aim) long enough to know what users want before we execute (fire), however successful people have learned that it's better to make small quick decisions and adjust based on feedback than trying to come up with a solid app at the onset of a project.
Ironically the reason for rushing to fail is due to efficiency. Sometimes its faster to try something, fail and then adjust than it is to attempt avoiding the failure. Not to mention, you learn more in the process.
"Testing leads to failure, and failure leads to understanding." - Burt Rutan
This iterative approach to software development has gone by many names over the years. Whether you call it "Building a Minimum Viable Product", "Determining Product Market Fit" or "Agile Software Development", you are essentially taking a stab at what you think your users want and then listening to your users so that you can iterate on your app until it aligns with their needs.
My challenge to you is to put something out there for people to see.
1) Keep it SMALL
2) Be intentional in making sure it's NOT DONE
3) Ask people to USE IT
4) And LISTEN to their feedback
Don't be afraid of failing, and more importantly start viewing your failures as opportunities to improve and succeed. Do this enough, and eventually you will create something truly amazing!
Thank you so much for taking the time to hear my thoughts and until next time... Ready... FIRE... Aim!