Uso de protótipos da elicitação de requisitos

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

* Com co-autoria de Allan Bessa e Gleison Santos

A etapa de levantamento de requisitos está comumente presente nos projetos de construção de software, uma vez que as necessidades dos usuários são obtidas a partir de algum tipo de coleta dessas informações através de entrevistas, questionários, protótipos, etnografia, estudos de casos de uso, dinâmicas entre a equipe do projeto (JAD – Joint Application Design) e etc. (Nuseibeh e Easterbrook, 2000).

Apesar da disponibilidade dessas boas técnicas, alguns analistas não as utilizam, comprometendo assim o atendimento às expectativas dos usuários, tornando os sistemas complexos de serem utilizados (Carrizo et al., 2008) e fora do contexto das cinco características principais da usabilidade: facilidade de manuseio e capacidade de aprendizado rápido; dificuldade de esquecimento; ausência de erros operacionais; satisfação do usuário e; eficiência na execução das tarefas a que se propõe (Leal Ferreira e Nunes, 2008).

Um estudo de caso foi realizado envolvendo dois projetos, sendo um deles através da técnica de prototipação (Projeto P) e outro não (Projeto X). Os projetos foram avaliados em cima de um contexto real e da forma quantitativa a partir da comparação de funcionalidades similares e com o uso de uma abordagem para mensuração do processo de software, o GQM (Goal Question Metric). A execução desses dois projetos foi realizada em uma consultoria multinacional do setor de Tecnologia da Informação (TI) e pela mesma equipe em períodos diferentes num total de 11 profissionais.

Na fase de elicitação de requisitos foi criado um wireframe ou “esqueleto” principal no projeto P, a fim de delimitar as áreas distintas, organizar o conteúdo, padronizar as informações, manter uma identidade visual e uma consistência nas interfaces a serem construídas. Tanto o front end como o back end tiveram as funcionalidades revistas constantemente entre a equipe de requisitos, o designer e o cliente no intuito de tornar cada vez mais compreensível o conteúdo apresentado para os usuários. Já no projeto X optou por adotar uma gama de templates pré-definidos como modelos para desenvolvimento, sem passar pela fase de organização das informações em protótipos conforme ocorrido com o projeto P.

Definição dos objetivos, questões e métricas

O método GQM é um paradigma orientado a metas a fim de mensurar produtos e os processos de software. Dessa forma, estabelece metas/objetivos daquilo que se propõe a medir e suas respectivas questões e métricas (Basili, 1992), conforme apresentado na Tabela 1.

Tabela 1. Objetivo do estudo de caso de acordo com o GQM

Analisar A aplicação da técnica de elicitação de requisitos por prototipação
Com o propósito de Avaliar a produtividade e reduzir o retrabalho
Em relação à Precisão e identificação dos fatores que impactam na utilização dessa técnica
Do ponto de vista de Do gerente de projeto e do design
No contexto de Uma empresa de consultoria em TI

As questões, apresentadas na Tabela 2 foram baseadas nas quatro fases envolvidas no processo de construção de software adotadas pela consultoria em TI e compreendidas em: 1 – elicitação de requisitos, fase de levantamento das necessidades junto aos usuários; 2 – design, elaboração dos protótipos; 3 – construção, fase de desenvolvimento das necessidades obtidas nas fases de elicitação e design; 4 – testes, fase de execução de testes integrados e homologação junto aos usuários.

As métricas foram estipuladas a fim de obter a produtividade em relação ao percentual entre as horas executadas com as horas planejadas, como também, as horas de retrabalho em relação às horas executadas para cada questão/fase.

Entende-se neste estudo como retrabalho as horas aquém estipuladas e executadas por meio de retorno de avaliação de testes unitários e testes integrais de sistemas, bem como de erros ocasionados por problemas de má interpretação dos documentos de requisitos e de funcionalidades ruins quanto à usabilidade das interfaces.

Tabela 2. Questões e Métricas de acordo com o objetivo do estudo de caso

Questão Métrica
Q1. Qual a quantidade total de horas realizadas na fase de elicitação de requisitos? M11. (horas executadas – horas planejadas / horas planejadas) * 100. (EE)

