O desenvolvimento de software tipicamente visa alinhar as especificações com a implementação.
Por esta razão, projetamos o software para satisfazer as especificações e, em seguida, implementamo-lo com base nesse design. Usamos então testes para confirmar que a implementação cumpre as especificações, corrigindo a implementação se houver discrepâncias, ou clarificando as especificações se forem ambíguas.
Isso pode ser chamado de engenharia baseada em especificações e implementação.
Em contraste, ao discutir software hoje, a experiência do utilizador está a tornar-se cada vez mais importante.
Além disso, é o comportamento do software, e não a sua implementação, que de facto molda a experiência do utilizador.
Portanto, fora do âmbito das especificações e da implementação, existem a experiência e o comportamento.
Consequentemente, creio que vale a pena explorar o conceito de Engenharia de Experiência e Comportamento, que se baseia na experiência e no comportamento.
Liquidware
A Engenharia de Experiência e Comportamento é uma abordagem irrealista com os métodos tradicionais de desenvolvimento de software.
Isto deve-se ao facto de exigir a melhoria da experiência do utilizador sem limites rigorosos ou divisões funcionais nas especificações. Um pedido casual de um utilizador para melhorar a sua experiência pode até necessitar do descarte de todo o software previamente desenvolvido.
Por outro lado, se chegar um momento em que a automação do desenvolvimento de software baseada em agentes que utilizam IA generativa se tornar comum, a reconstrução de sistemas de software inteiros será aceitável.
Além disso, numa tal era, ao equipar o software lançado com um chatbot de engenheiro de IA, é concebível que entremos numa era de "liquidware", onde a interface do utilizador pode ser modificada para se adequar às preferências de cada utilizador.
Liquidware significa algo mais flexível do que o software tradicional, adaptando-se perfeitamente a cada utilizador individual.
Quando esta era de desenvolvimento automatizado e liquidware chegar, o paradigma de engenharia de especificações e implementação tornar-se-á obsoleto.
Em vez disso, faremos a transição para um paradigma de Engenharia de Experiência e Comportamento.
O que é Comportamento?
Em termos simples, comportamento é um estado que muda ao longo do tempo.
E testar o comportamento nada mais é do que testar esse estado que varia com o tempo.
Além disso, testar o comportamento não se trata de confirmar o alinhamento com uma especificação que define como os estados transitam. Em vez disso, o comportamento é testado com base na qualidade da experiência do utilizador.
Naturalmente, se existirem erros que levem o sistema a realizar operações não intencionais pelo utilizador ou programador, estes também prejudicam significativamente a experiência do utilizador. Portanto, o teste de comportamento inclui a verificação da conformidade funcional e da validade funcional.
Após cumprir estes requisitos funcionais básicos, o foco passa para o teste de comportamento de alta qualidade, sob a perspetiva da experiência do utilizador.
A Experiência Suprema
Para os humanos, a experiência de utilizador suprema é o controlo do próprio corpo quando em boa saúde.
Considere o seguinte: todos os dias, controlamos um corpo complexo, mas altamente restrito e limitado, que pesa dezenas de quilogramas, usando-o para atividades com um propósito.
Se alguém tentasse controlar um sistema tão pesado, complexo e altamente restrito para realizar atividades desejadas, a experiência seria tipicamente bastante fraca.
No entanto, desde que não nos sintamos indispostos, movemos este corpo pesado, complexo e altamente restrito como se fosse sem peso, manipulamo-lo tão facilmente como um mecanismo simples, e não nos preocupamos com as suas limitações e restrições como se não existissem.
Esta é a experiência suprema.
Ao procurar um comportamento de alta qualidade, poderá tornar-se possível proporcionar uma experiência a par do controlo do próprio corpo.
Por outras palavras, mesmo que um sistema seja lento a processar, complexo na funcionalidade, e tenha muitas limitações e restrições, uma experiência liquidware completamente livre de stress poderá ser realizada.
Em Conclusão
O liquidware supremo oferecerá uma experiência semelhante à do nosso próprio corpo.
Esse liquidware tornar-se-á algo como um corpo para nós.
Cada vez que o liquidware supremo proliferar ou as suas funções forem aprimoradas, sentir-se-á como se os nossos próprios corpos estivessem a ser estendidos.