Does your idea have a value? Do you want to reduce your debugging effort? Adopt Fail Fast Philosophy!
What Is a Fail Fast Philosophy
Debugging can be very annoying. How to avoid as many bugs as possible? Try Fail Fast technique - create code that tries to fail as soon as possible. Software that fails immediately and visibly helps you to find and fix bugs easier.
Another part of the Fail Fast Philosophy is this: if you think that your project is likely to fail, stop all the work immediately rather than continue with possible flaws. This is known as pivoting - quickly changing directions, just like in basketball.
Source: Hackermoon.com: Fail Fast, iterate and pivot
Why You Might Want to Fail Fast
Iteration is the most effective way how to go forward. It may help you to validate fast your vision with real clients and prepare a really useful application or concept.
The main philosophy of the Fail Fast principle is to avoid or reduce the sunk cost effect which is often caused by the effort to develop a product that simply does not work. The whole problem stems from the natural human nature of continuing to do meaningless work because of the internal guilt of failure.
Fail Fast is one of the main practices that the team should adopt mostly in the Research phase. Conversely, the correct application of this principle can connect the team and allow it to focus on substantial solutions to real problems. Often, when applying this principle, teams also report an increase in motivation and relief from the opportunity of finding a truly meaningful product development path.
Problems the Fail Fast Philosophy Helps to Solve
- Demotivated team
- Increased cost
- Unsuccessful product
- Unnecessary functions
- Unhappy clients
- Meaningless work
- "Not my problem" mentality
- Disconnect Between Business and IT
- Poor code quality
- Toxic team culture
How to Implement the Fail Fast Philosophy
- Hunt the negatives Seek out a negative opinion. Find people who are critical of the problems you are solving. Remember that your friends and family may not be completely honest or they are not sufficiently critical. They may tell you how great everything is and how well things are going. Do not listen to them!
- Be critical Listen to your data including negative feedback.
- Prepare MVP Do not go away to perfect your product. If you have a Minimum Viable Product, go with it. In many respects, fewer means more.
- Set milestones Prepare milestones and consult them often, by this you may quickly identify if you are still on the right path.
- Find mentors/advisors Find people (best from your organization) who can assess your milestones and progress objectively. Consult your progress with them continuously.
- Fail at the right time Regularly validating the meaning of the problem you are addressing and adhering to the above principles will allow you to decide to stop the nonsensical development at the right time and focus on the real problem.
Practices that they can help you to fail-fast:
- Lean canvas
- Value proposition
- Design Sprint
- Business canvas
- UX tests
Always look at the fail-fast philosophy as on the positive way how to improve your product. Realize that is the first step to success!
Common Pitfalls of the Fail Fast Philosophy
- Syndrome of failure The most common mistake is to continue to make meaningless developments because of the feeling that anything else is a failure.
- Uninformed management The mistake is inadequate informing the business owner of the reasons for stopping the project/development.
- Not learning from mistakes It is not enough to stop continuing to implement the meaningless product or functionality, it is also necessary to evaluate the reasons why we end and take the result into future designs.
Resources for the Fail Fast Philosophy
- DZone.com: The Fail-Fast Principle in Software Development
- Martin Fowler: Fail Fast
Want to write for DXKB?
Feel free to contribute. People from DXKB community will be more than happy.
Code Review is an important practice for checking each other's code. The reviewers are other developers from the team. The goal is to uncover potential mistakes that could slip through testing.Read more
Clickable Prototypes are interactive demos of a website or a software application. These are often used to gather feedback early in the project lifecycle, before the project goes into the final stage of development.Read more
A Design Sprint is a framework that reduces the risks associated with product development. It is an intense process done by a small team in just 3 - 5 days.Read more
Agile Events are necessary meetings for keeping up the good work. They are usually time-boxed and the most common Agile framework that uses these periodic rituals is Scrum.Read more
The Minimum Viable Product (MVP) is a scope of a product with the smallest possible functionality which is able to provide meaningful feedback from users.Read more