Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ENGENHARIA DE SOFTWARE II 
 
Ivone Ascar Sauáia Guimarães 
 
 
 
 
 
 
 
 
 
2 
 
 
 
 
 
 
 
 
 
 
 
 
Ivone Ascar Sauáia Guimarães 
 
Possui graduação em Tecnologia em Processamento de Dados pelo Centro Universitário 
do Maranhão (2000), especialização em Gestão em Tecnologia e Negócios em 
Telecomunicações pela Universidade Estácio de Sá (2001) e Mestrado em Educação pela 
Universidade Católica de Brasília (2011). Cursa, neste momento a graduação em Letras - 
licenciatura pelo Centro Universitário Claretiano como conclusão prevista para 2024. 
Durante o mestrado dedicou seus estudos na área de Educação à Distância como 
elemento de inclusão social, o que culminou em sua dissertação. Tem experiência docente 
superior a 15 anos, atuando nos mais diferentes cursos como Sistemas de Informação, 
Pedagogia, Radiologia, Turismo, Engenharia Ambiental, Engenharia Civil, Engenharia de 
Petróleo, Engenharia de Produção e Administração, dentre outros, nas disciplinas de 
Informática, Informática Educacional, Fundamentos de EAD, Metodologia Científica, 
Projeto de Sistemas de Informação (TCC), Administração de Sistemas de Informação e 
Interface Homem-Máquina, dentre outras. No momento presente leciona somente no 
ensino presencial. Atuou como professora universitária na Faculdade Devry São Luís de 
julho de 2015 à janeiro de 2017 e na Universidade Ceuma de Agosto de 2003 a Julho de 
2020, onde atuou como docente dos Cursos de Engenharia Civil, Engenharia de Produção 
e Sistemas de Informação, como pesquisadora do NusTI - Núcleo de Pesquisas em Sistemas 
e Tecnologia da Informação, como membro de Conselho de Curso e de Conselho 
Universitário. Recentemente, em 2022, foi instrutora junto ao Senai para o ensino médio em 
disciplina de lógica. Atualmente trabalha em seu próprio negócio de consultoria e como 
prestadora de serviços para empresas como DTCom e Faculdade Única, como 
conteudista para a EAD, e no IGTI - XP Educação, como orientadora de projeto junto ao 
MBA. 
 
 
 
 
 
 
 
 
 
3 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ENGENHARIA DE SOFTWARE II 
1ª edição 
Ipatinga – MG 
ANO 
 
 
 
 
 
 
 
 
 
4 
 
 
FACULDADE ÚNICA EDITORIAL 
 
Diretor Geral: Valdir Henrique Valério 
Diretor Executivo: William José Ferreira 
Ger. do Núcleo de Educação a Distância: Cristiane Lelis dos Santos 
Coord. Pedag. da Equipe Multidisciplinar: Gilvânia Barcelos Dias Teixeira 
Revisão Gramatical e Ortográfica: Izabel Cristina da Costa 
Revisão/Diagramação/Estruturação: Bruna Luiza Mendes Leite 
 Fernanda Cristine Barbosa 
 Guilherme Prado Salles 
 Lívia Batista Rodrigues 
Design: Bárbara Carla Amorim O. Silva 
 Élen Cristina Teixeira Oliveira 
 Maria Eliza Perboyre Campos 
 
 
 
 
 
 
© 2021, Faculdade Única. 
 
Este livro ou parte dele não podem ser reproduzidos por qualquer meio sem Autorização 
escrita do Editor. 
 
 
 
Ficha catalográfica elaborada pela bibliotecária Melina Lacerda Vaz CRB – 6/2920. 
 
 
 
 
 
NEaD – Núcleo de Educação a Distância FACULDADE ÚNICA 
Rua Salermo, 299 
Anexo 03 – Bairro Bethânia – CEP: 35164-779 – Ipatinga/MG 
Tel (31) 2109 -2300 – 0800 724 2300 
www.faculdadeunica.com.br
http://www.faculdadeunica.com.br/
 
 
 
 
 
 
 
 
 
5 
 
 
Menu de Ícones 
Com o intuito de facilitar o seu estudo e uma melhor compreensão do conteúdo 
aplicado ao longo do livro didático, você irá encontrar ícones ao lado dos textos. Eles 
são para chamar a sua atenção para determinado trecho do conteúdo, cada um 
com uma função específica, mostradas a seguir: 
 
 
 
São sugestões de links para vídeos, documentos 
científicos (artigos, monografias, dissertações e teses), 
sites ou links das Bibliotecas Virtuais (Minha Biblioteca 
e Biblioteca Pearson) relacionados com o conteúdo 
abordado. 
 
Trata-se dos conceitos, definições ou afirmações 
importantes nas quais você deve ter um maior grau 
de atenção! 
 
São exercícios de fixação do conteúdo abordado 
em cada unidade do livro. 
 
São para o esclarecimento do significado de 
determinados termos/palavras mostradas ao longo 
do livro. 
 
Este espaço é destinado para a reflexão sobre 
questões citadas em cada unidade, associando-o a 
suas ações, seja no ambiente profissional ou em seu 
cotidiano. 
 
 
 
 
 
 
 
 
 
6 
 
 
SUMÁRIO 
 
 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ................................. 9 
1.1 DEFINIÇÃO E IMPORTÂNCIA PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
 ................................................................................................................................. 9 
1.2 MODELOS DE PROCESSOS DE SOFTWARE ........................................................... 12 
1.3 Modelo em Cascata ........................................................................................... 14 
1.4 Modelo em Espiral ............................................................................................... 15 
1.5 Modelo em Prototipação .................................................................................... 16 
1.6 Modelo em Desenvolvimento Incremental ...................................................... 18 
1.7 Modelo em Entrega Incremental ....................................................................... 19 
1.8 Modelo Orientada ao Reuso .............................................................................. 20 
FIXANDO O CONTEÚDO ...................................................................................... 23 
 ATIVIDADES RELACIONADAS AO PROCESSO DE DESENVOLVIMENTO 
DE SOFTWARE .......................................................................................... 27 
2.1 ESPECIFICAÇÃO DE SOFTWARE ........................................................................... 27 
2.2 PROJETO E IMPLEMENTAÇÃO DE SOFTWARE ...................................................... 29 
2.3 VALIDAÇÃO DE SOFTWARE ................................................................................. 30 
2.4 EVOLUÇÃO DE SOFTWARE ................................................................................... 31 
FIXANDO O CONTEÚDO ...................................................................................... 35 
METODOLOGIAS ÁGEIS .......................................................................... 40 
3.1 HISTÓRIA, CONCEITO E IMPORTÂNCIA DAS METODOLOGIAS ÁGEIS .............. 40 
3.2 VISÃO GERAL DAS METODOLOGIAS ÁGEIS DE MAIOR REPRESENTATIVIDADE 
NA TI ...................................................................................................................... 42 
3.3 VANTAGENS DE APLICAÇÃO DAS METODOLOGIAS ÁGEIS (CLIENTE X 
DESENVOLVIMENTO) ............................................................................................ 46 
3.4 MANIFESTO ÁGIL .................................................................................................. 49 
3.5 Valores e Princípios defendidos no Manifesto Ágil .......................................... 51 
FIXANDO O CONTEÚDO ...................................................................................... 54 
METODOLOGIA XP .................................................................................. 59 
4.1 HISTÓRIA, CONCEITO E IMPORTÂNCIA DA METODOLOGIA XP ........................ 59 
4.2 FINALIDADE DA METODOLOGIA XP .................................................................... 62 
4.3 VANTAGENS E RESTRIÇÕES DE APLICAÇÃO DA METODOLOGIA XP ................ 63 
4.3.1 EQUIPES E PAPÉIS NA METODOLOGIA XP ........................................................... 63 
4.3.2 MODO DE AÇÃO E ETAPAS DA METODOLOGIA XP ........................................... 64 
4.3.3 Jogo do Planejamento (Release Planning) e História de Usuário .................. 65 
4.3.4 Programação em Par (Pair Programming)e Código Coletivo ....................... 66 
4.3.5 Stand up Meeting ................................................................................................ 67 
4.3.6 Padrão de Codificação e Metáforas ................................................................ 68 
4.3.7 Refatoração (Refactoring) .................................................................................. 69 
UNIDADE 
01 
UNIDADE 
02 
UNIDADE 
03 
UNIDADE 
04 
 
 
 
 
 
 
 
 
 
7 
 
 
4.3.8 Desenvolvimento guiado por Testes (Test-Driven Development - TDD) ......... 70 
FIXANDO O CONTEÚDO ...................................................................................... 72 
METODOLOGIA SCRUM .......................................................................... 76 
5.1 HISTÓRIA, CONCEITO E IMPORTÂNCIA DA METODOLOGIA SCRUM ................ 76 
5.2 FINALIDADE DA METODOLOGIA SCRUM ............................................................ 79 
5.3 VANTAGENS E RESTRIÇÕES DE APLICAÇÃO DA METODOLOGIA SCRUM ........ 79 
5.4 EQUIPES E PAPÉIS NA METODOLOGIA SCRUM ................................................... 80 
5.5 MODO DE AÇÃO E ETAPAS DA METODOLOGIA SCRUM ................................... 82 
FIXANDO O CONTEÚDO ...................................................................................... 86 
ESTIMATIVA DE SOFTWARE ...................................................................... 90 
6.1 CONCEITO E IMPORTÂNCIA DA ESTIMATIVA DE SOFTWARE ............................. 90 
6.2 MÉTRICAS DE SOFTWARE ...................................................................................... 91 
6.3 Análise por Ponto de Função ............................................................................. 92 
6.4 Planning Poker ................................................................................................... 102 
FIXANDO O CONTEÚDO .................................................................................... 108 
RESPOSTAS DO FIXANDO O CONTEÚDO .......................................................... 112 
REFERÊNCIAS ....................................................................................................... 113 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
UNIDADE 
05 
UNIDADE 
06 
 
 
 
 
 
 
 
 
 
8 
 
 
CONFIRA NO LIVRO 
 
A Unidade I trata do que venha a ser o Processo de 
Desenvolvimento de Software, sua importância e finaliza 
apresentando os principais Modelos de Processos de Software 
conhecidos. 
A Unidade II trata especificamente do Processo de 
Desenvolvimento de Software, especificando em linhas gerais o seu 
ciclo e cada uma das etapas envolvidas. 
 
 
A Unidade III apresenta o conceito de Modelos Ágeis, histórico, 
visão geral, vantagens e finaliza apresentando o Manifesto Ágil, 
sendo ele o documento direcionador para as Metodologias Ágeis 
de desenvolvimento. 
A Unidade IV apresenta a Metodologia Ágil XP e demais elementos 
que permitem maior conhecimento acerca da ferramenta. 
 
 
 
 
 
 
A Unidade V apresenta a Metodologia Ágil Scrum e demais 
elementos que permitem maior conhecimento acerca da 
ferramenta. 
 
A Unidade VI trata de Estimativa de Software e para tal apresenta 
as métricas de Ponto de Função e Planning Poker. 
 
 
 
 
 
 
 
 
 
 
 
 
9 
 
 
 PROCESSO DE DESENVOLVIMENTO 
DE SOFTWARE 
 
 
 
 
 
 
 
 
1.1 DEFINIÇÃO E IMPORTÂNCIA PROCESSO DE DESENVOLVIMENTO DE 
SOFTWARE 
Um software não se constitui unicamente pelas linhas de código executáveis. 
Incorpora toda a documentação necessária para a sua instalação, uso e 
manutenção, incluindo a configuração imprescindível ao seu correto 
funcionamento. 
Diante deste entendimento, o Processo de Desenvolvimento de Software ou 
simplesmente Processo de Software, se refere a toda uma gama de ações 
executadas no âmbito do desenvolvimento de um produto de software, 
incorporando desde o levantamento de requisitos, escolha da linguagem, e 
alcançando inclusive, a análise de performance (SOMMERVILLE, 2011, HIRAMA, 2012; 
PETERS, 2001). 
 
 
 
Assim, no Processo de Software são estabelecidos os métodos (norteia o que 
fazer), as ferramentas (define o material a ser utilizado), e os procedimentos 
(indicando o como fazer) de modo a garantir que o produto alcance o resultado 
planejado (PRESSMAN, 2011). 
É justamente pelo desenvolvimento de um bom Processo de Software que se 
pretende alcançar a qualidade do produto desenvolvido e/ou evoluído, o que por 
sua vez requer organização e definição de ações atuantes para o alcance de 
Produto de Software: denominação dada ao software que foi desenvolvimento para o 
atendimento de demandas específicas definidas pelo cliente e pelo usuário 
(HIRAMA, 2012; PRESSMAN, 2011; PETERS, 2001). 
UNIDADE 
01 
 
 
 
 
 
 
 
 
 
 
10 
 
 
agilidade e transformação tecnológica, considerando o contexto de prazo e 
assertividade em produto (WAZLAWICK, 2013). 
Tratando destes aspectos, Wazlawick (2013) segue destacando que o prazo 
incorpora o tempo de execução do projeto, incluindo os limites e datas estabelecidos 
previamente, e a assertividade em produto se faz relacionada ao fato de o software, 
uma vez entregue ao cliente, se fazer preparado para atender as demandas que lhe 
foram solicitadas sem a incorrência de falhas ou a necessidade frequente de 
paralisação para manutenções e correções que não foram previamente definidas. 
Tal preocupação, deu-se a partir anos de 1960, quando, por falta de 
padronização no desenvolvimento, a demanda crescente de desenvolvimento, os 
custos e prazos mal definidos, o serviço descompromissado das equipes de 
tecnologia e a ausência de confiança dos clientes, fez surgir uma fase denominada 
pela expressão Crise do Software, evidenciando a necessidade de que adequações 
fossem definidas para que o processo se tornasse mais profissional (SOMMERVILLE, 
2011). 
Era destaque à época a questão referente aos defeitos de software em face 
de seu mal dimensionamento, o custo elevado e a estimativa de prazos que não 
conseguia se fazer cumprida. A isto, somava-se a complexidade do código e a total 
ausência de documentação, o que dificultava a manutenção, atrapalhando o 
processo de evolução do software e o consequente acompanhamento ao progresso 
dos equipamentos existentes (PRESSMAN, 2011). 
Além deste fato, a comunicação entre o cliente e a TI era precária ou 
inexistente, acarretando uma série de falhas no desenvolvimento pelo fato de a 
equipe de tecnologia ter dificuldade em compreender as reais necessidades a serem 
atendidas pelos softwares, levando a correções praticamente infinitas (WAZLAWICK, 
2013). 
Outro aspecto impactante era a ausência de meios avaliativos de eficácia 
que permitissem proceder com a definição de estimativas de maior precisão em 
relação ao software desenvolvido e entregue, o que efetivamente impactava na 
possibilidade de se prospectar a necessidade de treinamentos e de manutenções 
preventivas aos sistemas (SOMMERVILLE, 2011). 
Assim, a Crise do Software impulsionou o Processo de Software, e este, por sua 
vez, passou a englobar atividades fundamentais voltadas ao desenvolvimento e/ou 
evolução em um processo de software, as quais seguem apresentadas no Quadro 1. 
 
 
 
 
 
 
 
 
 
11 
 
 
 
Quadro 1: Atividades fundamentais para o desenvolvimento e/ou evolução do processo de 
software 
Especificação de 
Software 
Atividade em que se define as funcionalidades que devem ser 
atendidas pelo software e possíveis restrições que podem ser 
interpostas ao projeto 
Projeto e Implementação 
de Software 
Atividade longa que parte das especificações definidas 
anteriormente e se volta ao desenvolvimento do software 
Validação de Software 
Atividade de validação da ferramenta desenvolvida, no intuito 
de se atestar se a solução realiza o que fora solicitado pelo 
cliente 
Evolução deSoftware 
Atividade de ajuste com mudanças voltadas a garantir total 
atendimento às necessidades do cliente 
Fonte: adaptado de Sommerville (2011) 
 
Tais ações demonstram o nível de profissionalismo alcançado a partir do 
Processo de Software em oposição à ausência de definição de processos como 
acontecia anteriormente à Crise do Software. 
O Processo de Software passou a permitir efetivas melhorias em relação ao 
treinamento de usuários, padronização de desenvolvimento e possibilidade da 
experiência do usuário ser mais bem compreendida e aperfeiçoada por meio do 
sistema (WAZLAWICK, 2013). 
Neste âmbito, cabe reconhecer que quando um Processo de Software é 
especificado também são definidas descrições como as referenciadas no Quadro 2. 
 
Quadro 2: Outras especificações importantes no Processo de Software 
Produtos resultado que se deseja alcançar com o processo que se encontra em 
execução 
Papéis pessoas responsáveis e envolvidas no processo 
Condições declarações prévias ou posteriores ao processo e que merecem atenção 
Fonte: adaptado de Sommerville (2011) 
 
Cabe destacar em relação ao Quadro 2, que quando definidos os papeis 
referentes às pessoas responsáveis e envolvidas no processo tem-se um termo técnico 
comumente utilizado que é o de Stakeholders, ou seja, todos aqueles que são 
responsáveis, possuem interesses e/ou ainda são afetados pela criação de softwares 
e pela incorporação deles nas atividades de negócio (OLIVEIRA, 2018). 
No intuito de que o Processo de Software, embasado nas ações e 
especificações já apontadas, alcançasse a possibilidade de acompanhar o 
desenvolvimento e a evolução de um software, concebeu-se o entendimento 
acerca do Ciclo de Vida de Software (WAZLAWICK, 2013). 
 
 
 
 
 
 
 
 
 
12 
 
 
O Ciclo de Vida de Software, de acordo com Wazlawick (2013) incorpora em 
si as ações pertinentes a todo o período de existência de um software, incluindo a 
atualização do sistema em face das atividades do usuário sofrerem ajustes, o que, 
por conseguinte, leva a alterações evolutivas na ferramenta. 
 
 
1.2 MODELOS DE PROCESSOS DE SOFTWARE 
Um Processo de Software configura-se em um conjunto de atividades 
complexas e especializadas, de modo que o Modelo de um Processo de Software 
representa e fornece, de modo simples, informações e visibilidade acerca do 
processo em si traduzidas na forma de estruturas/esquematizações fornecedores de 
uma visão didática de como proceder com as etapas que devem se fazer efetivadas 
(SOMMERVILLE, 2011; PRESSMAN, 2011). 
Um Modelo de Processo de Software possui em seu bojo estruturas que 
demonstram as etapas atinentes ao desenvolvimento do software em si, por meio da 
organização do Ciclo de Vida de Software, no qual tem-se estruturadas as atividades 
a serem executadas, incorporando em si os conceitos listados no Quadro 3. 
 
Quadro 3: Ciclo de Vida de Software 
Requisitos Etapa voltada ao levantamento de informações atinentes ao problema 
que a ferramenta de software se destinará a resolver. Tais informações, 
ou seja, os requisitos configuram-se como condições, necessidades, 
características, funcionalidades, restrições e demais aspectos que 
carecem ser atendidos, necessitando ser devidamente documentados. 
Análise Etapa que parte do levantamento de requisitos e permite que a equipe 
de processo conheça a atividade do usuário, discuta os requisitos 
levantados e identifique melhorias que carecem de implementação. 
Abstração e 
Representação 
Etapa de elaboração de modelos mentais e conceituais voltados a 
solucionar as necessidades do cliente por meio do software. 
Os Processos de Software podem ser categorizados, conforme Sommerville (2011), como: 
a) Processo de Software dirigido a Plano: neste, o planejamento de software se faz 
definido antecipadamente, de modo que o progresso do projeto se avalia a partir da 
etapa atualizada de execução; 
b) Processo de Software Ágil: neste, o planejamento de software se faz definido 
gradualmente, e o progresso ocorre a partir do momento que as necessidades de ajuste 
em funcionalidades são sanadas. 
 
 
 
 
 
 
 
 
 
13 
 
 
Projeto Etapa de desenho do produto de software, partindo dos requisitos, ou 
seja, do que o sistema deverá executar. 
Implementação Etapa de transformação do projeto através da linguagem de 
programação escolhida, não devendo se fazer completamente 
dissociada da interação com o cliente. 
Integração Etapa em que os módulos desenvolvidos durante a implementação se 
fazem integrados para que possam trocar dados entre si. 
Testes Etapa de verificação quanto ao alcance de objetivos por parte do 
software e da possibilidade de falhas de execução ou funcionalidades 
mal dimensionadas. 
Implantação Fase em que estando o sistema finalizado, ele é disseminado pela 
organização e o desenvolvedor se mantém em atenção para a 
necessidade de ajustes em face de questões de usuário ou modelo de 
negócios. 
Manutenção Fase em que após a entrega, faz-se importante a correção de falhas, a 
melhoria de desempenho e adaptações de acordo com a necessidade 
do cliente. 
Fonte: adaptado de Pressman (2011) e Wazlawick (2013) 
 
Cabe, por último considerar a importância da documentação completa do 
Processo de Software, no qual efetivamente, através de diagramas de casos de uso 
especifica-se todo o ciclo, incluindo desde os requisitos até o planejamento de 
manutenção, garantindo que outras equipes de tecnologia possam tranquilamente 
se posicionar em prol da evolução do sistema. 
 
 
 
Em relação à fase de Implantação apresentada a partir do Quadro 3, deve-
se considerar as seguintes possibilidades descritas no Quadro 4 quando um software 
se fizer aplicado em substituição a outro que já esteja em funcionamento. 
Quadro 4: Processos de substituição de software 
Direta Assim que o sistema novo entrar em pleno funcionamento o antigo é retirado 
de operação completamente 
Paralela Os sistemas, novo e antigo, permanecem funcionando paralelamente com 
acesso e atualização à mesma base durante certo espaço de tempo 
Piloto O sistema novo refaz os processos efetivados pelo antigo com vistas a identificar 
os parâmetros de seu funcionamento e efetividade 
Parcial Parte dos sistemas se complementam e aos poucos o novo sistema vai tomando 
todo o espaço do antigo 
Fonte: adaptado de Wazlawick (2013) 
 
Diagramas de Casos de Uso são representações gráficas que demonstram visualmente as 
relações entre o sistema e o usuário e vice-versa, favorecendo a compreensão para o 
desenvolvedor das possibilidades de interação e das funcionalidades que necessitam se 
fazer implementadas (PRESSMAN, 2011). 
 
 
 
 
 
 
 
 
 
 
14 
 
 
Os conceitos apresentados apenas clarificam em relação às suas funções, e 
que não existe um único modelo para o desenvolvimento de um projeto, cabendo a 
escolha por parte da equipe de desenvolvimento embasada na filosofia de trabalho 
que emprega (PRESSMAN, 2011). 
No entanto, a possibilidade de associação entre modelos é uma realidade, de 
modo a garantir que se combine os melhores aspectos entre eles (SOMMERVILLE, 
2011). 
Deste modo, favorecendo a um melhor entendimento do que venha a ser 
estes ciclos de desenvolvimento, nos próximos tópicos desta unidade serão 
apresentados os mais conhecidos modelos de desenvolvimento em ciclo de vida. 
 
1.3 MODELO EM CASCATA 
O Modelo em Cascata é clássico, desenvolvendo-se de forma sistemática, 
encadeada e previamente planejada em sua totalidade, de modo que uma etapa 
depende diretamente da outra e a próxima somente se inicia a partir do momento 
que a anterior se encontra finalizada (SOMMERVILLE, 2011; PRESSMAN, 2011). 
A Figura 1 dispõe representação clássica do Modelo em Cascata permitindo 
melhor entendimento de suas fases. 
 
Figura 1: Representação dos estágios do Modelo em Cascata 
 
Fonte: adaptado de Sommerville (2011) e Pressman (2011)15 
 
 
Justamente pelo fato de este modelo seguir um planejamento prévio, também 
chegou a receber a denominação de Processo dirigido a Planos, no entanto, vale a 
crítica de que, mesmo em sua orientação a planos, por vezes o modelo efetiva 
levantamento de requisitos de modo superficial, não define processos padronizados 
a serem seguidos pela equipe como um todo e conta com certa dificuldade em 
rever as falhas antes da finalização de uma etapa, e até do projeto como um todo 
(SOMMERVILLE, 2011; PRESSMAN; MAXIM, 2016). 
Assim, pela não ocorrência de critérios de avaliação e controle que 
favoreçam o feedback das ações efetivadas durante a execução do projeto, tem-
se que, por vezes, o projeto consegue ser paralisado em uma dada etapa em vista 
de conseguir cumprir os critérios estabelecidos, levando à não obediências de prazos 
ajustados com o cliente e, por conseguinte, o aumento do custo final do produto 
(PRESSMAN, 2011). 
Para este modelo a documentação se faz desenvolvida a cada fase, 
permitindo que as ações sejam visíveis para a gestão, no entanto a possibilidade de 
replanejamento e mudanças durante a execução não é parte do seu escopo, 
demonstrando riscos e incapacidades de gestão latentes (PRESSMAN, 2011; 
PRESSMAN; MAXIM, 2016). 
No entanto, cabe ressaltar que, em caso de definições bem efetivadas de 
requisitos e ausência de necessidade de mudanças/ajustes ao longo do 
desenvolvimento do sistema, o modelo se aplica perfeitamente, principalmente em 
face de sua simplicidade de compreensão e uso (WAZLAWICK, 2013). 
 
1.4 MODELO EM ESPIRAL 
Neste modelo, o processo se faz representado por uma espiral, devendo se 
fazer percorrido no sentido horário, de dentro para fora, no intuito de demonstrar que 
a evolução é a tônica do conjunto de ações efetivadas (SOMMERVILLE, 2011; 
PRESSMAN, 2011). 
Os riscos referentes ao não cumprimento de prazos, à mudança de tecnologia 
e ao custo com dimensionamento mal efetivado tornam-se gerenciáveis, permitindo 
que ajustes sejam passíveis de efetivação antes da finalização do produto 
(PRESSMAN, 2011; PRESSMAN; MAXIM, 2016). 
A Figura 2 dispõe representação do Modelo em Espiral permitindo melhor 
 
 
 
 
 
 
 
 
 
16 
 
 
entendimento de suas fases. 
 
Figura 2: Representação dos estágios do Modelo em Espiral 
1º estágio 
Determinação de 
Objetivos, 
Alternativas e 
Restrições para a 
elaboração de 
plano de 
gerenciamento, de 
riscos e de 
estratégias 
 
 
2º estágio 
Avaliação de 
alternativas, 
Identificação e 
resolução de 
riscos visando a 
minimização de 
riscos através da 
análise efetivada 
3º estágio 
Desenvolvimento, 
verificação e 
validação do 
produto no nível 
seguinte, partindo 
de um protótipo 
descartável 
4º estágio 
Planejamento da 
próxima fase no 
intuito de 
favorecer o 
desenvolvimento 
contínuo da fase 
seguinte 
Fonte: adaptado de Sommerville (2011) e Pressman (2011) 
 
Conforme se observa na figura, à medida que se efetiva o desenvolvimento 
do projeto, cada fase adiciona novos requisitos, passando pelos estágios mais de 
uma vez até que o produto esteja finalizado, garantindo que os riscos sejam o fator 
de maior atenção no modelo, assim como a qualidade. 
 
1.5 MODELO EM PROTOTIPAÇÃO 
O protótipo, sendo uma representação visual em baixa fidelidade do produto, 
permite ao usuário/cliente conhecer a proposição das funcionalidades efetivadas 
pela equipe de desenvolvimento através da experimentação, respaldando inclusive 
a troca de informações com vistas à efetivação de melhorias para a versão final 
(SOMMERVILLE, 2011; PRESSMAN, 2011; PRESSMAN; MAXIM, 2016) 
 
 
A Baixa Fidelidade se aplica a modelos simplificados que podem ser desenvolvidos com 
materiais de fácil uso como o papel (prototipação em papel), no qual se efetiva desenhos 
de tela, por exemplo. Contudo, atualmente pode se fazer uso de softwares de 
prototipação que permitem uma relação de experimentação mais efetiva do usuário com 
a proposta que se está apresentando (PRESSMAN; MAXIM, 2016). 
 
 
 
 
 
 
 
 
 
17 
 
 
Contudo, o Modelo em Prototipação é indicado nos casos em que o cliente 
não consegue identificar claramente suas necessidades em matéria de software, 
mas participa ativamente das etapas do projeto, e assim, por meio da interação com 
o produto proposto consegue estabelecer as funcionalidades de que necessita com 
maior precisão (SOMMERVILLE, 2011). 
Seu custo que tende a ser relativamente baixo, demonstra atratividade pela 
incorporação de protótipos aos processos de desenvolvimento, uma vez que o 
levantamento de requisitos se torna mais eficiente, o feedback do cliente/usuário 
permite ajustes antes da finalização do produto e a usabilidade pode ser facilmente 
testada e ajustada (PRESSMAN, 2011). 
Assim, o modelo se aplica plenamente para o levantamento e validação de 
requisitos, como também para a avaliação de projetos e erros de interface, 
permitindo que a experiência do usuário seja o diferencial desse processo 
(WAZLAWICK, 2013). 
A Figura 3 dispõe representação de Modelo em Prototipação permitindo 
melhor entendimento de suas fases. 
 
Figura 3: Representação dos estágios do Modelo em Prototipação 
 
Fonte: adaptado de Sommerville (2011) e Pressman (2011) 
 
Com sua etapa inicial na etapa de Obtenção de Requisitos para o Plano de 
Prototipação, observa-se que em seu processo cíclico melhorias podem ser 
Obtenção de 
Requisitos para o 
Plano de 
Prototipação
Definição Geral e 
Rápida do 
Protótipo
Desenvolvimento 
do Protótipo 
executável
Avaliação do 
Protótipo pelo 
Cliente
Refinamento do 
Protótipo
Construção do 
Produto final
 
 
 
 
 
 
 
 
 
18 
 
 
incorporadas até que o protótipo alcance a possibilidade de atender às 
necessidades do cliente, permitindo que o produto alcance condições de 
efetivamente implementado em código. 
Assim, compreende-se a partir de sua atuação como um objeto de 
experimentação, que o protótipo permite a adição e teste de funcionalidades, para 
que, diante de sua viabilidade, possam efetivamente fazer parte do produto em si 
(SOMMERVILLE, 2011). 
 
1.6 MODELO EM DESENVOLVIMENTO INCREMENTAL 
No Modelo em Desenvolvimento Incremental a criação do sistema ocorre em 
versões. A cada versão ajustes são adicionados após terem passado por processo de 
avaliação efetivado por parte dos clientes/usuários (SOMMERVILLE, 2011; PRESSMAN; 
MAXIM, 2016). 
Assim, o desenvolvimento ocorre em ciclos de especificação, 
desenvolvimento e validação efetivados a cada versão, permitindo sempre que 
novas funcionalidades sejam parte da versão em atualização (PRESSMAN, 2011). 
A Figura 4 dispõe representação do Modelo em Desenvolvimento Incremental 
permitindo melhor entendimento de suas fases. 
 
Figura 4: Representação dos estágios do Modelo em Desenvolvimento Incremental 
 
Fonte: adaptado de Sommerville (2011) e Pressman (2011) 
 
Na figura, observa-se por meio do diagrama iniciado na Descrição do esboço, 
que para a passagem de uma etapa a outra ocorrem interações, e somente após o 
seu pleno atendimento são efetivados os incrementos para as etapas seguintes. 
 
 
 
 
 
 
 
 
 
19 
 
 
Complementando, a disposição composta por peças de um quebra-cabeças 
demonstra que a cada etapa uma parte do produto vai sendo adicionada até que 
ocorra a sua conclusão. 
Cabe destacar, que este modo de ação foi concebido em correção ao 
Modelo Tradicional em Cascata, no qual os ajustes somente se fariam efetivados ao 
final de todo o processo de desenvolvimento e apenas sobre os pontos de maior 
criticidade (WAZLAWICK, 2013). 
Sua indicação de uso se faz nos casos em que se necessita privilegiar a 
liberação de alguma funcionalidade do sistema ou quando os profissionais 
envolvidos carecem de melhor distribuição nas atividades a serem desenvolvidas, 
permitindo que a gestão do tempo de execução seja mais efetiva (PRESSMAN, 2011;PRESSMAN; MAXIM, 2016). 
 
1.7 MODELO EM ENTREGA INCREMENTAL 
No Modelo em Entrega Incremental o cliente aponta quais as funcionalidades 
do sistema são de maior importância. Assim, posicionando-os como de maior 
prioridade em desenvolvimento, estes são logo incrementados favorecendo a 
efetivação de entrega e aptidão para operacionalização (SOMMERVILLE, 2011) 
Como vantagem ao uso deste modelo tem-se, entre outras, a possibilidade de 
que as primeiras versões, antes do incremento final, sirvam de protótipo, favorecendo 
a experimentação do usuário/cliente e a troca de informações com a equipe de 
desenvolvimento (PRESSMAN, 2011; PRESSMAN; MAXIM, 2016). 
A Figura 5 dispõe representação dos estágios do Modelo em Entrega 
Incremental permitindo seu melhor entendimento. 
 
Figura 5: Representação dos estágios do Modelo em Entrega Incremental 
 
Fonte: Sommerville (2011, p. 31) 
 
 
 
 
 
 
 
 
 
20 
 
 
A figura demonstra que garantir a finalização do sistema e a efetivação de 
seus incrementos são preocupações do modelo, garantindo que a possibilidade de 
especificação não se efetive apenas no início do projeto. 
No entanto, vale destacar que o Modelo de Entrega Incremental não é 
indicado quando o sistema for de maior porte, o que requere a divisão de tarefas em 
equipes, e nem quando o sistema for desenvolvido para processos de maior 
criticidade e periculosidade (WAZLAWICK, 2013). 
 
1.8 MODELO ORIENTADA AO REUSO 
O Modelo Orientado ao Reuso se aplica nos casos em que o desenvolvimento 
de sistema estiver focado na integração de módulos já existentes, restando identificar 
se os componentes passíveis de integração são aptos ou não ao reuso 
(SOMMERVILLE, 2011; PRESSMAN; MAXIM, 2016). 
Basicamente, são orientados ao reuso os Serviços Web, as Coleções de 
Objetos em Frameworks de Componentes e Sistemas Stand-Alone, ou seja, que 
funcionam individualmente e isoladamente, sem interação com outros (WAZLAWICK, 
2013). 
A Figura 6 dispõe representação dos estágios do Modelo Orientado ao Reuso 
permitindo seu melhor entendimento. 
 
Figura 6: Representação dos estágios do Modelo Orientado ao Reuso 
Especificação 
de Requisitos 
Levanta-se as 
especificações 
do sistema 
Análise de 
componentes 
Busca-se 
componentes 
já existentes e 
aptos ao 
reuso 
Alteração nos 
requisitos 
Os requisitos 
são 
analisados 
com base 
nos 
componentes 
encontrados 
para serem 
modificados 
conforme a 
necessidade 
Projeto do 
sistema com 
reuso 
Procede-se 
com a 
constituição 
do 
framework 
do sistema, 
considerando 
os elementos 
de reuso 
Desenvolvimento 
e integração 
Desenvolve-se os 
componentes 
que não 
puderam ser 
reutilizados para 
proceder com a 
integração 
completa do 
sistema 
Validação de 
Sistema 
O sistema é 
validado por 
meio de sua 
disseminação 
na 
organização 
 
Fonte: adaptado de Sommerville (2011, p. 23) 
 
 
 
 
 
 
 
 
 
 
21 
 
 
Assim, diminuindo a quantitativo de software a ser desenvolvido, este modelo 
se aplica na redução de custos e do tempo de execução do projeto, contudo, a 
possibilidade de que os requisitos não se mantenham sintonizados com as 
necessidades dos usuários e com os módulos entregues no sistema é elevada, 
levando por vezes à necessidade de retrabalho e até novos desenvolvimentos de 
software desde o processo inicial (PRESSMAN, 2011, HIRAMA, 2012; PRESSMAN; MAXIM, 
2016; PETERS, 2001). 
Assim, em se tratando da manutenção de software, ou seja, da necessidade 
de ajustes após a entrega do produto em si, cabe destacar os tipos de manutenção 
existentes, os quais seguem especificadas no Quadro 5. 
 
Quadro 5: Tipos de manutenção 
Corretiva Efetivada após a entrega do produto no intuito de corrigir um erro descoberto 
em garantia de pleno funcionamento do sistema 
Adaptativa Efetivada após a entrega do produto visando estabelecer ajustes/alterações 
que garantam o uso do sistema 
Perfectiva Efetivada após a entrega do produto no intuito de melhorar o desempenho 
e/ou a manutenibilidade 
Preventiva Efetivada após a entrega do produto para o reparo de falhas antes que o 
sistema se faça afetado 
Fonte: adaptado de Wazlawick (2013) 
 
Sendo a manutenção um requisito necessário e relacionado diretamente com 
a qualidade de software (manutenibilidade), cabe que o Processo de Software 
incorpore em seu ciclo de execução esta fase, garantindo que o sistema não se torne 
obsoleto pelo simples fato de sua desatualização. 
 
 
Manutenibilidade: característica referente à facilidade de manutenção, melhoria e/ou 
adaptação de um sistema (WAZLAWICK, 2013); 
Serviços Web: metodologias que incorporam tecnologias web e que podem se fazer 
conectados em sistemas informacionais (adaptado de https://www.opensoft.pt/web-
service/); 
Coleções de Objetos em Frameworks de Componentes: grupos de aplicações que são 
aptas à conexão para interação em um sistema maior (WAZLAWICK, 2013); 
Sistemas Stand-Alone: Sistemas que funcionam sem a necessidade de interação com 
outros que atuem como auxiliares, por exemplo um editor de texto instalado no 
computador ou um software de edição de vídeos (SOMMERVILLE, 2011; PRESSMAN, 2011). 
 
 
 
 
https://www.opensoft.pt/web-service/
https://www.opensoft.pt/web-service/
 
 
 
 
 
 
 
 
 
22 
 
 
 
 
 
 
 
Se você e sua equipe de TI fossem contactados no intuito de efetivar o desenvolvimento 
de um sistema para uma empresa, considerando a importância de se manter foco no 
cliente, indisponibilidade de reajuste em prazos e orçamento limitado, qual dos modelos 
aqui estudados acha que poderia melhor se enquadrar? Reflita nos prós e contras, liste 
tudo e verifique se sua opinião pode mudar. 
 
No site DevMedia tem um artigo sob o título “Ciclos de Vida de Software” que fala destes 
modelos e de outros. Disponível em: https://bit.ly/2mpESbR. Acesso em: 02 de mar. 2023 
Assim, indico esta leitura como complemento para o seu conhecimento. 
 
https://bit.ly/2mpESbR
 
 
 
 
 
 
 
 
 
23 
 
 
 
FIXANDO O CONTEÚDO 
 
1. (TJ-PI-IDECAN – 2022) Em projetos de desenvolvimento de software uma das 
primeiras importantes decisões que se deve tomar é como gerenciar processos, 
atividades e tarefas que serão executados durante o ciclo de vida do projeto. O 
entendimento do funcionamento da interação entre a equipe de 
desenvolvimento e o cliente é fundamental para o sucesso do projeto. Para definir 
como devemos gerenciar todas essas questões, existem diversos modelos de clico 
de vida de software. Cada modelo possui especificidades e pode apresentar 
vantagens e desvantagens, a depender de características inerentes ao projeto. A 
respeito dos diferentes modelos de ciclo de vida de um software, analise as 
afirmativas abaixo e marque alternativa correta. 
I. O Modelo cascata tem como principal característica o fato das etapas serem 
executadas de forma sequencial. Isso demanda, obviamente, um grande 
planejamento como por exemplo, a definição completa de requisitos antes da 
implementação. 
II. O Modelo Incremental é uma evolução do modelo Cascata. Aqui o projeto é 
quebrado em módulos. As etapas também são executadas sequencialmente mas 
focadas apenas no módulo em desenvolvimento no momento. Dessa forma o 
processo de planejamento se torna menos desafiador pois o cliente recebe os 
diversos módulos gradualmente. 
III. No Modelo Espiral as fases do processo de desenvolvimento representam um volta 
completa na espiral. Trata-se de um modelo de grande aceitação por parte do 
cliente dada a sua simplicidade. Recomenda-se fortemente que seja aplicado 
somente em projetos de pequeno porte, uma vez que o modelo não contempla 
atividades relacionadas ao gerenciamento de riscos. 
a) Apenas as afirmativas Il e Ill estão corretas 
b) Apenas a afirmativa Ill está correta 
c) Apenas as afirmativas I e Il estão corretas 
d) Apenas a afirmativa I está corretae) Todas as afirmativas estão corretas 
 
 
 
 
 
 
 
 
 
 
24 
 
 
2. (FEPESE - CELESC - 2022) Ciclo de vida do software é o termo utilizado para definir 
o conjunto de etapas que ocorre entre a concepção de um sistema e o instante 
em que ele é descontinuado pelo desenvolvedor. Ele ajuda a orientar a equipe 
de desenvolvedores, assim como o direcionamento de recursos. Assinale a 
alternativa que contém o nome de três ciclos de vida: 
a) Incremental • Cascata • Espiral 
b) Cascata • Funcional • Avaliativo 
c) Espiral • Funcional • Exploratório 
d) Decremental • Cascata • Funcional 
e) Cascata • Incremental • Decremental 
 
3. (VUNESP - ALE SP – 2022 - adaptado) No processo de prototipação de software, um 
protótipo em papel permite apresentar: 
a) um esboço simples e rápido do software, geralmente um rascunho, para 
compreender o que é esperado do sistema. 
b) exemplos finais de como o software deve ficar quando pronto, mas sem as funções 
que ainda serão implementadas. 
c) a ideia a ser desenvolvida na forma de software, antes mesmo de esboçar 
qualquer tela a ser desenvolvida. 
d) exemplos finais de todos os leiautes e da diagramação dos elementos que serão 
parte da tela do software. 
e) o software pronto, incluindo leiautes, diagramação e todas as funcionalidades que 
são esperadas. 
 
4. (IBFC - DETRAN AM - 2022 - adaptado) Segundo Pressman (2011) este ciclo de vida 
é considerado como clássico por ter uma abordagem sequencial e sistemática 
para o desenvolvimento de software. Esse ciclo de vida é especificamente 
denominado como: 
a) modo prototipado 
b) modelo cascata 
c) processo unificado 
d) modelagem espiral 
e) modelo avaliativo 
 
https://questoes.grancursosonline.com.br/concursos/2022
https://questoes.grancursosonline.com.br/prova/detran-am-am-2022-ibfc-analista-de-sistemas-da-informacao
 
 
 
 
 
 
 
 
 
25 
 
 
5. (FAURGS - SES RS - 2022 - adaptado)Há vários modelos de processo de software, 
sendo que cada um define um fluxo de processo que invoca cada atividade do 
desenvolvimento de forma diversa. 
O modelo ___________, algumas vezes chamado ciclo de vida clássico, é um 
exemplo de processo dirigido a planos, pois deve-se planejar todas as atividades 
(estágios) do processo antes de começar a trabalhar nelas. Em princípio, o estágio 
seguinte não deve ser iniciado até que o estágio anterior seja concluído, mas, na 
prática, este processo não é um modelo linear simples, envolvendo o feedback de 
um estágio a outro. Assim, os documentos e artefatos produzidos em cada estágio 
podem ser modificados para refletirem as alterações em cada um deles. 
Seu maior problema é a divisão inflexível do projeto em estágios distintos e por isso 
deve ser usado apenas quando os requisitos são bem compreendidos e é pouco 
provável que venham a ser radicalmente alterados durante o desenvolvimento. 
Um segundo exemplo de modelo de processo de software é o modelo de 
___________________, que se baseia na construção de protótipos, uma versão 
simplificada de um sistema de software. 
Embora possa ser utilizado como um modelo de processo isolado, é comumente 
utilizado como uma técnica que auxilia os interessados a compreender melhor o 
que está para ser construído, quando os requisitos estão obscuros. 
Assinale a alternativa que completa, correta e respectivamente, as lacunas do 
texto acima. 
a) Cascata – Prototipação 
b) Espiral – Prototipação 
c) Espiral – Cascata 
d) Espiral – Desenvolvimento Baseado em Componentes 
e) Cascata – Desenvolvimento Baseado em Componentes 
 
6. Analise as afirmativas sobre o modelo de processo de software conhecido como 
“modelo em cascata". 
I. Em geral, o resultado de cada fase do processo resulta em um ou mais 
documentos aprovados. 
II. É adequado a situações com pequena probabilidade de mudanças radicais 
durante o desenvolvimento do sistema. 
III. Prevê a execução simultânea das fases de desenvolvimento. 
https://questoes.grancursosonline.com.br/prova/ses-rs-rs-2022-faurgs-analista-area-desenvolvimento-de-sistemas
 
 
 
 
 
 
 
 
 
26 
 
 
Estão CORRETAS as afirmativas: (FUNDEP – MG – 2014 - adaptado) 
a) I e II apenas. 
b) I e III apenas 
c) II e III apenas. 
d) I, II e III. 
e) Nenhuma das alternativas 
 
7. (CIAAR - FAB – 2011 - adaptado) Preencha as lacunas abaixo e, em seguida, 
assinale a alternativa correta. ______________ é um processo que capacita o 
desenvolvedor a criar um modelo do software que será implementado. Se 
abrangermos as melhores características de tal processo com as do modelo 
cascata e a __________________ como novo elemento temos uma base do modelo 
espiral. 
a) Prototipação / análise de risco 
b) Testes / manutenção 
c) Implementação / recorrência 
d) Análise / avaliação 
e) Nenhuma das alternativas 
 
8. Quando se fornece um produto, seja desenvolvendo um software, escrevendo um 
relatório ou fazendo uma viagem a negócios, segue-se costumeiramente uma 
sequência de etapas para completar um conjunto de tarefas. A respeito dos 
modelos de processo de software, assinale a alternativa correta: (CRO - RJ – 2016 
- adaptada) 
a) O modelo espiral combina uma natureza interativa com outra que incorpora 
aspectos controlados e sistemáticos. 
b) O modelo orientado ao reuso enfoca a integração dos componentes do projeto 
de software, como recursos humanos e de hardware. 
c) O modelo de entrega incremental intercala as atividades de especificação e 
validação, possuindo apenas uma versão, a final. 
d) O modelo em cascata considera as atividades fundamentais do processo, 
envolvendo especificação, desenvolvimento, validação e evolução. 
e) A prototipação é a visão final de um sistema de software, que demonstra 
conceitos e não serve para conhecer o problema do usuário. 
 
 
 
 
 
 
 
 
 
27 
 
 
 ATIVIDADES RELACIONADAS AO 
PROCESSO DE DESENVOLVIMENTO 
DE SOFTWARE 
 
 
 
2.1 ESPECIFICAÇÃO DE SOFTWARE 
A Especificação de Software tem como função compreender os serviços que 
se fazem requisitados para o sistema assim como identificar os aspectos que podem 
se posicionar como restritivos para o seu desenvolvimento (SOMMERVILLE, 2011). 
Sua ação de fundamental importância pode se posicionar como marco de 
sucesso/insucesso para o Processo de Software e, justamente em face deste aspecto, 
requer senso de responsabilidade e conhecimento para a boa efetivação dos 
processos desenvolvidos (WAZLAWICK, 2013; VAZQUEZ; SIMÕES, 2016). 
Volta-se portanto a documentar os requisitos de especificação do sistema, 
permitindo que tanto usuários quanto desenvolvedores conheçam claramente e 
detalhadamente que aspectos deverão ser cobertos pela ferramenta 
computacional em desenvolvimento (PRESSMAN, 2011). 
Sommerville (2011) e Pressman (2011) apresentam as atividades que fazem 
parte do processo de Especificação de Software e estas seguem apresentadas no 
Quadro 6. 
 
Quadro 6: Atividades efetivadas na Especificação de Software 
Estudo de 
viabilidade 
Dada a necessidade de se desenvolver um sistema, investiga-se a 
possibilidade de a ferramenta a ser proposta efetivamente atender as 
necessidades do usuário partindo do ambiente computacional de 
hardware e software existentes, da interação com os clientes/usuários, do 
orçamento disponível e do ambiente de negócio vigente na organização. 
Elicitação e 
análise de 
requisitos 
Partindo do entendimento de que a organização possui ou não um 
ambiente computacional prévio de hardware e de software, efetiva-se 
interações com os usuários/clientes a fim de identificar suas reais 
necessidades as quais impulsionam para o desenvolvimento de novos 
sistemas, permitindo inclusive a idealização de ferramentas por meio de 
modelos voltados à prototipagem. 
Especificação 
de requisitos 
Tendo estudado a viabilidade e efetivada a elicitação de requisitos, 
parte-se para o levantamento de informações efetivas e que devem ser 
registradaspor meio dos requisitos de usuário (abstrações das 
necessidades efetivas do cliente e do usuário) e requisitos de sistema 
(descrição das funcionalidades a serem implementadas pelo profissional 
de TI). 
UNIDADE 
02 
 
 
 
 
 
 
 
 
 
28 
 
 
Validação de 
requisitos 
Constata se os requisitos especificados serão efetivamente atendidos na 
ferramenta a ser desenvolvida, permitindo a correção das 
especificações. 
Fonte: adaptado de Sommerville (2011), Vazquez e Simões (2016) e Pressman (2011) 
 
 
 
 
 
 
Cabe o destaque quanto os modos de levantamento de informações junto a 
clientes/usuários na fase de Estudo de Viabilidade, de modo que estes podem se dar 
por meio de entrevista, questionário, reuniões, observações, análises documentais 
(WAZLAWICK, 2013; PRESSMAN, 2011). 
Quanto ao processo de Análise de Requisitos, naturalmente serão levantados 
Requisitos Funcionais e Não Funcionais. Em relação aos Requisitos Funcionais, tem-se 
que estes retratam as funcionalidades do software no intuito de que se planeje o 
treinamento dos usuários (exemplo: dados de cadastros de cliente, dados de 
cadastro de pedido); já os Requisitos Não Funcionais referem-se às estratégias 
utilizadas para que o sistema computacional esteja apto a resolver as problemáticas 
para as quais se fez desenvolvido (exemplo: efetivação de login e de autenticação 
de usuário) (WAZLAWICK, 2013; VAZQUEZ; SIMÕES, 2016; HIRAMA, 2012). 
Isto, se bem definido auxiliará no pleno entendimento das necessidades do 
cliente/usuário, na manutenção futura do sistema, na redução do esforço 
desempenhado para o desenvolvimento, na diminuição dos custos e tempos de 
entrega e na validação final do sistema (WAZLAWICK, 2013; PETERS, 2001). 
Em se tratando da Validação de Requisitos, é importante atentar para o papel 
do cliente/usuário neste processo, pois é justamente o seu feedback que dará ao 
desenvolvedor o entendimento quanto ao cumprimento dos requisitos funcionais e 
não funcionais levantados (PRESSMAN, 2011; VAZQUEZ; SIMÕES, 2016). 
A etapa de Especificação de Software também é denominada de Engenharia de 
Requisitos. 
Elicitação: obtenção de informações, no intuito de identificar dados para a solução de 
um problema. Disponível em: https://bit.ly/3LqHG0O. Acesso em: 10 de mar. 2023. 
Requisitos: o mesmo que condições, exigências. Disponível em: https://bit.ly/35PLLF3. 
Acesso em: 10 de mar. 2023. 
 
https://bit.ly/3LqHG0O
https://bit.ly/35PLLF3
 
 
 
 
 
 
 
 
 
29 
 
 
Contudo, cabe destacar que a Especificação de Software não é uma ação 
que se deve efetivar apenas no início do Processo de Software, sendo importante 
que durante todo o cumprimento das ações de desenvolvimento do software a 
especificação se faça presente (PRESSMAN, 2011). 
 
2.2 PROJETO E IMPLEMENTAÇÃO DE SOFTWARE 
O Projeto de Software descreve o software a ser implementado considerando 
a ideia elaborada para sua estrutura e funcionalidades, partindo da ação conjunta 
de uma equipe de projetistas que juntos estabelecem e revisam os elementos que 
deverão fazer parte do projeto em sua versão final (SOMMERVILLE, 2011). 
No Projeto de um Software não se considera informações unicamente da 
ferramenta a ser desenvolvida, pois faz-se essencial considerar todo o 
macroambiente tecnológico em que ela se fará inserida, ou seja, a Plataforma de 
Software a qual se faz composta pelo hardware, sistema operacional, base de dados 
e outros (WAZLAWICK, 2013). 
Daí se identifica a importância e relação desta fase com a de Especificação 
de Software: é justamente na etapa anterior que todas estas informações da 
Plataforma de Software serão identificadas, de modo a garantir que a ferramenta a 
ser desenvolvida se faça apta a usufruir das funcionalidades do ambiente para o qual 
ela será implementada (PRESSMAN, 2011). 
Pressman (2011) e Sommerville (2011) apresentam as atividades que fazem 
parte do Projeto de Software, e estas seguem apresentadas no Quadro 7. 
 
Quadro 7: Atividades de projeto executadas a nível do Projeto de Software 
Projeto de 
Arquitetura 
compreende a estruturação geral do sistema, considerando seus 
componentes, relacionamentos e distribuição destes 
Projeto de 
Interface 
compreende a definição de interfaces dos componentes e conexão 
entre estas interfaces 
Projeto de 
Componente 
compreende o funcionamento ou as alterações que devem ser 
efetivadas para cada componente do sistema 
Projeto de Banco 
de Dados 
compreende o projeto de estrutura de dados, sua representação e 
consequente alocação no banco de dados a ser reusado ou criado 
Fonte: adaptado de Pressman (2011) e Sommerville (2011) 
 
Sendo consequência do projeto, a Implementação de Software deve ocorrer 
intercalado ao projeto, de modo a garantir que sempre possa ser efetivada a revisão 
das ações implementadas (SOMMERVILLE, 2011). 
 
 
 
 
 
 
 
 
 
30 
 
 
A experiência do projetista, sua capacidade de abstração, o uso ajustado de 
sua intuição e a aplicação de ferramentas de projeto reconhecidas e bem 
desenvolvidas para esta finalidade devem representar papel importante na etapa 
de Projeto de Software, e é justamente tais fatores que serão de impacto na 
decodificação por meio da linguagem escolhida para o projeto (PRESSMAN, 2011). 
Neste sentido, o Quadro 8 apresenta aspectos que são fundamentais para 
todo e qualquer Projeto de Software. 
 
Quadro 8: Aspectos fundamentais para o Projeto de Software 
Abstração Solução identificada em atendimento ao problema relatado pelo 
cliente/usuário, podendo se apresentar sob a forma de procedimentos, 
algoritmos e código fonte 
Abstração de 
dados 
Dados processados, agrupados, característicos e favoráveis a descrever 
um dado objeto 
Modularidade Divisão do software em partes, módulos, que podem interagir 
internamente e acoplar-se com outros externamente 
Procedimento 
de software 
Especificações definidas para que cada módulo processe os seus próprios 
dados, podendo assim alimentar os demais 
Fonte: adaptado de Pressman (2011) 
 
Não havendo um padrão que obrigatoriamente deva ser seguido por todos 
os desenvolvedores, a equipe pode adotar uma abordagem única, no entanto a 
preferência de por onde dar início ao trabalho de decodificação dependerá 
unicamente do profissional de desenvolvimento e de suas habilidades (WAZLAWICK, 
2013). 
 
2.3 VALIDAÇÃO DE SOFTWARE 
A validação de software tem o papel de verificar se o software segue as 
especificações levantadas e se isto atende as necessidades apontadas pelo 
cliente/usuário (SOMMERVILLE, 2011). 
A principal técnica utilizada para a validação é o Teste de Software, dando-
se principalmente durante e após o processo de transformação do projeto em 
código, ou seja, da implementação do sistema (WAZLAWICK, 2013). 
Contudo, relata-se que muitos erros de sistema a serem encontrados durante 
os testes podem se dar após a implementação completa, levando o retrabalho do 
desenvolvedor e ao atraso na entrega do produto (PRESSMAN, 2011). 
Pressman (2011) e Sommerville (2011) apresentam os estágios do Processo de 
 
 
 
 
 
 
 
 
 
31 
 
 
Teste de Software, e estes seguem apresentados no Quadro 9. 
 
Quadro 9: Estágios do Processo de Testes 
Testes de 
desenvolvimento 
Os testes são efetivados em componentes isoladamente pelos próprios 
desenvolvedores 
Testes de sistema Estando os componentes integrados o sistema como um todo é 
testado no intuito de se encontrar erros e possibilidades de não 
atendimento aos requisitos 
Testes de 
aceitação 
O cliente fornece dados para que se efetive testes simulados no 
sistema, podendo revelar problemas nos requisitos e no desempenho 
Fonte: adaptado de Pressman (2011), Sommerville (2011) e Vazquez e Simões (2016) 
 
Os testes de aceitação podem ser efetivados até que as falhas sejam 
completamente sanadas, neste caso, tem-se os testes alfa. Contudo pode ocorrer 
casosem que o produto de software está finalizado e passa a ser utilizado por um 
grupo de usuários no intuito de que estes relatem suas experiências através dos testes 
beta, efetivados no intuito das devidas correções até que se torne apto para a 
comercialização/distribuição em definitivo (PRESSMAN, 2011). 
 
2.4 EVOLUÇÃO DE SOFTWARE 
Os softwares envelhecem passando anteriormente por processo de 
nascimento, maturação e estabilidade, e por isso necessitam de atenção especial 
para que se mantenham funcionalmente em atividade, atendendo as demandas 
dos usuários (PRESSMAN, 2011). 
Assim, no intuito de que, neste processo evolutivo o software não venha a 
declinar e consequentemente “morrer”, faz-se primordial a implementação de ações 
de manutenção que favoreçam a constante evolução do sistema, permitindo assim 
que sejam efetivadas adequações voltadas à interação entre software e hardware, 
garantindo que se mantenham em harmonia e plena produtividade (WAZLAWICK, 
2013). 
Tornar então o software apto para a evolução, tornando melhor o desenho de 
sua estrutura é um meio de garantir a longevidade do sistema, assim como 
documentar todo o projeto, desenvolvimento e manutenções permitindo que no 
futuro outras equipes de TI também possam garantir a operacionalização e 
produtividade do ambiente computacional já existente (PRESSMAN, 2011). 
A Evolução do Software é composta por ações únicas que muito se adequam 
quando não há viabilidade no desenvolvimento de um software desde seu estágio 
 
 
 
 
 
 
 
 
 
32 
 
 
inicial, tratando-se, portanto dos ajustes necessários para que o sistema se mantenha 
em pleno atendimento às necessidades de clientes/usuários mesmo havendo a 
mudança de requisitos de hardware na infraestrutura de tecnologia da organização 
(SOMMERVILLE, 2011; VAZQUEZ; SIMÕES, 2016). 
 
 
Neste sentido, e servindo de embasamento para o desenvolvimento de modos 
diferenciados de se compreender o desenvolvimento de software a partir de 
metodologias ágeis, nos anos 70 foram lançadas as Leis de Lehman e estas seguem 
devidamente apontadas no Quadro 10. 
 
Quadro 10: Leis de Lehman acerca da Evolução de Software 
Lei da Mudança Contínua 
A manutenção do sistema o adapta para que atenda às necessidades do usuário, 
requerendo portanto interação constante, mesmo que elas se alterem de modo 
crescente, sob pena de que a produtividade e satisfação sejam afetados 
consideravelmente ao longo do tempo 
Lei da Complexidade Crescente 
Sempre que um software sofre ajustes o seu nível de complexidade tende a aumentar, 
principalmente quando tais alterações não seguirem um planejamento estruturado de 
engenharia, podendo levar à necessidade de reestruturação do sistema caso alcance o 
nível de não mais atender às necessidades, produtividade e satisfação do usuário 
Lei da Autorregulação 
Os esforços dispendidos a cada versão e no tamanho do sistema não tende a variar 
durante a vida do sistema, seguindo as diretrizes definidas pela organização solicitante da 
ferramenta 
Lei da Conservação da Estabilidade Organizacional ou Lei da Taxa Constante de 
Trabalho 
Será contínua a necessidade de evolução do sistema, contudo isto não demandará 
aumento na equipe de tecnologia sob a pena desta se tornar improdutiva 
Lei da Conservação de Familiaridade 
O incremento de ajustes na evolução de um software é constante a cada versão, sendo 
importante que a equipe de tecnologia envolvida se mantenha harmoniosa e alinhada 
aos objetivos que necessitam ser seguidos 
Lei do Crescimento Contínuo 
Um sistema não deve ser ajustado apenas a nível de correção de erros, mas também na 
adição de novas funcionalidades, aumentando assim a satisfação do usuário 
Lei da Qualidade Decrescente ou Declinante 
A evolução do sistema é parte de seu processo de uso, elevando a qualidade. Assim, a 
ausência de mudanças não é boa como se pensa, sendo importante que os ajustes 
aconteçam em prol da elevação da qualidade por meio do reajuste do sistema ao 
desenho dos processos 
Lei do Sistema de Retorno ou de Feedback 
A etapa de Evolução de Software também pode ser denominada de Manutenção de 
Software. 
 
 
 
 
 
 
 
 
 
 
33 
 
 
 
 
Faz parte do processo evolutivo de software que usuários efetivem retornos avaliativos 
tanto positivos quanto negativos, pois é justamente estas ações que favorecem os ajustes 
e a evolução do sistema evitando sua “morte” prematura 
Fonte: adaptado de Audy (2014) 
 
Assim, foi importante observar que a Evolução de Software incorpora em si o 
entendimento da necessidade de manutenção, pois sem esta ação não se faz 
possível os ajustes ao longo da vida útil do sistema. 
Contundo, as constantes alterações em software levam à possibilidade de que 
o projeto de desenvolvimento nunca consiga alcançar uma finalização, sem que ao 
menos as versões sejam efetivamente finalizadas. A este tipo de contexto denomina-
se de Beta Eterno, onde, apesar de se percorrer todas as etapas tradicionais de 
desenvolvimento, o que se faz liberado ao usuário é uma versão beta, a qual ainda 
passará por uma infinidade de adequações que em tese levariam à finalização de 
sua elaboração (ALÃO, 2018). 
Diante deste modo de pensar, a possibilidade de dispor o software a uma 
quantidade grande de usuários antes de sua finalização, funcionaria como meio de 
aceleração no desenvolvimento, contudo, conforme destaca Alão (2018), não é o 
que acontece, pois, a exemplo de gigantes da tecnologia como o Google, tem-se 
a prática como meio de distorcer o entendimento do usuário de que sendo uma 
versão beta, as falhas são perdoáveis. 
Isto coloca a necessidade de reflexões em relação aos processos praticados 
em um mundo de versões beta, principalmente se considerando as Leis de Lehman 
em relação à evolução de software. 
 
 
Sendo o desenvolvimento um processo cíclico, além de a etapa de evolução demonstrar a 
importância da manutenção para que o software não se perca em sua possibilidade de 
atender as necessidades do cliente, avalie como as Leis de Lehman deixam caracterizado 
este processo de não retrocesso para o desenvolvimento de um novo software e sim a 
melhoria constante do que já existe, caso haja possibilidade, estabelecendo uma visão 
crítica acerca do Beta Eterno. 
Tendo por base as Etapas de Desenvolvimento de Software aqui estudadas, o observe a 
figura a seguir. 
 
 
 
 
 
 
 
 
 
34 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Neste vídeo da Dheka Consultoria, denominado de Video 3 – Processos e Desenvolvimento 
de Software. Disponível em: https://bit.ly/3V4y2nQ. Acesso em: 10 de mar. 2023. 
A apresentadora adiciona conhecimentos ao estudos que já efetivamos até aqui. Vale a 
pena conferir! 
Especificação 
de Software
Projeto e 
Implementação de 
Software
Validação 
de Software
Evolução de 
Software
https://bit.ly/3V4y2nQ
 
 
 
 
 
 
 
 
 
35 
 
 
FIXANDO O CONTEÚDO 
 
1. (adaptado de CESPE - BANRISUL – 2022, CESPE – TRT – 2012, CESPE – TELEBRAS – 2022) 
Julgue os itens subsequentes quanto serem verdadeiros ou falsos e indique a 
opção que apresenta a melhor resposta para sua avaliação: 
 
I. A especificação de requisitos é frequentemente composta de vários tipos de 
documentos e não raro abrange: visão geral; glossário; modelos do sistema; lista 
de requisitos funcionais e lista de requisitos não funcionais; especificação 
detalhada de requisitos. 
II. O objetivo principal da especificação de requisitos é documentar todas as 
necessidades dos clientes e obter um aceite quanto às entregas de produto 
propostas. 
III. As atividades fundamentais relacionadas ao processo de construção de um 
software incluem a especificação, o desenvolvimento, a validação e a evolução 
do software. 
IV. No âmbito da engenharia de software, o principal produto da engenharia de 
requisitos é o documento de especificação de requisitos de software. 
a) Apenas asafirmativas Il e Ill estão corretas. 
b) Apenas a afirmativa Ill está correta. 
c) Apenas as afirmativas I e Il estão corretas. 
d) Apenas a afirmativa I está correta. 
e) Todas as afirmativas estão corretas. 
 
2. (CREFITO - MA – 2018) A Engenharia de Software é um capítulo importante de toda 
a Análise e Desenvolvimento de projetos voltados à criação de Softwares, pois ele 
traz conceitos que até hoje são utilizados, sendo algumas vezes a base da 
construção de um Sistema. Sendo assim, qual das alternativas está correta quando 
falamos em Engenharia de Software e Projetos? 
a) O foco de um Projeto de Software é a busca da perfeição, no qual o Engenheiro 
deve realizar esta tarefa sozinho, com o intuito de atender as suas necessidades. 
b) A metodologia aplicada deverá estar diretamente vinculada ao Software, onde 
teremos que atender ao individual. 
 
 
 
 
 
 
 
 
 
36 
 
 
c) A Engenharia de Software objetiva diversas soluções, onde a qualidade do 
produto deve estar evidenciada, sendo que o produto final deverá atender ao 
cliente ao qual aquele produto tenha sido solicitado. 
d) Até o momento não está comprovado que a Engenharia é eficaz e eficiente para 
criação de um Software, pois a qualidade deste depende da equipe de 
desenvolvimento. 
e) A Engenharia de projetos trabalha para montagem de projetos estipulados por um 
conjunto de atores baseados nas suas experiências individuais. 
 
3. (CCV - UFC – 2016 - adaptado) Em projeto de software, um Stakeholder representa: 
a) Um conjunto de diagramas da UML que pode ser afetado pelo futuro projeto de 
software. 
b) Uma técnica de programação em pares que pode ser afetado pelo projeto de 
software. 
c) Uma Metodologia de testes de software que pode ser afetado pelo projeto de 
software. 
d) Uma Técnica aplicada para quantizar os riscos que podem afetar o projeto de 
software. 
e) Indivíduos e organizações cujos interesses podem ser afetados pelo projeto de 
software. 
 
4. (FAURGS - BANRISUL – 2018) ___________ se preocupa com todos os aspectos do 
desenvolvimento de sistemas computacionais, incluindo engenharia 
de hardware, software e processo; e _________ é uma disciplina da engenharia 
que se preocupa com todos os aspectos da produção de software, desde os 
estágios iniciais da especificação do sistema até sua manutenção, quando o 
sistema já está sendo usado. 
Assinale a alternativa que completa, correta e respectivamente, as lacunas do 
texto acima. 
a) Engenharia de Domínio – Engenharia de Software 
b) Engenharia Reversa – Engenharia de Sistemas 
c) Engenharia de Sistemas – Engenharia de Domínio 
d) Engenharia de Sistemas – Engenharia de Software 
e) Engenharia Reversa – Engenharia de Domínio 
 
 
 
 
 
 
 
 
 
37 
 
 
 
5. (FUNDATEC – RS – 2022)O teste de software compreende um conjunto de 
ferramentas e técnicas relacionadas à verificação e validação (V&V) de um 
sistema. Em relação ao tópico de teste de software, analise as assertivas abaixo, 
assinalando V, se verdadeiras, ou F, se falsas. 
( ) O teste beta é conduzido no ambiente de usuários reais, executando tarefas reais, 
sem a monitoração e interferência próxima dos desenvolvedores. 
( ) O teste de aceitação é utilizado para verificar se um sistema de software como 
um todo é consistente com sua especificação de requisitos, geralmente 
executado pela equipe de testes sem o envolvimento do usuário. 
( ) Ao corrigir erros de um sistema, é muito fácil introduzir novos erros ou reintroduzir 
erros que ocorreram anteriormente. Nessa situação, casos de teste aprovados em 
versões prévias do software podem ser verificados novamente através de testes 
de sistema. 
( )Testes unitários em sistemas orientados a objetos normalmente realizam verificações 
de falhas em classes individuais. 
A ordem correta de preenchimento dos parênteses, de cima para baixo, é: 
a) V – F – F – V 
b) V – V – F – V 
c) V – F – V – F 
d) F – V – F – F 
e) F – F – V – V 
 
6. (FCC – CE – 2022) Uma vez que o sistema tenha sido totalmente integrado, é 
possível testá-lo para propriedades emergentes, como desempenho e 
confiabilidade. Os testes de desempenho precisam ser projetados para: 
a) projetar o sistema como uma história realista com cenários que descrevem uma 
maneira de usar o sistema. Os usuários reais do sistema devem ser capazes de se 
relacionar com cada cenário específico. 
b) assegurar maior confiabilidade do sistema em vista das respostas dos usuários que 
o testam em ambiente replicado ou em protótipos específicos criados a partir de 
blocos do sistema que se pretende testar. 
 
 
 
 
 
 
 
 
 
38 
 
 
c) projetar casos de teste em que se considera cada requisito e se deriva um conjunto 
de testes para eles a fim de demonstrar que o sistema implementou 
adequadamente seus requisitos. 
d) assegurar que o sistema possa processar a carga a que se destina. Isso 
normalmente envolve a execução de uma série de testes em que se aumenta a 
carga até que o desempenho do sistema se torne inaceitável. 
e) convencer o usuário de que uma determinada versão do sistema é boa e 
confiável o suficiente para uso além de mostrar que o sistema atende todos os 
requisitos funcionais. 
 
7. (FAURGS - SES RS - 2022) Dentro do contexto de Teste de Software, o objetivo de 
________________ é checar se o software atende a seus requisitos funcionais e não 
funcionais, enquanto o objetivo de _____________ é checar que o software atende 
às expectativas do cliente. 
Assinale a alternativa que completa, correta e respectivamente, as lacunas do 
texto acima. 
a) depuração – validação 
b) verificação – depuração 
c) teste de componente – depuração 
d) verificação – validação 
e) validação – verificação 
 
8. (FUNDATEC – 2022) Relacione a Coluna 1 à Coluna 2, associando as técnicas de 
software com suas corretas descrições. 
Coluna 1 
1. Teste alfa. 
2. Teste beta. 
3. Teste de regressão. 
Coluna 2 
( )Casos de teste realizados nos componentes isoladamente contando com a 
participação apenas dos desenvolvedores 
( )Conduzido na instalação do desenvolvedor, em um ambiente controlado por eles, 
por um grupo representativo de usuários finais. 
 
 
 
 
 
 
 
 
 
39 
 
 
( )Conduzido nas instalações de um ou mais usuários finais, geralmente sem a 
presença de desenvolvedores, em um ambiente sem o controle destes últimos. 
A ordem correta de preenchimento dos parênteses, de cima para baixo, é: 
a) 1 – 2 – 3 
b) 1 – 3 – 2 
c) 2 – 1 – 3 
d) 3 – 2 – 1 
e) 3 – 1 – 2 
 
 
 
 
 
 
 
 
 
 
 
40 
 
 
METODOLOGIAS ÁGEIS 
 
 
 
 
 
3.1 HISTÓRIA, CONCEITO E IMPORTÂNCIA DAS METODOLOGIAS ÁGEIS 
Entre os anos de 1980 e 1990 a idealização dos sistemas tinha como ponto 
primordial a aplicação das ferramentas de Engenharia de Software, denominadas 
de Ferramentas CASE, sendo esta denominação proveniente do acrônimo de 
Computer-Aided Software Engineering, ou, traduzido livremente ao português, 
Engenharia de Software auxiliada por Computador (SOMMERVILLE, 2011; HIRAMA, 
2012; PETERS, 2001). 
Tal metodologia se fazia muito bem aceita e até certo ponto eficiente para o 
desenvolvimento de sistemas de grande porte, os quais tinham por especificidade 
principal a participação de uma quantitativo elevado de Engenheiros de Software, 
localizados em áreas geograficamente distantes, e que, no entanto, possuíam um 
prazo de entrega de suas demandas de desenvolvimento bem mais amplo do que 
se verifica atualmente (PRESSMAN, 2011). 
Contudo, sendo uma abordagem de melhor aplicação a estas características, 
diante das especificidades surgidas a partir dos anos de 1990, identificou-se a 
necessidade de desenvolver novos métodos que se aplicassem a projetos de 
software de médio e pequeno porte, consequentemente com prazos mais curtos e 
maiores restrições orçamentárias (WAZLAWICK, 2013; PETERS, 2001). 
Fez-se então surgir o que se denomina de MétodosÁgeis, sendo estes modos 
de compreender o desenvolvimento de tarefas de software com foco nas pessoas 
que as desenvolvem e não nas linhas de código, pois passou-se a identificar que o 
trabalho intelectual de desenvolvimento não poderia ser executado de modo linear, 
em série e muito menos com grau elevado de previsibilidade (HIRAMA, 2012). 
Neste sentido, um Método Ágil atuaria na diminuição da burocracia 
organizacional aplicada ao desenvolvimento de software, tornando o processo em 
si mais humano, porém mais rápido, dinâmico, flexível, interativo, garantindo que o 
desenvolvimento das tarefas efetivamente conseguisse alcançar uma fase de 
UNIDADE 
03 
 
 
 
 
 
 
 
 
 
41 
 
 
finalização com maior funcionalidade e coesão, mesmo diante da necessidade de 
revisões, caso necessárias (SOMMERVILLE, 2011; PRESSMAN, 2011, HIRAMA, 2012) 
Considerando assim que o cliente/usuário nem sempre reconhece suas reais 
necessidades, o Método Ágil encontra meios de garantir que, partindo da interação 
constante dos entes interessados, ou Stakeholders, faça-se a troca de informações 
necessária à identificação dos requisitos, de modo a garantir maior assertividade no 
desenvolvimento da solução solicitada (OLIVEIRA, 2018). 
Por meio da aplicação de conceitos que incorporam o fracionamento de 
entrega do produto computacional desenvolvido de modo incremental, da auto-
organização do time de trabalho, e do uso consciente da inteligência coletiva dos 
colaboradores, os Métodos Ágeis conseguem acelerar o processo de entrega de um 
produto elaborado a partir do desenvolvimento de um dado projeto (WAZLAWICK, 
2013). 
Sob tais fatores, os Métodos Ágeis, em um geral seguem os princípios 
norteadores descritos na Figura 7. 
 
Figura 7: Princípios norteadores dos Métodos Ágeis 
 
Fonte: adaptado de Waslawick (2013) 
 
Estes princípios demonstram a preocupação com as pessoas (Stakeholders), a 
•Por meio deste envolvimento, que necessita ser íntimo, o 
cliente fornece informações quanto aos requisitos do sistema, 
avaliando sua implementação
Envolvimento do 
Cliente
•Na interação com o cliente a equipe de desenvolvimento 
identifica necessidades de implementação que se efetivam 
de modo incremental
Entrega 
Incremental
•O profissional de TI se faz reconhecido em suas 
potencialidades sendo convocado a aplicar seus 
conhecimentos no projeto, conforme metodologia própria
Pessoas, não 
processos
•Um sistema não é um ambiente estático, estará sempre em 
mudanças e por isto, tanto sua estrutura quanto a equipe 
envolvida necessitam estar aptos a tal
Aceitar as 
Mudanças
•Um sistema não necessita ser complexo pois a simplicidade 
favorece o desenvolvimento e a manutençãoManter a 
Simplicidade
 
 
 
 
 
 
 
 
 
42 
 
 
melhoria contínua e incremental e com a diminuição da complexidade do sistema e 
dos processos por ele atendidos, pois é justamente o feedback constante, coletado 
pelo meio dos processos de interação implementados que favorecem o alcance de 
tais premissas. 
Deste modo, os Métodos Ágeis atualmente rompeu as barreiras do 
desenvolvimento de sistemas e sem veem aplicados às mais variadas áreas de 
atuação e do conhecimento nas organizações, como para o desenvolvimento de 
produtos/serviços com vistas à comercialização, na 
implementação/melhoria/inovação de processos e na educação para o 
desenvolvimento de projetos inovadores, trabalhos de pesquisa e atividades 
acadêmicas (SOMMERVILLE, 2011). 
 
3.2 VISÃO GERAL DAS METODOLOGIAS ÁGEIS DE MAIOR 
REPRESENTATIVIDADE NA TI 
O tempo passou e, tanto a agilidade quanto a assertividade no 
desenvolvimento de sistemas, tornaram-se exigências marcantes para as equipes de 
TI (OLIVEIRA, 2018). 
Deste modo, as Metodologias Tradicionais de desenvolvimento, apresentadas 
no capítulo anterior, viram-se impelidas à renovação a partir do advento das 
Metodologias Ágeis, potencializando suas habilidades e garantindo que a 
modelagem, até o momento aplicada aos sistemas, pudesse se tornar mais eficiente 
(SOMMERVILLE, 2011). 
Diante deste pensamento, frameworks passaram a ser desenvolvidos em 
atendimento a esta visão de agilidade e assertividade, sendo importante aqui 
estabelecer uma visão geral daqueles que são os de maior representatividade no 
âmbito da Tecnologia da Informação a partir do Quadro 11. 
 
Quadro 11: Visão Geral das Metodologias Ágeis existentes 
FDD - FEATURE DRIVEN DEVELOPMENT 
(DESENVOLVIMENTO CONDUZIDO POR RECURSOS) 
Criador(es): Jeff de Luca e Peter Coad Criação: 1997-1998 
 
Finalidade(s): 
Para favorecer as 
interações entre 
os membros do 
projeto e para a 
Stakeholders: 
 Gerente de Projeto 
 Especialista 
 Pessoal de 
Planejamento 
Lado A (benefícios): 
 Beneficia a todos os 
Stakeholders 
 Aplicado a qualquer 
tamanho de equipe 
Lado B (restrições): 
 Não é favorável 
para pequenos 
projetos 
 
 
 
 
 
 
 
 
 
43 
 
 
implementação 
de estratégia de 
desenvolvimento 
guiado por 
funcionalidades 
 Programador-
Chefe 
 Equipe de 
Funcionalidades 
 Favorece a Qualidade 
de Software 
 Atua na entrega de 
resultados frequentes, 
tangíveis e funcionais 
para a visualização de 
progresso do Projeto 
 Custo elevado 
pelo tamanho da 
equipe envolvida 
DSDM - DYNAMIC SYSTEM DEVELOPMENT METHODOLOGY 
Criador(es): Organização sem fins lucrativos Criação: 1994 
 
Finalidade(s): 
Correção de 
falhas do Modelo 
em Cascata, 
tornando-o mais 
dinâmico 
Stakeholders: 
 Coordenador 
 Desenvolvedor 
Sênior 
 Analista 
 Programador 
 Designer 
 Testador 
 Usuários 
 Patrocinador 
 Redator técnico 
 Desenvolvedor 
 DBA 
 Configurador 
 Suporte Técnico 
Lado A (benefícios): 
 Participação ativa, 
cooperativa e 
compartilhada entre os 
Stakeholders 
 Stakeholders dotados 
de poder decisório 
 Desenvolvimento 
iterativo, incremental 
partindo de requisitos 
essenciais previamente 
fixados e com entregas 
contínuas 
 Feedback e ações 
totalmente reversíveis 
 Possibilidade de 
efetivação de Teste em 
todo o Ciclo de Vida 
Lado B (restrições): 
 Não se aplica a 
projetos em que 
o risco à vida 
humana e o 
dano crítico não 
sejam bem 
tolerados 
 Não possui 
viabilidade caso 
seja impossível a 
criação de um 
protótipo 
 Requer a 
participação 
ativa de todos 
os Stakeholders, 
incluindo o 
cliente 
ASD - ADAPTIVE SOFTWARE DEVELOPMENT 
(DESENVOLVIMENTO DE SOFTWARE ADAPTÁVEL) 
Criador(es): Sam Bayer e James Highsmith Criação: 1997 
 
Finalidade(s): 
Evolução do 
método Rapid 
Application 
Development 
(RAD) 
Stakeholders: 
 Executivo 
Responsável 
 Facilitador 
 Escriba 
 Cliente 
 Gerente do 
Projetos 
 Desenvolvedor 
Lado A (benefícios): 
 Corrige as 
metodologias 
tradicionais encurtando 
o período de 
desenvolvimento 
através da divisão de 
projeto para 
implementação e 
testes 
Lado B (restrições): 
 Não é favorável 
para pequenos 
projetos 
 Risco de tomada 
de decisão 
precipitada por 
conta do fator 
tempo reduzido 
SCRUM 
Criador(es): Jeff Sutherland, John Scumniolates e Jeff Mackenna Criação: Anos 90 
 
Finalidade(s): 
Foco no produto 
e no cliente por 
meio de 
Framework 
voltado para a 
gestão de 
projetos 
Stakeholders: 
 Product Owner 
 Scrum Master 
 Equipe Scrum 
 Cliente 
Lado A (benefícios): 
 Entendimento da 
dinâmica de mudança 
dos requisitos 
 Gerencia e controla o 
trabalho em si 
tornando a equipe 
autogerenciável, 
funcional e valorizada 
Lado B (restrições): 
 Não é favorável 
para projetos 
muito simples e 
nem de curto 
prazo 
 Requer a 
participação 
ativa de todos 
os Stakeholders, 
 
 
 
 
 
 
 
 
 
44 
 
 
 Age na Identificação e 
remoção de causas de 
problemas, por meio 
de processos iterativos 
e incrementais 
incluindo o 
cliente 
XP - EXTREME PROGRAMMING 
(PROGRAMAÇÃO EXTREMA) 
Criador(es):Kent Beck Criação: final da década de 1990 
 
Finalidade(s): 
Aumento da 
qualidade e 
produtividade em 
projetos de 
desenvolvimento 
de software 
Stakeholders: 
 Programador 
 Cliente 
 Testador 
 Consultor 
Lado A (benefícios): 
 Participação ativa, dos 
Stakeholders 
 Planejamento iterativo 
e de curto tempo 
 Programação 
efetivada em duplas 
 Testagem constante 
 Design simplificado 
Lado B (restrições): 
 Ambientes de 
trabalho 
exaustivo 
 Ausência de 
incentivo para a 
reutilização de 
código 
ICONIX EXPRESS 
Criador(es): Doug Rosenberg Criação: Década de 90, mas publicada na década 
seguinte 
 
Finalidade(s): 
Propiciar ao 
cliente uma visão 
real do produto 
antes de sua 
finalização 
Stakeholders: 
 Analista 
 Gerente de projeto 
 Programador Júnior 
e Sênior 
 Usuário 
 Testador 
Lado A (benefícios): 
 Dotado de 
praticidade, 
simplicidade e poucas 
documentações 
 Os requisitos são 
rastreáveis 
 Foco na comunicação, 
qualidade, evolução 
tecnológica e 
experiência de valor 
Lado B (restrições): 
 Custo elevado 
 Não é favorável 
para projetos 
muito dinâmicos 
CRYSTAL 
Criador(es): Alistair Cockburn e Jim Highsmith Criação: 2000 
 
Finalidade(s): 
Gerenciar as 
pessoas 
envolvidas no 
projeto 
respeitando as 
características e 
habilidades 
individuais e da 
equipe no todo 
Stakeholders: 
 Desenvolvedor 
 Cliente 
 Gestor de Projeto 
 Usuário 
Lado A (benefícios): 
 Aplicável a todo tipo e 
tamanho de projeto 
 Aceita os modos 
diversificados de 
trabalho das pessoas 
envolvidas 
 Compreende que os 
projetos se diferem em 
suas necessidades 
Lado B (restrições): 
 Não é favorável 
para projetos 
muito grandes 
projetos 
 Não é favorável 
para equipes de 
trabalho muito 
grandes 
 Custo elevado 
por conta do 
fator prioridade 
 Restrição ao 
ciclo de 
desenvolvimento 
KANBAN 
Criador(es): Taiichi Ohno Criação: 1953 
 
Finalidade(s): Stakeholders: 
Sem especificação 
Lado A (benefícios): Lado B (restrições): 
 
 
 
 
 
 
 
 
 
45 
 
 
Gestão visual por 
meio de cartões 
ou papéis no 
intuito do 
alinhamento de 
valores 
 Torna a relação entre 
os Stakeholders mais 
dinâmica e 
colaborativa 
 Facilita a visualização 
dos problemas e do 
planejamento diário 
 Vulnerabilidade 
por conta da 
gestão visual 
 Não lida bem 
com solicitações 
emergenciais e 
mudanças 
constantes 
OPENUP 
Criador(es): Eclipse Foundation Criação: 2006 
 
Finalidade(s): 
Focada no 
planejamento e 
na gestão de 
projetos de 
software livre 
Stakeholders: 
 Arquiteto 
 Gerente de Projeto 
 Analista 
 Testador 
 Desenvolvedor 
 Outros 
(interessados) 
Lado A (benefícios): 
 Inclui apenas o que é 
essencial para o 
desenvolvimento de 
um software 
 Não se preocupa com 
aspectos como 
contratos, equipe e 
outros 
 Reduz riscos por conta 
de seu curto ciclo de 
vida 
 Faz uso de reuniões 
regulares 
Lado B (restrições): 
 Favorável 
apenas para 
projetos de 
pequeno porte 
 Não se 
preocupa com 
aspectos como 
contratos, 
equipe, e outros 
Fonte: Adaptado de Peters (2001), Sommerville (2011) e Oliveira (2018) 
 
O quadro apresentado dispõe acerca das metodologias de maior destaque 
entre as equipes de desenvolvimento de sistemas, por sua popularidade e/ou por 
terem se adaptado melhor às necessidades dos projetos desenvolvidos. 
No entanto vale ressaltar a existência de outras metodologias ágeis que valem 
ser estudadas a fim de que os processos de gestão em projetos de software sejam 
mais dinâmicos e resolutos. 
 
 
 
 
 
Existindo outras metodologias ágeis encontrei um artigo bem interessante que vai te ajudar 
a conhecer um pouco mais sobre o assunto, podendo ser acessado por este link: 
https://bit.ly/2rttf21. Acesso em 11 mar. 2023 
Também encontrei um Podcast que trata sobre Metodologias Ágeis para empresas, no 
entanto também valer a pena assistir. Acessível a partir do link: https://bit.ly/3AL4ToF. 
Acesso em: 11 mar. 2023 
https://bit.ly/2rttf21
https://bit.ly/3AL4ToF
 
 
 
 
 
 
 
 
 
46 
 
 
 
 
3.3 VANTAGENS DE APLICAÇÃO DAS METODOLOGIAS ÁGEIS (CLIENTE X 
DESENVOLVIMENTO) 
Em sua concepção, as Metodologias Ágeis se fizeram desenvolvidas para 
atender pequenas equipes de software no intuito de garantir que, durante o processo 
de desenvolvimento, a comunicação, a troca de ideias, a análise de problemas e a 
busca de soluções pudesse se dar em ambientes de menor formalidade, maior 
interatividade, maior constância e menor índice de falhas no processo 
(SOMMERVILLE, 2011). 
Isto, pois, naquele momento, as metodologias tradicionais aplicáveis 
principalmente ao desenvolvimento de sistemas de grande porte, impactavam 
principalmente nos prazos de entrega e nos custos dos projetos, uma vez que o ciclo 
de vida praticado não contava com a possibilidade de revisões pontuais dos 
requisitos e nem de testes durante o desenvolvimento do processo, somente ao final 
(PETERS, 2001). 
Outro aspecto importante a destacar é que o tamanho dos sistemas e 
consequentemente o seu grau de complexidade variou ao longo do tempo, e à 
época do surgimento de uma mentalidade ágil para o desenvolvimento de software 
a tecnologia começava seu processo de disseminação para as pequenas e médias 
empresas requerendo meios próprios de atendimento à suas demandas 
(WAZLAWICK, 2013). 
Diante deste entendimento de mudança de mentalidade, Sommervile (2011) 
Framework: é uma espécie de estrutura ou modelo aplicável à resolução de um problema 
em específico. Disponível em: https://bit.ly/40EiTen. Acesso em: 12 de mar. 2023 
DBA: O mesmo que DataBase Administrator ou Administrador de Banco de Dados. 
Disponível em: https://bit.ly/3oMlvJy. Acesso em: 12 de mar. 2023 
Backlog: Refere-se a atividades que necessitam ser executadas em um projeto. Disponível 
em: https://bit.ly/41OSKdS. Acesso em: 12 de mar. 2023 
Software Livre: programa de licença livre, podendo ser copiado, utilizado, distribuído e 
modificado de acordo com as necessidades do usuário, requerendo apenas que as 
modificações sejam compartilhadas com a comunidade de Software Livre. Disponível em: 
https://bit.ly/40BsTon. Acesso em: 12 de mar. 2023 
https://bit.ly/40EiTen
https://bit.ly/3oMlvJy
https://bit.ly/41OSKdS
https://bit.ly/40BsTon
 
 
 
 
 
 
 
 
 
47 
 
 
aduz quanto às perspectivas de escalonamento aplicadas às Metodologias Ágeis, 
onde a Perspectiva Scaling-up, aplicando-se a equipes voltadas ao desenvolvimento 
de software de grande porte e alta complexidade, favorece os processos de 
organização em prol de que, uma vez possuindo um objetivo a ser alcançado, seja 
possível o seu efetivo alcance, considerando a parceria do usuário, seu feedback e 
as questões que tendem a incorrer reajustando os processos cotidianamente. Por 
outro lado, a Perspectiva Scaling-out, aplicando-se à grandes e já estabelecidas 
corporações voltadas ao desenvolvimento de software, permite que a organização 
reveja seus processos, compreenda uma nova cultura e torne-se cada vez mais apta 
à agilidade por meio de métodos que carregam em seu bojo esta filosofia. 
Isto pois, as Metodologias Ágeis trazem desde a sua concepção os princípios 
dispostos por meio da Figura 8. 
 
Figura 8: Princípios das Metodologias Ágeis 
 
Fonte: adaptado de Sommerville (2011) e Oliveira (2018) 
 
Isto demonstra a potencialidade de redução de ações burocráticas no 
processo de desenvolvimento de software deixando as ações mais naturais e 
dotadas de maior ambientação para a troca de experiências em face interatividade 
positiva que é incentivada ao capital intelectual existente na equipe envolvida. 
 
 
 
Assim, para o Cliente, a Metodologia Ágil apresenta como vantagens estas 
que se fazem dispostas na Figura 9. 
Pode ser que você já conheça a denominação Stakeholders, no entanto valereforçar 
que se refere a um grupo de pessoas possuidoras de determinado interesse na 
organização e que, no caso de um projeto de software, são diretamente afetadas durante 
sua execução, como o cliente, os fornecedores, os usuários, os desenvolvedores. (HIRAMA, 
2012; PETERS, 2001). 
 
 
 
 
 
 
 
 
 
 
48 
 
 
 
Figura 9: Vantagens das Metodologias Ágeis para os Clientes 
 
Fonte: adaptado de Sommerville (2011), Wazlawick (2013) e Oliveira (2018) 
 
Portanto, reduzindo boa parte dos impactos negativos gerados pelas 
metodologias tradicionais, as Metodologias Ágeis traduzem ao cliente a possibilidade 
de que os sistema incorpore em si as funcionalidades por ele solicitadas em face de 
sua demanda de negócios, permitindo que em tempo hábil a tecnologia venha a se 
fazer presente no contexto da organização. 
 
 
 
Consequentemente, as Metodologias Ágeis também favorecem ao trabalho 
dos desenvolvedores, de modo que a Figura 10 apresenta estas principais vantagens. 
 
Figura 10: Vantagens da Metodologias Ágeis para os Desenvolvedores 
 
Fonte: adaptado de Pressman (2011), Sommerville (2011) e Oliveira (2018) 
ROI (Return over Investiment): em sua tradução tem-se Retorno sobre o Investimento, e 
compreende um tipo de medida a qual permite avaliar se os investimentos efetivados por 
uma organização retornaram sob a forma de lucratividade. Disponível em: 
https://bit.ly/3LuZA2P. Acesso em: 18 de mar. 2023 
https://bit.ly/3LuZA2P
 
 
 
 
 
 
 
 
 
49 
 
 
Assim, atuando na facilitação do processo de desenvolvimento, uma vez que 
deixa de isolar o desenvolvedor do entendimento do negócio para o qual este 
desenvolve a solução, permite-se que a compreensão favoreça a identificação 
clara de possibilidades de solução melhor aplicadas e mais assertivas. 
Contudo, Sommerville (2011) destaca que a aplicação de Metodologias Ágeis 
em organizações, principalmente de grande porte, é antes de mais nada um 
processo de mudança cultural, pois considerando que muitos procedimentos já se 
encontram arraigados, necessita-se todo um reajuste do modo de vê-los, concebê-
los e de atuar sobre e com eles. 
 
3.4 MANIFESTO ÁGIL 
No início dos anos de 2000 e ainda vivenciando toda o processo de requisição 
de mudança para o modo de conceber software por conta do crescimento 
tecnológico enfrentado pela popularização das tecnologias, por conta da 
miniaturização dos componentes e pela consequente queda de seus custos, o 
paradigma do desenvolvimento por meio de metodologias tradicionais viu-se diante 
da necessidade de ser rompido, cedendo espaço para o novo, ou seja, uma visão 
ágil aplicada ao software (PRESSMAN, 2011). 
 
Figura 11: Membros do comitê de elaboração do Manifesto Ágil 
 
Fonte: O autor 
 
Assim, exatamente no ano de 2001, um grupo formado por 17 profissionais e 
 
 
 
 
 
 
 
 
 
 
50 
 
 
consultores de tecnologia (Figura 11), encontrou-se impelido a discutir estratégias que 
rompessem definitivamente com o paradigma metodológico tradicional aplicado ao 
desenvolvimento de softwares de grande porte e alta complexidade, e que se fazia 
imposto inclusive aos softwares de pequeno porte e baixa complexidade, 
acarretando problemas de entrega, custo, engajamento, entre outros (WAZLAWICK, 
2013; FERNANDES; ABREU, 2014). 
Em face destes profissionais e consultores possuírem experiência comprovada 
diante das proposições discutidas e transformadas em documento por meio do 
Manifesto Ágil, eles não consideravam que seria de maior dificuldade a 
implementação daquilo que estavam propondo e que não fugia muito ao 
tradicional, apenas adicionava elementos de gestão mais precisos, participativos e 
interativos (SUTHERLAND, 2014). 
Comparando o Quadro 11 (disposto no tópico anterior) com a Figura 11 é 
possível notar que muitos dos indivíduos que fizeram parte da concepção do 
Manifesto Ágil possuíam a expertise de elaboração de metodologias que aplicavam 
a filosofia defendida, demonstrando que não estavam trabalhando a partir de 
suposições e sim de constatações. 
Deste modo, as Metodologias Ágeis tinham como foco as diretrizes indicadas 
na Figura 12. 
 
Figura 12: Diretrizes apontadas pelo Manifesto Ágil 
Equipes Autogerenciáveis 
atuação conjunta e 
decisiva da equipe sob 
uma liderança que realiza 
o intermédio necessário 
Entregas Menores 
a diminuição nos incrementos 
de software permite que a 
entrega de funcionalidades 
possa acontecer em menor 
tempo 
 
Comunicação 
a equipe de negócio se 
mantém em constante 
contato com a de 
desenvolvimento 
Planejamento Incremental 
o planejamento se faz no 
todo, contudo as ações 
se efetivam em etapas, 
sendo estas 
contabilizadas na 
composição do plano 
total 
ABORDAGEM ÁGIL 
= 
COMUNICAÇÃO 
= 
CÓDIGO LEGÍVEL 
Uso de TDD 
(Test-Driven 
Development) 
a técnica se volta para 
constante efetivação de 
testes, evitando testes 
somente ao final do 
projeto 
 
Uso de Refatoração 
o código passa por 
processo de melhoria 
constante garantindo 
 
Preferência por Equipes 
Pequenas 
a opção por equipes pequenas 
facilita a comunicação, 
 
Integração sistêmica 
continua 
os incrementos finalizados 
são sempre habilitados ao 
todo do sistema 
https://en.wikipedia.org/wiki/Test-driven_development
https://en.wikipedia.org/wiki/Test-driven_development
 
 
 
 
 
 
 
 
 
51 
 
 
uma manutenção mais 
facilitada 
minimiza os conflitos e maximiza 
a produção 
Fonte: adaptado de Pressman (2011), Sommerville (2011) e Fernandes e Abreu (2018) 
 
Assim, na visão apresentada por meio do Manifesto Ágil a ação leva à 
agilidade dos processos de desenvolvimento onde o negócio e o cliente são a 
prioridade, demonstrando que a tecnologia posiciona-se como ferramenta auxiliar 
ao trabalho. 
Isto demonstra a especificidade que o manifesto pratica, uma vez que a 
produção de software passa a ser vista de modo direcionado e individual e não 
seguindo um paradigma industrial como definido por Lehman (AUDY, 2014) e 
apresentado aqui no Quadro 10 da unidade anterior. 
Contudo, e como já abordado anteriormente, há de se proceder com ajustes 
de cultura organizacional, pois as Metodologias Ágeis não somente preconizam 
disposições para o desenvolvimento de software, mas para todo tipo de ação que 
venha a requerer planejamento, envolvimento de pessoas, uso de capital intelectual 
e solução de problemas (PRESSMAN, 2011; SOMMERVILLE, 2011). 
 
 
 
3.5 VALORES E PRINCÍPIOS DEFENDIDOS NO MANIFESTO ÁGIL 
No intuito de romper com o paradigma de desenvolvimento de software 
utilizado na época pelas grandes empresas de software e que não se adequava nem 
a pequenas organizações e muito menos a projetos mais enxutos, como já relatado, 
um grupo de profissionais e consultores de tecnologia se reuniu e após discussões 
definiu elaborar um documento, na forma de manifesto, apresentando os pontos que 
consideravam ser essenciais para transformar e fortalecer o desenvolvimento de 
software em uma sociedade que à cada dia se tornava mais inteirada com o uso de 
tecnologias nos negócios e no cotidiano (WAZLAWICK, 2013; FERNANDES; ABREU, 
2014; SUTHERLAND, 2014). 
Refatoração: Processo aplicado à melhoria de código, sem afetar a parte visível ao 
usuário. Disponível em: https://bit.ly/3NcVcXw. Acesso em: 20 de mar. 2023 
 TDD (Test-Driven Development): possuindo como tradução Desenvolvimento Orientado a 
Testes, é uma metodologia em ciclos aplicada ao desenvolvimento de software e escrita 
de seu código. Acesso em: https://bit.ly/3LDvIBr. Acesso em: 20 de mar. 2023 
 
https://bit.ly/3NcVcXw
https://en.wikipedia.org/wiki/Test-driven_development
https://bit.ly/3LDvIBr
 
 
 
 
 
 
 
 
 
52 
 
 
Assim, o manifesto, preconizava o estabelecimento de melhorias para o 
desenvolvimento de software e o auxílio a todos os demais desenvolvedores que 
definissem optar pelos mesmo valores, estando estes dispostos na figura13. 
 
Figura 13: Valores definidos pelo Manifesto Ágil 
 
Fonte: adaptado de Audy (2014), Sommerville (2011), Waslawick (2013), Beck et al. (2001) e 
Sutherland (2014) 
 
Por conseguinte, o Manifesto Ágil estabeleceu princípios a serem seguidos, e 
estes se fazem dispostos por meio da Figura 14. 
 
Figura 14: Princípios definidos pelo Manifesto Ágil 
 
Fonte: Disponível em : https://bit.ly/3oK2uHK. Acesso em : 02 de abr. (2022) 
 
https://bit.ly/3oK2uHK
 
 
 
 
 
 
 
 
 
53 
 
 
Estes princípios demonstram que o conhecimento, a relação interpessoal, o 
gerenciamento, o contato com o cliente, entre outros, são aspectos que devem 
servir de elementos norteadores quando a agilidade for o foco de trabalho de 
equipes de desenvolvimento que optam pela excelência. 
 
 
 
 
 
Mesmo que tenhamos tratado sobre o manifesto ágil nesta unidade, vale a pena conferir 
outras informações sobre ele. Portanto, segue o link: https://bit.ly/2WcUnQa. Acesso em: 
20 de mar. 2023, da página oficial do manifesto, onde se pode encontrar na íntegra os 
valores, princípios, e outras informações referentes aos autores do documento que 
transformou o modo de conceber software na atualidade. 
 
Metodologias Ágeis atualmente são utilizadas em muita coisa. Então imagine-se 
implementando uma metodologia ágil para efetivar a elaboração do seu café, almoço 
ou jantar. Pesquise um pouco e verifique qual melhor se adaptaria a esta situação. A ideia 
aqui é compreender que efetivamente, uma ferramenta criada para a área de software, 
tem revolucionado os processos de gestão pelo mundo afora em face de sua objetividade 
e não burocracia. 
https://bit.ly/2WcUnQa
 
 
 
 
 
 
 
 
 
54 
 
 
FIXANDO O CONTEÚDO 
 
1. (BANRISUL - FAURGS – 2018) Segundo Pressman, os interessados (stakeholders) de 
um processo de software podem ser categorizados em: gerentes seniores, 
gerentes (técnicos) de projeto, programadores, clientes e usuários finais. Dentre 
essas categorias, ___________ é a que reúne aqueles que devem ter habilidades 
técnicas necessárias para desenvolver a engenharia de um produto ou aplicativo 
de software. 
Assinale a alternativa que preenche corretamente a lacuna do texto acima. 
a) gerentes seniores 
b) programadores 
c) usuários finais 
d) clientes 
e) gerentes (técnicos) de projeto 
 
2. (BANESE – 2022) Acerca dos métodos ágeis, analise as assertivas e assinale a 
alternativa que aponta a(s) correta(s). 
I. Os métodos ágeis foram desenvolvidos para serem utilizados por pequenos times 
de desenvolvedores. 
II. Empresas pequenas, que não tinham processos formais, foram os primeiros 
entusiastas dos métodos ágeis. 
III. Uma das vantagens do desenvolvimento ágil é que ele pode ser utilizado para 
qualquer tipo de desenvolvimento de software. 
a) Apenas I. 
b) Apenas II. 
c) Apenas III. 
d) Apenas I e II. 
e) Apenas II e III. 
 
3. (Câmara de Sorocaba - 2022) Sobre especificação de requisitos, analise as 
afirmações a seguir? 
I. Idealmente, os requisitos de usuário e de sistema devem ser claros, inequívocos, de 
https://www.qconcursos.com/questoes-de-concursos/institutos/banrisul
https://www.qconcursos.com/questoes-de-concursos/provas/faurgs-2018-banrisul-teste-de-software
https://questoes.grancursosonline.com.br/prova/camara-de-sorocaba-sp-2022-avanca-sp-analista-de-sistemas
 
 
 
 
 
 
 
 
 
55 
 
 
fácil compreensão, completos e consistentes. 
II. Os requisitos de usuário para um sistema devem descrever todos os requisitos de 
modo que sejam compreensíveis para usuários do sistema que não tenham 
conhecimento técnico detalhado. 
III. O documento de requisitos não deve incluir detalhes da arquitetura ou projeto do 
sistema. 
Estão corretas as afirmações: 
a) I, somente 
b) I e II, somente 
c) II e III, somente 
d) I e III, somente 
e) I, II e III 
 
4. (IFMT – 2022) Atualmente, o gerenciamento de riscos é reconhecido como uma 
das mais importantes tarefas de gerenciamento de projetos e envolve a 
identificação e a avaliação dos importantes riscos do projeto para estabelecer a 
probabilidade de que eles aconteçam e as consequências para o projeto caso 
esses riscos ocorram. Neste contexto, Sommerville (GOMMERVILLE, lan. Engenharia 
de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011) afirma que o gestor de 
projetos de software deve: 
a) Durante o processo de análise de riscos, considerar cada risco identificado e fazer 
um julgamento sobre a probabilidade e a gravidade desses riscos. É necessário 
que confie em seu próprio julgamento, na experiência advinda de projetos 
anteriores e de problemas que surgiram neles, pois não é possível fazer uma 
avaliação precisa e numérica da probabilidade e gravidade de cada risco. 
b) Impedir que haja riscos dentro de um projeto e estar preparado para as situações 
que tragam algum nível de suscetibilidade a impedimentos à conclusão de suas 
atividades ou ainda que as atrasem. 
c) Estar ciente de que não é possível pensar em ações que possam ser tomadas para 
cada um dos riscos identificados. Deve-se então procurar minimizar a interrupção 
do projeto, caso ocorra o problema que foi escolhido para ser sanado. Isso 
simplifica o processo de planejamento de contingência. 
d) O número certo de riscos a serem monitorados deve depender do projeto, no 
entanto o número de riscos escolhidos para monitoração precisa ser igual ao 
 
 
 
 
 
 
 
 
 
56 
 
 
número de riscos identificados na tarefa de análise, sob pena de inviabilizar o 
projeto com os efeitos nocivos de sua concretização. 
e) Ter a certeza da existência de riscos e a certeza da impossibilidade de tratá-los. 
Na gestão de riscos em projetos de softwares, a atividade de identificação é a 
única saída para não sofrermos os efeitos de tais incidentes e as ações de 
contenção estão limitadas à sua remediação graças à sua imprevisibilidade. 
 
5. (IFMT - IFMT – 2022) A Engenharia de Software evidencia mais do que a gestão de 
um projeto de software: ela antecipa atividades de manutenção e evolução do 
produto, indo além da capacidade de gestão da construção do produto, visando 
a sua longevidade. A respeito dos processos de evolução descritos em Sommerville 
(2011), em Engenharia de Software (9ª edição), analise as afirmativas a seguir e 
assinale a alternativa INCORRETA: 
a) As mudanças nos sistemas podem ocorrer de uma maneira informal ou formal 
dependendo da organização, mas todas as propostas de mudanças, no fim das 
contas, são acionadores de evolução: visam a correção de bugs, implementação 
de requisitos (que, por algum motivo, não foram atendidos no projeto), novos 
requisitos ou ainda novas ideias da equipe de desenvolvimento. 
b) O processo de evolução de um software inclui as atividades fundamentais de 
análise de impacto, planejamento de release, implementação da mudança e 
liberação de um sistema para os clientes. 
c) Como os processos evolutivos não são necessariamente documentados, é 
contraindicado o uso de técnicas de testes de regressão automatizados, pois 
podem gerar relatórios que não retratam a realidade, já que um novo fluxo 
informacional está sendo criado dentro do sistema. 
d) As Leis de Lehman nos indicam que a mudança é um processo contínuo e nos 
oferece uma série de parâmetros e considerações oriundas de estudos extensos 
de evolução de sistemas para que possamos nos situar acerca das implicações 
em se ter um sistema computacional saudável e útil por um longo período de 
tempo. 
e) A Reengenharia de Software se faz necessária quando o software a ser evoluído 
parte de um sistema legado que precisa se tornar mais fácil de ser mantido. 
Contudo existem limites práticos para a capacidade de melhoria por meio da 
 
 
 
 
 
 
 
 
 
57 
 
 
reengenharia, e isso pode inviabilizar o processo de melhoria, evidenciando a 
necessidade de reconstrução completa do sistema. 
 
6. (IBADE – SEA - SC – 2022 - adaptado)Scrum, Extreme Programming e OpenUp, são 
exemplos de: 
a) programação estruturada. 
b) projeto estruturado. 
c) metodologias ágeis. 
d) business intelligence. 
e) projeto conceitual. 
 
