Buscar

Unicesumar - Topicos em Computação II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 170 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 170 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 170 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

TÓPICOS EM 
COMPUTAÇÃO II
Professora Esp. Maria Isabel Jacob José
GRADUAÇÃO
Unicesumar
C397 CENTRO UNIVERSITÁRIO DE MARINGÁ. Núcleo de Educação a 
Distância; JOSÉ, Maria Isabel Jacob. 
Tópicos em Computação II. Maria Isabel Jacob José. 
Maringá-Pr.: Unicesumar, 2018. Reimpressão, 2021.
170 p.
“Graduação - EaD”.
1. Tópicos 2. Computação . 3. Engenharia 4. EaD. I. Título.
ISBN 978-85-459-1022-0
CDD - 22 ed. 005.1
CIP - NBR 12899 - AACR/2
Ficha catalográfica elaborada pelo bibliotecário 
João Vivaldo de Souza - CRB-8 - 6828
Impresso por:
Reitor
Wilson de Matos Silva
Vice-Reitor
Wilson de Matos Silva Filho
Pró-Reitor Executivo de EAD
William Victor Kendrick de Matos Silva
Pró-Reitor de Ensino de EAD
Janes Fidélis Tomelin
Presidente da Mantenedora
Cláudio Ferdinandi
NEAD - Núcleo de Educação a Distância
Diretoria Executiva
Chrystiano Minco�
James Prestes
Tiago Stachon 
Diretoria de Graduação e Pós-graduação 
Kátia Coelho
Diretoria de Permanência 
Leonardo Spaine
Diretoria de Design Educacional
Débora Leite
Head de Produção de Conteúdos
Celso Luiz Braga de Souza Filho
Head de Curadoria e Inovação
Jorge Luiz Vargas Prudencio de Barros Pires
Gerência de Produção de Conteúdo
Diogo Ribeiro Garcia
Gerência de Projetos Especiais
Daniel Fuverki Hey
Gerência de Processos Acadêmicos
Taessa Penha Shiraishi Vieira
Gerência de Curadoria
Giovana Costa Alfredo
Supervisão do Núcleo de Produção 
de Materiais
Nádila Toledo
Supervisão Operacional de Ensino
Luiz Arthur Sanglard
Coordenador de Conteúdo
Fabiana de Lima
Designer Educacional
Janaína de Souza Pontes
Projeto Gráfico
Jaime de Marchi Junior
José Jhonny Coelho
Arte Capa
Arthur Cantareli Silva
Editoração
Fernando Henrique Mendes
Qualidade Textual
Cintia Prezoto Ferreira
Ilustração
Bruno Cesar Pardinho
Bruno Pinhata
Viver e trabalhar em uma sociedade global é um 
grande desafio para todos os cidadãos. A busca 
por tecnologia, informação, conhecimento de 
qualidade, novas habilidades para liderança e so-
lução de problemas com eficiência tornou-se uma 
questão de sobrevivência no mundo do trabalho.
Cada um de nós tem uma grande responsabilida-
de: as escolhas que fizermos por nós e pelos nos-
sos farão grande diferença no futuro.
Com essa visão, o Centro Universitário Cesumar 
assume o compromisso de democratizar o conhe-
cimento por meio de alta tecnologia e contribuir 
para o futuro dos brasileiros.
No cumprimento de sua missão – “promover a 
educação de qualidade nas diferentes áreas do 
conhecimento, formando profissionais cidadãos 
que contribuam para o desenvolvimento de uma 
sociedade justa e solidária” –, o Centro Universi-
tário Cesumar busca a integração do ensino-pes-
quisa-extensão com as demandas institucionais 
e sociais; a realização de uma prática acadêmica 
que contribua para o desenvolvimento da consci-
ência social e política e, por fim, a democratização 
do conhecimento acadêmico com a articulação e 
a integração com a sociedade.
Diante disso, o Centro Universitário Cesumar al-
meja ser reconhecido como uma instituição uni-
versitária de referência regional e nacional pela 
qualidade e compromisso do corpo docente; 
aquisição de competências institucionais para 
o desenvolvimento de linhas de pesquisa; con-
solidação da extensão universitária; qualidade 
da oferta dos ensinos presencial e a distância; 
bem-estar e satisfação da comunidade interna; 
qualidade da gestão acadêmica e administrati-
va; compromisso social de inclusão; processos de 
cooperação e parceria com o mundo do trabalho, 
como também pelo compromisso e relaciona-
mento permanente com os egressos, incentivan-
do a educação continuada.
Seja bem-vindo(a), caro(a) acadêmico(a)! Você está 
iniciando um processo de transformação, pois quando 
investimos em nossa formação, seja ela pessoal ou 
profissional, nos transformamos e, consequentemente, 
transformamos também a sociedade na qual estamos 
inseridos. De que forma o fazemos? Criando oportu-
nidades e/ou estabelecendo mudanças capazes de 
alcançar um nível de desenvolvimento compatível com 
os desafios que surgem no mundo contemporâneo. 
O Centro Universitário Cesumar mediante o Núcleo de 
Educação a Distância, o(a) acompanhará durante todo 
este processo, pois conforme Freire (1996): “Os homens 
se educam juntos, na transformação do mundo”.
Os materiais produzidos oferecem linguagem dialógica 
e encontram-se integrados à proposta pedagógica, con-
tribuindo no processo educacional, complementando 
sua formação profissional, desenvolvendo competên-
cias e habilidades, e aplicando conceitos teóricos em 
situação de realidade, de maneira a inseri-lo no mercado 
de trabalho. Ou seja, estes materiais têm como principal 
objetivo “provocar uma aproximação entre você e o 
conteúdo”, desta forma possibilita o desenvolvimento 
da autonomia em busca dos conhecimentos necessá-
rios para a sua formação pessoal e profissional.
Portanto, nossa distância nesse processo de cresci-
mento e construção do conhecimento deve ser apenas 
geográfica. Utilize os diversos recursos pedagógicos 
que o Centro Universitário Cesumar lhe possibilita. 
Ou seja, acesse regularmente o Studeo, que é o seu 
Ambiente Virtual de Aprendizagem, interaja nos fóruns 
e enquetes, assista às aulas ao vivo e participe das dis-
cussões. Além disso, lembre-se que existe uma equipe 
de professores e tutores que se encontra disponível para 
sanar suas dúvidas e auxiliá-lo(a) em seu processo de 
aprendizagem, possibilitando-lhe trilhar com tranqui-
lidade e segurança sua trajetória acadêmica.
A
U
TO
R
A
Professora Esp. Maria Isabel Jacob José
Professora especialista, graduada em Processamento de Dados pela 
Universidade Mackenzie, pós graduada em Gestão de Projetos pelo IETEC e 
Gestão de Qualidade e Processos pela Fundação Vanzolini. Mais de 25 anos 
de experiência em desenvolvimento e implantação de projetos e com vasta 
experiência na aplicação das melhores práticas de desenvolvimento do 
mercado: ÁGIL, SCRUM, KANBAN, LEAN, XP, PMBOK, ITIL e CMMi.
SEJA BEM-VINDO(A)!
Caro(a) aluno(a), seja bem-vindo(a). Preparei este material com o intuito de apresentar, a 
você, as principais práticas de desenvolvimento de software. Falaremos sobre os concei-
tos, princípios, importância destas práticas, resultados esperados com cada uma delas e 
as ferramentas mais utilizadas para apoiar em cada uma destas práticas. Nosso objetivo 
é que, de posse destes conhecimentos, você, de alguma forma, esteja preparado para 
entender o processo de desenvolvimento, tenha condições de definir e ou participar de 
implantação de melhorias nos processos de sua empresa. Vamos encarar este desafio 
juntos?
Este material está dividido em cinco unidades a saber:
A Unidade I, “Controle de Tarefas”, irá abordar os conceitos que envolvem o controle de 
tarefas, a importância de se fazer controle e trazer para conhecimento de vocês o que é 
o modelo ágil de desenvolvimento, as práticas scrum e apresentar os principais requisi-
tos do Redmine, uma das mais importantes ferramentas de controle de tarefas.
A Unidade II, “Controle de Versão”, tratará de um dos processos mais importantes da En-
genharia de Software. Serão apresentados o processo de gestão de configuração, com-
preender o que é o controle de versão, entender qual a importância destes processos no 
desenvolvimento de software e como GitHub pode ajudar neste processo. 
Na Unidade III, “Integração Contínua”, falaremos sobre um processo crítico e de muita 
importância no processo de desenvolvimento. Traremos para você conceitos sobre XP 
(Extreme Programming), conceito de integração contínua e como esta prática interage 
com as demais práticas do XP e como ferramenta de apoio a integração contínua fala-
remos sobre o Jenkins. 
A Unidade IV, “Qualidade de Código”, abordará os principais conceitos de qualidade, 
apresentará, especificamente, os principais temas e conceito que envolvem a qualidade 
de código, de que maneira você poderá implementar processo de qualidade de código 
e comoo Sonar pode apoiar no controle de qualidade de código. 
Na Unidade V, “Refatoração Melhorando o Código”, falaremos de uma importante prá-
tica que também está relacionada à qualidade de código. Estudaremos a definição de 
refatoração, apresentaremos sua origem e entenderemos a importância e benefícios da 
refatoração. 
É hora de começarmos. Temos um longo caminho pela frente. Tenha um ótimo curso!
APRESENTAÇÃO
TÓPICOS EM COMPUTAÇÃO II
SUMÁRIO
09
UNIDADE I
CONTROLE DE TAREFAS 
15 Introdução
16 Conceito e Importância do Controle de Tarefas 
25 Métodos Ágeis De Desenvolvimento 
28 SCRUM: Prática Ágil para Desenvolvimento de Software 
35 Controle de Tarefas e o Redmine 
43 Considerações Finais 
48 Referências 
49 Gabarito 
UNIDADE II
CONTROLE DE VERSÃO
53 Introdução
54 Gestão de Configuração 
59 Conceito de Controle de Versão 
65 Importância do Controle de Versão 
66 Controle de Versão e o Github 
74 Considerações Finais 
80 Referências 
81 Gabarito 
SUMÁRIO
10
UNIDADE III
INTEGRAÇÃO CONTÍNUA 
85 Introdução
86 XP (Extreme Programming) - Modelo Ágil de Desenvolvimento 
94 Explorando o Universo da Integração Contínua 
102 Integração Contínua e o Jenkins 
110 Considerações Finais 
116 Referências 
117 Gabarito 
UNIDADE IV
QUALIDADE DE CÓDIGO 
121 Introdução
122 Qualidade de Código 
131 Como Medir Qualidade de Código 
136 Qualidade de Código e o Sonar 
142 Considerações Finais 
148 Referências 
149 Gabarito 
SUMÁRIO
11
UNIDADE V
REFATORAÇÃO: MELHORANDO O CÓDIGO
153 Introdução
154 Definição de Refatoração 
156 A Origem da Refatoração 
158 Por que Refatorar ? 
163 Considerações Finais 
168 Referências 
169 Gabarito 
170 CONCLUSÃO 
U
N
ID
A
D
E I
Professora Esp. Maria Isabel Jacob José
CONTROLE DE TAREFAS 
Objetivos de Aprendizagem
 ■ Conceituar e estabelecer a importância do controle de tarefas.
 ■ Compreender o modelo ágil de desenvolvimento.
 ■ Apresentar as práticas scrum. 
 ■ Apresentar quais são as principais requisitos do Redmine, uma das 