M12. (horas de retrabalho – horas executadas) * 100 (ER)

Q2. Qual a quantidade total de horas realizadas de design? M21. (horas executadas – horas planejadas / horas planejadas) * 100. (DE)

M22. (horas de retrabalho – horas executadas) * 100 (DR)

Q3. Qual a quantidade total de horas realizadas na fase de construção? M31. (horas executadas – horas planejadas / horas planejadas) * 100. (CE)

M32. (horas de retrabalho – horas executadas) * 100 (CR)

Q4. Qual a quantidade total de horas realizadas nos testes? M41. (horas executadas – horas planejadas / horas planejadas) * 100. (TE)

M42. (horas de retrabalho – horas executadas) * 100 (TR)

A seguir são apresentadas as hipóteses do estudo.

Hipótese Nula (H0): A produtividade com o uso da técnica de elicitação de requisitos por prototipação (ou seja, no projeto P) são menores do que naqueles projetos sem a utilização dessa técnica (ou seja, no projeto X).

P ? X: ( ((EEP ? EEX) ou (ERP ? ERX)) e

((DEP ? EEX) ou (DRP ? DRX)) e

((CEP ? CEX) ou (CRP ? CRX)) e

((TEP ? TEX) ou (TRP ? TRX)) )

Hipótese Alternativa (H1): A produtividade com o uso da técnica de elicitação de requisitos por prototipação (ou seja, no projeto P) são maiores do que naqueles projetos sem a utilização dessa técnica (ou seja, no projeto X).

P > X: ( ((EEP < EEX) ou (ERP < ERX)) e

((DEP < DEX) ou (DRP < DRX)) e

((CEP < CEX) ou (CRP < CRX)) e

((TEP < TEX) ou (TRP < TRX)) )

Coletas de Dados

Os dados foram coletados a partir de um sistema de gestão de projetos da organização. As horas das atividades executadas foram processadas em uma planilha eletrônica e um sumário é apresentado nas Tabelas 3 e 4.

Tabela 3. Coleta de dados do estudo de caso no projeto P

Funcionalidades Competências
Requisitos Design4 Construção Testes
P1 E2 R3 P1 E2 R3 P1 E2 R3 P1 E2 R3
Cadastro Usuário 08 12 02 04 04 00 32 40 04 12 14 00
Troca de Senha 04 04 00 02 02 00 16 16 02 04 04 00
Cadastro Perfil 08 10 00 06 06 00 24 24 00 06 06 02
Cadastro Notícias 16 18 08 08 12 04 32 40 08 08 08 02
Cadastro Sistemas 06 06 00 02 02 00 12 12 00 08 08 00
Inclusão Docs 12 15 02 04 04 02 32 32 04 08 08 02
Filtros Consulta 08 06 00 04 04 00 08 06 00 02 02 00
Listagem Consultas 08 04 01 04 06 02 08 10 02 08 08 00
Total 70h 75h 13h 34h 40h 08h 164h 180h 20h 56h 58h 06h
1 P = Horas Planejadas / 2 E = Horas Executadas / 3 R = Horas Retrabalho / 4 Designer alocado para criação de protótipos e apoio a requisitos

Tabela 4. Coleta de dados do estudo de caso no projeto X

Funcionalidades Competências
Requisitos Design4 Construção Testes
P1 E2 R3 P1 E2 R3 P1 E2 R3 P1 E2 R3
Cadastro Usuário 08 16 04 01 02 02 32 40 08 12 20 10
Troca de Senha 04 04 04 01 01 02 16 16 04 04 04 00
Cadastro Perfil 08 14 06 01 01 01 24 32 12 08 10 04
Cadastro Notícias 16 12 08 04 04 04 32 32 14 08 12 06
Cadastro Sistemas 06 10 03 01 01 01 12 18 03 08 10 04
Inclusão Docs 12 22 10 01 02 04 32 34 14 08 16 08
Filtros Consulta 08 14 06 01 02 06 08 10 08 02 02 00
Listagem Consultas 08 10 04 02 02 08 08 14 08 10 16 08
Total 70h 102h 45h 12h 15h 28h 164h 196h 71h 60h 90h 40h
1 P = Horas Planejadas / 2 E = Horas Executadas / 3 R = Horas Retrabalho / 4 Designer alocado para criação de sete modelos iniciais de HTML e para apoio a desenvolvimento no caso de redesign de telas

