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

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Pinto, Fábio Avigo de Castro
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.teses.usp.br/teses/disponiveis/3/3141/tde-21092023-080752/
Resumo: 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.