mais importantes ferramentas do mercado para controle de tarefas. 
Plano de Estudo
A seguir, apresentam-se os tópicos que você estudará nesta unidade:
 ■ Conceito e importância do controle de tarefas 
 ■ Métodos ágeis de desenvolvimento
 ■ Scrum: prática ágil para desenvolvimento de software
 ■ Controle de Tarefas e o Redmine
Introdução
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
15
INTRODUÇÃO
Olá, seja bem-vindo(a)! Trataremos, nesta primeira unidade, do tema controle 
de tarefas de desenvolvimento. Para muitas pessoas, o controle de tarefas é uma 
experiência dolorosa. Na melhor das hipóteses, é visto como um mal necessá-
rio. Queremos, nas próximas aulas, evoluir com este tema de maneira amigável 
e poder desmistificar esta hipótese de “mal necessário” . 
Os fatores que demonstram a necessidade de uma boa gestão de tarefas se 
iniciam pela competitividade, custos, estratégias e exigências dos clientes. Este 
é um tema que traz consigo alguns desafios, pois envolve práticas diferentes de 
planejamento, priorização, decisão e controle, afetando, diretamente, os esforços 
de uma equipe e fazendo com que se tenha mais garra para alcançar um objetivo.
Para termos um bom entendimento e contextualização dentro de um pro-
cesso de desenvolvimento, temos como premissa o estudo de algumas práticas, 
conceitos e modelos de desenvolvimento que afetam, diretamente, a forma 
como iremos planejar, priorizar e controlar as atividades ou tarefas de um pro-
jeto. Apresentaremos, nesta unidade, o modelo ágil, seus valores, princípios e a 
prática Scrum. Na prática Scrum estudaremos as cerimônias, papéis e respon-
sabilidades do time e os principais artefatos.
Todos nós sabemos que o controle de tarefas depende de processos e pessoas, 
porém é importante termos, também, uma ferramenta de apoio para que possa-
mos controlar e visualizar as tarefas ou atividades de projetos. O controle manual 
pode ser muito custoso e traz, consigo, riscos de falhas no processo decisório ou 
direcionamento de ação em momento tardio. Apresentaremos nesta unidade o 
RedMine, uma ferramenta livre para gestão de projetos. É importante ressaltar 
que o objetivo é apresentar os requisitos básicos do Redmine e não apresentar 
o treinamento da ferramenta. 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E16
CONCEITO E IMPORTÂNCIA DO CONTROLE DE 
TAREFAS 
Vivemos em uma sociedade hiperconectada, com smartphones, tablets e outros 
dispositivos que já fazem parte do nosso dia a dia. A velocidade das transforma-
ções é alucinante e aumenta a cada dia. Nesta nova sociedade digital, os ciclos 
acelerados fazem com que as empresas líderes possam não ter sua sobrevivência 
garantida para o próximo ciclo. Com a crescente necessidade de transformação e 
novas tecnologias da sociedade, todos os setores de negócio passam a ser afeta-
dos. A concorrência exige das empresas diferenciais como otimização do prazo, 
inovação e qualidade. Este cenário mostra a necessidade e importância de con-
trolar tarefas de maneira mais eficiente. 
O que é o controle de tarefas? Controlar tarefas é ter previsibilidade, saber:
 ■ O que precisa ser executado (backlog);
 ■ O que é prioridade;
 ■ O que está sendo executado;
Conceito e Importância do Controle de Tarefas 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
17
 ■ O que falta executar;
 ■ O que está pronto.
Em suma, o controle de tarefas nada mais é do que a maneira como você iden-
tifica, monitora e progride com o trabalho que precisa ser feito.
Os benefícios do controle de tarefa incluem:
 ■ Melhor visualização de todas as tarefas que estão sendo trabalhadas;
 ■ Com base na visualização, fica mais fácil, definir prioridades;
 ■ Tomar ações quando necessário (desimpedir tarefas bloqueadas); 
 ■ Visualização das tarefas da equipe (planejamento da alocação da equipe). 
Como podemos ter um controle de tarefa mais eficiente? Isto depende o método 
ou práticas utilizadas para a definição das metas de entregas, mas, falando de 
maneira geral, temos alguns pontos que são premissas independente da meto-
dologia a ser utilizada. São eles: 
 ■ Defina metas
Como conquistar seus objetivos se não souber quais são eles? Essa pergunta por 
si só já mostra o valor de definir alvos antes de se empenhar para alcançá-los. A 
partir do momento que você tornar bem claras as metas que deseja alcançar, será 
mais fácil eliminar os riscos que podem impedir de conquistar o que foi planejado. 
 ■ Seja razoável ao pensar nas metas, priorize!
É importante identificar o que irá agregar valor ao cliente. Não estabeleça entre-
gas difíceis demais, lembre-se: “menos é mais”. Crie uma lista de prioridades. 
 ■ Quebre os objetivos em alvos menores.
Quando dividimos as atividades em alvos menores, elas se tornam mais simples 
de realizar, controlar e, aos poucos, chegamos ao resultado definido. 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E18
 ■ Estabeleça prazos a cumprir.
Estabelecer um prazo para cada objetivo é fundamental para que suas metas sejam 
alcançadas. Enquanto não tiver uma data à vista, será mais fácil dar espaço para 
outras atividades não priorizadas. Cuidado! Você pode perder o foco! 
Com um conceito bem abrangente, conseguimos como resultado uma lista 
de atividades priorizadas com um prazo definido. No mundo de desenvolvimento 
de software, utilizamos estes mesmos conceitos, porém, aliados a boas práti-
cas de desenvolvimento e ferramentas que nos apoiam no controle das tarefas. 
PLANEJAMENTO DE TAREFAS
Quando falamos em planejamento, eu, particularmente, como profissionalde desen-
volvimento de software, gosto de seguir na linha de Mary e Tom Poppendieck, os 
“pais” do Lean voltado à TI, defensores do ágil e autores do livro Lean Software 
Development - An Agile Toolkit - obra que esclarece como os princípios Lean podem 
ser aplicados em abordagens de desenvolvimento de software ágil. Segundo Mary e 
Tom Poppendieck (2011, S.P), “Lean é um princípio ágil cujo o foco é cortar a ‘gor-
dura’ do processo de software, focando na eliminação de desperdícios” e acrescentam:
acelerar a produção do desenvolvimento de software é geralmente uma 
questão de melhorar o processo ao invés de adicionar pessoas. Pare de 
fazer coisas que o cliente não valoriza! Vista os óculos do cliente!
Vamos entender um pouco os princípios Lean aplicados ao desenvolvimento de 
software, pois todos eles afetam diretamente o planejamento das tarefas do projeto:
Elimine desperdícios
Desperdício é tudo aquilo que não agrega valor para cliente final e que não são 
percebidos pelo cliente. Alguns exemplos de desperdício: passos extras, processo 
pesado e rígido, burocracia, documentação que nunca vai ser lida, trabalhos par-
cialmente prontos, tudo que começa e não termina, funcionalidades extras que 
não serão utilizadas. Vejamos a seguir alguns tipos de desperdícios que podem 
afetar, diretamente, o planejamento e o controle das tarefas:
Conceito e Importância do Controle de Tarefas 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
19
 ■ Requisitos: requisitos especificados muito cedo podem mudar ou perdem 
a credibilidade, geram retrabalhos, atrasos e comprometem a usabilidade 
do sistema. São os grandes responsáveis pelos trabalhos incompletos (ini-
ciado e não terminado). Portanto, para o planejamento, é importante ter, 
no início do projeto, uma lista de requisitos priorizada (backlog do pro-
duto com suas histórias e jornadas). A especificação ou detalhamento 
destes requisitos, ou histórias, deve acontecer gradativamente e levando 
em consideração o que agrega valor ao cliente. 
 ■ Processos ou passos extras: burocracias ou atividades que não geram 
valor ou que possa diminuir o tempo de resposta. É importante pensar 
em criar um modelo de documento enxuto, de fácil entendimento e que 
diminua o tempo de resposta.
 ■ Funcionalidades a mais: segundo pesquisas 80% de funcionalidades imple-
mentadas não são utilizadas e 20% são as que são realmente úteis. Código 
não utilizado é sinônimo de complexidade e complexidade se torna ini-
miga da manutenção, portanto é importante que possamos ter, na lista 
de prioridades, o que realmente nosso cliente irá utilizar.
Inclua a qualidade no processo
É importante que o cliente perceba a entrega com qualidade.
Mary e Tom Poppendieck (2011), em seu livro, identificaram duas dimen-
sões de integridade: integridade percebida e integridade conceitual. A integridade 
percebida significa que o produto foi entregue de acordo com o que o cliente 
queria e a integridade conceitual significa que o sistema contempla todos os 
conceitos coesos. 
Dicas importantes para planejar as tarefas:
 ■ Não verificar a qualidade só no final, verificar durante todo processo;
 ■ Quanto antes um problema é identificado, mais barato ficará;
 ■ Foco na prevenção, não no final do processo. Defeito é sinônimo de des-
perdício, corrija-os imediatamente.
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E20
Crie conhecimento
Desenvolvimento é um exercício de descoberta, enquanto produção é sinônimo 
de redução de variação. Por esta razão, a melhor abordagem para melhorar o 
ambiente de desenvolvimento de software é a disseminação de conhecimento. 
Algumas práticas sugeridas para disseminar o conhecimento entre a equipe 
necessitam estar previstas no processo de desenvolvimento:
 ■ Ciclos de feedback e inspeções e adaptações;
 ■ Desenvolvimento iterativo;
 ■ Equipes pequenas e multi-funcionais; 
 ■ Treinamentos;
 ■ Criação e utilização de padrões: trabalhar em estado de fluxo;
 ■ Prática de revisão de código;
 ■ Meios de compartilhamento de informações como um Blog ou Wiki. 
Adie Decisões 
Em suma, o objetivo deste princípio é diminuir as incertezas.
O melhor momento para tomada de uma decisão é quando pode ser feita 
com base em fatos conhecidos. Isto faz com que as decisões sejam assertivas, 
porque são feitas baseados em fatos e não em suposições. Importante: prever 
práticas durante o projeto, como iterações rápidas e reuniões de planejamento. 
Entregue o mais rápido possível
Com entregas rápidas, é possível colher feedback rápido, também. A entrega 
rápida pode garantir que o cliente receberá o que ele precisa hoje e não o que ele 
precisava ontem. Planejar pequenos pacotes e entregas frequentes é primordial. 
Falaremos neste livro com mais detalhes sobre entrega contínua. 
Conceito e Importância do Controle de Tarefas 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
21
Respeite as Pessoas e “Empower” a equipe
É importante envolver o time nos detalhes das decisões técnicas, portanto crie 
um ambiente que favoreça o desenvolvimento das pessoas. Planeje buscando 
formas de feedback contínuo e o trabalho em equipe.
Otimize o todo
Otimize o tempo todo e durante todo o ciclo de vida do projeto. É importante 
estar atento às melhorias e à automação no processo de desenvolvimento. Procure 
utilizar métricas de desempenho da equipe, tempo de ciclo de entrega e mapa de 
valor e satisfação do cliente X entendimento de sua necessidade.
CONTROLE DE TAREFAS
Sobre controle, é importante ressaltar que temos dois tipos: a visão de projetos 
e a visão das tarefas que compõem o projeto. Neste tópico, trataremos do con-
trole de tarefas.
Durante o processo de planejamento é definido a quantidade de requisitos 
ou histórias que serão entregues ao longo do projeto. Ainda durante o planeja-
mento, é feito a estimativa de acordo com a capacidade de entrega da equipe.
O controle do fluxo e das tarefas, geralmente, é realizado por um software 
de gerenciamento, que exibe um painel, que informa o status em que se encon-
tra o tratamento de cada requisito ou história, considerando que deve avançar 
na ordem em que a empresa define como fluxo. Temos como exemplo: to do, 
doing, completed e accepted (a fazer, executando, completas e aceitas). Sempre 
que houver impedimentos dificultando o processo de desenvolvimento, os requi-
sitos, ou histórias, afetados devem ser marcados em vermelho para que toda a 
equipe visualize no quadro. Como o desenvolvimento desses requisitos, ou his-
tórias, pode ficar bloqueado e interromper o fluxo de trabalho, é preciso dedicar 
grande atenção ao tratamento de impedimentos.
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E22
Algumas métricas utilizadas para o controle de tarefa são Cycle Time e grá-
fico de Burndown.
Cycle Time
Cycle time é a duração (tempo) de uma tarefa desde o momento que ele ini-
cia até o momento que esteja totalmente finalizada. Esta métrica é baseada no 
princípio Lean de entregar um produto em ciclos curtos, minimizando o tempo 
entre receber uma requisição e entregar uma funcionalidade ou história. O Cycle 
time mostra a capacidade do processo de desenvolvimento, ajudando a prever 
a quantidade de trabalho em andamento que será entregue. Ele pode ser enten-
dido como: tempo que uma tarefa permanece como WIP (Work in Progress), 
ou como o tempo que a tarefa demorou para passar por todo o processo de 
desenvolvimento.
É premissa para aplicação desta métrica, o painel de acompanhamento diário 
de tarefas, no qual é registrado, para cada tarefa, o tempo em que esta permane-
ceu em cada fase até sua conclusão final. Vejamos a Figura 1: 
Figura 01 - Painel de tarefasFonte: a autora.
Conceito e Importância do Controle de Tarefas 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
23
Com o painel, demonstrado na Figura 1, podemos ter uma visão completa: 
 ■ Do fluxo de desenvolvimento; 
 ■ Acompanhar a quantidade de tarefas em andamento (WIP); 
 ■ Quantidade de atividades entregues e aceitas (throughput). Quando fala-
mos em atividades “aceitas”, não podemos esquecer do conceito de “DOD”. 
Ainda nesta unidade falaremos a respeito, porém, “DOD Definition off 
Done” nada mais é do que um acordo formal com o time que deixa claro 
os itens que devem ser considerados no produto para que seja conside-
rado “pronto”. 
 ■ Tempo de fila; 
 ■ Cycle Time: período que uma tarefa leva para ficar pronta, desde o iní-
cio da requisição até ser entregue e aceita. 
Gráfico de BurnDown
Também é muito utilizado para o controle de tarefas o gráfico de burndown cujo 
o objetivo é medir o progresso das tarefas realizadas por uma equipe. A métrica 
indica se a equipe está concluindo as tarefas mais rápidas ou lentamente do que 
o esperado. Se a diferença entre o estimado e realizado for muito grande, isso 
pode significar que houve um erro de estimativa. Isto pode causar a necessidade 
de ações para minimizar o impacto.
A Figura 2, a seguir, apresenta um exemplo de Gráfico de Burndown
com dois momentos de baixa produtividade e um momento de alta 
produtividade. 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E24
WIP é o que está em execução (tarefas) em determinado ponto do processo. 
WIP é uma prática do Kanban que é um framework ágil baseado na Teoria 
das restrições (TOC - Theory of Constraints).
Limita-se o WIP, porque estudos comprovaram que quanto maior o número 
de tarefas em andamento, em determinada parte do processo, maior é o seu 
lead time. E o que vem a ser o lead time? É o tempo em que uma tarefa fica 
no fluxo, do backlog ao done. O lead time mostra como está o nosso fluxo e 
é o principal mecanismo utilizado para mostrar pontos de melhoria e bus-
car pontos de melhoria é o nosso maior objetivo, pois melhorando vamos 
entregar mais valor de qualidade para nosso cliente e não somente no fim 
de todo projeto. 
Fonte: a autora.
Figura 02 - Gráfico de Burndown 
Fonte: Aprenda com quem faz ([2018], on-line)1. 
Métodos Ágeis De Desenvolvimento 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
25
MÉTODOS ÁGEIS DE DESENVOLVIMENTO 
Os métodos ágeis são uma alternativa à gestão tradicional de projetos, eles nasce-
ram nos braços do desenvolvimento de software, mas, hoje, podem ser aplicados 
a qualquer tipo de projeto (inclusive os que não se remetem ao software). Os 
métodos ágeis vêm ajudando muitas equipes a encarar a imprevisibilidades den-
tro de um projeto, por meio de entregas incrementais e ciclos iterativos. 
Os métodos ágeis buscam promover um processo de gerenciamento de pro-
jetos que incentiva a inspeção e adaptação frequente. É uma filosofia que acaba 
por incentivar o maior trabalho em equipe, a auto-organização, a comunica-
ção frequente, o foco no cliente e a entrega de valor. Basicamente, os métodos 
ágeis são um conjunto de práticas eficazes que se destinam a permitir a entrega 
rápida e de alta qualidade do produto, tendo uma abordagem de negócios que 
alinha o desenvolvimento do projeto com as necessidades do cliente e os obje-
tivos da empresa.
E quando falamos em gestão, controles, precisamos ter em mente a suges-
tão de Alisson Vale (2007, on-line)2, em seu trabalho “O Paradigma Ágil”, que 
traz como solução de gestão do Novo Paradigma: 
 ■ Uma equipe ágil tem dois objetivos (Scott Ambler): 
• Primário: entregar Software Funcional; 
• Secundário: criar condições para garantir a próxima entrega. 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E26
 ■ Planejamento, Levantamento, Análise, Projeto, Construção, Testes e 
Homologação não são tratados mais como fases, mas como atividades 
que compõe um ciclo de entrega um projeto é gerenciado sob a ótica de 
suas entregas e não de suas atividades; 
 ■ Escopo é sempre negociável, prazos não; Valor de negócio é a principal 