Interpretação dos Resultados e Testes das Hipóteses

A partir do total das horas coletadas, ilustrado na tabela 5, os resultados das métricas foram gerados conforme a tabela 6.

Tabela 5. Total de horas das funcionalidades

Projeto Competências
Requisitos Design Construção Testes
P1 E2 R3 P1 E2 R3 P1 E2 R3 P1 E2 R3
P 70h 75h 13h 34h 40h 08h 164h 180h 20h 56h 58h 06h
X 70h 102h 45h 12h 15h 28h 164h 196h 71h 60h 90h 40h
1 P = Horas Planejadas / 2 E = Horas Executadas / 3 R = Horas Retrabalho

Tabela 6. Resultados das métricas a partir das horas coletadas

Projeto Competências
Requisitos Design Construção Testes
M11a M12b M21a M22b M31a M32b M41a M42b
P 7,14% 17,33% 17,65% 20,00% 9,76% 11,11% 3,57% 10,34%
X 45,71% 44,12% 25,00% 186,67% 19,51% 36,22% 50,00% 44,44%
a Percentual das horas executadas com base nas horas planejadas.

b Percentual das horas de retrabalho com base nas horas executadas.

As métricas M11, M21, M31 e M41 se basearam nas horas executadas com as horas planejadas. Na fase de elicitação de requisitos, por exemplo, o projeto X obteve 32 horas a mais que às 70 horas planejadas, ou seja, 45,71% (M11), onde: (102h – 70h / 70) * 100, enquanto o projeto P obteve 7,14%. Constata-se também esta variação positiva nas demais fases dos projetos.

Nas métricas M12, M22, M31 e M42 referentes às horas de retrabalho, obtiveram-se horas a mais no projeto X em relação ao P em todas as fases. Por exemplo, na fase de design, o projeto X consumiu 28 horas a mais que às 15 horas executadas, sendo 186,67%, ou seja: (28h / 15h) * 100.

Por meio dos resultados dessas métricas, os testes foram gerados a partir da substituição das hipóteses nula e alternativa, conforme Tabelas 7 e 8.

Tabela 7. Hipótese Nula H0 (P ? X)

Métrica Atributo Valor (%) Teste Resultado
M11 EEP 7,14 (EEP ? EEX) ou (ERP ? ERX) FALSO
EEX 45,71
M12 ERP 17,33
ERX 44,12
M21 DEP 17,65 (DEP ? DEX) ou (DRP ? DRX) FALSO
DEX 25,00
M22 DRP 20,00
DRX 186,67
M31 CEP 9,76 (CEP ? CEX) ou (CRP ? CRX) FALSO
CEX 19,51
M32 CRP 11,11
CRX 36,22
M41 TEP 3,57 (TEP ? TEX) ou (TRP ? TRX) FALSO
TEX 50,00
M42 TRP 10,34
TRX 44,44
Resultado FALSO

Tabela 8. Hipótese Alternativa H1 (P &gt X)

Métrica Atributo Valor (%) Teste Resultado
M11 EEP 7,14 (EEP < EEX) ou (ERP < ERX) VERDADEIRO
EEX 45,71
M12 ERP 17,33
ERX 44,12
M21 DEP 17,65 (DEP < DEX) ou (DRP < DRX) VERDADEIRO
DEX 25,00
M22 DRP 20,00
DRX 186,67
M31 CEP 9,76 (CEP < CEX) ou (CRP < CRX) VERDADEIRO
CEX 19,51
M32 CRP 11,11
CRX 36,22
M41 TEP 3,57 (TEP < TEX) ou (TRP < TRX) VERDADEIRO
TEX 50,00
M42 TRP 10,34
TRX 44,44
Resultado VERDADEIRO

Dessa forma, a hipótese nula (H0) foi negada e, assim, a hipótese alternativa (H1) foi considerada verdadeira.

