Novemade

Como construímos

11 produtos. Um sistema de produção partilhado.

11 produtos não correm lado a lado se as partes caras não forem partilhadas. Investigação, produção, lançamento e medição passam por um único sistema interno, por isso o quinto produto custa menos a lançar do que o primeiro e está melhor informado quando o faz.

O ciclo

9 etapas, e a última alimenta a primeira.

Cada produto percorre o mesmo circuito. As etapas têm o nome do que nelas acontece, e é por isso que aprender algo e agir em consequência são duas etapas e não uma.

  1. 01InvestigaçãoSinais e um banco de ideias por produto, pontuado pela relevância antes de se fazer qualquer coisa.
  2. 02DesignO produto decide a sua própria voz, as suas afirmações e os seus limites. O sistema preenche-os.
  3. 03ConstruçãoMateriais, narração e legendas, montados a partir do material próprio de cada produto.
  4. 04LocalizaçãoCada string em cada idioma, com a paridade entre catálogos verificada em vez de presumida.
  5. 05TestesPrimeiro verificações automáticas, depois uma pessoa. Nada chega a uma fila sem revisão.
  6. 06PublicaçãoEmpacotamento por plataforma, com a publicação deliberadamente retida atrás da aprovação de uma pessoa.
  7. 07MediçãoOs sinais de lançamento e de desempenho voltam ao lugar onde o trabalho foi feito.
  8. 08AprendizagemO que funcionou num produto fica legível para o seguinte que o perguntar.
  9. 09MelhoriaA correcção aterra no sistema partilhado, não na cópia de um produto.

O que o sistema garante

A automação só é útil se for seguro voltar a executá-la.

A maior parte do trabalho num sistema de produção não é fazer coisas. É garantir que uma nova tentativa, uma falha ou um acionamento duplicado não podem causar dano — e é isso que permite que o resto seja automático.

Nada é publicado duas vezes

Os trabalhos de conteúdo e de publicação são identificados por hashes deterministas das suas próprias entradas. Um accionamento duplicado, uma nova tentativa ou uma falha com reinício resolvem para a mesma identidade, pelo que o sistema não pode renderizar duas vezes nem publicar duas vezes.

Tentar de novo é sempre seguro, e é isso que torna a automação reiniciável.

Uma falha retoma, não reinicia

Cada etapa guarda o seu resultado antes de a seguinte começar. Uma falha a meio retoma a partir da última etapa concluída em vez de repetir o trabalho caro que está atrás dela.

Um pipeline longo pode falhar sem custar a execução inteira.

O sistema nunca aprende o nome de um produto

Tudo o que varia por produto — voz, famílias de conteúdo, localização de materiais, regras sobre o que nunca pode ser afirmado — vive na configuração desse produto. O código partilhado lê-a e nunca referencia um produto directamente.

Um produto novo é uma configuração, não um fork.

A repetição é medida, não esperada

Cada peça leva uma impressão digital do seu tema, do seu gancho e do seu guião. O trabalho novo é comparado com o historial recente desse produto e rejeitado quando está demasiado próximo, o que manda o gerador procurar outro ângulo.

Volume sem um feed que soe a um produto a falar consigo mesmo.

As falhas são classificadas, não engolidas

As chamadas externas são repetidas com espera limitada e separadas em transitórias, permanentes e não configuradas. Uma plataforma que ainda não foi configurada é um aviso normal, nunca uma falha e nunca um salto silencioso.

A diferença entre avariado e ainda não ligado está sempre visível.

As verificações de qualidade correm antes de uma pessoa olhar

A saída gerada é verificada automaticamente antes de chegar a uma fila, incluindo se cada cena usou material real do produto em vez de um marcador. O que uma pessoa revê já passou os testes mecânicos.

O tempo de revisão vai para o critério, não para apanhar falhas óbvias.

Os erros tornam-se testes, não folclore

As falhas incómodas — um modelo que estraga um tema já formulado como pergunta, uma abertura que duplica um prefixo — foram encontradas gerando saída real e lendo-a, e depois fixadas com um teste de regressão.

A mesma classe de erro não pode voltar em silêncio.

Um idioma é publicado inteiro ou não é oferecido

Os catálogos são verificados em paridade com o idioma de referência antes de uma build passar, pelo que um idioma não pode sair com metade das suas chaves e uma frase em inglês no meio de um ecrã. Onde um idioma precisa de mais do que texto — uma disposição da direita para a esquerda, uma palavra composta mais longa, uma voz gravada — isso também é verificado, no ecrã e não no ficheiro.

Dez, dezasseis ou vinte e nove idiomas, e em nenhum um ecrã meio traduzido.

Cada material gerado sabe o que o fez

Os materiais produzidos por um modelo levam o modelo, a sua revisão exacta, a sua licença e o conjunto de candidatos de onde foram escolhidos, guardados ao lado do ficheiro. O áudio gravado leva o seu motor, a sua licença e a medida com que o seu próprio controlo de qualidade o pontuou. Um conjunto de capturas leva um hash por ficheiro.

Uma dúvida de licença anos depois é uma consulta, não uma investigação.

A aprovação humana fica no ciclo

O sistema prepara, empacota e propõe. Uma pessoa aprova. A publicação nunca é totalmente autónoma, por desenho e não por omissão.

Escala sem entregar o controlo editorial.

Verifique você mesmo

Este site é construído com a mesma disciplina

Em vez de descrever o padrão, aqui está o que é imposto na página que está a ler agora.

  • 01Uma definição de marca gera cada marca, ícone, favicon e cartão social distribuível. Nada é exportado à mão.
  • 02O pipeline de materiais recusa uma captura sem legenda, pelo que nenhuma imagem pode sair sem texto alternativo.
  • 03A build falha se um produto afirmar ter uma ficha de loja que não tem, ou se aparecer no conteúdo qualquer número de downloads, avaliação ou número de utilizadores.
  • 04O contraste de cor é calculado num teste contra cada superfície sobre a qual é pintado, nos dois temas.
  • 05Um arnês de navegador carrega cada rota em oito larguras e falha se houver transbordo horizontal, se o menu móvel colapsar ou se um menu não fechar.
  • 06Os links internos são percorridos em cada verificação, pelo que uma mudança de nome não pode deixar atrás um link morto sem se notar.
  • 07Cada número que este site afirma sobre o seu próprio catálogo é calculado a partir do catálogo na compilação. Um teste derruba a build se algum for escrito à mão numa frase.
  • 08Cada produto tem de ter uma demo que funcione, e isso é verificado em vez de presumido — adicionar um produto sem demo derruba a build.
  • 09Um produto só pode mostrar a etiqueta de publicado se o seu estado de loja disser que a ficha é pública, e só uma ficha pública pode produzir um botão de descarga.

O limite

O que não publicamos

Esta página descreve o que o sistema faz e o que produz. Não descreve como é implantado. Servidores, endpoints, credenciais, nomes de máquinas, caminhos de armazenamento e arquitectura de segurança ficam privados — não porque sejam interessantes, mas porque publicá-los seria descuidado. O site público e os sistemas internos não partilham credenciais nem qualquer caminho de controlo.