medida de progresso; O processo de decisão é postergado para o momento 
mais adequado; 
• O fator ‘Aprendizado’ é a alma do modelo (VALE, 2007, on-line)2.
Existem inúmeros frameworks de processos para desenvolvimento de software: 
Scrum, Kanban, XP, Adaptive Software Development (ASD). É preciso tomar 
cuidado, muitos dizem que Scrum é ágil e, na verdade, scrum é uma prática uti-
lizada para desenvolvimento ágil, ou seja, scrum está dentro do ágil. 
Você deve estar se perguntando, o porquê estamos falando sobre métodos ágeis 
na unidade “controle de tarefas”. É simples: o fato de termos ciclos pequenos e entrega 
contínua torna a comunicação e o controle das atividades mais eficiente e mini-
miza o risco de uma entrega sem qualidade e que não agregue valor para o cliente. 
O MANIFESTO ÁGIL 
O manifesto ágil é uma declaração de valores e princípios essenciais para o desen-
volvimento de software. Ele foi criado em fevereiro de 2001, onde se reuniram 
17 profissionais que já praticavam métodos ágeis. 
Durante a reunião, foram observados os pontos comum de projetos que 
tiveram sucesso em suas metodologias e, com base nesses pontos, foi criado o 
Manifesto Ágil. 
Os quatro valores do manifesto ágil 
A seguir apresentamos os quatro valores do manifesto ágil: 
I. Indivíduos e interações: mais que processos e ferramentas. 
II. Software em funcionamento: mais que documentação abrangente. 
Métodos Ágeis De Desenvolvimento 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
27
III. Colaboração com o cliente: mais que negociação de contratos. 
IV. Responder a mudanças: mais que seguir um plano. 
Os doze princípios do manifesto ágil
I. Nossa maior prioridade é satisfazer o cliente por meio da entrega contí-
nua e adiantada de software com valor agregado.
II. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. 
Processos ágeis se adequam às mudanças, para que o cliente possa tirar 
vantagens competitivas.
III. Entregar, frequentemente, software funcionando, de poucas semanas a 
poucos meses, com preferência com a menor escala de tempo.
IV. Pessoas de negócio e desenvolvedores devem trabalhar diariamente em 
conjunto por todo o projeto.
V. Construir projetos em torno de indivíduos motivados. Dando a eles o 
ambiente e o suporte necessário e confiando neles para fazer o trabalho.
VI. O método mais eficiente e eficaz de transmitir informações para e entre 
uma equipe de desenvolvimento é por meio de conversa face a face.
VII. Software funcionando é a medida primária de progresso.
VIII. Os processos ágeis promovem desenvolvimento sustentável. Os patro-
cinadores, desenvolvedores e usuários devem ser capazes de manter um 
ritmo constante indefinidamente.
IX. Contínua atenção a excelência técnica e o bom design aumenta a agilidade.
X. Simplicidade: a arte de maximizar a quantidade de trabalho não reali-
zado é essencial.
XI. As melhores arquiteturas, requisitos e designs emergem de times auto-
-organizáveis.
XII. Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz 
e então refina e ajusta seu comportamento de acordo.
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E28
SCRUM: PRÁTICA ÁGIL PARA DESENVOLVIMENTO 
DE SOFTWARE 
Scrum é um framework para organizar e gerenciar projetos complexos, tal como 
projetos de desenvolvimento de software desde o início de 1990. Segundo Ken 
Schwaber e Jeff Sutherland(2014, p. 3), em sua obra “Guia do Scrum”, Scrum 
é “um framework dentro do qual pessoas podem tratar e resolver problemas 
complexos e adaptativos, enquanto produtiva e criativamente entregam produ-
tos com o mais alto valor possível”. Vale ressaltar que scrum não é um processo 
padronizado e metódico. Este método emprega ferramentas para o desenvol-
vimento iterativo e incremental, para aperfeiçoar a previsibilidade, controle de 
riscos e respostas à mudanças. 
O Scrum é embasado em teoria empírica de controle de processo, ou seja, 
o conhecimento vem da experiência. Este controle tem como base três pilares: 
transparência, inspeção e adaptação. 
 ■ Transparência: é importante que o time ou os responsáveis pelo pro-
cesso tenham o mesmo entendimento sobre o trabalho, entrega, produto 
e padrões utilizados no processo. 
 ■ Inspeção: o time deve, frequentemente, inspecionar o progresso do tra-
balho. Claro que esta inspeção não deve ser tão frequente, e sim de forma 
diligente, a fim de dirigir e detectar variações e/ou mudanças benéficas 
ao processo e ou produto.
SCRUM: Prática Ágil para Desenvolvimento de Software 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
29
 ■ Adaptação: a capacidade de ajustar o processo para minimizar possíveis 
desvios ou para tornar um produto aceitável é uma característica essen-
cial do scrum. 
No Scrum, o trabalho é realizado em iterações ou ciclos de até um mês de calen-
dário, chamado de Sprints.
O trabalho realizado em cada sprint deve criar algo de valor tangível e poten-
cialmente utilizável pelo cliente ou usuário. Sprints são timeboxed com um início 
e fim (data fixa) e, geralmente, todos eles devem estar com a mesma duração, 
conforme ilustra a Figura 3: 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E30
Figura 3 - Sprint
Fonte: Mindmaster (2014, on-line)3. 
Alguns aspectos importantes devem ser considerados em uma sprint: não é 
permitido efetuar alteração ou mudança que possa colocar em risco o objetivo 
definido para sprint, metas de qualidade não podem diminuir em benefício ao 
prazo e o escopo evolui a medida que o time aprende sobre o produto (durante 
o desenvolvimento), facilitando a negociação e planejamento de prioridades. 
Cada sprint pode ser considerado como um projeto, pois possui definição 
do que deve ser entregue, uma duração definida, um plano para direcionar a 
equipe, o trabalho e o resultado (incremento do produto). 
A seguir, iremos apresentar os eventos scrum:
EVENTOS SCRUM 
Além da sprint que é um container para outros eventos, o scrum é composto 
pelas seguintes cerimônias: Sprint Planning, Execução do Trabalho, Daily Scrum, 
Sprint Review e Sprint Retrospective. Falaremos, a seguir, sobre o objetivo e 
importância de cada um destes eventos. 
SCRUM: Prática Ágil para Desenvolvimento de Software 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
31
Sprint Planning
Participam da reunião de Sprint Planning o Product Owner, Scrum Master e time 
de desenvolvimento. Nesta reunião, a partir de um Product Backlog, o Product 
Owner define a prioridade de funcionalidades que serão entregues ao final do 
sprint. O resultado desta priorização é a Sprint Backlog. A reunião deve ter uma 
duração de, no máximo, 8 horas para sprint de 1 mês. Para sprints menores a 
duração também deve ser menor. 
O objetivo desta reunião é definir o que será entregue como incremento do 
produto e como será realizado o trabalho. 
Tendo definido o objetivo da sprint, como o trabalho que será entregue deve 
ser considerado “pronto”? No Scrum utilizamos o conceito de “DOD - Definition 
of Done”. DOD é um acordo formal e deve esclarecer o que o produto ou incre-
mento a ser entregue deve conter para ser considerado “pronto”. Pode ser um 
documento ou contrato que define, claramente, quais são os passos mínimos e 
itens para conclusão de um potencial entregável. O documento de DOD pode 
evoluir, normalmente, ao longo do projeto, porém é recomendado que a pri-
meira versão seja antes de iniciar a primeira Sprint do Projeto. 
 O time deve ter um entendimento compartilhado do que significa o tra-
balho estar completo, assegurando a transparência já discutida nesta unidade 
como pilar do scrum. 
Os benefícios de utilizar o DOD: 
 ■ O Time Scrum e os demais envolvidos utilizam um vocabulário único 
sobre o que será considerado “pronto”; 
 ■ Aumento de confiança dos stakeholders; 
 ■ As entregas passam a ser mais previsíveis, minimizando as “surpresas” 
nas entregas; 
 ■ Os impedimentos são identificados mais rapidamente e trabalhados pela 
equipe; 
 ■ O melhor entendimento da expectativa do cliente possibilita o aumento 
de qualidade o produto a ser entregue; 
 ■ Melhoria contínua passa a ser essencial no modelo.
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E32
Lembre-se de que se um produto está pronto, então não existe mais nada a com-
plementar. Acredito que você já se deparou, alguma vez, com a expressão “está 
pronto, mas falta só o manual” (exemplo clássico) ou “está pronto, mas falta só 
testar”. Se isto acontecer, o produto não está pronto.
Execução do Trabalho 
Tendo definido o objetivo da Sprint e o Sprint Backlog, o time de desenvolvimento 
decide como será implementada a solução e inicia a construção, de maneira a 
transformar as funcionalidades em um incremento de produto. 
Daily Scrum 
A cada dia é realizada uma reunião rápida com objetivo de disseminar conheci-
mento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar 
o trabalho a ser realizado no próximo período. 
As reuniões de Daily Scrum, normalmente, são realizados todos os dias, no 
mesmo lugar e no mesmo horário do dia. Todos os membros da equipe devem 
participar. 
O Daily Scrum não pode ser usado como uma reunião para resolução de 
problemas e tampouco como status report. Problemas levantados, devem ser 
levados para um um grupo menor de trabalho que tenha a ver diretamente com 
o problema ou possa contribuir para solucioná-lo. Durante o Daily Scrum, cada 
membro da equipe provê respostas para cada uma destas três perguntas: 
 ■ O que você fez ontem?
 ■ O que você fará hoje? 
 ■ Há algum impedimento no seu caminho ?
