Livro texto
2. Os diferentes processos da engenharia de software e a IHC
Neste primeiro capítulo, vamos aprofundar nossa compreensão dos processos de engenharia de software e como eles se relacionam com o design da IHC. A engenharia de software e o design de IHC são dois campos multidisciplinares que, embora distintos, frequentemente se encontram e colaboram no desenvolvimento de produtos digitais.
A engenharia de software é uma disciplina que se concentra no desenvolvimento de sistemas de software eficientes, eficazes e de alta qualidade. Ela abrange desde a coleta de requisitos até a manutenção do software após seu lançamento. Por outro lado, o design de IHC foca na experiência do usuário, assegurando que as interfaces sejam intuitivas, acessíveis e agradáveis. Quando esses dois campos se sobrepõem, o resultado é um produto que não apenas funciona bem tecnicamente, mas também oferece uma experiência de usuário superior.
Ambos os campos compartilham vários processos, como a coleta de requisitos, prototipagem, testes e iteração. Por exemplo, durante a fase de coleta de requisitos, engenheiros de software e designers de IHC podem realizar entrevistas com usuários ou utilizar questionários para entender suas necessidades e expectativas. A prototipagem é outra área onde a colaboração é crucial; enquanto os engenheiros podem criar um protótipo funcional, os designers de IHC podem se concentrar em criar um protótipo de alta fidelidade que simula a experiência do usuário.
Vamos considerar o desenvolvimento de um aplicativo móvel para compras online. Os engenheiros de software trabalhariam na criação de uma arquitetura robusta para suportar transações seguras, enquanto os designers de IHC se concentrariam em como os usuários navegam pelo aplicativo, como eles realizam uma compra e como a informação é apresentada. Ambas as equipes trabalhariam juntas em sprints (se estiverem usando métodos ágeis) para iterar e melhorar tanto o backend quanto a interface do usuário, com base no feedback dos usuários.
A integração eficaz desses processos e equipes não é apenas desejável, mas muitas vezes essencial para o sucesso de um projeto. Um sistema pode ser tecnicamente sólido, mas se os usuários acharem difícil de usar ou entender, ele falhará em atingir seu objetivo. Da mesma forma, uma interface de usuário bonita e intuitiva é inútil se o sistema subjacente é instável ou inseguro.