7. (IBFC - EBSERH – 2022) Na Engenharia de Software existem várias metodologias de 
desenvolvimento tais como: 
(1) Metodologia Ativa 
(2) Scrum 
(3) Desenvolvimento Ágil 
(4) Modelo Cascata 
Da relação apresentada, somente são aplicadas: 
a) 1, 2 e 3 
b) 1, 2 e 4 
c) 2, 3 e 4 
d) 1, 3 e 4 
e) 1, 2, 3 e 4 podem ser aplicados 
 
8. (TJ – SC – 2021 – adaptado) Um Analista de Sistemas atua no desenvolvimento 
de software utilizando diferentes processos e metodologias cujas características 
são: 
I. Aspectos significativos do processo devem estar visíveis aos responsáveis pelos 
resultados. A transparência requer que estes aspectos tenham uma definição 
padrão comum para que os observadores compartilhem um mesmo 
entendimento do que está sendo visto. Por exemplo: uma linguagem comum 
referindo-se ao processo deve ser compartilhada por todos os participantes; e 
 
 
 
 
 
 
 
 
 
58 
 
 
aqueles que realizam o trabalho e aqueles que inspecionam o incremento 
resultado do trabalho devem compartilhar uma definição comum de Pronto. 
II. A implementação inicial do software apoia duas atividades do processo de 
engenharia de requisitos: a) levantamento de requisitos, pois os usuários podem 
realizar experiências para ver como o sistema apoia seu trabalho, podendo ter 
novas ideias para os requisitos, identificar pontos positivos e negativos 
do software e até propor novos requisitos de sistema; b) validação de requisitos, 
pois a implementação pode revelar erros e omissões nos requisitos propostos, 
levando os usuários a crerem que sua visão inicial era incorreta e incompleta e 
dando a eles oportunidade de fazerem ajustes na especificação de sistema para 
refletir sua compreensão alterada dos requisitos. 
III. O cliente está sempre participando do desenvolvimento do sistema; testes de 
unidade e de aceitação fornecem feedback sobre o sistema; oportunidades e 
problemas são identificados o mais rápido possível; os códigos são integrados e 
testados constantemente, para o caso de algum problema ser detectado, poder 
ser corrigido imediatamente. 
As características I, II, III são, respectivamente: 
a) Iconix, ASD e DSDM 
b) Scrum, OpenUp e DSDM 
c) Kanbam, OpenUp e Crystal 
d) Scrum, Prototipação e XP 
e) XP, Crystal e ASD 
 
 
 
 
 
 
 
 
 
 
 
59 
 
 
METODOLOGIA XP 
 
 
 
 
4.1 HISTÓRIA, CONCEITO E IMPORTÂNCIA DA METODOLOGIA XP 
Além de terem participado da elaboração do Manifesto Ágil (Capítulo 3), no 
início dos anos de 1990, Kent Beck, Ward Cunninghan e Ron Jeffries (Figura 15), 
partiram dos valores por ele já definidos anteriormente e criaram uma metodologia 
inovadora para projetos denominada de Extreme Programming, a qual se fez 
aplicada primeiramente em um projeto para a empresa automotiva Chrysler no ano 
de 1996 (AUDY, 2022; WILDT et al., 2015; OLIVEIRA, 2018). 
 
Figura 15: Criadores da Metodologia Extreme Programming 
 
 
Kent Beck Ward Cunninghan Ron Jeffries 
Fonte: O autor 
 
Sua redução de denominação para XP, sugerida por Kent Beck, em virtude do 
destaque das letras eXtreme Programming, leva ao entendimento de que a 
metodologia se faz indicada principalmente para projetos em que os requisitos 
podem ser modificados a qualquer momento, demonstrando seu grau de 
flexibilidade neste sentido, e requerendo o entendimento de que o trabalho é 
efetivado em um ambiente de constante mudança, podendo oscilar entre os 
extremos (SOMMERVILLE, 2011; WILDT et al., 2015; WAZLAWICK, 2013). 
Assim, atuando em equipes pequenas e médias (sendo este o principal público 
da metodologia), prima-se pela ação iterativa, disciplina, pela possibilidade do 
UNIDADE 
04 
 
 
 
 
 
 
 
 
 
60 
 
 
desenvolvimento/integração/testagem de quantidades elevadas de versões 
contando com a atuação de programadores com variados conhecimentos 
(SOMMERVILLE, 2011; WILDT et al., 2015). 
Audy (2022) destaca como valores extremos no XP os seguintes: 
a revisão, a integração, a refatoração e o teste de código que necessitam ser 
efetivados constantemente/diariamente; 
a simplicidade que deve se aplicar no código e nos padrões de uso; 
a necessidade de contar com a participação do cliente sempre e diariamente se 
for o caso; 
a necessidade da arquitetura e das iterações serem definidas/redefinidas por 
todos os indivíduos envolvidos rapidamente e sem perda de tempo; 
a importância de que o tempo de trabalho incorpore espaço para descanso, não 
ultrapassando a carga de 40h semanais. 
Neste sentido, são valores gerais defendidos pelo XP estes que seguem listados 
na Figura 16. 
 
 
 
 
 
 
 
 
 
 
61 
 
 
Figura 16: Valores gerais defendidos pelo Extreme Programming 
Fonte: adaptado de Wildt et al., 2015; Wazlawick (2013); Oliveira (2018) 
 
Isto, conforme Oliveira (2018), favoreceu o aperfeiçoamento de práticas em 
matéria de desenvolvimento de software por meio da definição dos conceitos de: 
a) Integração Contínua: prima em garantir que o código se mantenha 
executável mesmo após o processo de alteração, no intuito de que seja possível 
manter a melhoria contínua com identificação de falhas por meio de testes 
automatizados e unitários; 
b) Ambiente Informativo:prima que o local em que se desenvolve o projeto 
espelhe o nível de desenvolvimento, garantindo que todos, independentemente de 
fazerem ou não parte da equipe, consigam identificar o seu status; 
c) Folga: prima em garantir que haja no planejamento previsibilidade de 
tempo para possíveis riscos, evitando que o tempo de execução seja 
completamente comprometido e atrasos por imprevistos tornem-se uma realidade. 
Deste modo, para melhor compreender a necessidade do cliente, no XP são 
COMUNICAÇÃO
•essencial pois age na transmição e troca de informacoes/conhecimentos, além de 
incentivar o feedback.
•consegue ocorrer pessoalmente ou virtualmente, escrita ou falada, contudo a 
efetividade pode ser afetada. 
•a presencial, face a face, é mais indicada fazendo uso de quadro branco para 
rabiscar ideias. 
SIMPLICIDADE
•mantém o foco no trabalho e na agregação de valor.
•foco em implementar o que é suficiente em atendimento à necessidade do 
cliente.
•minimizar a criação de classes complexas. 
FEEDBACK
•deve ser realizado a todo momento.
•o cliente aprende com o sistema, reavalia suas necessidades e gera feedback 
para o desenvolvimento.
CORAGEM
•as características pessoais dos membros da equipe em relação ao que e quando 
devem se comunicar.
•minimiza os medos naturais, principalmente em momentos de crise.
RESPEITO
•o respeito gera sentimento de valor
•aplica-se ao time e ao cliente.
•eleva a motivacao e a lealdade entre as pessoas envolvidas no projeto
•auxilia para a construção de uma relação transparente, duradoura, colaborativa e 
de entrega de valor. 
 
 
 
 
 
 
 
 
 
62 
 
 
estabelecidos cenários que expressam a história do usuário, ou seja, os requisitos do 
sistema, permitindo que, uma vez conhecidas as tarefas que necessitam se efetivar 
na forma de requisitos de sistema, os programadores se sintam confortáveis para 
implementarem a parte de código, possibilitando em seguida a efetivação de testes 
(SOMMERVILLE, 2011; GOMES, 2021). 
Demonstra-se assim o nível de simplicidade estabelecido pela metodologia 
garantindo que a comunicação entre cliente e desenvolvedor seja facilitada. 
 
 
 
 
4.2 FINALIDADE DA METODOLOGIA XP 
A Metodologia XP se volta para a criação de software de alta qualidade e 
valor, por conta de que o desenvolvimento em si possui início, meio e finalização, ou 
seja, efetiva o ciclo completo de desenvolvimento de software (WILDT et al., 2015). 
Tem ainda como aplicação a possibilidade de que partes do projeto possam 
se fazer executados desde as fasesiniciais de sua concepção, permitindo que, de 
modo incremental e contínuo, as funcionalidades sejam adicionadas às partes e ao 
projeto como um todo (WAZLAWICK, 2013). 
Neste sentido, compreende que a concepção de software é uma atividade 
de cunho intelectual, requerendo ajustes sucessivos até que consiga alcançar sua 
versão final, e para tal, estabelece a importância da comunicação presencial entre 
membros da equipe (entre si) e clientes, ofertando a possibilidade de que melhores 
e maiores informações sejam devidamente alcançadas e incorporadas 
constantemente ao projeto (COHN, 2005). 
 
 
Status: refere-se à situação/condição/posição alcançada por algo/alguém em um dado 
momento. Disponível em: https://bit.ly/3Atq3Y8. Acesso em: 23 de mar. 2023 
 
Aprofunde-se mais nos conhecimentos acerca do XP por meio do site oficial dele. 
Disponível em: https://bit.ly/3At7Iuf Acesso em: 22 de mar. 2023, desenvolvido por Don 
Wells. Vale a pena uma visita e um maior aprofundamento neste assunto. 
https://bit.ly/3Atq3Y8
https://bit.ly/3At7Iuf
 
 
 
 
 
 
 
 
 
63 
 
 
4.3 VANTAGENS E RESTRIÇÕES DE APLICAÇÃO DA METODOLOGIA XP 
Em suas práticas modernas e ágeis o XP espelha elementos anteriormente 
descritos no Manifesto Ágil, como o desenvolvimento incremental que mantém a 
contínua atualização e simplificação do sistema/código, o envolvimento entre o 
cliente e o time de desenvolvimento, garantindo que as informações fluam com 
maior tranquilidade entre os participantes e o foco nas pessoas e não nos processos, 
por meio do modo e tempo destinado à programação, descrevendo suas vantagens 
(SOMMERVILLE, 2011; WAZLAWICK, 2013). 
No entanto, a metodologia é difícil de ser implantada em equipes onde os 
desenvolvedores já possuem uma metodologia de trabalho próprio e individualizado, 
sem espaço para e crença na aprendizagem coletiva, a troca de 
informações/conhecimentos e o trabalho em par (SOMMERVILLE, 2011). 
Isto, além de outros aspectos, requer dos membros da equipe a abertura para 
novos processos de concepção do ambiente de trabalho, onde o cliente/usuário 
não recebe o produto apenas ao final da sua elaboração, participando de todas as 
etapas de sua construção (GOMES, 2021). 
 
4.3.1 EQUIPES E PAPÉIS NA METODOLOGIA XP 
Na metodologia XP a Equipe de Trabalho se faz composta por um grupo de 
profissionais atuantes em ações/objetivos complementares, de modo que, é possível 
situações em que um membro possa tomar a incumbência de mais de um papel 
(WELDT et al, 2015; WAZLAWICK, 2013). 
Contudo, isto não deve se aplicar às ações de gerente e técnico de equipe, 
pois compreende-se a possibilidade de afetar no desempenho direto da função por 
questão de conflito de interesses (WELDT et al, 2015). 
Deste modo a equipe se divide nas seguintes funções/papéis apresentadas 
por meio do Quadro 12. 
 
Quadro 12: Funções e Papéis dos membros do time XP 
Gerente Possui papel em ação administrativa na qual estabelece a comunicação 
entre clientes, fornecedores e organização, além de acompanhar o 
planejamento do projeto que se desenvolve durante todo o trabalho, não 
se limitando a uma etapa. Agenda reuniões, efetua demonstração do 
sistema para cliente/usuário, gera relatórios/gráficos que favoreçam o 
acompanhamento do projeto, além de administrar os requisitos essenciais 
 
 
 
 
 
 
 
 
 
64 
 
 
e que compõe a infraestrutura fundamental ao trabalho da equipe, como 
equipamentos, espaços, licenças, entre outros. 
Coach Possui função técnica de orientação a todos os membros da equipe, 
agindo na manutenção da disciplina, das práticas ágeis, das cerimônias 
e no uso de algumas ferramentas. Em sua atuação, que assegura a 
execução dos processos, cabe facilitar reuniões, orientar impasses e 
manter o time engajado. 
Testador ou 
Analista de 
Teste 
Mesmo fazendo parte da equipe XP, age em conjunto com o cliente para 
escolher/desenvolver/escrever os testes aos quais o sistema será 
submetido, levantando informações importantes de correção que 
deverão ser repassadas para que a equipe de desenvolvimento as efetue. 
Redator 
Técnico 
Atua em auxílio à equipe de desenvolvimento no processo de 
documentação do sistema. 
Desenvolvedor 
ou 
Programador 
Necessita ser dotado de conhecimentos que lhe permitam atuar em 
variadas etapas de desenvolvimento do projeto de software elevando o 
nível de agilidade do time. Portanto, além de analisar, projetar, prototipar 
e codificar, é importante ainda estimar as histórias de usuário, transformá-
las em tarefas, escrever testes e código e aprimorar o design final do 
sistema. 
Cliente ou 
Dono do Ouro 
Sua ação está em definir/priorizar os elementos que compõe as histórias 
de usuário e validar o produto através da efetivação de testes. Para tal 
necessita estar próximo ao time de desenvolvimento de modo a 
estabelecer conexões, trocar informações e dirimir possíveis dúvidas. 
Cleaner Membro do time que atua em prol de um código mais limpo, simples. Para 
tal influencia a limpeza, a refatoracão, a redução da complexidade e o 
enxugamento do código. Sob esta demanda, é importante vasto 
conhecimento técnico, de arquitetura, de negócios e didático, 
permitindo o impulsionamento de suas ações e a efetiva atuação junto 
ao time. 
Tracker Sua ação está em gerar métricas que permitam acompanhar o 
desenvolvimento do time, percorrendo a história de iteração da 
aplicação e seus apontamentos. Isto favorece a que possíveis resultados 
insatisfatórios não se efetivem, permitindo-se serem modificados antes da 
finalização do projeto através da relação do tracker com o time. 
Fonte: adaptado de Weldt et al. (2015) e Wazlawick (2013) 
 
Demonstrou-se assim o grau de profissionalismo apresentado por esta 
metodologia ágil e a possibilidade de que efetivamente consiga alcançar os 
objetivos para os quais se fez dimensionada. 
 
4.3.2 MODO DE AÇÃO E ETAPAS DA METODOLOGIA XP 
A metodologia XP possui um composto de ações que a tornam única e neste 
tópico as principais serão devidamente identificadas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
65 
 
 
4.3.3 Jogo do Planejamento (Release Planning) e História de Usuário 
As entregas se fazem planejadas por clientes e desenvolvedores de modo 
colaborativo, por meio da escrita de história de usuário, permitindo que a 
comunicação seja a tônica dos processos envolvendo estes membros do projeto 
(WILDT et al., 2015; WAZLAWICK, 2013). 
Assim, ao invés do cliente contar/falar a respeito das funcionalidades que o 
sistema necessita dispor, ele as escreve, uma a uma, em um cartão/papel de modo 
simplificado e objetivo (WAZLAWICK, 2013). 
A história de usuário vai se fazendo construída, respaldando a ação da equipe 
de desenvolvimento que as transforma em tarefas, as quais, por sua vez, deverão ser 
implementadas em questão de poucas horas, não ultrapassando a carga de 1 dia 
de trabalho, requerendo, por conseguinte, que o profissional se volte a esta ação, 
sem distrações em atividades paralelas, colocando toda a sua atenção e energia no 
processo em execução (WILDT et al., 2015). 
Audy (2022) destaca que as informações apresentadas por meio da história 
de usuário devem conter características de independência entre os cartões 
elaborados, a possibilidade de negociação destas características, a agregação de 
valor dos relatos, possível mensuração e testagem das informações apresentadas, 
além de conterem dados suficientes, nem a mais e nem a menos. 
Justamente no intuito de que o tempo seja melhor utilizado, pode-se solicitar 
ao cliente a priorização de histórias que possuam maior impacto para o negócio, 
favorecendo o refinamento de requisitos (SOMMERVILLE, 2011). 
Por conseguinte, à medida que as funcionalidades definidas nos cartões de 
história de usuário vão se efetivando em desenvolvimento, anotações são realizadas 
nos cantos do cartão, permitindo o controle e o acompanhamento do progresso deexecução (WAZLAWICK, 2013). 
Contudo, tal metodologia compreende que os requisitos podem sofrer 
alteração de acordo com a especificidade do negócio, empreendendo o 
desenvolvimento de novos cartões de história de usuário a serem implementados 
para uma futura entrega (SOMMERVILLE, 2011). 
Em uma periodicidade que considera o espaço de aproximadamente 2 
semanas entregas são efetivadas para o cliente, procurando-se manter sempre estes 
prazos, mesmo que ocorram intercorrências (SOMMERVILLE, 2011). 
 
 
 
 
 
 
 
 
 
66 
 
 
Contudo, uma nova versão do sistema pode acarretar a necessidade de 
execução de uma série de procedimentos, incluindo os testes antes da entrega, o 
que deverá ser negociado com cliente para futuros releases que tendem a 
ultrapassar a periodicidade de 2 semanas referida anteriormente. Isto se explica 
inclusive pelo fato de que o cliente pode, conforme a filosofia da metodologia, 
alterar todas as histórias de usuário com base no aprendizado alcançado a partir do 
desenvolvimento e experimentação do sistema WAZLAWICK, 2013). 
Isto demonstra que, neste jogo, o cliente não se coloca como oponente e sim 
como parceiro de desenvolvimento. 
 
 
 
 
4.3.4 Programação em Par (Pair Programming) e Código Coletivo 
Em um time XP os desenvolvedores são levados a trabalhar em par, de modo 
que além da efetivação do revezamento de papéis a cada 15-20 minutos, as revisões 
e sugestões sejam desenvolvidas no momento do desenvolvimento e não depois dele 
(WAZLAWICK, 2013). 
Conforme apontam Wildt et al. (2015), Wazlawick (2013) e Sommerville (2011), 
os programadores atuam no processo como piloto e copiloto de produção, 
demonstrando a divisão de papéis entre a dupla, ou seja, a construção, por ser 
colaborativa, solicita habilidades sociais e cooperativas. 
Release: refere-se ao lançamento/liberação de novas versões de software (SOMMERVILLE, 
2011; WAZLAWICK, 2013; WILDT et al., 2015). 
 
A efetivação de Histórias de Usuário se posiciona para facilitar o levantamento de 
requisitos, de modo que a responsabilidade pelas informações alcançadas passa a ser 
partilhada com o cliente/usuário. Isto auxilia pois nem sempre o desenvolvedor conhece 
a ação de negócios que aquela função para a qual deverá desenvolver em código 
executará, garantindo assim que possa compreender na prática (por meio da explicação) 
como o processo deverá se efetivar. Esta prática é adotada em muitas das metodologias 
ágeis, pois se compreende que o usuário/cliente é o maior conhecedor do seu modelo de 
negócios (SOMMERVILLE, 2011; PRESSMAN; MAXIM, 2016) 
 
 
 
 
 
 
 
 
 
67 
 
 
Tal prática beneficia a ambos, de modo que segue na Figura 17 listagem 
apontado tais benefícios. 
 
Figura 17: Benefícios da Programação em Par 
 
Fonte: adaptado de Wildt et al. (2015) e Sommerville (2011) 
 
No sentindo de romper a resistência quanto a esta sistemática de trabalho 
coletiva, Sommerville (2011) e Wildt et al. (2015) destacam que a produtividade 
alcançada por desenvolvedores atuantes em par é a mesma de programadores 
isolados, contudo, a redução de falhas no processo e o compromisso interpessoal por 
conta da parceria é que se dispunham como elementos diferenciais. 
Por conseguinte, o desenvolvimento se apresenta através de um Código 
Coletivo, pois todos os membros da equipe acabam atuando no desenvolvimento 
do software, requerendo unicamente a definição de um padrão a ser seguido 
(WAZLAWICK, 2013). 
Isto mais ainda é reflexo de uma prática firmada na colaboração e na 
comunicação, demonstrando que o conhecimento de um time não é individual e 
sim coletivo, elevando inclusive a qualidade do produto elaborado (WAZLAWICK, 
2013; WILDT et al., 2015). 
 
4.3.5 Stand up Meeting 
O Stand up Meeting refere-se às reuniões que devem se efetivar sempre no 
início do trabalho, de modo rápido, em pé, não ultrapassando o tempo de 10-15 
minutos, de modo que os membros do time utilizem o momento para comentar as 
ações efetivadas no dia anterior e a projetar as que deverão ser executadas ao 
 
 
 
 
 
 
 
 
 
68 
 
 
longo daquele dia de atividades (WAZLAWICK, 2013; WILDT et al., 2015). 
Em círculo e sentido horário/anti-horário cada membro deve relatar as ações 
já efetivadas (dia anterior) e as que deverão se desenvolver (dia em curso), 
garantindo um maior alinhamento entre os membros do time por meio da visão 
coletiva acerca das ações em execução, favorecendo ainda a troca de 
conhecimentos (WAZLAWICK, 2013; WILDT et al., 2015). 
No entanto, Wildt et al. (2015) relatam que alguns erros são comuns na 
implantação/efetivação de um Stand up Meeting, sendo os mais comuns descritos 
na Figura 18. 
 
Figura 18: Erros comuns em um Stand up Meeting 
 
Fonte: adaptado de Wildt et al. (2015) 
 
Demonstra-se assim pontos que não devem se deixar interpor à realização do 
Stand up Meeting, dada a sua importância. 
 
4.3.6 Padrão de Codificação e Metáforas 
Os desenvolvedores tendem a expressar no trabalho/código suas 
características pessoais, no entanto, como o código necessita se comunicar com 
todo o time em face de ser uma construção coletiva, a especificação de um padrão 
de codificação que espelhe estilo único de programação a ser seguido por todos é 
 
 
 
 
 
 
 
 
 
69 
 
 
uma alternativa viável para dirimir possíveis problemas de transmissão de ideias 
(WAZLAWICK, 2013). 
Neste sentido, incorpora-se o uso de metáforas favorecendo para que, em 
pontos-chave do projeto, as denominações aplicadas também sejam de fácil 
entendimento para todos (WILDT et al., 2015). 
Assim, sempre que um membro do time identificar a mudança de algum 
destes elementos, deve alertar para que seja retomada a utilização do padrão 
(SOMMERVILLE, 2011), garantindo unidade no produto desde a sua concepção até 
a finalização. 
 
4.3.7 Refatoração (Refactoring) 
Esta ação é sinônimo de melhoria contínua com implementação imediata, 
principalmente quando se fizer necessária a simplificação da escrita do 
sistema/código e/ou implementação de novidades/alterações em histórias de 
usuário o que tende a elevar a qualidade do produto final (SOMMERVILLE, 2011; 
WAZLAWICK, 2013). 
A Refatoração, portanto, mesmo não sendo uma prática definida pela 
metodologia XP, possui nela sua importância elevada, pois a melhoria do código 
favorece a manutenção, independentemente do tipo (WAZLAWICK, 2013). 
Assim, a refatoração é consequência do Código Coletivo e do Padrão de 
Codificação, uma vez que se compreende a importância de que o código 
apresente boa legibilidade, devendo se tornar uma prática regular e constante, pois 
sua correta realização economiza tempo, aumenta a qualidade, melhora o design, 
torna o código legível e reutilizável e minimiza defeitos (SOMMERVILLE, 2011; WILDT et 
al., 2015). 
 
 
 
 
A Refatoração é um dos pontos de fundamental importância da Metodologia XP, pois a 
partir dela tem-se o refinamento sucessivo do código, tornando-o cada vez mais limpo e 
simples, contando não somente com a ação constante do Cleaner, mas também do Par 
de Desenvolvimento (SOMMERVILLE, 2011; WILDT et al., 2015; WAZLAWICK, 2013). 
 
 
 
 
 
 
 
 
 
 
70 
 
 
4.3.8 Desenvolvimento guiado por Testes (Test-Driven Development - TDD) 
Configura-se como uma ação em que a busca e a correção de falhas se 
efetiva durante o processo de desenvolvimento por meio de testes que podem ser 
de (WAZLAWICK, 2013): 
a) Teste de Unidade:teste que se efetiva em um componente de software 
individualmente, podendo focar em uma classe, método ou função, no intuito de 
verificar se a implementação se deu da maneira correta; 
b) Teste de Aceitação: teste efetivado pelo cliente no intuito de validar o 
software em relação aos seus requisitos. 
Neste sentido, o Desenvolvimento guiado por Testes necessita seguir as 
seguintes regras apresentadas por meio da Figura 19. 
 
Figura 19: Regras aplicáveis ao Desenvolvimentoguiado por Testes 
 
Fonte: adaptado de Wazlawick (2013) 
 
Caracterizando deste modo o grau de exigência definido pela metodologia 
em relação ao seu processo de execução. 
 
 
 
Publicizado: tornar público, comunicar aos demais. Disponível em: https://bit.ly/3HbOqx8. 
Acesso em: 25 de mar. 2023 
 
https://bit.ly/3HbOqx8
 
 
 
 
 
 
 
 
 
71 
 
 
 
 
 
O Modelo em Cascata é o mais conhecido para o desenvolvimento de software, tendo 
sido apresentado no Capítulo 1 deste material. Volte até lá e releia as considerações 
efetivadas para que após isto possa analisar criticamente os ganhos alcançados, em 
matéria de desenvolvimento de projetos de software, a partir da Metodologia XP. Você 
vai se surpreender com a comparação! 
 
 
 
 
 
 
 
 
 
72 
 
 
FIXANDO O CONTEÚDO 
1. (CONSULPAM - Prefeitura de Irauçuba - CE – 2022 - adaptado) Dentro das 
metodologias ágeis, o processo de desenvolvimento de software especificado 
pela Programação Extrema (eXtreme Programming, XP) possui algumas 
características específicas. Uma das características do XP versa sobre as 
necessidades de melhoria no projeto, que devem ser realizadas através de um tipo 
de processo específico para este fim. Assinale a alternativa com o nome deste tipo 
de processo. 
a) Testes de Unidade 
b) Refatoração 
c) Histórias do Usuário 
d) Programação em Pares 
e) Teste de Aceitação 
 
2. (IBFC - 2022 - AFEAM - adaptado) Quanto aos conceitos fundamentais sobre XP 
(Extreme Programming), explicitados em Sommerville (2011), analise as afirmativas 
a seguir e dê valores Verdadeiro (V) ou Falso (F). 
( ) Os requisitos são expressos como cenários (chamados de histórias do usuário), que 
são implementados diretamente como uma série de tarefas. 
( ) Em um processo de XP, o cliente jamais poderá ser considerado um membro da 
equipe de desenvolvimento. 
( ) Os pares de desenvolvedores trabalham somente em suas áreas específicas, e não 
em todas as áreas do sistema. 
Assinale a alternativa que apresenta a sequência correta de cima para baixo. 
a) V - F – F 
b) V - V – F 
c) F - V – V 
d) F - F – V 
e) V – V – V 
 