O analista de testes no projeto P foi o que menos teve retrabalho em relação aos demais papéis envolvidos na execução do projeto. O designer foi quem registrou mais retrabalho, realizou testes de interface e usabilidade retornando as funcionalidades para desenvolvimento e refinamento antes de publicar em ambiente de testes para verificação e validação final.

A falta do wireframe/esqueleto ou pelo menos de um protótipo acarretou ao projeto X retrabalhos tanto da equipe de desenvolvimento como da equipe de testes. Algumas funcionalidades não atendiam por completo e diversas melhorias foram propostas pelo cliente, assim como problemas de usabilidade foram detectados após a construção. Caso o protótipo fosse implantado e discutido entre a equipe antes de colocar em prática o desenvolvimento, assim como foi no Projeto P, certamente o nível de retrabalho de diversas fases do projeto seria menor. Diante desse cenário, algumas melhorias foram até relacionadas como mudança de escopo, porém, o grande peso estava no retrabalho das funcionalidades que não foram completamente discutidas e analisadas entre a equipe.

Os resultados obtidos neste artigo são válidos no contexto pesquisado. No entanto, vale ressaltar que a generalização desses resultados para outros projetos e/ou organizações deve ser melhor investigado. A análise dos dados foi realizada de maneira imparcial, no entanto, convém mencionar que um dos autores do trabalho atuou como designer nos projetos, o que pode ser considerado um confounding factor do estudo.

Conclusões

Foi evidenciado que o projeto com menor índice de retrabalho foi aquele que aplicou a técnica de prototipação nas fases de Requisitos, Design, Construção e Testes, encorajando a adoção da prototipação nos próximos projetos da organização. A justificativa para tal era evitar o não cumprimento às necessidades e expectativas dos usuários e, também, a desmotivação da equipe dos projetos em decorrência de constantes retrabalhos.

Referências

Basili, V. R. (1992) Software Modelling and Measurement: The Goal/Question/Metric Paradigm. Technical Report CS-TR-2956, Department of Computer Science, University of Maryland, MD 20742.

Carrizo, D., Dieste, O., Juristo, N. (2008) Study of Elicitation Techniques Adequacy. 11º Workshop on Requirements Engineering(WER 2008), p. 104-114.

Easterbrook, S., Singer, J., Storey, M., Damian, D. (2007) Guide to Advanced Empirical Software Engineering. Springer-Verlag, Nova Iorque, Capítulo 11 – Selecting Empirical Methods for Software Engineering Research.

Leal Ferreira, S. B. e Nunes, R. R. (2008) e-Usabilidade. Rio de Janeiro: LTC, p. 19-54.

Nuseibeh, B., Easterbrook, S. (2000) Requirements Engineering: a Roadmap. Em: Proceedings of the Conference on the Future of Software Engineering (Limerick, Irlanda, junho 04-11, 2000). ICSE 2000. ACM Press, Nova Iorque.

* Allan Bessa – Analista de Sistemas e trabalha em empresa de telefonia móvel.

* Gleison Santos – Consultor em engenharia de software, professor de mestrado da Unirio e doutor em engenharia de software pela COPPE/UFRJ. [Webinsider]

Avatar de Rafael Xavier Almeida

Rafael Xavier Almeida (rafaelxavier@gmail.com) - Designer, analista de projetos e trabalha em uma multinacional de TI. É mestrando em sistemas de informação pela Unirio. Twitter: @rafaelxavier.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

2 respostas

  1. Oi Fernando. Esse artigo foi um material científico no qual usamos um método para COMPROVAR, via quantidade de horas entre dois projetos, que o uso de wireframes reduz o retrabalho em várias competências como design, requisitos e testes.

    Parece meio complicado por causa dos cálculos, mas veja as tabelas de horas gastas e de retrabalho em cada etapa.

    O legal é que isso foi um divisor de águas e a equipe agora entendeu a importância dos wireframes e da participação dos stakeholders nas definições de caso de uso.

    A “refação” das tarefas de boa parte da equipe foi reduzida e a qualidade do trabalho melhorou, sem contar com a satisfação do cliente e os prazos mais adequados.

    Obrigado pelo comentário.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *