Buscar

Prévia do material em texto

Gestão de Projetos em Tecnologia da Informação
Aula 06
Métodos Ágeis
Objetivos Específicos
• Desenvolver um projeto utilizando métodos ágeis como referência.
Temas
Introdução
1 Características gerais dos métodos ágeis
2 Extreme Programming (XP)
3 Teste em XP
4 O projeto exemplo
Considerações finais
Referências
André Luis Fonseca Ricardi
Professor
Senac São Paulo - Todos os Direitos Reservados
Gestão de Projetos em Tecnologia da Informação
2
Introdução
Durante algum tempo houve uma disputa entre profissionais que defendiam métodos 
de desenvolvimento tradicionais, baseados em planejamento consistente e detalhado, e os 
defensores dos métodos ágeis, que são baseados em entregas rápidas e particionadas do 
mesmo software.
Como os métodos ágeis são uma proposta recente, se comparada aos métodos 
tradicionais, demorou para alguns profissionais perceberem que estas duas propostas 
não eram concorrentes, mas sim complementares. Não é possível desenvolver softwares 
complexos sem um planejamento consistente que, no caso de necessidades mais simples ou 
que sofrem muitas mudanças nos requisitos, pode acabar por atrapalhar (RICARDI, 2014).
Conhecendo os objetivos do projeto e entendendo a que se propõem os métodos, você 
poderá escolher aquele que está mais adequado para o desenvolvimento de cada projeto 
específico. Criticar qualquer método é um erro, pois ambos podem ser úteis.
Além disso, existem diversas propostas tanto para métodos tradicionais quanto para 
métodos ágeis. Então a análise precisa ser mais profunda para que se decida pelo mais 
adequado, para as necessidades da sua área de negócios, e especificamente para cada projeto.
Tenha sempre em mente que um projeto é único. Lembre-se: não ligue o piloto automático.
Nesta aula iremos tratar de métodos ágeis, que são uma alternativa para quem precisa 
de resultados consistentes, em um espaço de tempo menor, e que não esteja lidando com 
projetos complexos. 
1 Características gerais dos métodos ágeis
Algumas delas já foram citadas na introdução que você acabou de ler. Você também 
deve ter percebido que o Software Extension tem diversas citações sobre métodos ágeis, e 
em alguns itens explora o assunto em detalhes. Vamos analisar algumas de suas principais 
características (PMI, Software Extension, 2013):
1. O ciclo de vida é interativo, ou seja, repetitivo. As fases vão se repetindo por tantas 
vezes quanto for necessário, entregando versões intermediárias, até que se entregue 
uma versão completa do software;
2. Existe uma participação constante dos usuários e de partes interessadas chave, que 
vão detalhando os requisitos que são imediatamente, se aprovados, incorporados e 
desenvolvidos. Esta participação é essencial para o sucesso do projeto;
3. O rigor quanto à documentação de requisitos e funcionalidades que estão sendo 
implementadas é menor;
Senac São Paulo - Todos os Direitos Reservados
Gestão de Projetos em Tecnologia da Informação
3
4. Os profissionais envolvidos têm mais liberdade em desenvolver seu trabalho. Existe 
uma dependência menor quanto a processos, e maior quanto às pessoas;
5. Mudanças podem ser constantes e são aceitas. Novos requisitos podem surgir e ser 
implementados nas versões seguintes; e
6. Foco na simplicidade.
Para que você entenda o histórico e os conceitos básicos dos métodos 
ágeis, faça a leitura das páginas 38 a 42 (capítulo 3, Desenvolvimento ágil de 
software), e 49 a 51 (item 3.4, Gerenciamento ágil de projetos) do livro: 
“Engenharia de Software”, 9ª edição (SOMERVILLE, 2011), disponível na 
biblioteca virtual. Neste trecho, o autor apresenta conceitos básicos relacionados 
aos métodos ágeis.
É provável que você esteja empolgado com a leitura dos trechos citados acima. 
Recomendo que você explore mais o assunto. É provável que os métodos ágeis sejam úteis na 
maioria dos projetos de desenvolvimento de software que você irá participar, mesmo aqueles 
que utilizam metodologias tradicionais. Aplique ao desenvolvimento de módulos menores e 
que não tenham tanta interdependência com os demais.
2 Extreme Programming (XP)
Segundo Somerville, é o método ágil mais conhecido e utilizado no desenvolvimento de 
software. A ideia principal é levar as práticas a níveis “extremos” (SOMERVILLE, 2011). Abaixo 
estão listadas algumas das principais características:
1. Várias versões podem ser desenvolvidas, integradas e testadas em um curto período 
de tempo;
2. Requisitos são expressos como cenários (chamados de histórias do usuário);
3. Programadores trabalham em pares e desenvolvem testes para cada tarefa antes 
de codificar;
4. O cliente/ usuário é engajado de forma contínua com a equipe de desenvolvimento. 
Ele passa a fazer parte da equipe de desenvolvimento.
Senac São Paulo - Todos os Direitos Reservados
Gestão de Projetos em Tecnologia da Informação
4
Na Figura 1 a seguir está representado o ciclo de um release em Extreme Programming.
Figura 1 – Ciclo de um release em XP
Fonte: Somerville (2011).
3 Teste em XP
Uma das propostas mais interessantes do XP é a definição dos testes antes de codificar os 
programas; isso é chamado de test-first. O software vai sendo testado durante a codificação, 
pois já se sabe o que será testado. Este procedimento apresenta um ganho significativo no 
tempo de desenvolvimento dos programas (SOMERVILLE, 2011). 
Como as tarefas a serem codificadas são baseadas nos cartões de histórias, que foram 
definidos juntos aos usuários. São realizados testes de aceitação com a participação do 
usuário, que já valida se os testes estão adequados, e eventualmente pode adaptá-los em 
tempo real.
A dificuldade permanece em engajar e conseguir a disponibilidade do cliente. Utilizar 
métodos ágeis não garante que o cliente terá disponibilidade no momento necessário. 
Podem ainda ser utilizados testes automatizados, através de ferramentas preparadas para 
tal. Certamente sem engajar os diversos interessados você não conseguirá ter sucesso na 
gestão de seus projetos. 
Senac São Paulo - Todos os Direitos Reservados
Gestão de Projetos em Tecnologia da Informação
5
4 O projeto exemplo
Vamos utilizar como referência um projeto de desenvolvimento de um aplicativo para 
controlar uma dieta pessoal. Seu objetivo é atingir o Índice de Massa Corpórea (IMC) ideal para 
seu sexo, idade e altura. Consulte na Internet e verifique com seus familiares e amigos o que 
eles gostariam de ter em um aplicativo para tal. Utilize métodos ágeis para definir uma solução, 
através da construção dos cenários (histórias dos usuários, que citamos anteriormente).
Faça o planejamento, confira quais são as etapas do XP, e mãos à obra. Construa a sua 
definição, e se você conhece alguma linguagem de programação, tente construir, definindo 
antes os testes, e seguindo os passos propostos pelo XP. Quando terminar o seu projeto 
individual, troque ideias com seus colegas. 
Considerações finais
Acompanhando projetos de TI por tantos anos tenho a seguinte opinião: tem muita gente 
utilizando métodos ágeis quando não deveria, e vice-versa. Como usuários que somos dos 
softwares que utilizamos em nosso dia a dia, e sendo mais críticos do que usuários comuns 
(aqueles que não são técnicos de TI), percebemos que existem softwares que não atendem 
a requisitos mínimos de qualidade: páginas mal desenhadas, funcionalidades que dificultam 
o uso do software, bugs acima do tolerável, entre outros. Não se pode confundir agilidade 
de desenvolvimento com leviandade. Ser ágil não significa ser displicente e faltar com o 
profissionalismo que se espera no desenvolvimento de projetos de TI, seja lá qual for a plataforma.
Para alguns, construir softwares pode ser divertido e motivante, mas não pode ser 
encarado como uma brincadeira. Mesmo no desenvolvimento de games precisa existir 
organização e planejamento, por menor que seja. A inovação não necessariamente implica 
em entregar sempre antes da concorrência, pois se você entregar algo com baixa qualidade, 
perderá mercado da mesmaforma.
Ainda, o desafio de engajar os clientes e usuários finais continua. Talvez este seja o 
maior desafio no desenvolvimento de projetos, sejam eles de TI ou não. Todos devem ser 
responsáveis pelo sucesso do projeto, e cada um deve fazer a sua parte. Dependendo do 
projeto, os métodos ágeis podem ajudá-lo a engajar todos, pois os resultados aparecem mais 
rapidamente, e esta situação pode se transformar em fator motivador para todos.
Referências
COHN, Mike. Desenvolvimento de software com SCRUM: aplicando métodos ágeis com 
sucesso. BRASIL: Bookman, 2011.
SOMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
	Introdução
	1 Características gerais dos métodos ágeis
	2 Extreme Programming (XP)
	3 Teste em XP
	4 O projeto exemplo
	Considerações finais
	Referências

Mais conteúdos dessa disciplina