3. (IADES - 2022 - ADASA) Assinale a alternativa correspondente ao processo de 
desenvolvimento de software, cujos valores centrais são comunicação, 
simplicidade, feedback, coragem e respeito. 
 
 
 
 
 
 
 
 
 
73 
 
 
 
a) Scrum 
b) TDD 
c) Modelo interativo 
d) XP 
e) Modelo incremental 
 
4. (CESPE / CEBRASPE – 2022 - adaptado) Em relação à metodologia XP e seus valores 
fundamentais, assinale a opção que apresenta aquele que permite ao cliente 
conduzir diariamente o desenvolvimento e garantir que a equipe direcione suas 
atenções àquilo que irá gerar mais valor. 
a) comunicação 
b) feedback 
c) coragem 
d) simplicidade 
e) satisfação 
 
5. (FGV - 2022 - SEFAZ-AM) A metodologia Extreme Programming (XP) define uma 
série de práticas para desenvolvimento de software. 
Assinale a opção que apresenta a prática desta metodologia que contribui para 
produção de softwares de alta qualidade. 
a) Testes de aceitação devem ser construídos por analistas especializados, sem a 
participação do cliente. 
b) Programadores devem ter autonomia para utilizar seu próprio estilo de codificação 
desde que seja inteligível. 
c) Postergar sempre que possível o merge do trabalho dos desenvolvedores em uma 
linha principal compartilhada. 
d) Programar em par/dupla num único computador para assegurar que o código 
seja sempre revisto por duas pessoas. 
e) Vedar a refatoração de códigos já testados e aprovados para evitar a introdução 
de novos erros. 
 
6. (FUNDATEC - 2022 - IPE Saúde) O processo de desenvolvimento de software 
especificado pela Programação Extrema (eXtreme Programming – XP) começa 
 
 
 
 
 
 
 
 
 
74 
 
 
com uma fase de planejamento, na qual são levantados e descritos requisitos para 
o software na forma de _____________________. O projeto e desenvolvimento dos 
requisitos busca focar nas necessidades imediatas. Necessidades de melhoria no 
projeto são realizadas através de processos de ____________. Além disso, se 
recomenda que a atividade de codificação ocorra em _______________ e seja 
guiada por _______________. 
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do 
trecho acima. 
a) histórias de usuários – refatoração – quartetos – testes 
b) histórias de usuários – testes – pares – casos de uso 
c) histórias de usuários – refatoração – pares – testes 
d) modelos de domínio – refatoração – pares – testes 
e) modelos de domínio – testes – quartetos – casos de uso 
 
7. (Instituto Consulplan - 2021 - TJM-MG - adaptado) O XP (Extreme Programming), 
uma metodologia ágil de desenvolvimento, foi empregado, pela primeira vez, em 
1996, em um projeto da Chrysler, chamado de C3 (Chrysler Comprehensive 
Compensation). Considerando que são apresentados cinco principais valores, 
assinale, a seguir, dois desses valores. 
a) Revisão e Respeito 
b) Coragem e Respeito 
c) Simplicidade e Revisão 
d) Feedback e Informação 
e) Satisfação e Efetividade 
 
8. (IUDS - 2021 - IF-RJ - adaptado) Extreme Programming (XP) é um método de 
desenvolvimento ágil. 
Analise as afirmações, a seguir, acerca do desenvolvimento XP. 
I - Bom gerenciamento de projeto e um envolvimento constante do cliente são 
cruciais para o sucesso do projeto. 
II - Provê pouco suporte para o gerenciamento de projeto e o cliente está, 
constantemente, sob pressão. 
 
 
 
 
 
 
 
 
 
75 
 
 
III - É motivado por 2 elementos cruciais: comunicação efetiva entre as pessoas 
envolvidas no projeto e a divisão de responsabilidades entre pessoas da área técnica 
e o cliente. 
Estão corretas as afirmações: 
a) I e II 
b) II e III 
c) I, II e III 
d) I e III 
e) Nenhuma das alternativas 
 
 
 
 
 
 
 
 
 
 
76 
 
 
METODOLOGIA SCRUM 
 
 
 
 
 
 
 
5.1 HISTÓRIA, CONCEITO E IMPORTÂNCIA DA METODOLOGIA SCRUM 
Nas bases da Metodologia Scrum, ainda nos anos de 1896 tem-se referência 
que em um artigo relacionado à fabricação de automóveis e bens de consumo, 
Hirotaka Takeuchi e Ikujiro Nonaka tenham apontado pela primeira vez uma 
metodologia de gerenciamento de projetos voltada a equipes pequenas, auto-
organizáveis, multidisciplinares, focadas em entrega de valor e melhoria contínua, 
traços de melhoria de desempenho, demonstrando que um novo modo de 
conceber a produção em todas as suas fases já começava a se fazer pensada 
(AUDY, 2022; FERNANDES; ABREU, 2014; SABBAGH, 2022). 
No início dos anos de 1990, Peter DeGrace e Leslie Hulet Stahl associaram o 
pensamento de Hirotaka Takeuchi e Ikujiro Nonaka a uma determinada estratégia do 
jogo de rúgbi, na qual os jogadores se apoiam mutuamente diante do seu adversário, 
e que recebe a denominação de Scrum, aplicando este conceito como ideal para 
a sistemática de produção referida em 1986 (AUDY, 2022; FERNANDES; ABREU, 2014). 
Contudo, a criação oficial de uma Metodologia Ágil denominada de Scrum, 
deu-se somente no ano de 1995, através dos esforços de Ken Schwaber, Jeff 
Shuterland e Mike Beedle (Figura 20) sendo oficializado por meio da publicação de 
um artigo intitulado “Scrum and the Perfect Storm”, que traduzido livremente se 
compreende como “Scrum e a Tempestade Perfeita” demonstrando os resultados 
alcançados com sua aplicação (SABBAGH, 2022; GOMES, 2014; OLIVEIRA, 2018; 
AUDY, 2022). 
 
UNIDADE 
05 
 
 
 
 
 
 
 
 
 
77 
 
 
Figura 20: Criadores da Metodologia Scrum 
 
Ken Schwaber Jeff Shuterland Mike Beedle 
Fonte: O autor 
 
Em 2001, após a assinatura do Manifesto Ágil, os criadores da Metodologia 
Scrum lançaram suas ideias por meio do livro “Agile Software Development with 
Scrum”, publicizando em definitivo e comercialmente este modo de trabalhar 
(SABBAGH, 2022; GOMES, 2014; OLIVEIRA, 2018; AUDY, 2022; FERNANDES; ABREU, 2014). 
 
 
 
OScrum, portanto, firmou-se como um framework ágil, voltado para a entrega 
frequente de projetos de software complexos, possuindo uma abordagem iterativa, 
regular, incremental, com ciclo de vida contínuo e entregas/prazos previamente 
definidos, dotando-se de estratégias minimizadoras do risco de execução e 
finalização no que concerne à inserção/ajustes de funcionalidades em um produto 
computacional (SABBAGH, 2022; FERNANDES; ABREU, 2014, WAZLAWICK, 2013; ALFF, 
2022). 
 
 
 
Aprofunde-se mais nos conhecimentos acerca do Scrum por meio dos sites oficiais da 
metodologia. Disponível em: https://bit.ly/40DMmFb. Acesso em: 25 de mar. 2023 
Neles são sempre disponibilizadas atualizações acerca da metodologia, além de outras 
informações. Vale a pena a visita para maior aprofundamento no assunto! 
 
Framework: estrutura que serve de guia prática para a elaboração de um produto ( 
SABBAGH,2022). 
https://bit.ly/40DMmFb
 
 
 
 
 
 
 
 
 
78 
 
 
Sua versatilidade está na entrega de projetos com rapidez mesmo em casos 
de necessidade de replanejamento, na alta adaptabilidade por conta do grau de 
flexibilidade a mudanças com ajuste em entregas, e na possibilidade de 
autogerenciamento da equipe que se faz alcançada a partir do momento em que 
os membros alcançam a maturidade proveniente de suas próprias experiências 
(ALFF, 2022) 
A partir do Scrum, portanto, tem-se um conjunto de melhores práticas que são 
avaliadas regularmente, garantindo gradualmente um processo de descoberta e 
melhoria contínua em atendimento às exigências do cliente quanto ao projeto, com 
qualidade, sustentabilidade e adição de valor (SABBAGH, 2022; AUDY, 2022). 
Isto requer a definição de papéis e processos que devidamente equilibrados, 
seguidos e coordenados atende aos pilares empíricos e recorrentes que 
fundamentam o Scrum, sendo estes apresentados por meio da Figura 21. 
 
Figura 21: Pilares do Scrum 
 
Fonte: adaptado de Oliveira (2018); Fernandes e Abreu (2014) e Audy (2022) 
 
Demonstra-se assim como a sistemática de trabalho envolve os membros da 
equipe (a serem especificados mais adiante) para, tornando-os protagonistas de 
todo o processo de desenvolvimento do produto. 
 
 
 
 
 
 
Empírico: baseado na experiência, na prática. Disponível em: https://bit.ly/3NbjNM8. 
Acesso em: 28 de mar. 2023 
 
https://bit.ly/3NbjNM8
 
 
 
 
 
 
 
 
 
79 
 
 
 
5.2 FINALIDADE DA METODOLOGIA SCRUM 
Configurando-se como uma metodologia ágil, de caráter iterativo, 
incremental, aplicável ao desenvolvimento/manutenção de projetos complexos, 
tem por principal característica a possibilidade latente de realizar entregas em menor 
tempo, mesmo contando com a participação efetiva e constante do cliente em 
processo de cooperação com os membros da equipe de desenvolvimento 
(FERNANDES; ABREU, 2014; OLIVEIRA, 2018; GOMES, 2014). 
Sommerville (2011) e Fernandes e Abreu (2014) destacam que o conceito 
desta metodologia não se faz aplicável unicamente na engenharia de software em 
si, pois sua atenção se volta principalmente para a iteração, demonstrando 
aplicabilidade a outras áreas de conhecimento que requeiram sistemáticas de 
gestão voltadas a questões empíricas e ao gerenciamento de projetos em geral, nos 
quais a equipe de desenvolvimento atue de forma colaborativa. 
Aos projetos complexos tem-se aqueles que possuem atualizações constantes, 
mas que não admitem a perda de qualidade, o que em se tratando de processo 
incremental constante torna-se uma situação difícil de ser controlada (FERNANDES; 
ABREU, 2014). 
 
5.3 VANTAGENS E RESTRIÇÕES DE APLICAÇÃO DA METODOLOGIA SCRUM 
Sendo um Scrum uma das metodologias ágeis mais populares em face de sua 
adequação não somente ao âmbito do desenvolvimento de software, Sabbagh 
(2022) aponta como benefícios de seu uso a possibilidade de percepção do retorno 
de investimento por parte do cliente por conta das entregas que são de maior 
frequência, denotando ainda uma maior visibilidade quanto ao seu progresso; a 
sistemática utilizada que diminui os riscos de execução e de desperdício no projeto; 
o aumento da produtividade relacionada diretamente à melhoria na qualidade do 
produto e consequentemente um reajuste significativo na vantagem competitiva. 
Às demais organizações favorece ao maior controle e agilidade no 
desenvolvimento e gerenciamento das atividades tendo como foco o trabalho em 
equipe onde a cooperação e o compartilhamento de responsabilidades se 
posiciona como direcionador; maior motivação da equipe envolvida por conta do 
reconhecimento interpessoal e da comunicação efetiva, favorecendo a 
 
 
 
 
 
 
 
 
 
80 
 
 
produtividade e garantindo maior assertividade em relação ao que se faz solicitado 
pelo cliente; aumento na integração da equipe propiciando melhoria na qualidade 
do produto final e identificação antecipada de dificuldades a serem transpostas, 
destacando a habilidade de resposta rápida a fatores/requisitos os quais solicitam 
processos de mudança imediatos (FERNANDES; ABREU, 2014). 
Contudo, Fernandes e Abreu (2014) destacam também que a adoção do 
Scrum deve seguir critérios bem definidos em face dos desafios que se fazem 
interpostos, como o fato de que a equipe necessita possuir habilidade de trabalho 
em grupo, de os membros necessitarem de senso de autogestão, de cada membro 
somente poder fazer parte de uma equipe Scrum por vez em face das exigências de 
compromisso com o processo, de a documentação necessitar se fazer de modo 
frequente pois a cada reunião tem-se novas determinações a serem distribuídas entre 
os envolvidos. 
Conforme Oliveira (2018) destaca, no Scrum apesar de sua leveza e facilidade 
de entendimento, solicita-se a ruptura de paradigmas e padrões culturais já existentes 
em organizações que resolvem implementá-lo em seus processos, o que 
naturalmente demonstra o caráter de dificuldade de domínio que pode se fazer 
latente. 
 
5.4 EQUIPES E PAPÉIS NA METODOLOGIA SCRUM 
Na metodologia ágil Scrum, a definição de equipes e papéis não descarta a 
importância de que a responsabilidade pelo projeto é coletiva, pois, como denotado 
na estratégia do jogo de rúgbi do qual se origina o nome, os jogadores se apoiam 
mutuamente frente ao adversário (SABBAGH, 2022; OLIVEIRA, 2018; AUDY, 2022) 
Contudo, algumas funções estratégicas seguem especificadas por meio do 
Quadro 13. 
 
Quadro 13: Funções e Papéis dos membros do time Scrum 
Product Owner 
(P.O.) ou Dono 
do Produto 
 Sua função está em garantir a manutenção do contato direto, 
representando o cliente frente a equipe de desenvolvimento, 
determinando requisitos/funcionalidades que necessitam ser 
implementadas em cada etapa de ação e responsabilizando-se, 
em face de sua função estratégica como analista de negócios, 
pelas entregas posteriores e pela efetiva realização do projeto. 
 Ele ainda valida juntamente com o cliente as execuções e realiza o 
feedback para a equipe de desenvolvimento, no entanto, não 
 
 
 
 
 
 
 
 
 
81 
 
 
pode se considerar como “dono” do projeto, uma vez que sua 
construção é coletiva. 
 No intuito de que o time siga apenas uma orientação, há somente 
um indivíduo nesta função, cabendo a ele se fazer sempre 
disponível e presente para troca de ideias e esclarecimento de 
dúvidas, além de ser essencial para sua maior agilidade que possua 
conhecimentos aprofundados sobre negócios e interação pessoal, 
podendo ser, deste modo, um indivíduo da equipe contratada ou 
do contratante, contudo, desde que haja conhecimento 
comprovado também em relação à metodologia Scrum. 
Scrum Master ou 
Mestre do Scrum 
 Sua função é de liderança à equipe, garantindo que o método seja 
devidamente entendido, aplicado e seguido, o que lhe exige 
profundo conhecimento e experiência em relação ao Scrum. 
 Necessita agir como agente facilitador, moderador e orientador, 
garantindo que a equipe assumasomente compromissos dentro do 
seu limite de execução, se fazendo presente sempre for necessário. 
 Em seu papel de liderança neutra deve ser dotado de requisitos 
referentes à relação interpessoal, garantindo que atue como 
motivador e garantidor do espírito de equipe, eliminando questões 
que possam impedir o desenvolvimento do grupo. 
Scrum Team, 
Equipe Scrum ou 
Equipe de 
Desenvolvimento 
 Grupo multidisciplinar responsável em desenvolver de modo 
incremental o projeto solicitado pelo cliente atendendo ao requisito 
de construção de valor. 
 Sua composição se faz geralmente com um total de 6 a 10 pessoas. 
 Apesar de não possuir a distinção de funções internas, conta com 
os profissionais que sejam essenciais ao desenvolvimento do 
produto, agindo de modo integrado e multidisciplinar. 
 O grupo, conjuntamente deve se fazer apto a entregar uma versão 
usável do produto para o cliente ao final de cada etapa de 
execução. 
Fonte: adaptado de Oliveira (2018); Sabbagh (2022), Audy (2022), Wazlawick (2013), 
Fernandes e Abreu (2014), Alff (2022) 
 
Destaca-se, como especificado anteriormente, que a atuação dos 
profissionais que fazem, uso da metodologia Scrum é coletiva. 
O Product Owner interage com o Scrum Master e com a Scrum Team de 
acordo com a necessidade imposta, podendo repassar a estes metas a serem 
alcançadas e requisitos a cumprir por meio de um Roadmap de Produto (SABBAGH, 
2022). 
 
 
 
Conforme Sabbagh (2022), Roadmap de Produto é uma espécie de plano elaborado 
antes do início do desenvolvimento do produto, no qual se especifica a cronologia do que 
necessita ser realizado assim como as metas a serem alcançadas (Metas de Roadmap). 
 
 
 
 
 
 
 
 
 
 
 
82 
 
 
5.5 MODO DE AÇÃO E ETAPAS DA METODOLOGIA SCRUM 
Para iniciar esta explanação deve-se compreender que o Scrum possui 
artefatos e atividades que necessitam precisam ser atendidos (FERNANDES; ABREU, 
2014). 
Com a intenção de melhor compreender tais elementos cabe conceituar 
brevemente o que venha a ser uma Sprint. 
Conforme Fernandes e Abreu (2014), a Sprint se refere ao processo de 
interação dado entre os membros de uma equipe Scrum para o desenvolvimento do 
produto e que tende a acontecer com certa frequência em atividades de troca de 
ideias, reuniões, planejamento, revisão e retrospectiva do produto. 
De posse deste primeiro entendimento, e no intuito de melhor se compreender 
as etapas seguidas na metodologia, cabe por conseguinte identificar os elementos 
denominados pela ferramenta de artefatos, e dispostos aqui por meio do Quadro 14. 
 
Quadro 14: Artefatos do Scrum 
Product Backlog 
ou Backlog de 
Produto 
 Consiste em um documento essencial composto por listagem 
evolutiva, detalhada e dinâmica, sem formatação prévia, onde se 
dispõe os requisitos funcionais e não funcionais dos elementos que 
devem fazer parte da construção do produto ao longo do 
desenvolvimento do projeto. 
 Nela especifica-se ainda por ordem de posicionamento a prioridade 
de implementação dos elementos apontados, podendo ser 
reordenada a qualquer momento, o que demonstra seu processo 
de evolução à medida que o projeto vai sendo executado. 
 Ele é mantido pelo Product Owner podendo receber constantes 
atualizações por conta de melhorias até que o produto seja 
finalizado em seu ciclo de versões. 
 Contudo, a execução do que se faz nele descrito ocorre através das 
ações do Scrum Team, mediadas pelo Scrum Master. 
Sprint Backlog 
ou Backlog da 
Sprint 
 Consiste nos itens a serem criados/incrementados/ajustados, 
selecionados dentre os identificados na listagem do Product Backlog 
e que serão efetivados pelo Scrum Team em sua Sprint. 
 Desenvolve-se por meio de listas de tarefas detalhadas seguindo as 
prioridades definidas pelo Product Owner em atividades que devem 
durar de 4 a 16 horas a serem efetivadas e entregues na próxima 
Sprint. 
Incremento do 
Produto 
 Consiste na entrega do que se planejou no Product Backlog e se 
efetivou por meio da Sprint de Backlog. 
Burndown Charts 
Ou Burndown da 
Sprint 
 Demonstração gráfica do trabalho efetivamente realizado ao longo 
de um determinado espaço de tempo, destacando o progresso 
alcançado por meio do esforço conjunto, dinâmico, colaborativo, 
coeso e realizado pelo Scrum Team 
 
 
 
 
 
 
 
 
 
83 
 
 
User Story ou 
História de 
Usuário 
 Consiste na descrição detalhada, valorada, simples e concisa das 
necessidades do usuário/negócio, figurando assim como um 
requisito da listagem do Product Backlog e que auxilia no processo 
de documentação de funcionalidades. 
 Não é parte do framework Scrum, tendo uso opcional. 
 Sendo mais frequente na metodologia XP, segue as características 
apontadas em 4.5.1. 
Fonte: adaptado de Oliveira (2018); Sabbagh (2022), Audy (2022), Fernandes e Abreu (2014) 
e Wazlawick (2013) 
 
A disposição feita no Quadro 14 demonstra que o Backlog de Produto, 
contando ou não com a colaboração do User Story, fornece o direcionamento das 
ações a serem efetivadas e que se fazem transcritas por meio do Sprint Backlog. Por 
conseguinte, o Sprint Backlog gera informações de Incremento que podem ser 
acompanhados através do Burndown Charts. 
O Scrum, sendo um framework, em sua execução, incorpora também uma 
série de eventos com duração definida, ao que se denomina de Timeboxes. Estes 
favorecem para que o tempo seja utilizado com limitação e de maneira consciente, 
acarretando o não desperdício, o ritmo, a regularidade, a objetividade e a 
aplicação de metodologias que favoreçam ações de planejamento cíclicas 
(SABBAGH, 2022, AUDY, 2022; OLIVEIRA, 2018). 
Assim, no intuito de se compreender como os artefatos anteriormente listados 
se fazem alinhados com os Timeboxes em suas ações específicas e definidas pelo 
Scrum, o Quadro 15 apresenta o Eventos do Scrum. 
 
Quadro 15: Eventos do Scrum 
Sprint ou 
Iteração 
 Principal evento da metodologia ágil Scrum. 
 Refere-se ao ciclo periódico e regular de projeto, com duração 
média e acordada previamente de 2 a 4 semanas, no qual o 
produto incremental se faz desenvolvido, efetivando entrega de 
valor ao cliente. 
 Neste período o Scrum Team desenvolve, revisa, planeja e efetiva 
retrospecto das funcionalidades elencadas pela Sprint Backlog. 
 Em caso de identificação de ajustes em funcionalidades já 
existentes, sua implementação fica prospectada para a Sprint 
posterior, garantindo que a melhoria contínua posicione-se como 
um dos valores atendidos pela metodologia. 
Sprint Planning, 
Reunião de 
Sprint Planning 
ou Reunião de 
Planejamento da 
Sprint 
 Refere-se à primeira reunião de uma Sprint, voltada ao 
planejamento do que será realizado no ciclo, especificando 
inclusive o como. 
 Para tal o Product Owner apresenta os User Stories, pactuando as 
entregas, os requisitos e prazos com o Scrum Team. 
Daily Scrum, 
Daily Scrum 
 Refere-se à reunião diária, no mesmo local e horário previamente 
acordado, efetivada em pé com duração máxima de 15 minutos, e 
 
 
 
 
 
 
 
 
 
84 
 
 
Meeting, Scrum 
Diário ou 
Reunião Diária 
que conta com a presença total dos indivíduos e stakeholders que 
compõe o grupo Scrum. 
 Tem a função de gerar visibilidade e planejamento para o dia de 
trabalho que se inicia, além de permitir a avaliação de possíveis 
riscos e de tomadas de decisão não previstas e imediatas. 
 Nele, cada membro da equipe relata suas condições e reconhece 
as dos demais, identificando restrições/impedimentos que possam 
impactar na atividade a ser desenvolvida, afetando a 
sincronicidade de realização do projeto como um todo. 
Sprint Review, 
Revisão da 
Sprint, Revisão 
da Iteração ou 
Reunião de 
Revisão da Sprint 
 Ocorre ao final de uma Sprint, ou seja, no último dia do ciclo, 
permitindo que o trabalho seja entregue para as partes interessadas. 
 Por meio do feedback identifica-seo que deve ser realizado em uma 
próxima Sprint a ser inicida, ficando este retorno sob a atenção do 
Scrum Master e do Product Owner. 
 Faz-se essencial neste processo a presença do Product Owner, 
Scrum Master, Scrum Team e demais Stakeholders, de modo que se 
avalie o desempenho e se discuta possíveis problemas/dificuldades. 
 Após este evento o Scrum Master, de posse dos feedbacks, 
apresenta o conteúdo em particular ao Scrum Team. 
Sprint 
Retrospective, 
Retrospectiva da 
Sprint ou Reunião 
de Retrospectiva 
da Sprint 
 Nesta reunião o Scrum Master, juntamente com o Scrum Team, 
analisa os feedbacks recebidos, identificando pontos positivos, 
negativos, necessidades de melhoria e ações de adaptação a 
serem efetivadas. 
Fonte: adaptado de Oliveira (2018); Sabbagh (2022), Audy (2022), Fernandes e Abreu (2014) 
e Wazlawick (2013) 
 
Neste contexto, a partir dos elementos que embasam a metodologia Scrum, 
como papéis, artefatos e eventos, torna-se possível compreender o fluxo de 
execução do Scrum dado pela efetivação de suas Sprints (planejamento, diária, 
revisão e/ou retrospectiva), nas quais os artefatos são os objetos direcionadores do 
processo a ser executado pelos entes envolvidos. 
Contudo, Sommerville (2011) destaca que antes do início das Sprints efetiva-se 
a fase de planejamento geral voltada a identificação dos objetivos e elementos 
condizentes à arquitetura de software. 
Do mesmo modo, segue afirmando que ao final de todos os ciclos de 
desenvolvimento, em sua última fase, elabora-se a documentação e os manuais de 
usuário, seguida da identificação das lições que se fizeram aprendidas 
(SOMMERVILLE, 2011). 
 
 
 
 
 
 
 
 
 
 
85 
 
 
 
 
 
Analisando as duas metodologias estudadas (XP e Scrum), elas possuem mais pontos em 
comum do que divergências. No entanto, você concorda com a popularidade 
alcançada pelo Scrum? A que se deve isso? 
 
 
 
 
 
 
 
 
 
86 
 
 
FIXANDO O CONTEÚDO 
 
1. (FEPESE - 2019 – CELESC - adaptado) O Scrum é uma metodologia ágil para a 
gestão e planejamento de projetos de software. 
Analise as afirmativas abaixo com relação a este assunto. 
I. As funcionalidades a serem implementadas em um projeto são mantidas em uma 
lista que é conhecida como Product Backlog. 
II. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião 
de planejamento na qual o Product Owner prioriza os itens do Product Backlog e 
a equipe seleciona as atividades que ela será capaz de implementar durante o 
Sprint que se inicia. 
III. Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em 
uma Sprint Analysis Overview. 
Assinale a alternativa que indica todas as afirmativas corretas: 
a) É correta apenas a afirmativa I 
b) São corretas apenas as afirmativas I e II 
c) São corretas apenas as afirmativas I e III 
d) São corretas apenas as afirmativas II e III 
e) São corretas as afirmativas I, II e III 
 
2. (Instituto Consulplan - MPE MG – 2023 - adaptado) Considere o desenvolvimento 
de um projeto de um sistema para o Ministério Público junto à equipe de TI. 
Considere, ainda, utilizar a metodologia Scrum. A equipe Scrum precisa se 
organizar para executar as entregas desse sistema. NÃO faz parte da metodologia 
Scrum: 
a) A equipe (ou “time”) Scrum é interdisciplinar e se auto organiza, sendo composta 
por um product owner; um Scrum máster; e, uma pequena equipe de 
desenvolvimento (três a seis pessoas). 
b) Sua reunião diária é um evento programado de quinze minutos no início de cada 
dia de trabalho, para permitir que os membros da equipe sincronizem as suas 
atividades e se planejem para as próximas vinte e quatro horas. 
 
 
 
 
 
 
 
 
 
