
Escrita · 31 jan 2021
Construir uma plataforma de produtos
Desenhar para reutilização, flexibilidade e extensibilidade
Este mês estou a tirar partido das capacidades de uma plataforma para lançar um novo produto. Ao longo dos anos desenvolvi a plataforma «Lemmid», um conjunto de blocos de construção que me permitem desenvolver novos produtos rapidamente. Desenhar uma plataforma exige algumas considerações extra, mas se seguires algumas regras simples podes fazê-lo tu mesmo!
O que é uma plataforma?
Em poucas palavras, uma plataforma é algo sobre o qual se pode construir. O que distingue uma plataforma de um simples produto é que a plataforma pode fazer (ou tornar-se) outras coisas que não estavam originalmente previstas quando foi desenhada.

Os smartphones modernos, com as suas capacidades de hardware e respetivas lojas de apps, podem ser considerados plataformas. A plataforma permite todo o tipo de funcionalidades inicialmente imprevistas, ao deixar os programadores usar as capacidades da plataforma de formas novas e em novas combinações.

Reutilização, flexibilidade e extensibilidade
Se estás a desenhar uma plataforma, tens de dar especial atenção à reutilização, à flexibilidade e à extensibilidade. Em certo sentido, estás a desenhar para um futuro desconhecido. Para perceber como se desenha uma plataforma, é boa ideia olhar para as peças de Duplo.

A simplicidade de uma peça de Duplo engana, mas o design é incrivelmente brilhante, porque permite:
- Reutilização: Pega numa peça, usa-a nalgum sítio e, quando acabares, podes tirá-la e usá-la noutro lado.
- Flexibilidade: Mesmo uma única peça de Duplo pode ser usada de inúmeras formas, podes ligá-la a outras peças e criar muitas combinações diferentes.
- Extensibilidade: Os pinos padronizados das peças de Duplo permitem uma extensibilidade fácil: peças novas e futuras podem ligar-se às existentes se incorporarem o mesmo «padrão de pinos».
Estes três princípios de design fazem das peças de Duplo uma plataforma, que permite criar coisas novas. Se estás a desenhar uma plataforma, pensa nestas peças de Duplo. Os componentes que crias têm de apoiar o «princípio da plataforma».

A melhor maneira de desenhar uma plataforma é concentrar-te numa única peça. Será a peça elementar da tua plataforma: imagina como se pode ligar às outras e como vais padronizar essa (inter)ligação. Se acertares nisto, vais ficar espantado com a facilidade com que passas a incorporar ideias novas e originais.


Lemmid
Ao longo dos anos desenvolvi a plataforma «Lemmid», um conjunto de blocos de construção digitais que servem de base a praticamente qualquer produto que desenvolvo. Inclui apps, sites, lojas online e até jogos!

A plataforma está desenhada como um conjunto de micro serviços que partilham uma interface e um princípio de design comuns. Cada peça «desconhece» as suas irmãs em termos de design: têm um âmbito local e são o mais simples possível. Só se podem ligar entre si através de um protocolo padronizado que também desenhei para ser o mais simples possível.
Por exemplo, existe um bloco «Lemmid Bill» capaz de enviar faturas. Este bloco não sabe «a quem e o quê»; as outras peças podem usar o bloco «Bill» para enviar faturas digitais. Pode ser reutilizado e funciona com faturas com coisas que ainda nem imaginei.
Outro exemplo é o bloco «Lemmid Manager», capaz de gerir conteúdos. É usado de várias formas por diferentes produtos que criei. Às vezes é usado como sistema de gestão de conteúdos de um site e outras vezes para gerir um catálogo de produtos (que alimenta lojas online). É capaz de gerir conteúdos para sites e apps que ainda nem criei!
Tirar partido das capacidades da plataforma
A app de pedidos de comida, conhecida como «Lemmid Store», que criei em cima da plataforma Lemmid, tira partido das suas capacidades usando os blocos individuais para:
- permitir que as lojas estejam online: servidor web, registo de nomes de domínio, ligações DNS, etc.
- permitir que as lojas sejam preenchidas com produtos: gerir textos, preços, fotos de produtos, categorias de produtos, etc.
- permitir que as lojas aceitem encomendas: verificar a capacidade, receber os dados do cliente, processar pagamentos.
- permitir a autenticação dos donos das lojas: para proteger a gestão da loja.
- permitir a comercialização do produto através do envio de faturas
- permitir que novos clientes se inscrevam

Conclusão
Para um momento para pensar se estás a construir apenas um produto ou se este pode tornar-se uma plataforma por si só. Se for o caso, podes fazer bem em desenhar para o futuro e abraçar a reutilização, a flexibilidade e a extensibilidade.
«Adoro quando um plano resulta» é exatamente o que penso quando consigo tirar partido das capacidades da minha plataforma. Lançar novos produtos e poder usar a força de blocos de construção já existentes é «porreiro», para parafrasear o próprio Hannibal Smith, do Esquadrão A.
