Design Thinking para a Engenharia de Requisitos: problemas e oportunidades em requisitos não-funcionais.

O Design Thinking (DT) tem sido usado na Engenharia de Requisitos (ER) para auxiliar o processo de descoberta das necessidades dos usuários, ao focar em princípios de prototipação e empatia com estes. Uma vez que o Design Thinking pode ser utilizado de diferentes formas, partiu-se de artigos recente...

Descripción completa

Detalles Bibliográficos
Autor: Pinto, Fábio Avigo de Castro
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2023
País:Brasil
Institución:Universidade de São Paulo (USP)
Repositorio:Biblioteca Digital de Teses e Dissertações da USP
Idioma:portugués
OAI Identifier:oai:teses.usp.br:tde-21092023-080752
Acceso en línea:https://www.teses.usp.br/teses/disponiveis/3/3141/tde-21092023-080752/
Access Level:acceso abierto
Palabra clave:Design thinking
Engenharia de requisitos
Non-functional requirements
Requirements engineering
Requisitos não funcionais
Descripción
Sumario:O Design Thinking (DT) tem sido usado na Engenharia de Requisitos (ER) para auxiliar o processo de descoberta das necessidades dos usuários, ao focar em princípios de prototipação e empatia com estes. Uma vez que o Design Thinking pode ser utilizado de diferentes formas, partiu-se de artigos recentes publicados sobre o uso do DT dentro da ER para identificar as suas diferentes alternativas no processo de desenvolvimento de software e traçar categorias de uso do DT na ER. Paralelamente, há restrições em todo o projeto de software que direcionam decisões de design e existem devido a uma série de fatores: o campo de aplicação, regulamentações, escolhas de stakeholders, relações de custo/eficiência, dentre outras. Parte significativa dessas restrições são manifestadas em um projeto na forma de requisitos não-funcionais (RNF), que devem ser endereçadas em algum momento. O objetivo deste projeto é analisar como se dá a consideração de RNF dentro do DT e como isto se reflete em restrições de design, considerando o uso dos resultados do DT para a ER. Para isso, foram realizadas três estudos, a saber: (1) uma revisão sistemática de literatura para identificar possíveis problemas gerais do DT na ER, (2) uma pesquisa de opinião qualitativa com desenvolvedores de software com experiência no DT buscando evidenciar a percepção de possíveis problemas sobre RNF no DT e (3) um estudo de caso composto de entrevistas semi-estruturadas com profissionais da indústria que reportaram a respeito de projetos de software em que se utilizou o DT como abordagem de elicitação de requisitos, com o intuito de explorar problemas relacionados a RNF, como estes impactam o software final e em que momento são descobertos. No uso do DT como abordagem de elicitação de requisitos em um projeto de software, os resultados apontam problemas relacionados aos RNF: quando não estão diretamente conectados ao contexto do projeto, ao histórico do time participante do DT ou não se trata de pontos comuns de interesse ao mercado em que o software ou a empresa se inserem, RNF tendem a ser ignorados durante o DT. Esses são, entretanto, descobertos mais tarde e exigem readequações significativas de projeto para serem acomodados. Tendo em vista a correlação entre os RNF e as restrições de design impostas, esta situação aponta para a necessidade de que RNF sejam descobertos o mais cedo possível em um projeto, sob risco de se perder o potencial de inovação do DT ou que a solução inicial idealizada se mostre inviável. Este trabalho mapeou problemas identificados na literatura associados ao tema e casos práticos reportados por profissionais, compilando projetos reais de uso do DT na ER e problemas atrelados a RNF descobertos durante o DT e após este. São também apresentadas lições aprendidas por profissionais, melhores técnicas sugeridas e boas práticas para a descoberta de RNF o mais cedo possível.