Criando um fluxo de design engineering
Aprendendo a tornar minhas decisões de design explícitas, testáveis e abertas à revisão.
Estou criando um fluxo de trabalho com agentes para design engineering, inspirado no trabalho de Lauren Tan com o pstack.
Não tenho a mesma profundidade de experiência em engenharia que ela. Parte do processo é descobrir quais princípios entendo bem o suficiente para adaptar e onde ainda preciso aprender. A ênfase dela em dar aos agentes uma forma de verificar o próprio trabalho parece especialmente relevante. Quero conseguir inspecionar o que aconteceu e entender por que uma tarefa é considerada concluída.1
O post dela sobre tratar uma base de código como um jardim também ficou comigo: quando você corrige algo, transforme essa correção em uma regra para que o mesmo problema não continue crescendo de novo.2
Tenho pensado no que isso significa para o trabalho com interfaces.
O artigo “Agents with Taste”, de Emil Kowalski, traz um exemplo concreto. Ele organiza conhecimento de design em habilidades especializadas, explicando o raciocínio por trás das decisões e dando aos agentes regras específicas para seguir. A origem da animação de um popover, por exemplo, deve conectá-lo ao controle que o abriu. Essa é uma instrução muito mais útil do que pedir uma “animação refinada”.3
- Regra
- Posicione a origem da animação na direção do controle.
- Verificação
- Repita a abertura e o fechamento para avaliar essa conexão.
É essa a direção que estou explorando: agentes com responsabilidades focadas, apoiados por habilidades para coisas como movimento, tipografia e verificação. Quero que as instruções expliquem o que importa, por que importa e como verificar o resultado.
Estou tentando ser rigoroso sobre o que conta como concluído. Para uma interação, quero que o agente a execute no navegador e forneça evidências que eu possa revisar. Uma captura de tela pode mostrar alinhamento; ainda preciso ver o movimento para avaliar seu timing.
A parte difícil é decidir quais julgamentos consigo tornar explícitos. Posso perceber que algo parece errado antes de conseguir explicar o motivo. Escrever instruções para um agente significa dedicar mais tempo a essa lacuna.
Essa é uma parte do processo em que quero continuar trabalhando: ser preciso o suficiente sobre minhas próprias decisões de design para conseguir explicá-las, testá-las e reconsiderá-las.