CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM GERENCIAMENTO DE PROJETOS

JORGE DA SILVA SANTOS

GERENCIAMENTO DE PROJETOS DE SOFTWARE E MÉTODOS ÁGEIS

CAMPOS DOS GOYTACAZES/RJ 2011

JORGE DA SILVA SANTOS

GERENCIAMENTO DE PROJETOS DE SOFTWARE E MÉTODOS ÁGEIS

Monografia apresentada a FIJ – Faculdades Integradas Jacarepaguá, como requisito para conclusão do Curso de Pós-Graduação lato sensu em Gerenciamento de Projetos.

Orientador: Jorge Washington S. dos Santos

CAMPOS DOS GOYTACAZES/RJ 2011

JORGE DA SILVA SANTOS

GERENCIAMENTO DE PROJETOS DE SOFTWARE E MÉTODOS ÁGEIS

Monografia apresentada a FIJ – Faculdades Integradas Jacarepaguá, como requisito para conclusão do Curso de Pós-Graduação lato sensu em Gerenciamento de Projetos.

Aprovada em xx de xxxxxxxx de 2011. Banca Avaliadora:

....................................................................................................................................... Prof. Jorge Washington S. dos Santos

....................................................................................................................................... Prof.

....................................................................................................................................... Prof.

CAMPOS DOS GOYTACAZES/RJ 2011

AGRADECIMENTOS

Primeiramente agradeço a Deus, Doutor e Mestre por essência e excelência. Aos parentes e amigos que estiveram sempre presentes a apoiar-me em minhas dificuldades, bem como fornecer o devido auxílio, seja ele moral ou material. Enfim, a todos que colaboraram de alguma forma para que este trabalho fosse concluído com êxito.

As dificuldades crescem à medida que nos aproximamos do nosso objetivo. Johann Wolfgang Von Goethe .

RESUMO Este trabalho destina-se a fazer uma abordagem sistemática dos métodos de gerenciamento de projetos. Descreveremos os métodos mais importantes e suas respectivas vantagens e desvantagens. visando atender as necessidades dos clientes. voltados especificamente para a área de desenvolvimento de software. .

specifically tailored to the area of software development. . We describe the most important methods and their advantages and disadvantages.ABSTRACT This work is intended to make a systematic approach to project management methods. to meet customer needs.

LISTA DE ABREVIATURAS .

LISTA DE FIGURAS .

SUMÁRIO .

Aquele. faz-se necessário que nos detenhamos na utilização de recursos que nos levarão à realização efetiva daquilo para o qual fomos designados ou contratados. significa que ele depois de concluído é. INTRODUÇÃO A era de Globalização trouxe consigo mudanças que têm afetado sobremaneira os diversos processos de Gerenciamento de Projetos. é um empreendimento temporário com o objetivo de criar um produto ou serviço único. dependendo deles -. eles são divididos em projetos e tarefas. . Dessa forma. Estamos diante de pessoas mais exigentes e criteriosas com relação a produtos e serviços.1. criando expectativas maiores no que se refere à agilidade e qualidade. dessa forma tornando o mercado mais competitivo e. onde aqueles que ficaram estagnados no tempo perderam seus lugares para outros que procuraram acompanhar tamanha evolução. Diante disso. Em toda organização são desenvolvidos algum tipo de trabalho e esses são executados por pessoas – em maior ou menor número. que em certas áreas é tão rápida que se não estivermos atentos nos distanciaremos dela. temos que nos atualizar e nos adaptar aos novos rumos prescritos pela Era Moderna. recursos e controle. tornamo-nos parte de um sistema onde gerenciamos ou somos gerenciados. com isso. Assim sendo. Para que possamos atender as expectativas inseridas no contexto da demanda atual. a temporalidade aqui. em sua essência. segundo define o PMBOK (2004). envolvendo planejamento. A competitividade nos mercados internacionais é fator preponderante dessa nova realidade. diferente dos outros. forçosamente.

