Engenharia de software

    A primeira versão é a parte barata.

    Software caro não é o que custa para construir. É o que custa para mudar depois, e quase todo projeto é orçado como se as duas coisas fossem a mesma.

    O problema

    Projetos não fracassam por falta de código.

    Fracassam porque, dois anos depois, ninguém sabe por que uma decisão foi tomada. O código está lá, legível, e ainda assim indiscutível: não dá para revisitar uma escolha cujo motivo não foi registrado.

    Aí cada mudança vira arqueologia, o prazo infla sem causa aparente, e a conclusão fácil é que o time é lento. Não é. É que ele está decidindo de novo o que já tinha sido decidido.

    A diferença

    Produzir código e fazer engenharia não são a mesma profissão.

    A distinção aparece em coisas concretas:

    • Produção entrega o que foi pedido. Engenharia pergunta o que o pedido está tentando resolver, e às vezes o escopo encolhe
    • Produção mede entrega por funcionalidade pronta. Engenharia mede por funcionalidade que continua de pé seis meses depois
    • Produção trata operação como fase posterior. Engenharia trata como requisito com prazo
    • Produção registra o que foi feito. Engenharia registra por que, e o que foi descartado no caminho
    • Produção cresce somando gente. Engenharia cresce reduzindo o que precisa ser coordenado

    Senioridade aparece no que NÃO é construído. É a parte do trabalho que nenhum orçamento por hora consegue cobrar, e a que mais economiza.

    Como trabalhamos

    O que fazemos que muda o custo de mudar.

    Nada disso é metodologia proprietária. É o que dá para verificar depois:

    1. 01Decisão de arquitetura tem registro: o que se escolheu, contra o quê, e o que faria mudar de ideia
    2. 02Modo de falha é nomeado antes de existir, e virado teste
    3. 03O sistema diz quando está ruim, em vez de esperar alguém reclamar
    4. 04Dependência externa fica isolada atrás de uma fronteira que você consegue apontar
    5. 05Quem construiu opera. Entrega sem operação é transferência de dívida

    Essas cinco custam tempo na primeira versão e devolvem em cada mudança depois dela. É a troca que a palavra engenharia descreve.

    A decisão

    Quando faz sentido nos chamar.

    Faz sentido quando

    • O sistema é crítico para a operação e falhar tem custo nomeável
    • Existe um time, e ele está preso em manutenção em vez de avançar
    • A plataforma precisa durar anos e passar por várias mãos
    • Já houve uma tentativa que não se sustentou, e ninguém sabe exatamente por quê

    Não faz sentido quando

    • O que se quer é validar uma hipótese rápido e jogar fora depois
    • O problema é de produto e ainda não virou problema técnico
    • A expectativa é preço de fábrica de software com responsabilidade de engenharia

    Nos dois primeiros casos, a resposta honesta costuma ser alguém mais barato que nós. Dizemos isso na primeira conversa, não na terceira.

    O que perguntam na primeira conversa

    Quanto custa contratar uma empresa de engenharia de software?
    Depende do que está sendo comprado, e a pergunta mais útil é outra: quanto custa hoje a ausência disso. Projeto fechado com escopo rígido costuma sair mais caro no total, porque toda mudança vira aditivo e toda estimativa carrega gordura contra o risco. Trabalhamos com capacidade contratada e escopo revisitado, o que torna o custo previsível sem fingir que o escopo é.
    Quanto tempo leva?
    A primeira coisa em produção costuma levar semanas, e isso é deliberado: sistema que só aparece no fim esconde o que estava errado até ficar caro consertar. O que leva meses é a operação ficar estável sob carga real, que é uma fase que raramente entra em cronograma e sempre acontece.
    Já temos time. Vocês substituem ou somam?
    Somamos, e a melhor configuração é quando o seu time continua dono do produto. Entramos onde falta capacidade ou senioridade específica, e a referência de arquitetura é combinada, não imposta. Substituir time interno raramente resolve: o conhecimento que se perde custa mais do que a capacidade que entra.
    Vocês trabalham com qual stack?
    A que a operação já tem, quando ela se sustenta. Operamos principalmente TypeScript, Python, PHP com Drupal, e AWS serverless; mas trocar stack é a decisão mais cara de um projeto e quase nunca é a causa do problema. Quando recomendamos trocar, vem com o motivo e com o custo da troca na mesma frase.
    O código é nosso?
    É, inteiro, incluindo infraestrutura como código e a documentação de decisão. Operamos no seu repositório e na sua conta de nuvem sempre que possível. Engenharia que só funciona enquanto o fornecedor está presente não é entrega, é dependência.

    leadform.contact.headline

    leadform.contact.description

    Engenharia não é decoração. É direção.