Importante: os impedimentos identificados no Daily Scrum devem ser tratados 
o mais rápido possível pelo Scrum Master. 
SCRUM: Prática Ágil para Desenvolvimento de Software 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
33
Sprint Review 
Ao final de cada sprint é feito o Sprint Review. Com a participação do Product 
Owner, Scrum Master, Scrum Team, gerência, clientes e engenheiros de outros 
projetos, a Sprint Review tem como objetivo verificar se a equipe completou cada 
item do Product Backlog trazido para fazer no Sprint. O foco da reunião é revi-
sar o produto ou incremento, verificar se a equipe atingiu os objetivos definidos 
no Sprint Planning e adaptar o Product Backlog se necessário. 
O foco desta reunião é o produto ! 
Sprint Retrospective
O Sprint Retrospective ocorre no final de um Sprint e tem como objetivo: veri-
ficar como foi a última Sprint com relação à pessoas, processos e ferramentas, 
identificar o que funcionou bem e o que pode ser melhorado e criar um plano 
de implementação de melhoria no formato de trabalho do time scrum. 
O foco desta reunião é o processo de trabalho ! . 
O Scrum Master tem um papel fundamental nesta reunião, pois deve enco-
rajar o time a melhorar o processo de desenvolvimento tornando-o mais efetivo 
na próxima Sprint e buscando formas de aumentar a qualidade do produto. 
PAPÉIS DO SCRUM
No Scrum temos os seguintespapéis: 
 ■ Product Owner: o Product Owner é a pessoa que define os itens que com-
põem o Product Backlog e os prioriza nas reuniões de Sprint Planning. O 
Product Owner se compromete a não trazer novos requisitos para a equipe 
durante o Sprint. O Product Owner é o “dono” do produto. Requisitos 
podem mudar (e mudanças são encorajadas), mas apenas fora do Sprint. 
Uma vez que a equipe comece a trabalhar em um Sprint, ela permanece 
concentrada no objetivo traçado. 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E34
 ■ Scrum Master: o Scrum Master procura assegurar que a equipe respeite e 
siga os valores e as práticas do Scrum. Ele também protege a equipe, assegu-
rando que ela não se comprometa excessivamente com relação àquilo que 
é capaz de realizar durante um Sprint. O Scrum Master atua como facilita-
dor e se torna responsável por remover obstáculos que sejam levantados.
 ■ Scrum Team: equipe de desenvolvimento. Nela não existe, necessaria-
mente, uma divisão funcional, por meio de papéis tradicionais, como 
analista, programador, arquiteto etc. Todos, no projeto, trabalham jun-
tos para completar o conjunto de trabalho com o qual se comprometeram 
conjuntamente para um Sprint.
ARTEFATOS 
No Scrum temos como principais artefatos: 
 ■ Product Backlog: é uma lista com todas as funcionalidades desejadas 
para um produto. O conteúdo desta lista é definido pelo Product Owner. 
 ■ Sprint Backlog: lista com funcionalidades que serão executados em um 
Sprint. Estes itens são extraídos do Product Backlog, pela equipe, e com 
base nas prioridades definidas pelo Product Owner. Durante um Sprint, 
ocorre o refinamento do Product Backlog. A equipe gera especificações 
com detalhes sobre as funcionalidades que serão entregues. 
 ■ Sprint Burndown Chart: durante o Sprint, o Scrum Master mantém o 
Sprint Backlog atualizando-o, para refletir que as tarefas são completadas e 
quanto tempo a equipe acredita que será necessário para completar as que 
ainda não estão prontas. Essa atualização mantém o Release Burndown 
Chart atualizado para que seja efetuado o monitoramento do progresso 
de cada Sprint. O eixo Horizontal mostra os Sprints e o vertical mostra a 
quantidade de trabalho que ainda precisa ser feita no início de cada Sprint. 
 ■ Incremento do produto: parte do software pronto, potencialmente uti-
lizável, construído durante a Sprint.
Controle de Tarefas e o Redmine 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
35
CONTROLE DE TAREFAS E O REDMINE 
Antes de falarmos sobre o Redmine em si, é importante ter em mente alguns 
pontos que precisam ser avaliados quando necessitamos utilizar uma ferramenta 
para gestão dos projetos: 
 ■ Facilidade de utilização;
 ■ Interface amigável;
 ■ Ser customizável;
 ■ Ter funcionalidades necessárias;
 ■ Centralizar as informações do projeto; 
 ■ Fornecer informações relevantes a tomada de decisão; 
 ■ Custo.
