Feasibility Prototype Technique

Tackling Feasibility Risks with Feasibility Prototypes: A Practical Approach

In the realm of product development, feasibility risks are often an overlooked aspect. While engineers may usually give the green light on new product ideas, asserting that there are no significant feasibility concerns, certain scenarios warrant a deeper investigation. Issues such as algorithm performance, scalability, fault tolerance, and the use of unfamiliar technologies or third-party components can pose substantial feasibility risks. This is where feasibility prototypes come into play.


When to Consider Feasibility Prototyping

Feasibility prototypes are crucial when engineers identify significant risks associated with the feasibility of a solution. These risks can arise from several scenarios, including:

  • Algorithm concerns
  • Performance concerns
  • Scalability concerns
  • Fault tolerance concerns
  • Use of unfamiliar technologies
  • Integration with third-party components or services
  • Interaction with legacy systems
  • Dependencies on new or related changes by other teams


What is a Feasibility Prototype?

A feasibility prototype is a tool used by engineers to assess and mitigate feasibility risks. Unlike prototypes created by product designers using specialized tools, a feasibility prototype typically involves writing code. The objective is to create just enough code to evaluate whether a particular solution is viable. This means it is a far cry from a commercially shippable product; rather, it is a quick and dirty piece of code designed to gather necessary data.

The primary aim of a feasibility prototype is to collect data to determine whether performance, scalability, or any other specific concern would be acceptable. There is usually no user interface, error handling, or any of the typical elements involved in productization. It is often intended to be disposable, serving its purpose once the required data is gathered.


Time Investment and Management Decisions

Building a feasibility prototype usually requires just a day or two of effort from the engineers. However, if the prototype involves exploring a major new technology, such as a new machine-learning approach, the time investment might be significantly higher. The duration needed for creating a feasibility prototype is estimated by the engineers, but the decision to allocate time for this effort rests with the product manager. 

The product manager must weigh the potential benefits against other approaches that do not carry the same feasibility risks. If the feasibility prototype is deemed necessary, it is pursued as part of the discovery phase, not the delivery phase. This distinction is crucial as it highlights that the prototype's purpose is to evaluate the viability of an idea before committing to its full development.


Avoiding Common Pitfalls

One of the common pitfalls in product development is underestimating the amount of work required to build and deliver a product. This often stems from an insufficient consideration of feasibility risks. When teams skip the feasibility prototyping phase, they may find themselves facing unexpected challenges later, leading to delays and increased costs.


Several factors contribute to this underestimation:

  • Inexperienced engineers providing overly optimistic estimates
  • Lack of a thorough understanding of the requirements by both engineers and the product manager
  • Insufficient time allocated by the product manager for feasibility investigation

To avoid these pitfalls, it is essential to give engineers the time and resources they need to thoroughly investigate feasibility risks. This proactive approach can save significant time and effort in the long run by ensuring that potential issues are identified and addressed early in the development process.


Conclusion

Feasibility prototyping is a valuable technique for managing and mitigating risks in product development. By creating quick, disposable prototypes, engineers can gather critical data to assess the viability of a solution. This practice helps ensure that product teams are making informed decisions, ultimately leading to more successful and efficient product development. By investing a small amount of time upfront in feasibility prototyping, teams can avoid the costly and time-consuming pitfalls of underestimating feasibility risks.