87 
 
 
c) A revisão do sprint ocorre no final do sprint, quando a equipe de desenvolvimento 
decidiu que o incremento está completo. Em geral, a revisão do sprint é limitada 
a uma reunião de quatro horas para um sprint de quatro semanas. 
d) Toda equipe (ou “time”) Scrum participa da reunião diária. São realizadas três 
perguntas-chave, que são respondidas por todos os membros da equipe: “o que 
você realizou desde a última reunião de equipe?”; “Quais obstáculos está 
encontrando?”; e, “O que planeja realizar até a próxima reunião da equipe?” 
e) Ao final de um Sprint, a equipe realiza um Sprint Planning Meeting, ou seja, uma 
reunião de planejamento na qual o Product Owner prioriza os itens da Sprint 
Backlog e a equipe seleciona as atividades que ela será capaz de implementar 
durante o Sprint que se inicia. 
 
3. (FGV - SEFAZ MG - 2023) Em uma equipe ágil, um dos papéis mais importantes é o 
do responsável por planejar o desenvolvimento do produto, escolhendo e 
priorizando os itens do backlog e garantindo que o máximo de valor seja entregue 
a cada sprint. Assinale a opção que indica o nome correto desse membro do time. 
a) Scrum Master 
b) Stakeholder 
c) Gerente de Projetos 
d) Product Owner 
e) Desenvolvedor 
 
4. (FGV - CGE-SC - 2023) No Scrum, o principal objetivo da reunião de Retrospectiva 
da Sprint é: 
a) revisar e atualizar o backlog do produto. 
b) avaliar o progresso feito durante a sprint. 
c) planejar a próxima sprint. 
d) identificar e planejar melhorias para a próxima sprint. 
e) revisar e atualizar o backlog da sprint. 
 
 
 
 
 
 
 
 
 
88 
 
 
5. (CESPE/CEBRASPE - APEX Brasil – 2022 - adaptado)No Scrum, a cerimônia que 
define o início do ciclo de uma sprint e que auxilia na definição da sprint backlog 
é chamada de: 
a) sprint backlog 
b) sprint retrospective 
c) sprint planning 
d) daily scrum 
e) sprint burndown 
 
6. (FUNDATEC - SUSEPE - 2022) Os rincípios do Scrum são consistentes com o manifesto 
ágil e são usados para orientar as atividades de desenvolvimento dentro de um 
processo dividido em iterações geralmente de 30 dias chamadas de _____________. 
O ______________ compõe uma lista com prioridades dos requisitos ou 
funcionalidades do projeto desejadas pelo cliente. Reuniões diárias, tipicamente 
de 15 minutos, são realizados pela equipe e conduzidas pelo _______________. 
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do 
trecho acima. 
a) sprints – product backlog – Scrum master 
b) sprints – sprint backlog – Scrum master 
c) sprints – product backlog – gerente de produto 
d) refatoração – product backlog – Scrum máster 
e) refatoração – sprint backlog – gerente de produto 
 
7. (VUNESP - ALE SP - 2022) O método de desenvolvimento de software denominado 
Scrum possui diversas características peculiares ao método, em particular sua 
equipe de desenvolvimento, da qual faz parte o elemento denominado Product 
Owner, sobre o qual é correto afirmar: 
a) é o único responsável por gerenciar o backlog do software em desenvolvimento. 
b) exerce a mesma função do Scrum Master. 
c) não há essa figura do Product Owner em projetos de pequeno porte. 
d) não tem qualquer interação com o Scrum Master. 
 
 
 
 
 
 
 
 
 
89 
 
 
e) normalmente, essa figura é composta por uma equipe de três ou mais pessoas. 
 
8. (CESPE/CEBRASPE - SEFAZ SE - 2022) De acordo com a metodologia Scrum, a 
reunião em que são apresentados os pontos positivos e negativos da sprint é a: 
a) sprint planning 
b) retrospective 
c) daily 
d) backlog refinement 
e) sprint review 
 
 
 
 
 
 
 
 
 
90 
 
 
ESTIMATIVA DE SOFTWARE 
 
 
 
6.1 CONCEITO E IMPORTÂNCIA DA ESTIMATIVA DE SOFTWARE 
O termo estimativa, conforme o Dicio (2023), refere-se ao cálculo efetivado no 
intuito de se avaliar algo/alguém, tendo por base evidências que permitam melhor 
conhecer e quantificar estatísticas acerca do ser/objetivo avaliado. 
Aliado a este entendimento, Wazlawick (2013) destaca que, dificilmente uma 
atividade profissional, seja ela qualquer, não possua suas próprias maneiras de 
estimar o esforço aplicado para obtenção de um dado resultado, favorecendoassim, para que no âmbito gerencial se alcance um maior controle das ações 
desempenhadas assim como da qualidade alcançada em relação ao elemento 
produzido. 
Neste intento de estimar, tem-se o entendimento de medição, que segundo 
Vazquez et al. (2018) e Wazlawick (2013), refere-se ao processo direto de atribuir 
números no intuito de quantificação das características atribuídas a um determinado 
elemento, necessitando-se assim, identificar que atributos são estes de tamanha 
relevância a ponto de despertar o interesse para sua mensuração. 
Por conseguinte, a métrica se refere à quantificação indireta, e nela tem-se o 
cálculo aplicado sobre a medição, destacando qual o critério que se fará avaliado, 
ou seja, a característica que será medida e que já fora anteriormente identificada 
como de destaque/relevância (WAZLAWICK, 2013). 
Assim, o resultado alcançado a partir da aplicação de uma medição tem o 
intuito de permitir que as pessoas envolvidas no desenvolvimento de um dado projeto 
compreendam como os elementos envolvidos podem afetar cliente e usuário, 
viabilizando o conhecimento e a correção dos problemas rapidamente e sem que 
consigam acarretar maiores impactos (VAZQUEZ ET AL., 2018). 
Diante destes entendimentos, Sommerville (2011) destaca que, em se tratando 
da medição de software, tem-se a possibilidade de, por meio dela e dos elementos 
característicos do processo de mensuração, identificar questões referentes à 
UNIDADE 
06 
 
 
 
 
 
 
 
 
 
91 
 
 
qualidade do software desenvolvido, documentação e/ou qualidade dos processos 
que permeiam as tarefas desempenhadas. 
O objetivo da Medição de Software, conforme Sommerville (2011) e Pressman 
e Maxim (2016) está em identificar os parâmetros de relevância permitindo que 
periodicamente estes possam ser revistos no intuito de se identificar o nível de 
qualidade do software ou ainda elementos que necessitam de maior atenção em se 
tratando da efetivação de melhorias. 
 
 
 
6.2 MÉTRICAS DE SOFTWARE 
Em se tratando especificamente de Métricas de Software, vale destacar que 
o termo se refere ao processo de medir algo em relação a um dado atributo que seja 
de relevância para o software (PRESSMAN; MAXIM, 2016). 
Neste contexto a categorização de medidas para a construção de software 
pode se fazer atribuída em nível de medidas de produto, projeto e recurso, como 
segue melhor identificado no Quadro 16. 
 
Quadro 16: Medidas de Software 
Medidas de 
Produto 
Refere-se a caraterísticas como tamanho, estrutura e qualidade. 
Medidas de 
Projeto 
Refere-se ao desempenho de um software podendo ser calculado por 
porcentagem 
Medidas de 
Recursos 
Refere-se aos recursos e materiais aplicados no desenvolvimento do projeto 
de software 
Medidas de 
Processo 
Refere-se à coleta de informações que permite identificar os pontos fortes, 
fracos, deficiências, e avaliação após implementação/mudança em 
software 
Fonte: adaptado de Wazlawick (2013) 
 
Em referência à Qualidade de Software, tem-se o entendimento de que se refira a um 
grupo de características que um software necessita atender, principalmente em se 
tratando do atendimento das necessidades do cliente/usuário. Assim, um software de 
qualidade não apenas incorpora em si questões de custo/benefício, mas também de 
produtividade, de competitividade, de atendimento a requisitos de norma, de 
possibilidade de adequação/readequação a outros processos, de melhoria contínua, e 
demais questões que demonstram atendimento à expectativas de quem dele faz uso 
(PRESSMAN; MAXIM, 2016; WAZLAWICK, 2013; SOMMERVILLE, 2011). 
 
 
 
 
 
 
 
 
 
 
92 
 
 
É justamente a partir destas medidas que são especificadas as métricas a 
serem atribuídas para a medição de software, de modo a garantir que dúvidas a 
respeito do projeto de software possam efetivamente ser respondidas. 
Por conseguinte, as métricas de software podem ser categorizadas conforme 
se verifica no Quadro 17. 
 
Quadro 17: Métricas de Software 
Métricas de 
Controle ou 
Métricas de 
Projeto 
Embasa o gerenciamento de processos de software, especificando meios de 
avaliação do seu andamento, riscos, problemáticas, fluxo de tarefas e 
habilidades da equipe, sendo coletadas durante toda a efetivação do 
projeto a fim de permitir o estabelecimento de indicadores de melhoria a 
longo prazo. 
Métricas de 
Previsão ou 
Métricas de 
Produto 
Embasam a previsão e medição dos atributos internos de um software, 
ajudando a estimar o esforço dispendido para o desenvolvimento e 
alterações do sistema em face de seu grau de complexidade, seu tamanho, 
riscos e tecnologia aplicada. 
Fonte: adaptado de Sommerville (2011) e Pressman e Maxim (2016 
 
Demonstra-se assim que as métricas ultrapassam a visão da simples efetivação 
de controle, permitindo que variáveis importantes sejam consideradas no projeto de 
desenvolvimento do software (PRESSMAN; MAXIM, 2016). 
Reconhece-se, portanto, o papel das métricas em permitir que o 
desenvolvimento de software seja constantemente aperfeiçoado, uma vez que as 
informações alcançados embasam a tomada de decisão da gestão e da equipe 
desenvolvedora, favorecendo o processo de planejamento (PRESSMAN, 2011; 
WAZLAWICK, 2013). 
A estimativa de software não se efetiva de modo aleatório, podendo fazer uso 
de técnicas já estabelecidas que passaram por todo um processo de análise e testes 
até se tornarem referência, garantindo que o planejamento forneça efetivamente a 
direção que deve se fazer ser seguida pelos envolvidos (PRESSMAN; MAXIM, 2016). 
Neste âmbito, segue a apresentação de ferramentas passíveis de utilização 
visando as efetivação de estimativas de software: a Análise de Pontos de Função e 
o Planning Poker. 
 
6.3 ANÁLISE POR PONTO DE FUNÇÃO 
A Análise por Ponto de Função (APF) ou Function Point Analysis (FPA) configura-
se como técnica voltada à medição das funcionalidades, dimensionamento e 
 
 
 
 
 
 
 
 
 
93 
 
 
complexidade de um software por meio de processos aplicados ao tamanho do 
projeto, contundo, tendo por parâmetro o ponto de visão do usuário (PRESSMAN; 
MAXIM, 2016; VAZQUEZ et al., 2018). 
Como os métodos de medição identificam e quantificam as qualidades 
existentes em um produto, em se tratando de Pontos de Função, tem-se um processo 
que mede os requisitos funcionais atribuíveis ao usuário em um software (histórias de 
usuário), ou seja, os requisitos de negócio, sem estabelecer atenção ao aspecto 
tecnológico, de plataforma e/ou linguagem, focando exclusivamente na ação 
direta da ferramenta desenvolvida (VAZQUEZ et al., 2018). 
 
 
 
Deste modo, aos Pontos de Função, sendo os requisitos que passarão por 
medição, efetiva-se a atribuição de valores numéricos, os quais processados 
posteriormente, permitem identificar o esforço dispendido durante o 
desenvolvimento do software, pois em se tratando deste aspecto, amplia-se o 
entendimento considerando esforço, prazo, custo e demais parâmetros, o que pode 
em projetos de software respaldar as conclusões acerca do seu tamanho e 
complexidade (WAZLAWICK, 2013; VAZQUEZ et al., 2018). 
 
 
 
Nesta base, destaca-se os seguintes elementos dispostos na Figura 22 como 
objetivos atribuíveis à Análise por Pontos de Função. 
Como já especificado, considera-se como requisitos funcionais aqueles que expressam as 
ações do software ao ser aplicado na atividade do usuário, de modo que, caracterizam 
elementos aplicados ao processo de negócios da organização, podendo se fazer 
relacionados à transferência e armazenagem de dados (WAZLAWICK, 2013). 
 
Considera-se por vezes que a complexidade de software se faz diretamente relacionada 
ao tamanho, à quantidade de código desenvolvido, que pode levar a excessos de 
funções e até repetições desnecessárias. A isto, a Metodologia XP combate por meio da 
prática constante de Refatoração, como meio de diminuição da complexidadeatravés 
da simplificação do código, retirando excessos cometidos pelo desenvolvedor 
(PRESSMAN, 2011; SOMMERVILLE, 2011). 
 
 
 
 
 
 
 
 
 
 
94 
 
 
 
Figura 22: Objetivos da Análise por Ponto de Função 
 
Fonte: adaptado de Vazquez et al. (2018) 
 
Efetivando-se a Análise por Pontos de Função em atributos do sistema, aos 
quais compreende-se que sejam os requisitos, o resultado alcançado pelo processo 
também pode se voltar a intenções que não estejam elencadas na Figura 22, 
cabendo ainda para outros intentos como os apontados por meio da Figura 23. 
 
Figura 23: Outros Objetivos atribuíveis à Análise por Ponto de Função 
 
Fonte: adaptado de Wazlawick (2013) 
 
Para tal, o processo que envolve a Análise por Pontos de Função necessita 
seguir os parâmetros dispostos pela Figura 24. 
 
Figura 24: Parâmetros ideais para a Análise por Pontos de Função 
 
Fonte: adaptado de Vazquez et al. (2018) 
medir a funcionalidade 
solicitada pelo usuário
medir a funcionalidade 
efetivamente recebida 
pelo usuário
medir o desempenho 
do software 
independente da 
tecnologia de 
desenvolvimento
medir a manutenção 
do software 
independente da 
tecnologia de 
desenvolvimento
Melhoria em produto
• após a efetivação de uma manutenção contabiliza-se as funcionalidades adicionadas, alteradas e 
excluídas
Contagem em aplicação
• aplicada na contabilização de pontos de aplicações existentes
Simplicidade
•pela necessidade do envolvido humano e manual no processo de análise de métricas, a 
simplicidade é essencial, de modo que o esforço seja minimizado, não onerando o projeto
Consistência
•pela possibilidade de haver mais de uma pessoa envolvida na análise, há de se identificar 
sistemáticas que garantam resultados semelhantes entre os avaliadores, denotando a 
qualidade da medição por meio de uma melhor e igualitária compreensão dos requisitos
Capacitação
•o medidor necessita possuir conhecimentos suficientes que o dotem para a ação que 
pretende efetivar sob o risco de que o processo se faça permeado de erros em face da 
ausência de uma formação consistente para tal
 
 
 
 
 
 
 
 
 
95 
 
 
A Contagem de Pontos de Função, visando sua posterior análise, efetiva-se de 
modo simplificado por meio da sistemática disposta na Figura 25. 
 
Figura 25: Sistemática simplificada de contagem de Pontos de Função 
 
Fonte: adaptado de Wazlawick (2013) e Pressman e Maxim (2016) 
 
Neste contexto, em se tratando dos elementos destacados na sistemática 
simplificada presente por meio da Figura 26, tem-se de modo mais abrangente um 
detalhamento de ações apresentado através do Quadro 18. 
 
Quadro 18: Ampliação da efetivação de Sistemática de Contagem de Pontos de Função 
AÇÕES PROCESSOS ESPECIFICAÇÃO 
Determinar 
Tipo de 
Contagem 
 Projeto  Melhoria  Aplicação 
Método  Estimado  Detalhado 
Identificar 
Escopo e 
Fronteira da 
Aplicação 
 Limite entre sistema e usuário 
 Limite entre sistema e outras aplicações 
 Visão do Usuário 
 Função de Negócio 
 Independência de Tecnologia 
 Manutenção 
Contar 
Funções de 
Dados 
 Arquivos Lógicos Internos (ALI) 
 Arquivos de Interface Externa (AIE) 
Funções de 
Transação 
 Entrada 
Externa (EE) 
 Consulta 
Externa (CE) 
 Saída 
Externa (SE) 
Ajustar Fator de Ajuste 
 Atualização Online 
 Complexidade de Processamento 
 Comunicação de Dados 
 Configuração Altamente Utilizada 
AjustarContarIdentificarDeterminar
Tipo de 
Contagem e 
Método
Escopo e 
Fronteira da 
aplicação
Funções de 
Dados
Funções de 
Transações
Pontos à ajustar 
e ajustados
Fator de Ajuste
 
 
 
 
 
 
 
 
 
96 
 
 
Pontos a ajustar 
 Eficiência de Usuário Final 
 Entrada de Dados Online 
 Facilidade de Instalação 
 Facilidade de Mudanças 
 Facilidade de Operação 
 Múltiplas Localidades 
 Performance 
 Processamento Distribuído 
 Reutilização 
 Taxa de Transações 
Pontos ajustados 
Fonte: adaptado de Wazlawick (2013) e Pressman e Maxim (2016) 
 
Considerando a figura 25 e o Quadro 18, e compreendendo que a dimensão 
dos requisitos funcionais do usuário recebe a denominação de tamanho funcional e 
que uma aplicação seja um conjunto composto de dados e procedimentos que 
sofreram automatização fornecendo suporte ao processo de negócio de acordo 
com a ação do usuário (VAZQUEZ et al., 2018) os Tipos de Contagem passíveis de 
efetivação na Análise por Pontos de Função, seguem explicitados por meio da Figura 
26. 
 
Figura 26: Tipos de Contagem em Análise por Pontos de Função 
 
Fonte: adaptado de Vazquez et al. (2018) 
 
Em se tratando do aspecto referente à Fronteira da Aplicação, tem-se a 
identificação dos limites entre o software e o mundo em que ele se faz inserido, 
seguindo os critérios de ponto de vista do usuário, a separação de funções atribuídas 
aos negócios, e, em caso de projetos de melhoria, os aspectos já definidos devem 
ser reanalisados com intuito de verificar se existe a necessidade de adaptação 
Contagem de um projeto de desenvolvimento
•permite, por meio da identificação do tamanho funcional do sistema, medir se as
funcionalidades ofertadas ao usuário no projeto inicial permitem-se ser migradas em caso
de ajustes futuros na ferramenta, pois é comum que, à medida que um sistema vai sendo
utilizado os requisitos se tornam mais fáceis de compreensão permitindo que
funcionalidades adicionais sejam identificadas durante o projeto, impactando no seu
tamanho original.
Contagem de um projeto de melhoria
•permite medir as funções adicionadas, modificadas, excluídas e/ou convertidas do sistema
pelo projeto.
Contagem de uma aplicação
•permite medir a funcionalidade fornecida aos usuários por meio de uma aplicação
instalada, de modo a se identificar uma medida atualizada da funcionalidade que o usuário
está fazendo utilização, tendo por parâmetro os dados coletados ao final do projeto em
comparação com cada processo de melhoria.
 
 
 
 
 
 
 
 
 
97 
 
 
(VAZQUEZ et al., 2018). 
Neste sentido, tem-se como aspectos facilitadores para a identificação das 
fronteiras de uma aplicação estes que se fazem citados na Figura 27. 
 
Figura 27: Aspectos que facilitam a identificação das Fronteiras de uma Aplicação 
 
Fonte: adaptado de Vazquez et al. (2018) 
 
Referindo-se ao Escopo, tem-se a identificação de quais as funcionalidades a 
serem contadas por meio da sistemática escolhida, podendo incorporar todas as 
existentes, apenas aquelas que são utilizadas pelo usuário, ou ainda algumas em 
específico (VAZQUEZ et al., 2018). 
Tem-se, deste modo, a identificação de quantos sistemas serão quantificados, 
definindo claramente onde começam e terminam (WAZLAWICK, 2013). 
Por conseguinte, define-se o Tipo de Método, podendo, conforme Pressman e 
Maxim (2016) ser: 
a) Estimado: Calcula os Pontos de Função de acordo com regras 
internacionalmente definidas no intuito de estimar as Funções de Dados 
(preferencialmente de complexidade baixa) e as Funções de Transação 
(preferencialmente de complexidade média); 
b) Detalhado: Efetiva a quantificação dos Pontos de Função com regras 
internacionalmente definidas no intuito de estimar as Funções de Dados e de 
Transação de acordo com as especificidades do caso. 
Em relação à contagem/medição das Funções de Dados e de Transação, 
identificar a natureza dos dados configura-se como o primeiro passo do processo, 
pois é justamente a partir dele que se reconhece as reais necessidades do usuário 
em relação ao negócio, assim como as funcionalidades previstas pelos usuários 
(VAZQUEZ et al., 2018; PRESSMAN; MAXIM, 2016; WAZLAWICK, 2013), sendo tais ações 
melhor especificadas por meio do Quadro 19. 
Identificar pela 
documentação de 
fluxo do sistema os 
elementos 
internos/externos
Verificar como se 
efetiva a manutenção 
dos dados
Identificar as áreas 
funcionais por meio 
das entidades e 
processos do sistema
Verificar se, por meio 
de outras métricas,os 
resultados alcançados 
em medição são os 
mesmos
Reconhecer como 
ocorre o processo de 
gestão da aplicação
Identificar a existência 
no sistema de ordens 
de serviço 
Comparar o 
organograma da 
empresa com a 
estrutura de área e de 
sistemas
 
 
 
 
 
 
 
 
 
98 
 
 
Quadro 19: Especificações acerca de Funções de Dados e Funções de Transação 
DADOS FUNÇÕES ARQUIVOS 
Estáticos 
dados 
estruturados na 
forma de 
arquivos 
internos/externos 
Funções 
de Dados 
Arquivo 
Lógico 
Interno (ALI) 
Grupo lógico de dados ou informações 
reconhecidos pelo usuário e que servem 
para efetivações de controle 
Arquivo de 
Interface 
Externa (AIE) 
Grupo lógico de dados ou informações 
reconhecidos pelo usuário e que se fazem 
mantidos fora da aplicação 
Dinâmicos 
dados de 
transação na 
forma de 
entradas, saídas 
e consultas 
Funções 
de 
Transação 
Entradas 
Externas (EE) 
Dados informados pelo usuário que 
alimentam o sistema alterando seu estado 
interno 
Saídas 
Externas (SE) 
Dados que saem sob requisição ou não de 
cliente/sistema, apresentando 
quantificações em relação a algum 
parâmetro previamente definido 
Consultas 
Externas (CE) 
Dados que saem sob requisição ou não de 
cliente/sistema, do mesmo modo em que 
se fazem armazenados 
Fonte: adaptado de Wazlawick (2013) e Pressman e Maxim (2016) 
 
Por conseguinte, após a identificação das funções a serem contadas, é 
requerida a identificação de seu fator de Complexidade, devendo este seguir os 
parâmetros dispostos por meio do Quadro 20. 
 
Quadro 20: Tipos de Função conforme fatores de Complexidade 
TIPO DE 
FUNÇÃO 
COMPLEXIDADE 
PESOS 
Baixa Média Alta 
Entradas 
Externas (EE) 
3 4 6 
A
rq
u
iv
o
s 
R
e
fe
re
n
c
i
a
d
o
s 
Tipos de Dados 
 <5 5-15 >15 
<2 Baixa Baixa Média 
2 Baixa Média Alta 
>2 Média Alta Alta 
 
Saídas 
Externas (SE) 
4 5 7 
 
A
rq
u
iv
o
s 
R
e
fe
re
n
c
ia
d
o
s 
Tipos de Dados 
 <6 6-19 >19 
<
2 
Baixa Baixa Médi
a 
2-
3 
Baixa Médi
a 
Alta 
>
3 
Médi
a 
Alta Alta 
Consultas 
Externas 
(CE) 
3 4 6 
Arquivo 
Lógico 
Interno (ALI) 
7 10 15 
A
rq
u
iv
o
s 
R
e
fe
re
n
c
ia
d
o
s 
Tipos de Dados 
 <20 20-50 >50 
<1 Baixa Baixa Média 
2-
5 
Baixa Média Alta 
>5 Média Alta Alta 
 
Arquivo de 
Interface 
Externa (AIE) 
5 7 10 
Fonte: adaptado de Wazlawick (2013) e Pressman e Maxim (2016) 
 
Conforme os parâmetros apresentados no Quadro 20 referentes aos fatores de 
 
 
 
 
 
 
 
 
 
99 
 
 
complexidade concernentes às funções de dado e transação, os pontos alcançados 
devem ser somados a fim de que se identifique o Tamanho Funcional da aplicação 
(WAZLAWICK, 2013). 
Isto se efetiva identificando-se os tipos de registro da Função de Dados e a 
quantidade de campos da Função de Transação, de modo que com a atribuição 
dos pesos de complexidade apresentados tem-se a quantificação dos Pontos de 
Função a Ajustar (PRESSMAN; MAXIM, 2016). 
Para sua efetivação é necessária a identificação do Fator de Ajuste, e em 
relação a ele aplica-se o fator de influência de 0 a 5 a cada um dos 14 níveis que são 
avaliados, conforme já se fez apresentado no Quadro 18, contudo recebendo outro 
e mais específico destaque aqui, por meio do Quadro 21. 
 
Quadro 21: Níveis, Características e Fatores de Influência 
NÍVEL CARACTERÍSTICA FATOR DE 
INFLUÊNCIA 
01 Comunicação de Dados Grau de comunicação 
requerida 
0 (sem 
influência) 
a 
5 (grande 
influência) 
02 Processamento Distribuído Grau de processamento 
distribuído 
03 Performance Criticidade da Performance 
04 Configuração Altamente 
Utilizada 
Equipamento existente 
Nível de Uso 
05 Taxa de Transações Volume de transações 
06 Entrada de Dados Online Existência de entradas online 
07 Eficiência de Usuário Final Aumento na eficiência do 
usuário 
08 Atualização Online Atualização de arquivos online 
09 Complexidade de 
Processamento 
Grau de complexidade do 
processamento interno 
10 Reutilização Código reutilizável 
11 Facilidade de Instalação Sistema fácil de instalar 
12 Facilidade de Operação Sistema fácil de operar 
13 Múltiplas Localidades Instalações e organizações 
múltiplas 
14 Facilidade de Mudanças Aplicação fácil de ser 
modificada 
Fonte: adaptado de Wazlawick (2013) e Pressman e Maxim (2016) 
 
O Fator de Ajuste uma vez definido favorece para a efetivação de 
quantificação dos Pontos de Função a Ajustar e dos Pontos de Função Ajustados 
(PRESSMAN; MAXIM, 2016). 
Assim, de posse das informações de um software, como os que se encontram 
dispostos em Diagramas de Caso de Uso, Diagramas de Entidade-Relacionamento, 
 
 
 
 
 
 
 
 
 