Um dos paradigmas do ágil é a entrega de valor como medida de progresso. 
Será que pensamos nisto quando estamos planejando? Será que entrega-
mos software funcional e criamos condições para a próxima entrega? Pense 
nisto, isto pode fazer a diferença! 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E36
O RedMine é uma ferramenta de fácil utilização, possui uma interface amigável, 
que integra com vários repositórios (SVN, Git, CVS, Mercurial, Bazaar, Darcs e 
sistemas de arquivos), centraliza as informações de projeto, fornece as informa-
ções para tomada de decisão e, muito importante, não gera custo, pois se trata 
de uma ferramenta livre (gratuita). 
O Redmine é uma ferramenta completa para gerenciamento de projetos e 
possui recursos como: wiki, fóruns, gestão de arquivos, gráficos, equipes etc. 
Além disso, ela pode, facilmente, ser adaptada ao gerenciamento de projetos uti-
lizando o modelo ágil Scrum. 
Embora a ferramenta apresente uma gama de funcionalidades, nesta uni-
dade, iremos entender como cadastrar um projeto, suas atividades e as consultas 
disponíveis para visualizar o andamento das tarefas. 
Para que tenhamos um bom resultado nos controles de tarefas, é importante 
configurar a ferramenta de maneira correta. Por esta razão, é importante pensar 
no processo e cadastros antes de iniciar. 
O RedMine apresenta um guia completo sobre instalação e configuração, 
porém apresentaremos, a seguir, os aspectos básicos referentes à ferramenta 
RedMine: acesso à Página do RedMine; Criação de Projetos; Criação de Equipes 
(Membros); Criação de Atividades e Tarefas e Gantt. 
Para acessar o RedMine, você pode acessar o link que contempla a versão 
demo do RedMine (2015, on-line)4:
Figura 04 - Print da tela Inicial do RedMine 
Fonte: a autora.
Controle de Tarefas e o Redmine 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
37
Na tela inicial temos 3 seções: 
Na seção 1 é necessário cadastrar as informações básicas como: conta, pro-
jeto e login. 
Na segunda seção o usuário poderá visualizar informações sobre os proje-
tos tais como: última postagem e andamento.
Na terceira seção é apresentada a lista dos projetos mais recentes, projetos 
em andamento e os projetos concluídos. 
Para incluir um novo projeto, basta acessar a opção “Página Inicial”, opção 
“Novo Projeto”, conforme Figura 5, a seguir: 
Figura 5 - Print da tela inicial de projetos 
Fonte: a autora.
Após acessar a tela novo projeto, o usuário deverá preencher as informações 
necessárias para uma boa gestão de projeto, conforme mostra a Figura 6:
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E38
Figura 6 - Print da tela Novo Projeto 
Fonte: a autora.
É necessário informar, entre outros, o nome do projeto, uma breve descrição do 
projeto (objetivo, benefícios esperados), um identificador para facilitar a visu-
alização, módulos que serão utilizados e os tipos de tarefa. Teoricamente, seria 
necessário preencher todos os campos, porém, depende do nível de gerencia-
mento que o usuário está buscando. 
Agora que temos o projeto cadastrado, a ferramenta disponibiliza o módulo 
de administração, no qual será definida a equipe. É importante lembrar que defi-
nir a equipe não é apenas selecionar o profissional, mas sim definir o papel de 
cada um no projeto. Vejamos, a seguir, a tela de configurações do projeto, na 
qual iniciaremos a configuração dos membros do projeto: 
Figura 7 - Print da Tela de inclusão de membros e papéis. 
Fonte: a autora.
Controle de Tarefas e o Redmine 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
39
Na tela de configuração, aba “membros” o usuário deve cadastrar o usuário ou 
grupo e o papel de cada um no projeto. 
Ao criar um projeto é premissa especificar a versão do mesmo. Este controle 
é efetuado desde o início até a última entrega. Um projeto pode ter várias ver-
sões, devido as correções e melhorias que ocorrem durante todo o ciclo de vida. 
Confira, a seguir, a tela para registro das versões do projeto: 
Figura 8 - Print da tela de registro de versão do projeto 
Fonte: a autora.
É muito importante o registro das informações das versões e a manutenção do 
histórico de correções/implementações para a qualidade da informação. 
Devemos, agora, cadastrar as categorias de tarefas. 
No menu de configurações, devemos escolher: Categorias de Tarefas. 
Neste módulo é possível criar grupos de tarefas e associar aos respectivos 
responsáveis. Vejamos a Figura 9:
Figura 9 - Print da tela de configuração de categorias de atividades 
Fonte: a autora.
Já temos o projeto criado, as configurações (membros,categorias ou grupos, ver-
são etc). O próximo passo é criar as tarefas do projeto e os membros responsáveis 
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E40
por acompanhar o andamento das tarefas. A estes membros chamamos de obser-
vadores. A Figura 10 apresenta as informações que devem ser preenchidas no 
cadastro de tarefas:
Figura 10 - Print da tela de criação e atribuição de tarefas 
Fonte: a autora.
A funcionalidade de Criação e Atribuição de Tarefas é semelhante a alguns módu-
los de gestão de tickets. Ao criar uma tarefa, é preciso indicar qual o tipo da 
tarefa. Alguns exemplos mais utilizados no mercado são: bug, feature e support. 
O tipo de tarefa está diretamente ligado à forma como será gerenciado o 
projeto e tarefas. Informações incorretas podem acarretar problemas nas deci-
sões ou andamento do projeto. 
Os campos início, data prevista, tempo estimado e % terminado são premis-
sas para o acompanhamento das atividades. Estas informações dão visibilidade 
sobre o progresso da tarefa: percentual de completude, quanto falta para terminar 
a tarefa, data prevista para entregar, data real de finalização e, até mesmo, custo. .
Após o cadastro de todas as informações do projeto e após os membros da 
equipe atualizar o início e fim de cada tarefa é possível consultar o andamento 
das atividades do projeto, conforme Figura 11, a seguir:
Controle de Tarefas e o Redmine 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
41
Figura 11 - Print da tela Atividades 
Fonte: a autora.
Este módulo permite ao time visualizar as atividades de um projeto. As informa-
ções apresentadas em tela são: tipo da tarefa, identificador, status e responsável. 
O usuário pode optar por visualizar um projeto e aplicar filtro de tarefas, notí-
cias, documentos, arquivos, edições Wiki, Mensagens e tempo gasto. 
Por meio desta consulta, o usuário pode ter uma visão geral das atividades 
da equipe. 
No próximo módulo “consulta de tarefas” o gerente de projetos pode decidir 
sobre alocação de equipe, necessidade de ação para mitigar riscos e/ou desvios 
e verificar a atividade de cada membro da equipe. Você pode acompanhar na 
Figura 12, a seguir:
Figura 12 - Print da tela Tarefas 
Fonte: a autora.
CONTROLE DE TAREFAS 
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E42
A ferramenta disponibiliza, também, o gráfico de gantt. Este gráfico permite ao 
gestor a visualização de todas as tarefas do projeto. 
O gráfico apresenta as atividades do projeto semana a semana ou diariamente. 
O traço em vermelho indica o período atual e por meio da base de referência 
(informações cadastradas como baseline) é possível verificar se o projeto está 
dentro ou fora da data prevista, se haverá algum atraso, quais os fatores de riscos 
e quais as ações que podem ser tomadas para minimizar os impactos ou mitigar 
riscos. Veja a seguir Figura 13 de um gráfico de gantt de um projeto: 
Figura 13 - Print da tela Visualização do gráfico de Gantt 
Fonte: a autora.
Considerações Finais
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
43
CONSIDERAÇÕES FINAIS
Nesta unidade, estudamos sobre o controle de tarefas, o que é e qual é sua impor-
tância no desenvolvimento de software. Como vimos, o mercado de negócios 
exige constantes mudanças, inovação e prazos agressivos. Ser eficiente no con-
trole das atividades, com a informação disponível das tarefas em andamento, 
tomando as decisões corretas e propiciando entregas rápidas, que agreguem valor 
e com qualidade passa ser um diferencial no mercado de desenvolvimento de sof-
tware. Tivemos uma visão sobre o que é modelo ágil de desenvolvimento e uma 
pequena imersão no framework Scrum. Isto se fez necessário, pois conhecer as 
práticas ágeis é premissa para que possamos entender melhor como definir nosso 
processo de planejamento, priorização, execução e entrega. A partir de agora, 
quando pensarmos em definição de um processo, teremos em mente: entregar 
valor ao cliente, o mais rápido possível; o menos é mais: simplifique o traba-
lho, entregue o que é funcional, o que será realmente utilizado pelo seu cliente; 
comunicação: interação com equipe e cliente; melhoria contínua: esteja prepa-
rado para mudanças no processo. 
Aliado aos conceitos e práticas discutidas, se faz necessário uma ferramenta 
de apoio para que o processo possa ser eficiente. Apresentamos, nesta unidade, 
uma ferramenta livre, RedMine, de fácil utilização e que contempla os principais 
módulos para uma boa gestão de projetos. Tivemos acesso aos módulos básicos 
de inclusão de projetos, atividades e tarefas, mas vale um estudo mais aprofun-
dado, uma vez que temos acesso livre e a ferramenta dispõe de um bom guia de 
instalação e utilização. 
Nas próximas unidades discutiremos controle de versões, integração con-
tínua, qualidade de código. Todos estes tópicos intimamente ligados ä práticas 
ágeis que geram necessidade de controle das tarefas envolvidas, ou seja, o tema 
controle de tarefas não termina aqui! 
44 
1. Explique com suas palavras o que é o controle de tarefas e qual sua importância 
no desenvolvimento de software. 
2. Com relação ao controle de tarefa podemos afirmar que:
I. A velocidade alucinante de transformação do mercado de negócio não tem 
sido relevante para se buscar a otimização de prazo nas entregas.
II. Previsibilidade do backlog faz parte de um dos itens de controle de tarefas.
III. Um dos benefícios do controle de tarefas é melhorar a visualização de todas 
as tarefas que estão sendo trabalhadas.
Assinale a alternativa correta:
a) Apenas I está correta.
b) Apenas II e III estão corretas.
c) Apenas I e III estão corretas.
d) Todas as alternativas estão corretas.
e) Nenhuma das alternativas está correta.
3. Alguns pontos são premissas para se ter um bom controle de tarefas. Assinale 
quais são:
a) Priorizar, planejar e estabelecer prazos.
b) Definir metas e estabelecer prazos.
c) Definir metas, priorizar, quebrar objetivos em alvos menores e estabelecer 
prazos.
d) Ter uma lista de todos os objetivos detalhados e estabelecer prazos.
e) Nenhuma das alternativas.
4. Quando falamos de práticas ágeis, podemos afirmar que:
I. Os métodos ágeis promovem um processo de gerenciamento de projetos 
que incentiva a inspeção e adaptação frequente.
II. Scrum, Kanban e XP são frameworks de processos ágeis.
III. Scrum pode ser considerado um processo de desenvolvimento.
45 
Assinale a alternativa correta:
a) Apenas I está correta.
b) Apenas II e III estão corretas.
c) Apenas I e II estão corretas.
d) Todas as alternativas estão corretas.
e) Nenhuma das alternativas está correta.
5. São cerimônias de uma sprint:
a) Backlog de Produto, Sprint Backlog e Sprint Burndown Chart.
b) Product Owner, Scrum Master e Scrum Team.
c) Sprint Planning, Daily Scrum e Execução do Sprint.
d) Sprint Planning, Execução do Sprint, Daily Scrum, Sprint Review e Sprint Re-
trospective.
e) Sprint Review e Sprint Retrospective.
6. Assinale (V) para verdadeiro ou (F) para falso para as informações sobre o Red-
Mine:
( ) É uma ferramenta de controle de versão.
( ) Tem um alto custo de controle de licenças.
( ) É uma ferramenta de gestão de projetos que centraliza as informações de ati-
vidades, tarefas, equipe, versões e progresso das atividades.
( ) Integra com repositórios, como, por exemplo, GIT e SVN.
Assinale a alternativa com a sequência correta:
a) F; V; F; V.
b) F; F; V; F.
c) V; V; V; V.
d) F; F; F; V.
e) F; F; V; V.
46 
O que é kanban e como ele pode ajudar na organização da rotina de trabalho? 
Sabe aqueles grandes painéis repletos de post-its de todas as cores? Sim, o famoso sis-
tema que ainda é o método de organizaçãofavorito de muitos de nós. Esses boards com 
blocos de notas coláveis podem parecer arcaicos ou ultrapassados, mas ainda são mui-
to utilizados na organização pessoal e até em grandes projetos. Isso acontece porque 
existe uma importante metodologia por trás de tudo isso. Saiba agora o que é kanban.
O que é Kanban? De onde vem ? 
Como você já deve ter notado, o nome é de origem oriental. Mais especificamente japo-
nesa, pois foi na Terra do Sol Nascente que a prática teve origem. Aconteceu nos anos 
1960, na fábrica da montadora Toyota – que passava por um momento crítico. Em meio 
à falta de recursos e diante da necessidade de se modernizar para acompanhar as mu-
danças do mercado, a empresa precisava mudar sua metodologia de gestão.
Era preciso agir rápido e urgentemente para criar um novo sistema de manufatura. As-
sim, inspirados pelo livro Today and Tomorrow, de Henry Ford, os gestores da Toyota 
desenvolveram duas metodologias. Uma foi o JIT (Just In time), um sistema de admi-
nistração da produção que determina que tudo deve ser produzido, transportado ou 
comprado na hora exata.
O outro foi justamente o kanban, que nasceu inspirado no sistema de organização e fun-
cionamento dos supermercados americanos, ao recolocar mercadorias nas prateleiras a 
partir do momento em que elas eram vendidas.
O termo significa “tabuleiro” e o sistema propõe a utilização de cartões (os famosos post-
-its ou até hoje em dia cards em visualização online) em um quadro para indicar e acom-
panhar, de maneira visual, prática e utilizando poucos recursos, o andamento dos fluxos 
de produção nas empresas. 
Um exemplo sempre ajuda:
Claro. Imagine que você instale, na sua empresa, um grande quadro dividido ao meio. 
Em um lado, ficam as tarefas que precisam ser executadas o que pode ser chamado de 
“Backlog”. E, no outro, as etapas de execução (“em andamento” e “entregue”). Os nomes 
é você que escolhe de acordo com seus processos internos.
De acordo com o kanban, conforme as tarefas são desempenhadas, o cartão ou o post-it 
é colocado no campo correspondente ao status da tarefa. Simples, não é? Você prova-
velmente já pratica o kanban sem saber. 
Fonte: Runrun.it ([2018]). Disponível em: <https://blog.runrun.it/o-que-e-kanban/>. 
Acesso em: 1 jan. 2018. 
Material Complementar
MATERIAL COMPLEMENTAR
Scrum: a arte de fazer o dobro do trabalho na 
metade do tempo
Jeff Sutherland
Editora: Leya
Sinopse: Para aqueles que acreditam que deve haver uma 
maneira mais efi ciente de se fazer as coisas, este é um livro 
instigante sobre o processo de gestão que está mudando 
a maneira como vivemos. Desde o advento do método, já 
foram registrados ganhos de produtividade de até 1.200%. 
Jeff Sutherland, empreendedor que desenvolveu a primeira 
equipe Scrum há mais de vinte anos, apresenta a iniciativa 
de maneira brilhante e lúcida. Tecida com insights de artes 
marciais, tomadas de decisão judicial, combate aéreo 
avançado, robótica e muitas outras disciplinas, Scrum é 
sempre fascinante. 
Comentário: seja para inventar uma tecnologia pioneira 
ou para estabelecer os alicerces de prosperidade de uma 
família, a razão mais importante para ler este livro é que 
ele pode ajudá-lo a alcançar o que outros consideram 
inatingível. Jeff Sutherland escreveu a essência do Scrum para as pessoas comuns. Este livro eleva 
o Scrum de uma ferramenta para resolver problemas para um modo de vida. - Hirotaka Takeuchi, 
professor de Prática Gerencial, Harvard Business School. 
REFERÊNCIASREFERÊNCIAS
SCHWABER, K.; SUTHERLAND, J. Guia do Scrum. Creative Coomons, 2014. Disponí-
vel em: <https://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-Portu-
guese-BR.pdf>. Acesso em: 1 jan. 2018.
POPPENDIECK, M.; POPPENDIECK, T. Implementando o desenvolvimento lean de 
software: do conceito ao dinheiro. Porto Alegre: Bookman, 2011. edição Kindle. 
REFERÊNCIAS ONLINE
1Em: <http://www.cesar.edu.br/blog/simplifica-burndown-chart/>. Acesso em: 1 
jan. 2018. 
2Em: <http://alissonvale.com/englishblog/file.axd?file=Apresentacao_O_Paradig-
ma_Agil.pdf>. Acesso em: 1 jan. 2018.
3Em: <http://www.mindmaster.com.br/scrum/>. Acesso em: 1 jan. 2018.
4Em: <http://demo.redmine.org/>. Acesso em: 1 jan. 2018.
48
GABARITO
49
1. O controle de tarefas nada mais é do que a maneira como você identifica, mo-
nitora e progride com o trabalho que precisa ser feito.
Ou
Controlar tarefas é ter previsibilidade de:
• O que precisa ser executado (backlog); 
• O que é prioridade; 
• O que está sendo executado; 
• O que falta executar; 
• O que está pronto. 
Sobre a importância, podemos dizer que com a crescente necessidade de trans-
formação e novas tecnologias da sociedade, todos os setores de negócio passam a 
ser afetados. A concorrência exige das empresas diferenciais, como otimização do 
prazo, inovação e qualidade. Este cenário mostra a necessidade e importância de 
controlar tarefas de maneira mais eficiente. 
2. Opção correta é a B. 
3. Opção correta é a C. 
4. Opção correta é a C. 
5. Opção correta é a D. 
6. Opção correta é a E. 
GABARITO
U
N
ID
A
D
E II
Professora Esp. Maria Isabel Jacob José
CONTROLE DE VERSÃO
Objetivos de Aprendizagem
 ■ Apresentar o processo de gestão de configuração.
 ■ Compreender o que é o controle de versão.
 ■ Conhecer a importância no desenvolvimento de software. 
 ■ Pontuar os principais aspectos do GitHub. 
