Esta palestra apresenta uma profunda reflexão sobre a arquitetura de software, abordando a indispensabilidade da tecnologia nas estratégias de negócios contemporâneas e a importância de transitar entre o abstrato e o concreto no desenvolvimento de software. O principal desafio discutido é a redução do custo e do risco de mudança ao longo do tempo, algo crucial em um ambiente de negócios que muda rapidamente e onde a tecnologia desempenha um papel central.
A apresentação explora a complexidade e a dificuldade como duas fontes principais que aumentam o custo/risco das mudanças no software. A complexidade é atribuída à quantidade de elementos e suas interdependências, enquanto a dificuldade é relacionada ao esforço necessário para entender, realizar ou superar uma tarefa, frequentemente exacerbada pela complexidade. A carga cognitiva, influenciada pela quantidade de informações, processos, ou tarefas que uma pessoa precisa gerenciar simultaneamente, é um fator significativo que contribui para a dificuldade.
A palestra propõe que, como arquitetos de software, o combate ao custo e ao risco de mudança envolve a minimização da dificuldade por meio da redução das cargas extrínseca e relevante, e a redução da complexidade através da diminuição da quantidade de elementos e interdependências nas soluções. Isso é alcançado formulando teorias, modelos e utilizando cognição externa e distribuída para organizar e destilar observações e evidências em conhecimento aplicável.
A reflexão se estende à prática da arquitetura de software, sugerindo uma abordagem diferenciada para a escrita de código que prioriza a verificação de consistências nos modelos e a adequação do código aos modelos antes mesmo de escrever testes ou fazer mudanças no código para que os testes passem.
O sucesso na arquitetura de software, conforme discutido, depende da capacidade de capturar e organizar observações e evidências adequadamente, criar bons modelos e teorias, e desenvolver representações acessíveis desses modelos que sejam compartilhadas por todos os times. A abrangência das teorias inclui especificidades do domínio, soluções relacionadas, e fundamentos em matemática, lógica e base técnica.
Classificação
Palestra.