podemos acrescentar a definição de Gerência de Projetos dada por Pressman (1995) que diz que ela é uma tarefa de vital importância no processo de desenvolvimento de um produto. A ABNT (NBR 10006) define que projeto é um processo único.A alocação de recursos e o tempo de execução de um projeto são fatores determinantes para avaliar sua complexidade e nos levar a agir para que efetivamente levemos a cabo sua conclusão. sendo definida como a primeira camada deste processo e não é visto como uma etapa clássica do desenvolvimento. incluindo limitações de tempo. . Ainda no tocante à definição de projeto. ou seja. que define projeto como um empreendimento com objetivos bem definidos. custo e qualidade. habilidades. 2004) é a aplicação de conhecimentos. segundo o Project Management Body of Knowledge (PMBOK. consistindo de um grupo de atividades coordenadas e controladas com datas para início e término. com o intuito de satisfazer ou exceder as necessidades e as expectativas dos stakeholders1 Como este trabalho está voltado para a área de software. conforme requisitos específicos. da concepção à obtenção do produto. KERZNER (2005). desde que ela acompanha todas as etapas do desenvolvimento. Pressman também diz que para que um projeto de software seja bem sucedido. A Gerência de Projetos é definida. ferramentas e técnicas em atividades do projeto. podemos citar. é necessário 1 Stakeholders são pessoas ou organizações que são afetadas pelo sistema e que tem influência direta ou indireta nos requisitos do sistema [PMBOK (2004)]. custos e recursos. empreendido para alcance de um objetivo. consumindo recursos e operando sob pressões de prazo. por exemplo.

2008). as tarefas a serem realizadas. mas antes por falta de conhecimento em gestão de projetos e que esse não é aplicado somente à figura do gestor. onde eram demonstradas que as principais causas do fracasso – falhas na execução e atraso na entrega – de um projeto de software estariam ligadas ao desempenho do gerenciamento do projeto. verificou que o problema de maior relevância que preocupa as organizações de software é aquele relacionado com o aspecto gerencial. torna-se necessário falarmos um pouco sobre o gerenciamento de projetos de software. os indicadores a serem acompanhados. fala sobre o Relatório Chaos Report (2004). ao analisar os projetos de TI que falharam. 1. No ano de 1993. o Software Engineering Institute (SEI). em seu livro intitulado ‘Maturidade em Gerenciamento de Projetos’. os recursos e custos aplicados e a sistemática que deverá ser seguida. os recursos necessários. O Relatório Chaos realizado pelo Standish Group (1995) identificou que as empresas americanas gastaram $ 81 milhões em projetos de software que foram . Darci Prado (PRADO. Começaremos falando sobre pesquisas realizadas na década de 90. mas também de todos os integrantes da equipe. os riscos envolvidos. em sua maioria.que alguns parâmetros sejam corretamente analisados. afirma que isto não aconteceu. por falta de recursos ou acesso à tecnologia. GERENCIAMENTO DE PROJETO DE SOFTWARE Para que possamos nos deter com maior profundidade no tema deste trabalho.1. a saber: o escopo.

a saber: . foram entregues no tempo e orçamentos previstos. mas com os mesmos objetivos. .Gerente de Projeto. Esse relatório assinala o gerenciamento como principal responsável pelo sucesso ou falha de um projeto de software. Os papéis de cada um devem ser bem definidos.cancelados em 1995. 1.Clientes. .1. Projetistas. . o números melhoraram em 28% e 16% respectivamente. Programadores e Engenheiros de Testes). Destes. considerando-se que a boa formação de uma equipe depende disto.Usuários. 53% dos que foram concluídos excederam mais de 50% em sua estimativa de custo. Isso não se aplica somente aos projetos de software.Desenvolvedor (Analistas. mas a toda atividade. Também deve-se levar em conta alguns . 31% foram cancelados antes da sua conclusão. No que se refere às pequenas e médias empresas. Denomina-se equipe o conjunto de pessoas que trabalham num projeto em diferentes tarefas.Gerente de Qualidade. Somente 9%. . referentes às grandes organizações.1 Partes envolvidas no Projeto de Software No projeto de Software há o envolvimento de várias pessoas que exercem diversos papéis.

Democrática Descentralizada: nesta. como esse será elaborado. da realização de estimativas.Planejamento: é um plano bem organizado que define.Acompanhamento: No início do projeto existe pouca informação que possibilite evitar o comprometimento da precisão do escopo.Controlada Descentralizada: aqui há um líder. Pela própria natureza dos projetos. . do processo de software do projeto.elementos como relacionamento interpessoal. da elaboração de cronograma. podemos classificá-las em vários tipos: .2 O Processo do Gerenciamento do Projeto de Software A composição do processo de gerenciamento de software envolve três etapas principais: . o . ainda que a comunicação seja horizontal.Controlada Centralizada: há um líder e a comunicação entre ele e a equipe é vertical. mas o consenso do grupo é quem determina a tomada de decisões. 1. no início do projeto. . no tocante à estrutura das equipes. entre outros. criatividade. Ele tem como função abordar as definições do escopo do software. das estimativas feitas e do cronograma desenvolvido.1. . 2005). da identificação e solução para os riscos agregados ao projeto. tipo de projeto. não há um líder permanente. Segundo Pressman (PRESSMAN.

podemos ajustar e fazer um refinamento dos elementos supracitados. fazer alterações no processo do projeto e no cronograma. de riscos e de aquisições. de custos. 1.conhecimento aumenta na medida em que estes avançam e. . fazer refinamento no escopo e. das comunicações. Abaixo faremos uma breve descrição de cada uma das referidas áreas. de forma a se tornar um aprendizado para futuros projetos. Tudo isso deve ser feito com o envolvimento de toda a equipe. do escopo. torna-se fundamental acompanhar o seu progresso. dos recursos humanos. por fim. . existem nove áreas de conhecimento em gerenciamento de projetos. monitorar riscos e tomar ações corretivas. assim sendo.1. estão sempre sujeitos à modificações. identificar os problemas e suas causas.3 Áreas de Conhecimento em Gerenciamento de Projetos Conforme cita o PMBOK (2004). passa-se para a análise do que deu certo e o que não funcionou conforme as especificações do projeto. a saber: gerenciamento de integração.Encerramento: Após o término do projeto. da qualidade. de tempo. Aqui podemos fazer comparações entre o estimado e o realizado. dessa forma. Como os projetos são dinâmicos e.

É a área que descreve os processos relacionados ao término do projeto dentro do prazo estimado. . 1.2 Gerenciamento de Requisitos A definição para requisitos.3.4 Gerenciamento de Tempo Envolve o controle das atividades para o cumprimento do cronograma e a confirmação dos marcos do projeto dentro das estimativas de prazo (VIEIRA.1 Gerenciamento de Integração Segundo Vieira.3. o trabalho necessário para que seja concluído com sucesso.1. tão e somente. segundo SAYÃO E BREITMAN (2005) é: “uma capacidade de software que deve ser disponibilizada por um sistema ou componente de um sistema de modo a satisfazer um contrato. 1. escopo é todo trabalho envolvido na criação dos resultados do projeto (VIEIRA. 2003). o Gerenciamento de Integração é a área responsável pela identificação e gerenciamento dos pontos de interação entre os elementos do projeto e o estabelecimento e manutenção da boa comunicação entre esses pontos.3.1.1.3 Gerenciamento de Escopo De acordo com Vieira. O Gerenciamento de Escopo faz a descrição dos processos envolvidos na verificação de que o projeto inclui.1.3. 2003). 1. especificação ou outra formalidade imposta”. padrão.1.

3. no orçamento e controle de custos. no que está implícita a satisfação dos clientes e usuários finais. 1. ao desempenho do sistema.5 Gerenciamento de Custos Descreve os processos envolvidos no planejamento. De acordo com VIEIRA (2003). especialmente para que os prazos sejam cumpridos. em alguns casos. . o gerenciamento e o planejamento das pessoas envolvidas no projeto são de fundamental importância.6 Gerenciamento de Qualidade Este tem por base a descrição dos processos envolvidos na garantia de que o projeto irá satisfazer as metas definidas a serem alcançadas por ele. o importante é não determinar custos antes da definição do requisito e do escopo.1.3.1. na estimativa. além de estuda bem a tecnologia a ser utilizada.1.3. visando o término do projeto dentro do orçamento aprovado.7 Gerenciamento de Recursos Humanos Como é uma das principais fontes da produtividade no desenvolvimento de sistemas. 1.1. Vieira (2003) diz que a qualidade está ligada ao atendimento das necessidades do usuário final e.

de forma oportuna e adequada (VIEIRA. 2003). avançamos neste trabalho. em especial. .3. mas sem deixar de falar sobre os métodos tradicionais. além dos processos de gerenciamento de contratos (VIEIRA. No Capítulo 3 faremos uma abordagem sobre os métodos tradicionais e ágeis.8 Gerenciamento de Comunicações O gerenciamento de comunicações descreve os processos relacionados à geração.9 Gerenciamento de Aquisições Aqui são descritos os processos de compra ou aquisição de produtos. serviços ou resultados. 1. O Capítulo 4 será destinado a uma pequena comparação entre os dois métodos.3. cuja temática envolve gerenciamento de projetos de software.1. armazenamento e destinação final das informações do projeto.1.1. Descrevendo de maneira sucinta suas vantagens e desvantagens e quando é mais viável utilizá-los. lidando com os métodos ágeis. 2003). Depois de darmos algumas definições relacionadas ao Gerenciamento de Projetos e. coleta. ao de software.

uma atividade normalmente muito confusa. O desenvolvimento de software requer muita habilidade. Entretanto.2. que têm sua fundamental atenção voltada para a qualidade dos processos e da produtividade. as indefinições do plano inicial do projeto. visto que na prática é. Segundo FOWLER (2000). não interferem. tornam-se cada vez mais arraigados e. visto que as atividades de testes não deixam margem para uma previsão exata de tempo para a execução delas. difíceis de serem suprimidos. motivo pelo qual Fowler se refere a elas como “Metodologias de Engenharia”. Melhoria essa. Quando o sistema é pequeno. uma longa fase de testes que confronta diretamente com o cronograma estabelecido. assim como para a redução de riscos. se o projeto é de maior vulto. com as múltiplas decisões a serem tomadas em curto prazo. no andamento do sistema. torna-se mais difícil implantar-lhe novos recursos e os defeitos que se subseguem. sobremaneira. O sistema acima citado carrega consigo. comumente marcada pelos verbos: codificar e consertar. Elas fazem isso desenvolvendo um processo detalhado com uma forte ênfase em planejamento e inspiradas em outras disciplinas de engenharia. . como característica.1. em grande parte. consequentemente. metodologias impõem um processo disciplinado no desenvolvimento de software com a finalidade de torná-lo mais eficiente e previsível. JUSTIFICATIVA A acirrada competição no mercado de software tem como exigência principal a melhoria nos processos de desenvolvimento.

os métodos ágeis vêm se popularizando no Brasil nos últimos anos.Sendo as metodologias supracitadas consideradas como burocráticas. E continua. o resultado disso é que os métodos ágeis têm algumas mudanças de ênfase significativas em relação aos métodos burocráticos ou tradicionais. ainda que acrescente que a estrutura em demasia gera a rigidez. . dizendo que os métodos ágeis são menos centrados em documentação e de várias formas são mais voltados ao código-fonte do programa. Agilidade é a habilidade de balancear flexibilidade com estabilidade. a cada dia surgem novos adeptos daqueles. Ele ainda enfatiza que a ausência de estrutura ou estabilidade pode levar ao caos. Conforme FOWLER (2000). Ainda que os métodos ágeis ainda sejam vistos com desconfiança pelo gerenciamento tradicional. Pela utilização de uma abordagem simplificada. mas hoje o termo mais aplicado é metodologia ágil. Agilidade é a habilidade de criar e responder a mudanças com respeito ao resultado financeiro do projeto em um turbulento ambiente de negócios. pois existem casos em que é mais aconselhável adotar a metodologia tradicional. Essas metodologias tentam criar um meio termo entre a escassez e o excesso de processos. de forma a prover o suficiente deles. A princípio eram chamadas de metodologias “leves”. Não se trata aqui de colocar os métodos ágeis como a única alternativa para o desenvolvimento de software. surge um novo grupo que reage a elas. para ter uma resposta plausível. De acordo com HIGHSMITH (2004).

OBJETIVOS A seguir.3. a aceitação da metodologia ágil no mercado. assim. .2 Objetivos Específicos Os objetivos específicos. 1. o objetivo de atender os requisitos propostos e a qualidade esperada pelos envolvidos no projeto. que aqui serão tratados. Demonstrar. 1. • Fazer uma breve comparação entre os métodos ágeis e os tradicionais.Nossa proposta é analisar os métodos ágeis na sua função de alcançar a melhoria no desenvolvimento de software. através de pesquisas. apresentaremos o objetivo geral e os específicos que serão desenvolvidos no decorrer deste trabalho.3. são baseados nos seguintes itens: • • Citar as metodologias ágeis mais relevantes no mercado. atingindo. levantando seus pontos comuns e divergentes.3. 1.1 Objetivo Geral O Objetivo principal deste trabalho é fazer uma análise das metodologias ágeis no gerenciamento de projetos de software em contraste com as metodologias tradicionais.

bem como a utilização de aulas da disciplina de Gerenciamento de Projetos do curso de Análise e Desenvolvimento de sistemas da referida Instituição. Essas duas modalidades de pesquisa foram a base dos estudos necessários para que fosse possível adquirir conhecimentos que levasse a concretização do referido trabalho. . sobre desenvolvimento de software. marcada pela pesquisa bibliográfica e também a eletrônica. em sua grande parte. METODOLOGIA DE PESQUISA A metodologia de pesquisa utilizada neste trabalho foi. Buscou-se também subsídios nos relatórios do Ministério da Ciência e Tecnologia.4. Também foram coletadas informações com professores do IFF – Campos dos Goytacazes.1.

Eles tentam ser processos que se adaptam e se fortalecem com as mudanças. o qual prega que a “prioridade é satisfazer o cliente através de entregas antecipadas e contínuas de software de valor”. entretanto. independentemente de quem os estiverem utilizando. Métodos ágeis afirmam que nenhum processo jamais será equivalente à habilidade da equipe de desenvolvimento.5. até mesmo ao ponto de se auto-modificarem. ainda que menos documentação seja apenas um sintoma de duas diferenças mais profundas: • Metodologias ágeis uma são adaptativas parte do ao invés de de predeterminantes. • Métodos ágeis são orientados a pessoas ao invés de serem orientados a processos. Ele acrescenta que a maior diferença mais clara entre essa modalidade e a tradicional é que as metodologias ágeis são menos centradas em documentação.1. Então a natureza de tais métodos é a de resistir à mudança. INTRODUÇÃO Neste capítulo abordaremos a metodologia ágil nos seus diversos aspectos. Para os métodos ágeis. a partir de um enfoque do Manifesto Ágil. O objetivo dos métodos de engenharia é de definir um processo que irá funcionar bem. Isso funciona bem até as coisas mudarem. . mudanças são bem-vindas. De acordo com FOWLER (2000). CAPÍTULO I 1. fornecendo o suficiente de processo para a obtenção de um retorno aceitável. Metodologias de engenharia tendem a tentar planejar grande processo desenvolvimento detalhadamente por um longo período de tempo. metodologias ágeis buscam criar um equilíbrio entre nenhum processo e muito processo.

Software em funcionamento mais que documentação abrangente. Nele são valorizados: • • • • Indivíduos e interações mais que processos e ferramentas. cujo intuito era determinar qual a visão de uma equipe de desenvolvimento de software.Portanto. nos Estados Unidos da América. desenvolvimento e entrega de software. . 1. Para SOMMERVILLE (2003). um grupo de dezessete especialistas (gestores e desenvolvedores) em desenvolvimento de software se reuniu em Utah. a metodologia ágil com suas características de usabilidade das principais metodologias utilizadas.6. em geral. para discutir que práticas poderiam ser usadas para melhorar o desempenho de seus projetos. mas somente expor. as metodologias ágeis dispõem de uma abordagem iterativa para especificação. o papel do processo é dar suporte à equipe de desenvolvimento e seu trabalho. Nesse encontro foi assinado um documento chamado de “Manifesto para desenvolvimento ágil de software”. O Manifesto Ágil e formado por princípios e valores que devem servir de base para as equipes. de maneira sucinta e clara. Nossa abordagem não fará menção às controvérsias em torno do assunto. HISTÓRICO Entre os dias 13 e 13 de fevereiro 2001. Responder a mudanças mais que seguir um plano. Colaboração com o cliente mais que negociação de contratos.

ajustar-se de acordo com seu comportamento. Os princípios que norteiam o Manifesto são 12. mas antes. 4. 9. e então. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho. 3. 11. Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto. O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face. 5. contudo. a equipe deve refletir sobre como tornar-se mais efetiva. As melhores arquiteturas. com preferência à menor escala de tempo. desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente. mesmo tardiamente no desenvolvimento. Em intervalos regulares. requisitos e designs emergem de equipes auto-organizáveis. 10. de poucas semanas a poucos meses. Construa projetos em torno de indivíduos motivados. Os processos ágeis promovem desenvolvimento sustentável. Software funcionando é a medida primária de progresso. Os patrocinadores. Não significa. 7. mas se dá preferência àqueles que estão colocados à esquerda. 2. 8. 12. a saber: 1. Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado. Entregar frequentemente software funcionando. Mudanças nos requisitos são bem-vindas. 6. . que ser ágil é radicalizar ou defender que exista apenas uma solução para os projetos de desenvolvimento de software.a arte de maximizar a quantidade de trabalho não realizado-é essencial. Contínua atenção a excelência técnica e bom design aumenta a agilidade.Não são descartados os valores à direita. Simplicidade .

assim como a sua união. os critérios de saída e os pontos de conferência para decisões de prosseguir/não prosseguir (os usuários devem decidir ao final da análise se desejam continuar a financiar o projeto) (YOURDON. gerentes. 1995). codificação. técnicos) devem estar envolvidas em cada atividade e que papéis deverão desempenhar.7. Uma metodologia de software comumente identifica as principais atividades (análise. testes) a serem executadas e indica quais pessoas (usuários. 1995). a análise estruturada é um método para se realizar a fase de análise de um projeto. procurar para que haja conscientização da equipe. Yourdon dá a seguinte definição para metodologia e método: “Plano de batalha” ou livro de receitas passo a passo para se chegar a um resultado desejado. No entendimento de YOURDON (1995). 1. projeto. enquanto o projeto orientado a objetos é um método orientado para se executar a fase do projeto (YOURDON. metodologia incorpora todo o processo de desenvolvimento de software e método é aplicado em uma ou mais fases desse desenvolvimento. . CONSIDERAÇÕES SOBRE METODOLOGIA E MÉTODO Existem diversas definições ou interpretações para metodologia e método. Método: abordagem técnica passo a passo para se realizar uma ou mais das principais tarefas indicadas numa metodologia global. Dessa forma.que ser Ágil é identificar e focar em objetivos bem definidos. As metodologias frequentemente descrevem os critérios de entrada (essas condições devem ser satisfeitas antes de iniciar a fase de projeto).

. uma metodologia fornece um plano. o qual se refere como metodologia do gerenciamento de projetos. teste e manutenção. Ele acrescenta que boas metodologias integram outros processos na gerência de projetos e. .Engenharia concorrente. É uma mistura de processos que nos dizem “o que deve ser feito”. durante a década de 90. codificação. arquitetura de programa e algoritmo de processamento. definindo-o assim: Os métodos de engenharia de software proporcionam os detalhes de “como fazer” para construir o software.Gerência da Qualidade total. integraram numa única metodologia de gerência de projetos. . os seguintes processos: . KERNER (2001) diz que não é possível atingir a maturidade da gerência de projetos sem um processo repetitivo que possa ser usado em todos os projetos. mas não “como deve ser feito”. . Os métodos da engenharia de software muitas vezes introduzem uma notação gráfica ou orientada à linguagem especial e introduzem um conjunto de critérios para a qualidade do software (PRESSMAN. 1.8. 1995). em nível estratégico. análise de requisitos de software e de sistemas. várias organizações dos mais diversos ramos de atuação.controle de Mudança de Escopo. projeto da estrutura de dados. Os métodos envolvem um amplo conjunto de tarefas que incluem: planejamento e estimativa de projeto. para planejar e controlar os processos de software.Já PRESSMAN entende que método incorpora todo o processo de desenvolvimento de software. METODOLOGIAS DE GERENCIAMENTO DE PROJETOS De acordo com REHMAN (2007).Gerência de Projetos.

• Fácil para que o cliente possa entender e seguir. • Utilização de modelos. • Flexibilidade para a aplicação em todos os projetos. KERNER (2001) também enumera as características de uma boa metodologia. tanto os internos quanto para os clientes. baseada processos integrados. conforme necessário.Gerência de Risco.. . • Com base em um bom trabalho ético. a saber: • Um recomendado nível de detalhe. • Uso de fases do ciclo de vida padronizado. • Prontamente aceito e utilizado em toda organização. • Técnicas de planejamento. • Formato de relatórios padronizado. programação e controle dos custos padronizado. • Flexibilidade para uma rápida introdução de melhorias. • Baseado em orientações e não em políticas e procedimentos.

A função primária do SCRUM é ser usado para o gerenciamento de projetos de desenvolvimento de software. 1. Ele tem sido usado com êxito para esse fim. como um estilo em gerenciamento de projetos em indústrias de automóvel e materiais de consumo. Ainda que todas compartilhem algumas características.9. várias são as metodologias que estão dentro da categoria de ágeis. SCRUM é um processo ágil e leve que utiliza práticas iterativas e incrementais para gerenciar e controlar o desenvolvimento de software. existem algumas diferenças significativas entre elas. onde um grupo de pessoas precise trabalhar junto para alcançar um objetivo comum. assim como outras metodologias de desenvolvimento. METODOLOGIAS ÁGEIS De acordo com FOWLER (2003). ainda que também possa ser utilizado em qualquer contexto.1. no artigo “The New Project Development Game”.9.1 SCRUM O SCRUM foi concebido por Takeuchi e Nonaka. Abaixo faremos a descrição de algumas dessas metodologias para um maior entendimento de seus processos. Ele aumenta significativamente a produtividade e reduz o tempo e reduz o tempo para obter . Takeuchi e Nonaka perceberam que projetos que se utilizavam de equipes pequenas e multidisciplinares produziam os melhores resultados.

Suas responsabilidades são: • • Definir as funcionalidades do produto. interessado no projeto. As características do Team são: . O SCRUM foi adotado como ferramenta padrão de gerenciamento de projetos nas metodologias MSF for Agile e Open Up. O Team Members é o grupo de pessoas ligadas diretamente ao trabalho a ser feito. Poder alterar as prioridades fora do Sprint.9.Team Members: pode ser considerado como um grupo de pessoas. o SCRUM é baseado em papéis e responsabilidades.1. Concentrar as informações vindas dos usuários. • • • Priorizar o Product Backlog. tendo em vista que facilita a adaptação a processos empíricos de desenvolvimento de sistemas. stakeholders ou do mercado. antes que um papel.1 Papéis do SCRUM Como qualquer metodologia. como indicado abaixo: .resultados.Product Owner: Pode se tratar do financiador ou de alguém importante. . que garantirá que o projeto seja entregue com todas as funcionalidades necessárias. além de atender aos padrões CMMI e PMBOK. Aceitar ou rejeitar os resultados do trabalho. 1. de forma que se obtenha uma visão única dos requisitos do sistema.

• • Auto-organizável. • Faz o que é necessário dentro das diretrizes do projeto. o SCRUM Master deve atender os seguintes requisitos: • Melhorar a vida e a produtividade do time de desenvolvimento promovendo o conhecimento e a criatividade. Demonstra o resultado do Sprint para o Product Owner e outros Stakeholders. Para ser eficiente. Remover barreiras entre o desenvolvimento e o cliente. Formado por até 7 pessoas. Estimular uma cooperação muito próxima entre todas as pessoas do time. • • Garantir que o processo está sendo respeitado. Gerencia os interesses do Product Owner através do Time. • • Remover impedimentos.• • • Multifuncional. a fim de garantir que o cliente é quem realmente está direcionando as funcionalidades desenvolvidas. .SCRUM Master: Sua função está relacionada ao papel de líder. . • • Proteger o time das interferências externas. Promover práticas de engenharia para que cada parte de funcionalidade seja potencialmente implantável. Define o objetivo do Sprint e especifica o resultado do trabalho. para alcançar o objetivo do Sprint.

2 Etapas de um Projeto com SCRUM Num projeto SCRUM existem. Sprints: são iterações realizadas. onde os membros discutem aquilo em que trabalharam. um Product Increment a ser entregue ao cliente ao final do Sprint. as seguintes etapas (TEAM SYSTEM.SCRUM Planning Meeting: é o início de um Sprint.9. 2004): • • Preparação: onde é definido o business-case. game concept.Sprint Review: é o momento em que a equipe exibe o Product Increment construído ao Project Owner.Criação do Product Increment: A finalização das estórias definidas para um determinado Sprint marca a realização do Product Increment. .Sprint Restrospective: tem como objetivo identificar os pontos positivos e negativos do Sprint que entregou o último Product Increment e busca corrigir os erros encontrados. basicamente. . que é responsável por validar e/ou solicitar ajustes para que o jogo se torne adequado aos anseios do cliente. . .1.1. tais como: . para entregar gradativamente as estórias que compõem o jogo. Dentro de cada Sprint são realizadas algumas atividades. Este encontro é uma maneira eficiente de manter os membros cientes dos objetivos e evitar que o projeto se desvie do seu objetivo. .Daily SCRUM Meeting: É um encontro diário realizado pela equipe. onde o Product Owner tem a oportunidade de atualizar a priorização dos itens do Product Backlog e definir juntamente com a equipe. no que irão trabalhar e possíveis impedimentos que estejam atrapalhando o o progresso do trabalho. uma após outra. Product Baccklog inicial e outras premissas ligadas ao projeto.

Encerramento: Como sugere o próprio nome.Atualização do Product Backlog: O Product Owner é responsável por re-priorizar toda lista de itens do Product Backlog para que um próximo Sprint possa ser iniciado. motivado pelos itens mais prioritários. após a finalização de todos os Sprints e é marcada pela entrega do produto final que foi a causa da criação do projeto.. . Ele ocorre. Fonte: http://mundoti. Figura 1 – Ciclo do SCRUM. é a última etapa de um projeto utilizando o SCRUM.info/wp-content/uploads/2009/10 .

2 Extreme Programming (XP) De acordo com BECK (2004).Feedback: segundo TELES (2004). para que ocorra o Feedback. . mas funcional.Simplicidade: No XP. mas antes ir de encontro à funcionalidade desejada pelo cliente.Comunicação: A equipe de desenvolvimento deve. Os outros o complementam e lhe dão suporte. com a ajuda de formulários simples. trocar informações com o cliente. esse é o primeiro e talvez o mais importante dos valores do XP. o idealizador da Extreme Programming. onde os requisitos para o desenvolvimento de software são vagos e estão em constante mudança. . Não deve ser confundido com se fazer de qualquer maneira e. que definem como será o procedimento da equipe durante o processo de desenvolvimento. Existem alguns valores na Extreme Programming.1. A Equipe da Extreme. É o Feedback que garante um sistema ágil e consistente. São Eles: . se reúne diariamente com o cliente e. para pequenas e médias equipes. ela é uma metodologia ágil. simplicidade significa que o código deve ser simples. digitar menos código. onde o cliente define o que será feito em seguida. no intuito de dar continuidade ao . Esses valores devem ser observados para que se tenha um melhor resultado da metodologia em questão. durante toda fase de desenvolvimento. é possível ajustar suas necessidades a uma situação próxima do ideal.9. tampouco.

Fonte: http://www. Ele foi criado em 1997 por Jeff De Lucca.3 FDD FDD - Feature Driven Development (Desenvolvimento Guiado por Funcionalidades) é um método iterativo e incremental que tem um bom funcionamento com iterações curtas de até duas semanas.JPG 1.9.projeto. ainda que a mais utilizada seja a escrita em forma de documentação. . Figura 2 – Ciclo de Vida do XP. Essa comunicação poderá ser feita de várias maneiras.com.br/imagens/javamagazine/Figura_01CicloVidaXP.devmedia.

1 Ciclo de Desenvolvimento do TDD O ciclo de desenvolvimento do TDD pode ser elaborado conforme discriminado abaixo. Green.1 Fases O FDD possui duas fases: • Concepção e Planejamento: nessa fase acontece a triagem de requisitos. . é possível saber quantas funcionalidades já foram desenvolvidas e quantas ainda restam para se desenvolver. Refactor. Adicionamos uma nova funcionalidade do sistema. . • Construção: Aqui temos um detalhamento por funcionalidade.9.4 TDD O Test Driven Design (TDD) é a combinação de duas técnicas de programação: Test-First Development (TFD) e Refactoring (Refatoração). 1. em qualquer linguagem de programação. 1.9.4. deve-se primeiro escrever um pequeno pedaço de código para testar o resultado.3. Fazemos o Teste passar (Green). Antes de se escrever um código funcional.Red.O FDD prega a visibilidade do estado do projeto e.9. dessa forma. 1. Onde: • • • Escrevemos um Teste que inicialmente não passa (Red). É Especificado mais o que deve ser feito.

png . Figura 3 – Ciclo de Desenvolvimento do TDD. Fonte: http://alexandregama.com/2010/11/tdd3.wordpress.• • Refatoramos o código da nova funcionalidade (Refactoring). Escrevemos o próximo Teste.files.

em em VIEIRA.pdf>. Acesso em 24 de outubro de 2010.pmtech. Marconi Fábio. .com/articles/newMethodologyOriginal.com/files/Apostila_GERENCIA_DE_PROJETOS_DE_ SOFTWARE.com. Disponível em: <http://martinfowler. Gestão de Projetos: As Melhores Práticas. Karin Koogam. J. S. PRESSMAN. 2004. São Paulo: Makron. H. Sayão. FOWLER.REFERÊNCIAS BREITMAN. Addison Wesley. Acesso 20/09/2010. R. Disponível acesso em 14/092010.pdf>. The New Methodology.html>.ufes.2. PMTECH. EUA. 2005. 2005. PRESSMAN. edição. Disponível <http://www. em PMTECH.googlecode. Disponível em http://gerpro2008. GERENCIA de PROJETOS.Um Guia do Conjunto de Conhecimentos em Gerenciamento de Projetos (Guia PMBOK®) Terceira edição 2004 Project Management Institute. Martin. Disponível <http://www. em http://www.br/artigos/Gerenciamento_Projetos_Software. S.com.br/~falbo/files/GerenciaProjetosSoftware. R. Miriam.pmtech.pdf. 1995. Mini-Cursos do 20º SBBD e 19º SBES. Agile Project Management. Creating innovative products. Engenharia de Software. Gerenciamento de Projetos de Tecnologia da Informação. HIGHSMITH. v. Acesso em 10/09/2010. Gerenciamento de Projetos de Software.pdf. Maturidade em Gerenciamento de Projetos.Project Management Institute (PMI) (2004) “A Guide to the Project Management Body of Knowledge”. Porto Alegre. Editora INDG-Tecs.. 2008. 3a.br/artigos/CMM&PMBOK. Newtown Square. 2006. Projetos de Software. KERZNER. PMI . Artigo publicado em julho de 2003. Acessado em 12/09/2010. Rio de Janeiro: Campus. PRADO.inf. Gerência de Requisitos. PA 19073-3299 EUA. Outubro. São Paulo: Makron. PMBOK . Darci. Bookman. 2003. UFES. Engenharia de Software. Four Campus Boulevard.

em YOURDON. (2001). KERZNER. São Paulo: Addison Wesley. A. 1 . Software Project Management Methodologies/Frameworks Dynamics “A Comparative Approach”. Acesso em 10 de novembro de 2010. 2003 Manifesto para Desenvolvimento Ágil de Software. 6. E.org/iso/ptbr/>.5. Edição. Disponível <http://agilemanifesto. pp. . Ian. John Wiley & Sons. In Proceedings of the IEEE International Conference on Information and Emerging Technologies (ICIET). São Paulo. H.SOMMERVILLE. ed. Project Management. 7ª. Declínio e Queda dos Analistas e dos Programadores. (2007). Engenharia de Software. 1995. REHMAN.

Sign up to vote on this title
UsefulNot useful