We love writing code, but we try to avoid having to. Our vocation is to create products that solve problems and how to create them must always be aligned with the problem we want to solve and the available resources. Writing code should be the means, but never an end in itself.
As technical people it is easy to be tempted to customize each solution, write a lot of code and create true "tailored suits". However, technology is only one of the pieces that make up a product, not the only one. Design is just as important and we talked about it in a previous article. And today we present the third and final piece: the business.
Understanding the core of our business will allow us to identify the tools that we will use to build the product and prioritize our efforts. Sometimes it will be a SaaS that perfectly solves one of the parts of the product, in others it will be existing platforms or frameworks that will allow us to speed up its creation and, indeed, there will be times where we will have to write code.
It is almost as important to understand what the core of your business is, as it is to understand everything that is not. Is processing payments the core of my business? Is the infrastructure the core of my business? Is sending emails the core of my business? The answer to these questions will help you order and prioritize efforts in each area of your product.
Be careful, that it is not the core of the business does not mean that it is not important. It simply means that it is not differential, only necessary. If you have an online store, being able to accept payments is not differential, it is necessary. Even the platform of your store is not differential but necessary to be able to sell. On the other hand, the product, distribution and marketing are unique and differential factors for the success of your store.
Many times this process can be simplified into a single question: Is this going to determine the success of my business? For example: Will developing a custom solution for sending emails versus using an existing service like SendGrid determine the success of my online store? If the answer is "no" we may be misaligning resources and efforts at the core of the business.
A common project that we work with from the Studio is that of a startup or company that needs a landing to advertise its product or service and to be able to capture leads from interested people.
In these cases our priorities are usually:
Each of these objectives determines what technologies and tools we will use to build the landing.
So ... what would be our proposal for this case?
The technology to start an online store today is already a "commodity". It is not even necessary to have technical knowledge to do it, although many still try to continue reinventing the wheel.
The challenge of the project is to understand well the particularities of the product to be sold and to offer the best option based on this.
It is not about reinventing the wheel, the technology to create and launch e-commerce is already here, so our job should be to understand the business and its peculiarities, and offer the best solution for it.
The problem, again, is that this often works against the business as a studio / agency / service provider. Sometimes reinventing the wheel is the only way to justify an exaggerated budget and number of hours. Of course, this is not the way we do business at Studio and it never will be.
Finally, infrastructure is usually one of the main headaches of any project. Ensuring that our product is available and accessible at any time for users is essential, but we are not specialists in Infrastructure. How do we do it then?
In our case we rely on PaaS (Platform as a Service) such as Heroku, Render or Vercel for the deployment of all the projects that we develop in the Studio. These are some of the reasons:
In short, we are dedicated to building products that are framed in specific technology, design and business needs. You can't create good products if you don't consider any of the above. It must be understood from the honesty to propose the best solution for the client's challenge, although sometimes this is not the best decision for your treasury.
Product work never ends, it is a constant process of learning, iteration and experimentation. The tools and technologies with which the product is built can also evolve. They must evolve. And our process contemplates offering the best solution for each stage, avoiding premature oversizing, but being prepared to scale when necessary.