100 
 
 
Diagramas de Classe e/ou História do Usuário, tem-se a possibilidade de identificar as 
funcionalidades de uma aplicação no intuito de alimentar uma planilha voltada à 
quantificação para efetivação de Análise Pontos de Função (VAZQUEZ et al., 2018), 
conforme exemplificação que segue na Figura 28. 
 
Figura 28: Modelo de Planilha para Contagem de Pontos de Função 
NOME DA 
FUNÇÃO 
TIPO DA 
FUNÇÃO 
QUANTIDADE DE 
TIPO DE DADO 
QUANTIDADE DE ARQUIVOS 
REFERENCIADOS/ QUANTIDADE DE 
TIPOS DE REGISTRO 
COMPLEXIDADE PONTOS DE 
FUNÇÃO 
ORIGEM DA 
INFORMAÇÃO 
 
 
TOTAL DE PONTOS DE FUNÇÃO 
Fonte: adaptado de Wazlawick (2013) e Vazquez et al. (2018) 
 
Seguindo o modelo definido na Figura 28, o Nome da Função depende das 
especificações apresentadas no material de origem da informação; o Tipo de 
Função, segue como Funções de Dados e Funções de Transação, com o 
detalhamento de seus arquivos conforme se verificou no Quadro 19; a Quantidade 
de Tipo de Dado, a Quantidade de Arquivos Referenciados e a Quantidade do Tipo 
de Registro são consequências da identificação do Tipo de Função, especificando 
as respectivas quantificações; a Complexidade relaciona os elementos 
anteriormente identificados, passando pela conversão apresentada por meio do 
Quadro 20; os Pontos de Função também seguem o disposto no Quadro 20, 
identificando-se a relação entre o Tipo de Função, Quantidade de Tipo de Dado, a 
Quantidade de Arquivos Referenciados onde o peso encontrado identifica o valor a 
ser atribuído; e a Origem da Informação especifica de onde as informações listadas 
foram alcançadas. Ao final, o somatório de Pontos de Função permitirá estimar o 
esforço gasto no desenvolvimento do software favorecendo possíveis correções em 
processos (VAZQUEZ et al., 2018). 
Assim, tem-se como exemplo este: 
Funcionalidade de Registro de Ponto 
Ator: Funcionário 
História do Usuário Funcionário 
O Funcionário insere os dados de presença (entrada/saída) em um sistema de 
ponto. 
Quando chega ao local trabalho o Funcionário deve registrar sua presença no 
sistema, fazendo o mesmo na saída. 
Fluxo de Ações do Ator Funcionário 
 
 
 
 
 
 
 
 
 
101 
 
 
Funcionário realiza login no sistema 
Funcionário registra entrada/saída 
Considerando a data e o horário atuais o sistema armazena a informação 
Funcionário realiza logoff no sistema 
Fluxo de Ações de Processamento e Armazenagem do Sistema 
Sistema identifica matrícula e senha do Funcionário no momento do login 
Efetiva leitura interna para identificar data e hora atualizada, armazenando 
informação 
Recebe pedido de registro de entrada/saída 
Armazena registro 
Sistema processa logoff do Funcionário 
As 12h, 18h e 00h o sistema atualiza as tabelas de armazenagem identificando 
registros de entrada e de saída e alimentando relatórios de acesso para 
funcionários e gerentes 
 
Figura 29: Exemplificação de uso da Figura 28 
NOME DA 
FUNÇÃO 
TIPO DA 
FUNÇÃO 
QUANTIDADE 
DE TIPO DE 
DADO 
QUANTIDADE DE ARQUIVOS 
REFERENCIADOS / QUANTIDADE 
DE TIPOS DE REGISTRO 
COMPLEXIDADE PONTOS DE 
FUNÇÃO 
ORIGEM DA INFORMAÇÃO 
Funcionário ALI 4 1 Baixa 7 História do Usuário e Fluxo de 
Ações 
Login SE 4 1 Baixa 4 Históriado Usuário e Fluxo de 
Ações 
Registro de 
Ponto 
SE 3 1 Baixa 3 História do Usuário e Fluxo de 
Ações 
TOTAL DE PONTOS DE FUNÇÃO 14 
Fonte: O autor 
 
Contudo, se efetivando o Fator de Influência da Complexidade de alguma 
destas funções caso tivessem figurado como altas, seria necessário fazer uso das 
informações do Quadro 21 a fim de identificar prioridades em virtude de fatores de 
impacto. 
 
 
 
 
 
 
 
 
 
 
 
102 
 
 
 
 
 
 
 
6.4 PLANNING POKER 
O Planning Poker é uma técnica aplicável também à estimativa de 
complexidade, considerando o tamanho de projetos que incorporam metodologias 
ágeis e as histórias de usuário como elementos base para o levantamento de 
requisitos (COHN, 2005; GOMES, 2014). 
Contudo, sua aplicação em conjunto com a Metodologia Scrum, apesar de 
bastante afinada, não se faz obrigatória, dependendo de definições estabelecidas 
no planejamento do projeto, os quais se efetivam por meio da gestão (GOMES, 2014; 
SABBAGH, 2022). 
Se aplica muito bem a equipes ágeis por seu dinamismo, requerendo apenas 
dedicação de tempo para execução, o que se faz compensado pelo retorno 
alcançado no processo (AUDY, 2022). 
Tendo sido criado por James Greening (Figuras 11 e 30), um dos profissionais 
que participou da elaboração do Manifesto Ágil (temática tratada no item 3.4 deste 
material), esta técnica é constantemente associada à Metodologia Scrum, além do 
fato de realizar estimativas considerando as histórias de usuário e a 
Diagrama de Caso de Uso: representação gráfica que permite visualizar e compreender 
a relação entre os atores e os variados elementos de um sistema (VAZQUEZ; SIMÕES, 2016). 
Diagrama de Entidade-Relacionamento: representação gráfica que permite visualizar 
como as entidades de um sistema se relacionam entre si (HIRAMA, 2012). 
Diagrama de Classe: representação gráfica que permite a visualização dos objetos que 
compõem um sistema (SOMMERVILLE, 2011). 
 História do Usuário: descrição das necessidades do usuário sob a sua visão, facilitando o 
entendimento do desenvolvedor quanto as funcionalidades que necessitam se fazer 
dispostas em um sistema (OLIVEIRA, 2018; SABBAGH, 2022; AUDY, 2022; FERNANDES; ABREU, 
2014; WAZLAWICK, 2013). 
 
 
Neste vídeo: https://bit.ly/3V8driD. A Fatto Consultoria de Sistemas realizou Webinar, no 
qual efetivou a Análise de Pontos de Função de um App do Google. Indico assistir para 
compreender na prática o que aqui explicamos de modo teórico. Bom estudo! 
https://bit.ly/3V8driD
 
 
 
 
 
 
 
 
 
103 
 
 
conversação/dialogação efetiva entre os membros da equipe de desenvolvimento 
e análise, garantindo o alcance de um consenso de ideias entre todos (GOMES, 
2014). 
 
Figura 30: James Greening 
 
Fonte: O autor 
 
Deste modo, em sua efetivação, o Planning Poker tende a alcançar de modo 
interativo, combinado e prático, os elementos que se fazem citados na Figura 31. 
 
Figura 31: Elementos alcançados a partir do Planning Poker 
 
 
Fonte: adaptado de Cohn (2005) 
 
O Planning Poker age no sentido de pertencimento dos indivíduos envolvidos, 
no aprendizado coletivo e contínuo, na importância dos variados tipos de 
conhecimento e especialidades de pessoas que perfazem o corpo do time, e no 
papel do consenso para se alcançar o melhor resultado possível (AUDY, 2022). 
Por meio da aplicação e do uso de um jogo de cartas, os indivíduos que 
perfazem a equipe de desenvolvimento posicionam-se, considerando a sua visão de 
complexidade em relação ao sistema, tendo por parâmetro os fatores tempo e 
esforço, os quais servem como elementos-base para que se alcance um consenso a 
respeito do assunto em voga (COHN, 2005). 
Cada integrante da equipe, portanto, fazendo uso do baralho específico para 
 
 
 
 
 
 
 
 
 
104 
 
 
a metodologia, expressa pontuações a respeito da história do usuário ao mesmo 
tempo, fazendo-se uso de sistemática, aplicável à comunicação estabelecida entre 
eles, que permita a implementação de rodadas de jogo e o alcance de ideia única 
entre os entes envolvidos (GOMES, 2014). 
O baralho a ser utilizado se faz baseado na sequência de Fibonacci, com 
cartas pontuadas de 0 a 20, podendo possuir ainda mais 3 cartas adicionais, o que 
caracteriza uma curva crescente de incerteza, visto que o valor de uma carta 
seguinte é sempre o somatório de duas anteriores (COHN, 2005; GOMES, 2014; AUDY, 
2022), conforme se apresenta na Figura 32. 
 
Figura 32: Cartas do Planning Poker 
 
Fonte: Adaptado de Cohn (2005), Gomes (2014), Audy (2020) e Sabbagh (2022) 
 
Certas cartas possuem como significado os seguintes (COHN, 2005; AUDY, 
2022): 
a) carta de valor zero: significa a finalização de análise da história ou ainda que a 
complexidade seja tão baixa que não necessita ser estimada podendo ser 
resolvida rapidamente; 
b) carta com o símbolo de infinito (∞): significa que o elemento analisado está 
muito grande, necessitando ser dividido em partes menores; 
c) a carta com o ponto de interrogação (?): pode ser utilizada sempre que o 
jogador não se sentir em condição de estabelecer opinião a respeito da estimativa 
que se faz analisada; 
d) carta contendo a “figura da xícara de café”: o pedido de pausa é comum pois 
sendo um processo que requer dedicação de tempo, por vezes necessita de várias 
rodadas até o alcance de consenso, acarretando inclusive a exaustão dos 
participantes. 
As regras do Planning Poker seguem descritas na Figura 33. 
 
 
 
 
 
 
 
 
 
 
105 
 
 
Figura 33: Regras do Planning Poker 
 
Fonte: Adaptado de Audy (2022) 
 
Audy (2022) e Gomes (2014) seguem destacando que uma história de usuário 
com muitas funcionalidades tende a apresentar pontuação elevada em face da 
incerteza elevada presente em sua estimativa, o que explica a necessidade de sua 
divisão em histórias menores, permitindo que o time de desenvolvimento lide melhor 
com a incerteza e a complexidade. 
A estimativa deve considerar uma variável definida pela equipe, podendo ser 
tempo, dias, pontos, entre outros elementos passíveis de mensuração ao menos 
aproximada, permitindo que se identifique o tempo/esforço a ser gasto para a 
conclusão das histórias que se fizerem analisadas, o que por sua vez auxilia o 
entendimento, por parte do cliente, do cronograma de execução e das etapas de 
entrega elencadas (GOMES, 2014). 
Os resultados alcançados por meio das estimativas definidas devem ser 
considerados estabelecendo-se processos de comparação anteriores e posteriores 
a intervenções, o que demonstra a possibilidade de que a sistemática seja 
executada novamente mesmo depois de a complexidade ser resolvida no projeto 
(AUDY, 2022). 
Gomes (2014) refere-se ainda ao fato de que estimativas tendem a ser 
complexas e imprecisas, principalmente, em face do nível de maturidade da equipe 
envolvida e da tecnologia aplicada ao projeto, demonstrando que, com o passar do 
tempo e o aumento da experiência dos indivíduos envolvidos, torna-se natural o 
alcance de maior produtividade e celeridade na execução, demonstrando que a 
 
 
 
 
 
 
 
 
 
106 
 
 
complexidade, definida inicialmente pode se fazer minimizada à medida que a 
equipe ganha experiência em execução. 
Fazendo uso das regras dispostas na Figura 33 e do material apresentado na 
Figura 32, tem-se a seguir a sistemática de efetivação da estimativa por meio desta 
ferramenta disposta no Quadro 22. 
 
Quadro 22: Sistemática aplicada à estimativa pelo Planning Poker 
1 O Líder do Projeto, partindo da história do usuário, divide-a em partes e relata a todos 
os indivíduos da equipe envolvida (não deve possuir mais de 10 membros) um item a 
ser estimado (uma interação de usuário), solicitando que pontuem o nível de esforço a 
ser aplicado para o desenvolvimento da tarefa; 
2 Os membros da equipe discutem entre si em relação ao esforço e o tempo de 
execução, considerando todas as açõesque envolvam a efetivação da tarefa, tiram 
dúvidas a respeito do item e cada um escolhe uma carta que reflita o nível de trabalho 
necessário para a efetivação de seu desenvolvimento, sem revelar antecipadamente 
o valor de sua escolha; 
3 Assim que todos tiverem escolhido suas cartas, ao mesmo tempo devem expor suas 
escolhas, demonstrando que cada pessoa possui uma visão individualizada a respeito 
de uma determinada ação, evitando-se que as respostas possam ser influenciadas; 
4 Todos avaliam os resultados alcançados, identificando convergências e divergências; 
5 Os indivíduos que pontuaram com maior e menor estimativas, conversam entre si diante 
de todos apresentando suas ideias e as justificando, permitindo aos demais momentos 
de reflexão a respeito de fatores que de repente não se fizeram analisados em suas 
escolhas, podendo inclusive alterar a opinião anteriormente definida; 
6 Efetiva-se novas rodadas de estimativa até que o consenso entre todos seja 
alcançado, estabelecendo-se como fator de complexidade o número de maior 
ocorrência ou a média delas caso não haja consenso; 
7 Findada a análise de um item da história de usuário, passa-se a outro até que todos se 
façam analisados. 
Fonte: adaptado de Cohn (2005), Gomes (2014) e Sabbagh (2022) 
 
O indivíduo que atua liderando o processo, não pode estimar, possuindo papel 
apenas de gerenciar as ações que serão tomadas pela equipe como um todo 
(COHN, 2005). 
Vale destacar a crítica de Cohn (2005) e Audy (2022), na qual, considerando 
que a equipe possua experiências diferenciadas a percepção por vezes seja 
distorcida, pois, em sua composição múltipla e na necessidade de interação exigida, 
pessoas com personalidades mais fortes ou maior habilidade de fala tendem a se 
sobressair no processo, podendo inclusive influenciar as análises dos demais, o que 
requer do Líder uma atuação de mediação que pode ser dificultada. 
No entanto, desde que os membros da equipe se façam envolvidos e que o 
padrão de estimativa seja efetivamente definido, Gomes (2014) ressalta que os 
retornos alcançados tendem a se fazer de grande valia e elevada qualidade. 
 
 
 
 
 
 
 
 
 
107 
 
 
 
 
 
 
 
 
 
 
Neste vídeo: https://bit.ly/3Nf02mW. O André Gomes apresenta de modo simples e prático 
os assuntos aqui apresentados, principalmente associando ao Scrum. 
Neste outro vídeo: https://bit.ly/3n48BpX. O Marcos Santos apresenta na prática a 
aplicação do Planning Poker na avaliação de um projeto. 
Indico assistir aos dois para compreender melhor o que aqui explicamos teoricamente. 
Bom estudo! 
 
Tais métricas apresentadas podem ser aplicadas a outras ações que não seja a estimativa 
de software? 
 Se sim, requerem algum tipo de adaptação? Se não, por qual razão? 
https://bit.ly/3Nf02mW
https://bit.ly/3n48BpX
 
 
 
 
 
 
 
 
 
108 
 
 
FIXANDO O CONTEÚDO 
 
1. (FGV - TCE ES - 2023) O SiCONTA será um sistema de apoio à contabilidade 
tributária. No SiCONTA, há funcionalidades para incluir, alterar, excluir e consultar 
tributos. Para cada tributo é possível incluir, alterar, excluir e consultar alíquotas, ou 
seja, a alíquota só pode existir se estiver associada a um tributo. Com base na 
Análise de Pontos de Função, a contagem do projeto de desenvolvimento do 
SiCONTA deverá considerar: 
a) três Entradas Externas (EE) e uma Consulta Externa (CE); 
b) seis Entradas Externas (EE) e duas Consultas Externas (CE); 
c) três Entradas Externas (EE) e duas Consultas Externas (CE); 
d) seis Entradas Externas (EE) e dois Arquivos Lógicos Internos (ALI); 
e) três Entradas Externas (EE) e dois Arquivos Lógicos Internos (ALI). 
 
2. (FCC - TCE GO – 2022)Na métrica de análise de pontos por função, a identificação 
das funções de dados ALI e AIE: 
a) Representam funcionalidades fornecidas ao usuário a fim de atender às suas 
necessidades de persistência de dados internos e externos à aplicação. 
b) São classificadas como entradas externas, saídas externas e consultas de interesse 
do usuário. 
c) Representam os requisitos funcionais e não funcionais da aplicação, sejam ou não 
de interesse direto do usuário. 
d) São classificadas como entradas externas, saídas externas e consultas de interesse 
ou não do usuário. 
e) São as funcionalidades somente de entrada, de interesse do usuário ou quaisquer 
requisitos não funcionais que não necessitem ser persistidos. 
 
3. (IBFC - EBSERH - 2022)A análise por pontos de função (APF) tem como principal 
objetivo medir a funcionalidade do sistema tendo como base a visão do usuário, 
de acordo com características abaixo: 
(1)Utiliza-se de estimativas. 
 
 
 
 
 
 
 
 
 
109 
 
 
(2)É independente da tecnologia utilizada. 
(3)Baseia-se na visão do usuário. 
(4)Somente permite o seu cálculo de forma manual. 
Assinale a alternativa correta. 
a) Somente são aplicados o 1, 2 e 3 
b) Somente são aplicados o 1, 2 e 4 
c) Somente são aplicados o 2, 3 e 4 
d) Somente são aplicados o 1, 3 e 4 
e) 1, 2, 3 e 4 podem ser aplicados 
 
4. (Instituto AOCP - BANESE - 2022) Coletar métricas de software é importante para a 
estimativa de prazos, custos e qualidade do sistema projetado. Sendo assim, 
quando se trata da métrica de Pontos de Função, uma das contagens de tipo de 
dados diz respeito ao grupo lógico de dados e persistentes dentro da fronteira de 
outra aplicação, embora requerido ou referenciado pela aplicação que está 
sendo contada. Essa contagem refere-se a: 
a) arquivo lógico interno 
b) tipo de dados 
c) tipo de referências 
d) arquivo de interface externa 
e) casos de uso internos 
 
5. (IADES – BRB - 2021)No contexto das metodologias ágeis, o planning poker é uma: 
a) técnica para realizar estimativas de esforço de tarefas por meio do consenso entre 
o time. 
b) cerimônia para discutir e estipular as metas de entrega da próxima sprint. 
c) atividade lúdica realizada no decorrer das pausas das cerimônias para integrar o 
time. 
d) técnica para escrever casos de uso em cartões, estruturando seus requisitos do 
ponto de vista do usuário. 
e) ferramenta para registrar as lições aprendidas ao longo da sprint. 
 
 
 
 
 
 
 
 
 
 
110 
 
 
6. (adaptado de UFRN – 2018) Uma ferramenta que pode ser usada na gestão de 
projetos é a planning poker. Sobre essa ferramenta, analise as afirmativas abaixo: 
I. É uma técnica que privilegia a opinião do "jogador" ganhador em detrimento da 
opinião dos demais. 
II. O "jogo" é composto por cartas com números que representam esforço estimado. 
III. O "jogo" possui 356 cartas. 
IV. Há uma forte interação entre os "jogadores" e product owners, que discutem 
questões do projeto antes de realizarem suas jogadas. 
Estão corretas as afirmativas: 
a) II e IV 
b) I e III 
c) I e II 
d) III e IV 
e) I e IV 
 
7. (CESPE – TRE BA - 2017) A reunião de planejamento da sprint do Scrum é o evento 
em que: 
a) é definida a equipe scrum e são cancelados os itens da sprint anterior que não 
tenham sido entregues e os que tenham sido entregues, mas tenham sido 
rejeitados pelo usuário. 
b) são escritas as histórias dos usuários por meio do planning poker. 
c) é definida a meta da sprint e são selecionados os itens do product backlog que 
comporão a sprint. 
d) é decidido pelo PO (product owner) se haverá o cancelamento ou não 
da sprint em curso. 
e) participam exclusivamente o PO (product owner) e o SM (scrum master), que, por 
meio do planning poker, priorizaram os itens do backlog. 
 
8. (CESPE/CEBRASPE - TCE PR -2016) Acerca de Scrum, assinale a opção correta. 
 
 
 
 
 
 
 
 
 
111 
 
 
a) Em uma equipe Scrum, o conhecimento prático acerca do Scrum master é mais 
importante que o conhecimento teórico a seu respeito, ainda que esse 
conhecimento seja confirmado por certificações. 
b) Os requisitos para o desenvolvimento de um novo software são coletados dos 
usuários desse software e podem ser conflitantes entre si,situação que deve ser 
regularizada durante a etapa de construção. 
c) Todos os integrantes de uma equipe Scrum devem se revezar no papel de product 
owner, com o objetivo de tornar mais colaborativo o desenvolvimento do software. 
d) A técnica de planning poker é utilizada para mensurar o tamanho de um requisito, 
auxiliando o product owner a determinar se esse requisito será implementado no 
software para compor o backlog do produto. 
e) Os stakeholders, indivíduos e grupos interessados no processo e no software, fazem 
parte da equipe Scrum. 
 
 
 
 
 
 
 
 
 
 
 
112 
 
 
RESPOSTAS DO FIXANDO O CONTEÚDO 
 
UNIDADE 01 
 
 
 
UNIDADE 02 
 
QUESTÃO 1 C QUESTÃO 1 E 
QUESTÃO 2 A QUESTÃO 2 C 
QUESTÃO 3 B QUESTÃO 3 E 
QUESTÃO 4 B QUESTÃO 4 D 
QUESTÃO 5 A QUESTÃO 5 A 
QUESTÃO 6 A QUESTÃO 6 D 
QUESTÃO 7 A QUESTÃO 7 D 
QUESTÃO 8 D QUESTÃO 8 E 
 
 
UNIDADE 03 
 
 
 
 
UNIDADE 04 
 
QUESTÃO 1 B QUESTÃO 1 B 
QUESTÃO 2 D QUESTÃO 2 A 
QUESTÃO 3 E QUESTÃO 3 D 
QUESTÃO 4 A QUESTÃO 4 B 
QUESTÃO 5 C QUESTÃO 5 D 
QUESTÃO 6 C QUESTÃO 6 C 
QUESTÃO 7 C QUESTÃO 7 B 
QUESTÃO 8 D QUESTÃO 8 D 
 
 
UNIDADE 05 
 
 
 
UNIDADE 06 
 
QUESTÃO 1 B QUESTÃO 1 A 
QUESTÃO 2 C QUESTÃO 2 A 
QUESTÃO 3 D QUESTÃO 3 A 
QUESTÃO 4 D QUESTÃO 4 D 
QUESTÃO 5 C QUESTÃO 5 A 
QUESTÃO 6 A QUESTÃO 6 A 
QUESTÃO 7 A QUESTÃO 7 C 
QUESTÃO 8 B QUESTÃO 8 A 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113 
 
 
REFERÊNCIAS 
 
ALÃO, Rui. Estratégias de design para contextos complexos. In: CONGRESSO 
PESQUISA & DESENVOLVIMENTO EM DESIGN, 13., Joinville, 5-8 nov. 2018. Anais [...]. 
Santa Catarina: Univille, 2018. [não paginado]. 
ALFF, Francilvio Roberto. O mínimo que você precisa saber: as quatro cerimônias do 
Scrum. Dois Vizinhos: edição do autor, 2022. 
AUDY, Jorge Horácio. As 8 leis de Lehman foram o Manifesto do século XX. Baguete, 
17 abr. 2014. Disponível em: https://www.baguete.com.br/colunas/jorge-horacio-
audy/17/04/2014/as-8-leis-de-lehman-foram-o-manifesto-do-seculo-xx. Acesso em: 
03 fev. 2023. 
AUDY, Jorge. Scrum 360. Um guia completo e prático de agilidade. São Paulo: Casa 
do Código, 2022 
BECK, Kent; BEEDLE, Mike; VAN BENNEKUM, Arie; COCKBURN, Alistair; CUNNINGHAM, 
Ward; FOWLER, Martin; GRENNING, James, HIGHSMITH, Jim; HUNT, Andrew; JEFFRIES, 
Ron; KERN, Jon; MARICK, Brian; MARTIN, Robert C.; MELLOR, Steve; SCHWABER, Ken; 
SUTHERLAND, Jeff; THOMAS, Dave. Manifesto para Desenvolvimento Ágil de Software. 
2001. Disponível em: https://agilemanifesto.org/iso/ptbr/manifesto.html. Acesso em 
09 fev. 2023. 
COHN, M. Agile Estimating and Planning. [s. l.]: Prentice Hall, 2005. 
DICIO. Dicionário Online de Português. Estimativa. 2023. Disponível em: 
https://www.dicio.com.br/estimativa/. Acesso em: 27 fev. 2023. 
FERNANDES, Aguinaldo Aragon; ABREU, Vladimir Ferraz. Implantando a Governança 
de TI: as estratégia à gestão de processos de serviços. 4. ed. Rio de Janeiro: Brasport, 
2014. 
GOMES, André Farias. Agile: desenvolvimento de software com entregas frequentes 
e foco no valor de negócio. São Paulo: Casa do Código, 2021. 
HIRAMA, Kechi. Engenharia de Software: qualidade e produtividade com tecnologia. 
Rio de Janeiro: Elsevier, 2012. 
OLIVEIRA, Bruno Souza de. Métodos Ágeis e Gestão de Serviços de TI. Rio de Janeiro: 
Brasport, 2018. 
PETERS, James F., Engenharia de Software: Teoria e Prática. Rio de Janeiro: Campus, 
2001. 
PRESSMAN, Roger S. Engenharia de Software. 7. ed. São Paulo: Pearson Prentice Hall, 
2011. 
PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de Software: uma abordagem 
profissional. 8. ed. Porto Alegre: AMGH, 2016. 
https://www.dicio.com.br/estimativa/
 
 
 
 
 
 
 
 
 
114 
 
 
SABBAGH, Rafael. Scrum: gestão ágil para projetos de sucesso. São Paulo: Casa do 
Código, 2022 
SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson, 2011. 
SUTHERLAND, Jeff. A arte de fazer o dobro do trabalho na metade do tempo. São 
Paulo, Leya, 2014. 
VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira. Engenharia de Requisitos: 
software orientado ao negócio. São Paulo: Brasport, 2016. 
VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira; ALBERT, Renato Machado. 
Análise de Pontos de Função: medição, estimativa e gerenciamento de projetos de 
software. 13 ed. São Paulo: Érica:Saraiva, 2018. 
WAZLAWICK, R. S. Engenharia de software: conceitos e práticas. Rio de Janeiro: 
Elsiever, 2013. 
WILDT, Daniel; MOURA, Dionatan; LACERDA, Guilherme ; HELM, Rafael. eXtreme 
Programming: práticas para o dia a dia no desenvolvimento ágil de software. São 
Paulo: Casa do Código, 2015.

Mais conteúdos dessa disciplina