Seguindo com a série de publicações de review do evento Agile Brazil 2013 (#AgileBR), agora falando sobre a brilhante apresentação de Danilo Sato.

dtsato-agilebrazil2013

Sato começou definindo requisitos não funcionais como requisitos que definem o comportamento do sistema, suas funcionalidades, ou seja o que o sistema faz.

O ponto é que o que chamamos de “requisitos não funcionais” não é “o que o sistema não faz”, por isso na Thoughtworks eles chamam de requisitos transversais, porque esses requisitos representam comportamentos transversais do sistema, restrições, atributos de qualidade e “a forma que o sistema deve operar”. Coisas como segurança, desempenho, configurabilidade, escalabilidade, etc. Danilo apresentou uma lista com mais de 35 requisitos transversais.

Alguns erros que, geralmente, cometemos ao lidar com isso:

  • Negligenciar Requisitos Tranversais.
  • Exagerar assumindo que todos são essenciais.
  • Escrever documentação detalhada sobre cada um deles.
  • Criar um Backlog de Requisitos Transversais Gigantesco e Abandoná-lo.

Para Sato, os maiores desafios se devem ao fato de que esses requisitos são difíceis de serem visualizados, de mensurar custos, e além disso são tratados por pessoas com papéis diferentes na organização (desenvolvedores, testadores, analistas de negócio, etc.).

Por isso devem ser tratados de diferentes formas, alguns deles podem ser tratados com histórias de usuários, outros deverão se transformar em padrões (para lidar com a segurança, por exemplo), outros podem gerar mudanças operacionais (certificados SSL, firewall, etc.) e até influenciar o processo de entrega do software (testes de penetração, senhas, etc.).

Veja os slides de Sato para mais aprender mais:

Veja a cobertura completa do Evento Agile Brazil 2013