Hoje estou iniciando o segundo curso da Jornada Dev + Eficiente, a Engenharia de Requisitos para Devs.

Este curso é importante na visão do instrutor por entender que é um assunto negligenciado por muitos desenvolvedores(as) de software. Concordo com ele, à medida que esse tipo de atividade, principalmente nas empresas que aplicam as metodologias ágeis, é em grande medida delegada (e muitas vezes limitada) às pessoas designadas como product owner nos times.

O curso não será tratado como um curso de engenharia de requisitos formal ou engenharia de requisitos ágeis, mas sim uma visão do próprio autor (Alberto Souza) baseada na metodologia construída na empresa 37signals chamada Shape Up.

A importância da engenharia de requisitos, independente do tipo de processo de desenvolvimento aplicado, fica clara ao entendermos que quanto mais cedo temos conhecimento de que funcionalidades temos que entregar, quais os atributos de qualidade temos de atender e sob quais restrições estamos entregando software, mais barata será a correção de qualquer tipo de problema. Mesmo que a pessoa que desenvolve o software não seja responsável pela coleta e/ou refinamento de requisitos, uma vez que ela tem conhecimento do tema, ela consegue se antecipar a problemas e lacunas de definição e evitar retrabalho posterior.

Se ainda há necessidade de justificativa para o curso, um estudo1 de revisão mostra que as três maiores causas de falha na entrega de software são: requisitos escondidos ou incompletos, falhas de comunicação entre time de projeto e cliente e mudança de requisitos, objetivos ou processos.

Bom, eu já estava convencido desde o início. E você?