Plano de Estudo
A seguir, apresentam-se os tópicos que você estudará nesta unidade:
 ■ Gestão de configuração 
 ■ Conceito de controle de versão
 ■ Importância do controle de versão
 ■ Controle de Versão e o GitHub
Introdução
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
53
INTRODUÇÃO
Caro(a) aluno(a), nesta unidade daremos continuidade ao estudo de uma impor-
tante prática da Engenharia de Software. Os níveis de complexidade e abstração 
exigidos pelos atuais sistemas impactam, diretamente, nos esforços empenha-
dos no desenvolvimento do software. 
Considerando as constantes mudanças que afetam as regras do mercado e 
também as necessidades dos usuários, torna-se difícil predizer como um sof-
tware pode evoluir. Nesse contexto de modificação constante e alta complexidade 
dos artefatos de software produzidos, a Gerência de Configuração de Software 
(GCS) é a área da Engenharia de Software cujo principal objetivo é evitar a perda 
de controle do projeto. 
 A GCS também pode ser definida como o aspecto do processo de gerência 
que foca exclusivamente em controlar as mudanças que ocorrem durante o pro-
cesso. Dentro deste contexto, um dos procedimentos que se destaca durante o 
desenvolvimento de software é o controle de versões, sendo esta uma das prin-
cipais funcionalidades do Gerenciamento de Configuração. 
Dado esta importância, falaremos, nesta unidade, sobre a definição do con-
trole de versão, a importância desta prática e os riscos de não aplicar ou não se 
ter um bom processo definido. Nós, da área da tecnologia, já tivemos a opor-
tunidade de participar de projeto de desenvolvimento, com um número alto de 
pessoas envolvidas e com atividades em paralelo e sabemos que manter a inte-
gridade do código e qualidade da versão envolve uma boa estrutura, um bom 
processo e uma ferramenta de apoio para que possa tornar o trabalho mais efi-
ciente e seguro. Além dos temas ou práticas que serão discutidos, apresentaremos, 
também, os principais requisitos do GitHub e como esta ferramenta pode nos 
auxiliar dentro dos diversos contextos que envolvem o controle de versão e do 
processo de gestão de configuração. 
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E54
GESTÃO DE CONFIGURAÇÃO
A proposta desta unidade é te transmitir uma visão do processo de gestão de con-
figuração, uma vez que a atividade de controle de versão faz parte deste processo. 
Mudanças durante o desenvolvimento de softwaresão inevitáveis; o ambiente 
no qual o sistema opera muda, o entendimento dos usuários e desenvolvedo-
res sobre o sistema muda, o negócio muda (requisitos). Com tantas mudanças 
assim, como evitar que o desenvolvimento fique caótico; como controlar estas 
constantes mudanças?
A área da Engenharia de Software que trata deste assunto é a Gerência de 
Configuração de Software. Gerência de Configuração de Software é um con-
junto de atividades de apoio que permite a absorção ordenada das mudanças 
inerentes ao desenvolvimento de software, mantendo a integridade e a estabili-
dade durante a evolução do projeto. 
Contra-definição, por MURTA (sd, on-line)1, em seu trabalho para o Instituto 
de Computação: 
Gestão de Configuração
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
55
• GC não é (somente) controle de versões!
• GC não é configuração de conteúdos/dados!
• GC não é backup!
• GC não é simples!
• GC não é impossível!
• GC não é modismo!
• GC não é opcional!
• GC não é uma panacéia!
• GC não evita que ocorram modificações!
• GC não termina nela mesma!
• GC não é somente para sistemas grandes e complexos!
• GC não é somente para grandes equipes geograficamente distri-
buídas!
As principais atribuições da gerência de configuração são: controle de mudanças, 
controle de versão e integração contínua. Vejamos a abaixo o fluxo simplificado 
da GCS:
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E56
Figura 1- Fluxo simplificado da GCS 
Fonte: adaptado de Dias (2016, on-line)2.
CONTROLE E ACOMPANHAMENTO DE MUDANÇA (CONTROLE 
DE MUDANÇA)
Mudanças podem aparecer durante o ciclo de vida de um projeto desenvolvi-
mento de software e devem ser registradas, avaliadas e agrupadas de acordo 
com sua prioridade. Com base nessas informações, é possível planejar melhor 
o escopo, prazo e o custo de cada iteração. Em seguida, à medida que o desen-
volvimento acontece, pode-se acompanhar o estado da solicitação da mudança 
até sua implementação e até o lançamento de uma versão em produção.
Gestão de Configuração
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
57
REGISTRO E ACOMPANHAMENTO DA EVOLUÇÃO DO PROJETO 
(CONTROLE DE VERSÃO)
Sempre que uma solicitação de mudança é implementada, acontece um incremento 
na evolução do projeto que deve ser registrado no histórico. Este incremento na 
evolução corresponde a uma configuração, que é o estado do conjunto de itens 
que formam o sistema em um determinado momento. 
As funcionalidades oferecidas pelo controle de versão vão além do simples 
registro do histórico das configurações. Além do registro das configurações, o 
controle de versão tem outras responsabilidades importantes: possibilitar a edi-
ção concorrente sobre os arquivos e a criação de variações no projeto.
O controle de versão é a parte principal da GCS. É o elo comum entre o con-
trole de mudança e a integração do projeto. 
1.3 Verificação da Integridade do Sistema (Integração Contínua) 
O objetivo da integração é verificar se a construção do sistema a partir dos 
itens registrados em uma configuração é bem sucedida.
Integrar o sistema consiste em construir o sistema a partir dos itens regis-
trados em uma configuração.
Em termos práticos, a integração é feita por meio de scripts que automati-
zam a construção, testes e também a coleta de métricas de qualidade. 
A Gerência de Configuração de Software é a base para as demais áreas de 
Engenharia de Software e, por isso, aparece como requisito de implementação, 
já no nível inicial de diversos modelos de maturidade de processo de desenvol-
vimento como por exemplo o CMMI-DEV, SPICE e o MPS-Br. 
A seguir podemos entender as perspectivas da gestão de configuração na 
Engenharia de Software: 
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E58
Figura 2 - Perspectivas
Fonte: Murta (sd, on-line)3.
Gestão de Configuração sem uma Gestão de Mudanças efetiva não é eficaz, 
e com o tempo, sua base de dados de configuração ficará “furada”. A missão 
da Gestão de Mudanças é garantir que todas as alterações que possam afe-
tar o ambiente de operação sejam feitas de uma forma controlada. Alguns 
dos principais benefícios observados com a implementação do processo de 
gerenciamento de mudanças são:
• Devida priorização das requisições de mudança, adequar a capacidade 
da TI às necessidades do negócio para aumentar seu valor percebido;
• Redução de falhas nas mudanças realizadas e, consequentemente, na 
probabilidade de ocorrência de ruptura do nível de serviço causada por 
riscos não mapeados;
• Otimização dos custos e diminuição do retrabalho devido ao plane-
jamento e mapeamento dos riscos envolvidos nas mudanças a serem 
realizadas;
• Rastreamento e acompanhamento das requisições de mudanças em 
execução, e possibilidade de manter o solicitante informado de seu an-
damento. 
Fonte: Soares (2016, on-line)4.
Conceito de Controle de Versão
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
59
CONCEITO DE CONTROLE DE VERSÃO
Conforme foi exposto no tópico anterior, o controle de versão é a parte princi-
pal da gestão de configuração, pois é o elo comum entre o controle de mudança 
e a integração do projeto.
Antes de falarmos sobre controle de versão, vamos entender um pouco 
para que servem as versões. Segundo Murta (sd, on-line)3, “as versões servem 
para: sincronizar equipes, reproduzir configurações passadas, explorar possibi-
lidades, segregar desenvolvedores, customizar produtos, rastrear bugs, auditar, 
mudanças etc.” 
As principais utilizações do controle de versão são: 
 ■ Registro do Histórico: mantém o registro de todas as alterações efetua-
