Rapid prototyping product innovations
How to efficiently keep realizing new ideas in your products
Businesses strive for 2 things:
- Efficiency
- Innovation
The paradox of efficiency, beautifully explained in this article, is that you can get increasingly better at something that matters less and less. Efficiency requires standardization and control to drive predictable outcomes. Innovation on the other hand, requires breathing room for creativity. It needs freedom to experiment and fail. This begs the question, Can we not have both? What will it take to be efficient and innovative?
Our approach at CodeNation has been to bring innovations to a space of its own, free from the shackles of traditional efficiency processes and models. And then, we define new models of efficiency for the innovation space. The result is a model for rapid prototyping product ideas.
Product innovation breaks down to 3 stages:
- Problem
- Solution
- Application
Problem
This is identifying the problem to be solved. Here’s where we take guesses at what could take us into the future, “what would keep us ‘relevant’?” This requires broad perspective, context and vision. A lot of this is driven by org leaders, whose role gives them the necessary experience.
Solution
Once the problem is identified, we need to come up with the solution. This is the innovation space. You make ventures into unchartered territories, try new ideas, experiment with different approaches and sometimes fail while doing so. The outcome is a concept of a solution that will work. Here, we define different models for efficiency, described later in this article.
Application
Once the solution has been figured and the unknowns have been resolved, the concept needs to be taken to production. Here comes the standard model for feature specs, agile development, sprint planning and so on.
The 3S model for efficient Innovation
The idea is to quickly try out ideas, and make progress towards the end goal. To achieve this, we developed the 3 S rapid prototyping model:
Spec — Standardize — Stories
We use this deeply in our workflow at CodeNation. This is how it works:
I. [S]pec
Write a 3–6 pager on the new idea. There is no way someone can write a 6 pager on an idea without thinking deeply about it. This has 2 fundamental advantages:
- It is very helpful in understanding the real hard problem we’re solving, who are the target audience, how does it help the users in a real world use case and so on. Bad ideas get filtered early / lead to great ideas. End result is always a well-though-out proposal.
- There is great clarity on what we’ve set out to achieve over the next couple of months. When you are in an innovative environment, it is easy to get side tracked. Once we spent 2 months refining an ML based recommender model while it wasn’t a significant part of the solution. This wasn’t core to the problem but a nice to have thing. Revisiting specs helps us course correct in such situations and avoid them in the first place. In summary, the spec is great at setting the vision and direction for the whole team.
Traditional development has had specs for a while. The “Idea Spec” is fundamentally different in the questions it answers. You need to identify what questions are relevant in the context of your innovations.
II. [S]tandardize
There is a vast array of choices for implementing a solution. Often we spend time figuring out the best selection of tools: is it performant? does it have a community? is it under active development? etc. It takes time & effort to make a decision. In truth, for early stage prototypes, you can do away without the “most efficient” or “best” choice. Tech today combined with cloud platforms like AWS easily allows us to support loads up to several thousand users before putting in effort on “scaling the system”
Keeping this in mind, we’ve created a quickstart template used across most of the projects:
- Containerized deployments on EngineYard straight from github.
- Django + mod_wsgi + Apache for web services
- Celery for orchestrating long running / periodic async tasks
- RabbitMQ broker as a task queue broker
- Cloudwatch with a setup that automatically pushes docker logs of all containers from EngineYard
- Aurora for MySQL
A Quickstart script automatically initialize a django project configured to work with a newly created MySQL db and config to enable and linked with celery.
And so we’re able to setup a new project with a functional web service connected to a db ready to process heavy tasks if needed, containerized and deployed . All of this in <5 minutes.
By automating, centralizing such boilerplate work, we are able to give more time to solving the actual problem.
III. [S]tories
Every week, all of us write a “story” on what we want to do next week and why. This gets everyone thinking about their project and work, and induces a self-management of projects. Stories are great in understanding the evolution of the project as well. Most of all, it brings efficiency through thought.
So that’s our 3 S model of efficient innovations. Spec — Standardize — Stories
Want to join us in developing interesting product innovations? look out for our hiring events.