Prototyping Data Products: Methodology

Angel Llosa
4 min readDec 1, 2023

--

Introduction

The development of a data product in enterprise environments often comes with a high cost. There are numerous procedures and validations that need to be met before it can be deployed, resulting in a considerable delay before the expected return on investment can be seen. Furthermore, according to various studies, between 50% to 70% (varies according to different sources) of AI projects fail to reach successful completion. This emphasizes the necessity of carefully validating the investment made in such projects.

For this reason, in the data field people are starting to work on tools, methodologies, and technologies to expedite the realization of this benefit. One of these tools is the prototyping approach. Prototyping is a technique that has been used across all domains when developing products, whether physical or software-related. However, in enterprise environments, it has been challenging to implement in the data realm due to the nature of existing tools.

In this article, I will briefly explore the advantages of prototyping and the methodologies and technologies available for its implementation in the data field. It’s a continuation of the previous article related to the imeplementation of a Data Product Strategy:

Advantages

The following quote succinctly captures the contribution this approach makes to the development of data products:

Sometimes, well-thought-out proposals backed by extensive research and data will fail to convince decision-makers. But a demo of a simple prototype will get them excited and ready to commit. I’m surprised how often this happens. — Eugene Yan

With a bit more detail, here are the advantages:

  • Rapid validation of return on investment: By having a minimum viable version of the product, you can quickly validate the return on investment with potential users or clients, as they can use it and provide feedback.
  • Cost reduction: When the client sees the product, they often request modifications. This is because the perception during the design phase differs from when the product is usable. Hence, iterating on the design during the prototyping phase comes at a much lower cost than it would in the production phase.
  • Risk reduction: Due to the same reason, you encounter future issues beforehand, such as data deficiencies, unsuccessful algorithm selection, etc.
  • Technological testing: Prototyping also serves as an initial test for the technology that will be used and evaluates the project’s viability.

Prototyping Methodologies

The development of prototypes is inherently part of other methodologies, such as Design Thinking or Agile. For creating software prototypes, there exists a specific methodology called the Prototyping Model.

This methodology consists of the following phases:

  1. Requirement gathering: In this phase, requirements are gathered from the product users to identify their needs and expectations for the final product.
  2. Rapid design: A design is created, considering the implementation of a prototype that covers as many identified needs as possible, without representing the final product design. At this stage, the focus should be on what needs validation from the user through the prototype.
  3. Prototype construction: The construction aims for a small, functional product that can be “shown” to the user.
  4. Initial user evaluation: In this phase, the product is presented to the user for an initial evaluation, collecting their feedback.
  5. Prototype refinement: Based on the user’s feedback, refinement and iteration are conducted to align it with expectations. The final product to be implemented should emerge from this phase, emphasizing the importance of rapid iteration for advancing product development.
  6. Product implementation and maintenance: Once the prototype is refined and accepted/validated/evaluated by the user, it’s time to implement it for more productive use. This will alter the technological and development requirements as the output must be maintainable and exploitable, meeting all security requirements.

Each phase can also incorporate best practices from other methodologies. For instance:

  • Design Thinking: Can be applied in requirement gathering (1) and rapid design (2). To facilitate this, you can use this specific canvas as a guide.
  • Agile: For construction (3), evaluation (4), and prototype refinement (5), an Agile methodology would fit perfectly, allowing for interchanging between different phases, milestones, and rituals of this methodology (sprints, backlog refinement, user review, etc.).

Conclusion

The process of developing data and analytics products is a costly endeavor where the expected results are often not achieved. Therefore, employing an approach like prototyping helps in identifying risks associated with viability and user adoption in advance. This initial small investment can prevent substantial future losses, both in terms of material and temporal resources.

In the next post, I will discuss the different types of prototyping models that exist.

--

--

No responses yet