das durante o progresso do projeto. Essas informações mantém registrado 
o que foi feito, quem efetuou a alteração, quando foi aplicada e onde foi 
alterado. 
 ■ Colaboração Concorrente: com o controle de versão é possível que vários 
desenvolvedores possam trabalhar em paralelo nos mesmos arquivos sem 
que se perca ou se sobrescreva o código de outro desenvolvedor, o que 
poderia ocasionar o aparecimento de defeitos ou perda de funcionalidades;
 ■ Variações no Projeto: pode manter linhas de código diferentes durante o 
progresso do projeto. É possível manter uma versão 1.0 enquanto outros 
membros da equipe preparam uma outra versão, a 2.0 por exemplo.
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E60
Apresentaremos a seguir alguns itens importantes a saber sobre o controle de 
versão: 
Figura 3 - Controle de Versão 
Fonte: a autora.
 ■ Item de Configuração (ICs): qualquer componente que necessita ser tra-
tado como elemento único e precisa ser configurado com objetivo de se 
entregar um produto e serviço de TI. Os ICs incluem componentes de 
hardware, software e documentos. 
Tipos de ICs: 
 ■ Produtos de trabalho do projeto 
 ■ Produtos de trabalho de processos 
 ■ Exemplos: plano de GC, requisitos, modelos, código-fonte, etc.
 ■ Repositório: local seguro onde são depositados artefatos e código fonte 
de um projeto. O repositório deve permitir armazenamento, busca e 
recuperação de artefatos ou versão de um software. Deve servir como 
um ponto de referência. 
 ■ Topologia: pelo fato de muitas vezes os projetos de desenvolvimento de 
software contarem com o envolvimento de muitas pessoas, cabe ao gerente 
de projeto conduzir os recursos, colaboradores, prazos e requisitos. e, 
por isso, em algum momento, será necessário integrar todo o trabalho 
Conceito de Controle de Versão
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 Pen
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
61
da equipe, algo impossível de ser feito manualmente, surgindo a necessi-
dade de utilizar o controle de versão de software (Version Control System 
ou VCS). O funcionamento do controle de versão varia em cada sistema, 
mas, basicamente, um sistema de versionamento pode gerenciar todos 
os comandos executados na edição de um arquivo, salvando a sequência 
de alterações, de forma independente, em um determinado repositório.
O controle de versão é composto por dois elementos a saber: repositório e o 
espaço de trabalho. O repositório é utilizado para armazenar todo o histórico 
de evolução/progresso do projeto, nele é armazenado qualquer tipo de altera-
ção feita em cada item versionado.
É importante lembrar que o desenvolvedor não trabalha diretamente nos 
arquivos do repositório, para isto é utilizado o espaço de trabalho que con-
tém a cópia dos arquivos do projeto. Esta cópia é monitorada para identificar 
as mudanças realizadas. O espaço de trabalho deve ser individual e isolado dos 
demais espaços de trabalho.
O merge (sincronização) entre a espaço de trabalho e o repositório é exe-
cutado através dos comandos commit e update. O commit envia as alterações 
feitas no espaço de trabalho (origem) para o repositório (destino). Já o update 
executa o processo inverso, ou seja, envia as alterações contidas no repositório 
(origem) para o espaço de trabalho (destino).
Cada commit executado cria uma nova revisão no repositório, onde são 
armazenadas as alterações efetuadas e respectivas datas e autores. A revisão fun-
ciona como uma “foto” dos arquivos e diretórios em determinados momentos 
durante o progresso do projeto. As “fotos” antigas devem ser mantidas com pos-
sibilidade de serem recuperadas e analisadas sempre que necessário. Todas estas 
revisões formam o histórico do projeto.
Existem dois tipos de controle de versão: centralizado e distribuído. Qualquer 
um destes tipos de controle de versão, seja o centralizado ou o distribuído, tra-
balham com repositórios e espaços de trabalho. O que difere cada um dele é o 
como cada um destes elementos estão arranjados. 
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E62
Figura 4 - Controle de Versão Centralizado 
Fonte: Dias (2016, on-line)5.
O controle de versão centralizado tem como base a topologia em estrela, onde 
neste formato temos um repositório central com várias cópias de trabalho, uma 
cópia para cada um dos desenvolvedores, lembrando que a comunicação efe-
tuada entre um espaço de trabalho e outro deve passar obrigatoriamente pelo 
repositório central. 
Conceito de Controle de Versão
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
63
Figura 5 - Controle de Versão Distribuído
Fonte: adaptado de Dias (2016, on-line)5.
No controle de versão distribuído, temos vários repositórios autônomos e inde-
pendentes, um para cada um dos desenvolvedores. Cada um dos repositórios 
possui seu espaço de trabalho acoplado onde as operações de commit e update 
ocorre localmente entre os dois.
A comunicação entre os repositórios ocorrem através das operações bási-
cas de pull e push:
 ■ pull (puxar). Responsável por atualizar o repositório local (destino) com 
todas as alterações realizadas em outro repositório (origem).
 ■ push (empurrar). Responsável por enviar as alterações do repositório 
local (origem) para outro repositório (destino).
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E64
Figura 6 - Comunicação no processo de controle de versão distribuído
Fonte: adaptado de Dias (2016, on-line)5.
Quadro 1 - Resumo de operações básicas dos controles de versão centralizado e distribuído 
CENTRALIZADO DISTRIBUÍDO DESCRIÇÃO
checkout clone Criação da cópia de trabalho/repositório
commit commit Envia alterações para o repositório, criando 
uma revisão
update update Atualiza a cópia/espaço de trabalho em uma 
revisão
pull Importa revisões feita em outro repositório
push Envia revisões locais para outro repositório
Fonte: Adaptado de Dias (2016), on-line)4.
Importância do Controle de Versão 
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
65
IMPORTÂNCIA DO CONTROLE DE VERSÃO 
Já sabemos que um sistema de con-
trole de versão é um software (ou 
mais de um) que se 
encarrega de geren-
ciar as mudanças 
nos arquivos físicos. 
Esses arquivos podem ser 
basicamente de qualquer 
tipo, como documentos, 
imagens e código fonte de algum programa. 
Por gerenciar mudança entenda-se avisar se teve mudança em determinado 
arquivo, quem fez tal mudança, quando esta foi feita e, idealmente, porque esta 
alteração foi implementada, entre outras funcionalidades associadas à segurança 
e organização de arquivos e suas versões.
Qual a importância de controlar versão? Abaixo, segue alguns dos itens pelos 
quais considero de suma importância o controle de versão: 
 ■ Segurança: cada software de controle de versão possui mecanismos para 
evitar possíveis corrupções em arquivos. Além disso, apenas pessoas auto-
rizadas e identificadas podem mexer no código fonte controlado.
 ■ Versionamento: caso seja necessário voltar a versão de um determinado 
arquivo por algum erro cometido ou simplesmente mudança de escopo, 
é possível fazê-lo de forma simples e estruturada, minimizando eventu-
ais erros.
 ■ Rastreabilidade: quando se trata de algo importante, é sempre interes-
sante saber “Quem”, “Quando”, “Como”, “Porquê” e “Onde”. Todos esses 
metadados estão disponíveis nas ferramentas mais populares de con-
trole de versão.
 ■ Organização: os sistemas que possuem interface visual disponibilizam 
uma visualização completa do ciclo de vida de cada arquivo controlado, 
desde sua criação até o momento atual.
CONTROLE DE VERSÃO
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E66
 ■ Colaboração: o trabalho em equipe, principalmente as distribuídas, é 
muito facilitado. Pessoas que talvez nem se conhecem pode colaborar 
num determinado projeto cujo repositório central é disponibilizado a 
todos os envolvidos.
 ■ Confiança: o uso de repositórios remotos ajuda muito na recuperação 
de eventos imponderáveis. Situações do tipo “Perdemos o projeto inteiro 
que estava na máquina de fulano” são minimizadas. Além disso, é pos-
sível testar novas ideias sem danificar a linha base do desenvolvimento.
Esse pontos elencados acima impactam diretamente na produtividade e na qua-
lidade de desenvolvimento de um software. 
CONTROLE DE VERSÃO E O GITHUB
Antes de falarmos sobre o GitHub e controle de versão, é importante entender um 
pouco o que são e quais as diferenças de Git e GitHub e as definições são emba-
sadas no livro de Peter Bell e Brent Beer seguir:
Git é um sistema que mantém um 
registro das alterações feitas em arqui-
vos ao longo do tempo. Mais 
especificamente, o Git é um 
sistema de controle 
de versões distribu-
ído, o que significa 
que todos que estiverem 
trabalhando em um projeto no Git terão 
Lembre-se que a força que impulsiona as metodologias de desenvolvimen-
to ágil é a integração entre colaboradores, algo sempre presente na ativida-
de de controle de versão. 
Controle de Versão e o Github
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
67
uma cópia de todo o histórico do projeto, e não apenas do estado atual dos arqui-
vos. O Git surge como um nova geração de sistemas de controle de versão de 
software (Distributed Version Control Systems – DVCS no original em inglês) 
- basicamente, permite o controle da versão de arquivos de um projeto editado 
por diversas

Continue navegando