ESTUDO E APLICAÇÃO DE MODELOS ÁGEIS

Tamanho: px
Começar a partir da página:

Download "ESTUDO E APLICAÇÃO DE MODELOS ÁGEIS"

Transcrição

1 UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO (BACHARELADO) RARUANA MACEDO DE FREITAS ESTUDO E APLICAÇÃO DE MODELOS ÁGEIS LAGES (SC) 2011

2 RARUANA MACEDO DE FREITAS ESTUDO E APLICAÇÃO DE MODELOS ÁGEIS Trabalho de Conclusão de Curso submetido à Universidade do Planalto Catarinense para obtenção dos créditos de disciplina com nome equivalente no curso de Sistemas de Informação - Bacharelado. Orientação: Prof(ª). Sabrina Bet Koerich M.Sc. LAGES (SC) 2011

3 RARUANA MACEDO DE FREITAS ESTUDO E APLICAÇÃO DE MODELOS ÁGEIS ESTE RELATÓRIO, DO TRABALHO DE CONCLUSÃO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENÇÃO DOS CRÉDITOS DA DISCIPLINA DE TRABALHO DE CONCLUSÃO DE CURSO, DO 8º. SEMESTRE, OBRIGATÓRIA PARA OBTENÇÃO DO TÍTULO DE: BACHAREL EM SISTEMAS DE INFORMAÇÃO Lages (SC), 07 de Dezembro de 2011 Prof. Sabrina Bet Koerich, M.Sc. Orientador BANCA EXAMINADORA: Prof. Sérgio Murilo Schütz, M.Sc. UNIPLAC Prof. Madalena Pereira da Silva, M.Sc. UNIPLAC Prof. Sabrina Bet Koerich, M.Sc. Professor de TCC Prof. Sabrina Bet Koerich, M.Sc. Coordenador de Curso

4 LISTA DE ILUSTRAÇÕES FIGURA 1 - Principais papéis da modelo FDD FIGURA 2 - Demonstração das duas fases e dos cinco processos do FDD FIGURA 3 - Demonstração do ciclo baseado em práticas do Crystal Family FIGURA 4 - Demonstração do ciclo do ASD composto por três fases FIGURA 5 - O ciclo de vida dos projetos XP FIGURA 6 - Caso de uso - acompanhamento/avaliação/banca FIGURA 7 - Caso de uso - fluxo de avaliação: projeto FIGURA 8 - Caso de uso - fluxo de avaliação: TCCI FIGURA 9 - Caso de uso - fluxo de avaliação: TCCII FIGURA 10 - Sistema web proposto FIGURA 11 - O ciclo de vida de uma iteração XP FIGURA 12 - O ciclo de vida do desenvolvimento XP FIGURA 13 - Um dia típico de um desenvolvedor XP FIGURA 14 - Layout do site FIGURA 15 - Página de cadastro de professor FIGURA 16 - Página de cadastro de turma FIGURA 17 - Página de cadastro de aluno FIGURA 18 - Página de cadastro por áreas de pesquisa FIGURA 19 - Página de cadastro de projetos FIGURA 20 - Página de cadastro do acompanhamento da orientação FIGURA 21 - Página de cadastro de critérios de avaliação FIGURA 22 - Página de cadastro de atividades no calendário FIGURA 23 - Página inicial do sistema FIGURA 24 - Página com a lista dos professores cadastrados FIGURA 25 - Página inicial do cadastro do parecer do professor de TCC FIGURA 26 - Página com a lista dos alunos cadastrados FIGURA 27 - Página com a lista das áreas de pesquisa cadastradas FIGURA 28 - Página de pesquisa dos projetos cadastrados FIGURA 29 - Página de cadastro de sugestões de projeto de TCC FIGURA 30 - Página de consulta das sugestões de projeto de TCC cadastradas FIGURA 31 - Página de exclusão de sugestões de projeto de TCC FIGURA 32 - Página de acompanhamento de orientação FIGURA 33 - Página com a lista das atividades cadastradas no calendário FIGURA 34 - Modelo conceitual do banco de dados

5 FIGURA 35 - Modelo lógico do banco de dados FIGURA 36 - Scrum of Scrums FIGURA 37 - Ciclo Scrum FIGURA 38 - Processo completo para o Sprint no Scrum FIGURA 39 - Exemplo de Product Backlog FIGURA 40 - Exemplo de Sprint Backlog FIGURA 41 - Exemplo de Burndown Chart FIGURA 42 - Sprint Burndown (no prazo) FIGURA 43 - Sprint Burndown (atrasado) FIGURA 44 - Sprint Burndown (adiantado) FIGURA 45 - Sprint Overview FIGURA 46 - Product Backlog Composition FIGURA 47 - Sprint FIGURA 48 - Sprint Burndown QUADRO 1 - Sumário executivo QUADRO 2 - Descrição das histórias de usuário QUADRO 3 - Descrição das histórias de usuário QUADRO 4 - Descrição das histórias de usuário QUADRO 5 - Descrição das histórias de usuário QUADRO 6 - Descrição das histórias de usuário QUADRO 7 - Descrição das histórias de usuário QUADRO 8 - Descrição das histórias de usuário QUADRO 9 - Descrição das histórias de usuário QUADRO 10 - Descrição das histórias de usuário QUADRO 11 - Estimativa para implementação QUADRO 12 - Descrição das histórias de usuário QUADRO 13 - Descrição das histórias de usuário QUADRO 14 - Descrição das histórias de usuário QUADRO 15 - Descrição das histórias de usuário QUADRO 16 - Descrição das histórias de usuário QUADRO 17 - Descrição das histórias de usuário QUADRO 18 - Descrição das histórias de usuário QUADRO 19 - Descrição das histórias de usuário QUADRO 20 - Descrição das histórias de usuário QUADRO 21 - Descrição das histórias de usuário QUADRO 22 - Descrição das histórias de usuário QUADRO 23 - Product Backlog QUADRO 24 - Papéis Scrum (equipe) QUADRO 25 - Funcionalidades do Product Backlog selecionadas para o Sprint QUADRO 26 - Sprint Backlog TABELA 1 - Critério para análise comparativa entre os modelos ágeis TABELA 2 - Justificativa princípio

6 TABELA 3 - Justificativa princípio TABELA 4 - Justificativa princípio TABELA 5 - Justificativa princípio TABELA 6 - Justificativa princípio TABELA 7 - Justificativa princípio TABELA 8 - Justificativa princípio TABELA 9 - Justificativa princípio TABELA 10 - Justificativa princípio TABELA 11 - Justificativa princípio TABELA 12 - Justificativa princípio TABELA 13 - Justificativa princípio TABELA 14 - Resumo da comparação dos modelos ágeis

7 LISTA DE ABREVIATURAS E SIGLAS ASD DSDM FDD IRUF PO RAD ROI SGTCC TCC UNIPLAC XP - Adaptative Software Development - Dynamic Systems Development Method - Feature Driven Development - Requisitos Iniciais Antecipados - Product Owner - Rapid Application Development - Return On Investiment - Sistema de Gerenciamento de TCC - Trabalho de Conclusão do Curso - Universidade do Planalto Catarinense - Extreme Programming

8 RESUMO Devido à demanda da sociedade a indústria de software vem crescendo significativamente nos últimos anos, com isso problemas relacionados ao processo de desenvolvimento do software como problemas de manutenção, complexidade, alto custo de implementação e a falta de qualidade se tornaram muito mais evidentes. Devido a esses problemas a Engenharia de Software se preocupou em trazer melhorias significativas nesses processos. Essas melhorias vêm aumentando cada vez mais dentro da Engenharia de Software, pois foi na mesma que surgiram os modelos ágeis com o intuito de trazerem melhorias no processo de desenvolvimento de software. Esses modelos ágeis se destacam por ocasionarem resultados mais diretos e por realizarem um processo de desenvolvimento de software muito mais qualificado. Com a intenção de melhorar o processo, neste trabalho é realizado um estudo aprofundado e a aplicação dos modelos ágeis Extreme Programming e o Scrum, com o objetivo de realizar uma análise comparativa entre os mesmos em cima dos doze princípios dos modelos ágeis no processo de desenvolvimento de software de um Sistema de Gerenciamento de TCCs. Com isso foi concluído que ambos os modelos ágeis foram satisfatórios. O XP é mais focado em práticas de Engenharia de Software, já o modelo ágil Scrum dá uma ênfase maior em aspectos de gerência e organização de toda a equipe no decorrer do processo de desenvolvimento do software. Palavras-chave: Modelos Ágeis; Análise Comparativa; Extreme Programming; Scrum.

9 ABSTRACT Due to society demand, the software industry has grown significantly on the recent years. Knowing this, problems related to the software development process as maintenance problems, complexity, high cost of implementation and lack of quality became more evident. Because of these problems the Software Engineering bothered to bring significant improvements in these processes. These improvements have increased more on the Software Engineering because they were the same agile models that arose with the concept of software engineering in order to bring improvements on the software development process. These agile models highlight themselves by direct results and because they perform a much more software development qualified process. Proposing better results on the process, on this paper was done thorough study and the application of the agile models Scrum and Extreme Programming, in order to perform a comparative analysis between them based on the twelve principles of the agile methods on the software development process of a TCCs Management System. With that, we concluded that both agile models were satisfactory. XP is focused on software engineering practices, on the other hand Scrum gives a greater emphasis on management aspects and organization of the entire Team during the software development process. Keywords: Agile Models, Comparative Analysis, Extreme Programming, Scrum.

10 SUMÁRIO 1 INTRODUÇÃO Apresentação Descrição do problema Justificativa Objetivo geral Objetivos específicos Metodologia MODELOS NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Processos para desenvolvimento de software Modelos Tradicionais Modelos Ágeis FDD (Feature Driven Development) DSDM (Dynamic Systems Development Methodology) Família Crystal de Modelo (Crystal Family Of Methodologies) ASD (Adaptative Software Development Desenvolvimento Adaptável de Software) Extreme Programming (XP) Scrum Conclusão EXTREME PROGRAMMING (XP) Valores XP Princípios XP Práticas XP Modelagem ágil ao longo do ciclo de vida XP Fase da exploração Requisitos iniciais antecipados (IRUF) Metáforas, arquiteturas e bases Estabelecimento da fundação do projeto Modelagem da fase da exploração Fase de planejamento Modelagem da fase de planejamento Fase de iteração Modelagem da fase de iteração Fase de produção Modelagem da fase de produção... 75

11 3.13 Conclusão SCRUM Preparação Papéis Scrum Product Owner (PO) Team Members ScrumMaster Processo Planejando o Sprint Sprint Reunião diária do Scrum Revisão do Sprint Retrospectiva do Sprint Artefatos Product Backlog Sprint Backlog Burndown Chart Relatórios Preparação Product Backlog Papéis Processo Sprint Reunião diária do Scrum Revisão do Sprint Retrospectiva do Sprint Conclusão ESTUDO COMPARATIVO ENTRE OS MODELOS ÁGEIS EXTREME PROGRAMMING E SCRUM Análise Considerações Conclusão CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICES

12 12 1 INTRODUÇÃO 1.1 Apresentação A sociedade vem necessitando cada vez mais da indústria de software, consequentemente os vários problemas relacionados ao processo de desenvolvimento de software ficam mais evidentes. Problemas de manutenção, alto custo de implementação, atrasos de cronograma e a falta de qualidade são alguns dos muitos problemas encontrados em um processo de desenvolvimento de software (LUDVIG & REINERT, 2007). Portanto a necessidade de melhorias nesses processos vem aumentando significativamente na Engenharia de Software (LUDVIG & REINERT, 2007). Dentro da Engenharia de Software surgiram os modelos ágeis com o intuito de melhorar o processo de desenvolvimento de software. Adotar esses processos mais simplificados, como os modelos ágeis vêm despertando cada vez mais o interesse de empresas em utilizá-los e consequentemente realizando um processo de desenvolvimento de software muito mais qualificado. O conteúdo deste trabalho está destinado ao estudo geral dos modelos ágeis disponíveis no mercado e um estudo voltado a dois modelos ágeis bem como a aplicação deles no processo de modelagem do Sistema de Gerenciamento de TCCs, visando à melhoria no processo de desenvolvimento de software. Além deste capítulo o trabalho está organizado da seguinte forma. O capítulo 2º apresenta um estudo geral dos modelos ágeis apresentando suas características gerais e dentre os diversos identificados foram escolhidos e detalhados dois modelos

13 13 ágeis sendo realizado um estudo aprofundado e detalhado dos mesmos. No capítulo 3º e no capítulo 4º foi realizada a aplicação desses dois modelos ágeis em uma modelagem de um software. Enfim no 5º capítulo foi realizada uma análise comparativa entre os dois modelos ágeis aplicados, e com o resultado desta análise foi concluído qual o modelo mais adequado para a modelagem do software. 1.2 Descrição do problema Problemas relacionados ao processo de desenvolvimento de um software, como atrasos no cronograma, falhas no desenvolvimento e falta de qualidade podem levar a não realização de um software ou um software com baixa qualidade e com vários erros. Para evitar tantos problemas é necessário melhorar o processo, adotando um modelo adequado. 1.3 Justificativa Projetos sempre estão sujeitos a riscos como: atrasos de cronograma, mudança de requisitos e a falta de qualidade. Cada vez mais é essencial a qualidade em um desenvolvimento de software, mas para isso ser concretizado não é suficiente uma equipe de desenvolvedores com qualidade profissional, mas sim das técnicas que são empregadas, como o uso de modelos adequados a cada tipo de projeto (LUDVIG & REINERT, 2007). Dentre os modelos podem-se destacar os modelos ágeis que surgiram para realizar melhorias no desenvolvimento de software. Muitas empresas não utilizam esses modelos ágeis muito pelo fato de não terem o conhecimento dos mesmos. Desta forma, realizam a programação sem se preocupar com a modelagem. A consequência são projetos mal-sucedidos e clientes insatisfeitos (AMBLER, 2004). Já os alunos de cursos de Sistemas de Informação também sentem dificuldade pela falta de apresentação de novas práticas de desenvolvimento de

14 14 software, principalmente dos modelos ágeis. Quando existe essa apresentação, muitas vezes vêem como algo difícil de usar e que pode até implicar em mais trabalho do que benefícios ao processo de desenvolvimento. É necessária então a desmistificação deste fato, pois um dos princípios dos modelos ágeis resume-se em simplicidade (BECK et al., 2001). Atualmente existem vários modelos ágeis que estão trazendo sucesso aos projetos que adotam os mesmos, atendendo aos requisitos necessários das empresas. Dentre os mais conhecidos estão SCRUM (SCHWABER e BEEDLE, 2001) e Extreme Programming ou XP (Wells, 2009). Podem-se citar outros como Crystal Family, FDD (Feature Driven Development), DSDM (Dynamic Systems Development Method), ASD (Adaptative Software Development), cada um atendendo aos requisitos necessários de cada projeto. Explorar esses modelos ágeis e apresentá-los é uma primeira etapa para o processo de desmistificação, contudo existem muitos documentos sobre os modelos ágeis focando a parte teórica, já os documentos explicando e mostrando a aplicação desses modelos ágeis são poucos, quase inexistentes. 1.4 Objetivo geral Apresentar um estudo prático do uso de modelos ágeis no processo de modelagem de um Sistema de Gerenciamento de TCCs. 1.5 Objetivos específicos a) Identificar os modelos ágeis e apresentar suas características gerais; b) Selecionar e detalhar dois modelos ágeis dentre os diversos identificados; c) Modelar um estudo de caso utilizando os modelos ágeis selecionados; d) Comparar os modelos ágeis aplicados.

15 Metodologia O desenvolvimento deste trabalho começou com a elaboração do projeto, o problema, os objetivos e a justificativa. Posteriormente foi realizado um estudo geral sobre os modelos ágeis destacando a estrutura de cada um, vantagens, desvantagens entre outros, esse estudo foi realizado utilizando trabalhos concluídos, livros e a Internet. Foram escolhidos dois modelos ágeis dentre os diversos identificados o Extreme Programming (XP) e o Scrum sendo realizado um estudo aprofundado e uma descrição detalhada dos mesmos. Para realizar este estudo também foram utilizados trabalhos concluídos, livros e a Internet. Concluída esta fase foi realizada a modelagem de um Sistema de Gerenciamento de TCCs utilizando esses dois modelos ágeis definidos. Por fim, foi realizada uma análise comparativa entre os dois modelos aplicados, levando-se em consideração o desempenho relacionado a medidas qualitativas e quantitativas. Dentre a análise quantitativa, um dos itens a ser analisado refere-se à quantidade de artefatos envolvidos e tempo para o desenvolvimento de cada um, porém a mesma não foi realizada, pois foi preciso estudar detalhadamente os dois modelos ágeis, consumindo bastante tempo para estudar os mesmos, não podendo ser definido quanto tempo levou para cada artefato, sendo assim não foi possível realizar esta análise. Já a análise qualitativa, foi realizada em cima dos doze princípios dos modelos ágeis, de forma subjetiva, baseado na experiência que foi obtida com a aplicação dos modelos ágeis, ou seja, qual gerou melhores resultados prático.

16 16 2 MODELOS NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE O objetivo deste capítulo é realizar uma apresentação geral dos modelos ágeis no processo de desenvolvimento de software, identificando suas características gerais, dentre elas vantagens e desvantagens de cada modelo. Posteriormente são definidos e apresentados dois modelos ágeis dentre os diversos identificados o Extreme Programming (XP) e o Scrum, sendo realizado um estudo aprofundado dos mesmos. 2.1 Processos para desenvolvimento de software Processo de software é um conjunto de atividades que auxiliam na produção de um software com qualidade (SOARES, 2004). Existem vários processos para o desenvolvimento de software, mais também existem atividades fundamentais comuns a todos eles (SOMMERVILLE, 2003): Especificação de software: Definição dos requisitos e das restrições do software. Uma fase onde é decidido o que o sistema deverá fazer sendo realizada uma conversa com o cliente juntamente com o desenvolvedor; Projeto e implementação de software: O software é produzido, nesta fase é realizada a implementação; Validação de software: O software é validado com o objetivo de verificar e garantir que as funcionalidades que foram implementadas estão de acordo com o que foi especificado anteriormente; Evolução de software: O software evolui para continuar atendo as necessidades dos clientes.

17 17 Atualmente existem vários processos de software dentro da própria Engenharia de Software trazendo melhorias nos processos. Podem-se citar os modelos tradicionais e os modelos ágeis, os modelos ágeis vêm sendo bastante utilizados e trazendo excelentes resultados para as empresas. Muitas das organizações não utilizam nenhum processo, pelos motivos de os modelos tradicionais não serem adequados, por não possuírem recursos suficientes para adotar certos processos. A consequência disso é o projeto de software com baixa qualidade (SOARES, 2004). 2.2 Modelos Tradicionais Esses modelos surgiram em um contexto de desenvolvimento de software muito diferente do atual, baseado apenas em um mainframe e terminais burros (ROYCE, 1970). Na época para se fazer alterações e correções o custo era alto demais, pois não existiam ferramentas modernas de apoio ao desenvolvimento do software, sendo assim o software primeiramente era planejado e depois documentado para depois ser implementado. Esses modelos também são conhecidos como pesados ou orientados a documentação. Têm como característica marcante dividir o processo de desenvolvimento em etapas e/ou fases bem definidas (SOARES, 2004). 2.3 Modelos Ágeis O termo Modelos Ágeis ficou popular no ano de 2001 quando um grupo de dezessete especialistas em processos de desenvolvimento de software estava representando alguns métodos, eles estabeleceram princípios comuns compartilhados por todos esses métodos, criando a Aliança Ágil e o estabelecimento do Manifesto Ágil. Os principais conceitos do Manifesto Ágil são (LUDVIG & REINERT, 2007): Indivíduos e interações ao invés de processos e ferramentas: Em uma equipe as

18 18 pessoas trabalham juntas, as equipes precisam de programadores, analistas, gerentes de projeto e clientes para a construção do software, essas pessoas são muito importantes quando tem um bom conhecimento de sua função, sendo assim não bastam somente excelentes ferramentas e um bom processo se não souber executá-los, esses processos e ferramentas são importantes, mais as pessoas trabalhando juntas são bem mais importantes; Software executável ao invés de documentação: Muitas vezes é mais simples para o cliente analisar o sistema vendo o seu funcionamento do que através de diagramas. Não se trata de abandonar o processo de documentação, mas apenas de utilizar a ferramenta certa para transmitir a informação desejada no momento (SANTOS et al, 2003); Colaboração do cliente ao invés de negociação de contratos: O cliente é quem decide o que o sistema irá fazer, mesmo ele realizando mudanças no sistema, pelo fato que o cliente nem sempre consegue explicar exatamente o que quer, e somente conseguindo isso ao longo do tempo quando começa ver o funcionamento do software. É muito importante se ter um contrato com o cliente definindo as responsabilidades e direitos, mas o contrato não será um substituto para a comunicação, ou seja, a comunicação entre cliente e desenvolvedor continua existindo e sendo muito importante; Respostas rápidas a mudanças ao invés de seguir planos: Em todo projeto é traçado um plano a ser seguido, mas isso não significa que não ocorreram mudanças no decorrer do projeto. Todo projeto tem que ter um plano traçado, mas ele deve ser flexível as mudanças que podem ocorrer no desenvolvimento do software para assim não se tornar irrelevante. Para auxiliar as pessoas a compreenderem o enfoque do desenvolvimento ágil, aconteceu um refinamento das filosofias contidas em seu manifesto em uma coleção de doze princípios realizados pelos membros da Aliança Ágil, os modelos ágeis de desenvolvimento de software devem se adequar a esses doze princípios (FAGUNDES, 2005). Estes princípios são (COCKBURN, 2000): 1. A prioridade é satisfazer ao cliente através de entregas de software de valor contínuo e freqüentes.

19 19 2. Receber bem as mudanças de requisito, mesmo em uma fase avançada, dando aos clientes vantagens competitivas. 3. Entregar software em funcionamento com frequência de algumas semanas ou meses, sempre na menor escala de tempo. 4. Equipes de negócio e de desenvolvimento devem trabalhar juntas diariamente durante todo o projeto. 5. Manter uma equipe motivada fornecendo ambiente, apoio e confiança necessária para a realização do trabalho. 6. A maneira mais eficiente da informação circular dentro da equipe é através de uma conversa face a face. 7. Ter o software funcionando é a melhor medida de progresso. 8. Processos ágeis promovem o desenvolvimento sustentável. Todos envolvidos devem ser capazes de manter um ritmo de desenvolvimento constante. 9. Atenção contínua a excelência técnica e um bom projeto aumentam a agilidade. 10. Simplicidade é essencial. 11. As melhores arquiteturas, requisitos e projetos provêm de equipes organizadas. 12. Em intervalos regulares, as equipes devem refletir sobre como se tornarem mais eficazes e então se ajustar e adaptar seu comportamento. A idéia dos modelos ágeis é ter o enfoque nas pessoas e não nos processos. Uma característica também dos modelos ágeis é que eles são adaptativos, ou seja, se adaptam a novos fatores no decorrer do desenvolvimento do projeto, não precisando analisar tudo que poderá ocorrer no desenvolvimento do projeto. Os modelos ágeis não rejeitam os processos, a documentação, as ferramentas, apenas mostram que esses fatores têm uma importância menor se comparado com os indivíduos e interações, com a colaboração dos clientes, as respostas rápidas a mudanças e alterações, o software estando executável entre outros fatores (SOARES, 2004). Podem-se citar alguns modelos ágeis que são bem conhecidos e utilizados também por empresas e organizações como Extreme Programming ou XP (Wells,

20 ), SCRUM (SCHWABER e BEEDLE, 2001), Crystal Family, FDD (Feature Driven Development), DSDM (Dynamic Systems Development Method) e ASD (Adaptative Software Development) cada um atendendo aos requisitos necessários de cada projeto FDD (Feature Driven Development) FDD surgiu entre 1997 e 1999 em um projeto em Cingapura, por Peter Coad a partir do método Coad (um modelo completo para Análise, Desenho e Programação Orientados por Objetos, que foi desenvolvido) por Jeff De Luca um gerente de projetos australiano. É um modelo para o gerenciamento e desenvolvimento de software que combina as principais vantagens de outros modelos ágeis com as técnicas centradas no modelo, que podem ser utilizados para equipes e em projetos maiores. Também se caracteriza pela ênfase que se da à qualidade durante todo o processo de desenvolvimento do projeto. No FDD tudo é orientado a funcionalidades sendo assim possível saber quantas funcionalidades já foram desenvolvidas e quantas faltam ser desenvolvidas. Combina as melhores práticas do gerenciamento ágil de projetos juntamente com uma abordagem completa para Engenharia de Software orientada por objetos, assim conquistando os três principais públicos de um projeto de software: gerentes, clientes e desenvolvedores. Tem como vantagens priorizar o que o cliente prioriza, é recomendado para qualquer tipo de desenvolvimento e também possui requisitos mais formais. Tem como principais papéis: Gerente de projeto (Project Manager), Arquiteto líder (Chief Architect), Gerente de desenvolvimento (Development Manager), Programador líder (Chief Programmer), Proprietário de classe (Class Owner), Especialista do domínio (Domain Experts), Gerente do domínio (Domain Manager) (SANTOS & LUZ, 2003).

21 21 FIGURA 1 - Principais papéis da modelo FDD. Fonte: Cibelly et al, O lema do FDD é "Resultados freqüentes, tangíveis e funcionais." Algumas características do FDD: Aproximadamente a cada duas semanas resultados úteis; Dentro dos primeiros 10% de um projeto já se sabem se o plano e a estimativa são sólidos; Planejamento detalhado; Blocos bem pequenos de funcionalidade chamados de features que são valorizados pelos clientes; Monitoramento detalhado, ou seja, resumos de alto nível para clientes e gerentes, em termos de negócio; Relatórios com incrível precisão e rastreabilidade. FDD possui somente duas fases, pois é um modelo muito objetivo (figura 2): Concepção & Planejamento: Pensar um pouco antes de fazer (tipicamente de uma a duas semanas); Construção: Fazer de forma iterativa (tipicamente em iterações de duas semanas). FDD possui cinco processos bem definidos (figura 2): DMA (Desenvolver um modelo abrangente): Envolve o desenvolvimento de

22 22 requisitos, análise orientada por objetos e também outras técnicas do domínio de negócio que estiver em questão. O resultado é um modelo de objetos de alto nível, com isso a equipe será guiada durante os ciclos de construção; CLF (Construir a lista de funcionalidades): Ocorre a decomposição funcional do modelo de domínio em três camadas: áreas de negócio, atividades de negócio e os passos automatizados da atividade que seriam as funcionalidades. Terá como resultado várias funcionalidades que representam o produto a ser construído; PPF (Planejar por funcionalidade): Abrange estimativas de complexidade e dependências das funcionalidades. O resultado é um plano de desenvolvimento com pacotes de trabalho apropriados para a construção; DPF (Detalhar por funcionalidade): A equipe detalha os requisitos e outros artefatos para serem codificados, incluindo testes. O projeto é inspecionado e o resultado é um modelo de domínio mais detalhado preenchendo também os esqueletos dos códigos; CPF (Construir por funcionalidade): Todos os esqueletos são preenchidos e testados. O resultado é um incremento do produto integrado ao repositório principal do código com qualidade que poderá ser usado pelo cliente. FIGURA 2 - Demonstração das duas fases e dos cinco processos do FDD. Fonte: França et al, 2008.

23 DSDM (Dynamic Systems Development Methodology) DSDM foi desenvolvido na Inglaterra por um consórcio de vendedores e peritos no campo de Sistemas de Informação, nos anos 90 e aplicado pela primeira vez em Foi criado apoiando-se no método RAD (Rapid Application Development). É um modelo de apoio ao desenvolvimento de software e é focado em projetos de Sistemas de Informação (TEIXEIRA et al, 2005). Visa desenvolver aplicações com qualidade sem ultrapassar limites de orçamentos e prazos, focando-se na interação com o cliente, entrega freqüente de protótipos, equipes autônomas de desenvolvimento entre outros. Suas principais características são: o envolvimento ativo com o usuário, entrega frequente, teste integrado ao ciclo de vida e o poder de decisão da equipe. Tem como principais cargos e responsabilidades: Desenvolvedores (Developers), Desenvolvedores Sêniores (Senior Developers), Coordenador Técnico (Technical Coordinator), Usuário Embaixador (Ambassador User), Usuário Consultor (Adviser User), Visionário (Visionary), Executivo responsável (Executive Sponsor), Especialista do domínio (Domain Experts), Gerente do domínio (Domain Manager) (SANTOS & LUZ, 2003). Os princípios fundadores desse modelo são (KIOSKEA, 2009): Uma implicação dos utilizadores; Um desenvolvimento iterativo e incremental; Uma frequência de entrega elevada; A integração dos testes em cada etapa; A aceitação dos produtos entregues depende diretamente da satisfação das necessidades. O ciclo de vida do modelo envolve (TEIXEIRA et al, 2005): Estudo de viabilidade: A viabilidade de utilização é examinada, ou seja, determina se o projeto é factível e se a modelo DSDM é adequada. As técnicas mais importantes e utilizadas nesta fase são os workshops. São preparados o Relatório e o Protótipo de Viabilidade e também incluídos um registro de risco que identifica

24 24 os riscos mais importantes no projeto; Estudo do negócio: São determinados os requisitos primários; Iteração para o Modelo Funcional e Iteração para Desenvolvimento: Neste nível ocorre o desenvolvimento em si. É necessário entregar ao cliente o Modelo e o Protótipo Funcional que representam as funcionalidades realizadas nesta iteração que estão prontas para serem testadas; Implementação: Neste nível o sistema é entregue juntamente com a documentação, instalado e pronto para ser utilizado Família Crystal de Modelo (Crystal Family Of Methodologies) Esse modelo inclui um grande número de métodos diferentes, esses métodos são selecionados de acordo com as várias características do projeto que irá ser desenvolvido. No Crystal Family a complexidade dos projetos é identificada através de cores que indicam à intensidade dos métodos, quanto mais escura a cor, maior será sua complexidade. Crystal Family possui algumas características: possui o foco na comunicação e cooperação das pessoas, os projetos sempre usam ciclos de desenvolvimento (tempo máximo de quatro meses), não há limitações de práticas de desenvolvimento como ferramentas, produtos de trabalho entre outros. O ciclo do Crystal Family é baseado em práticas, as quais podem ser vistas na figura 3 (SANTOS et al, 200?): Staging: É realizado o planejamento do próximo incremento do sistema e a equipe faz uma seleção dos requisitos que serão implementados na iteração e também o prazo para a sua entrega; Edição e revisão: É realizada a construção, demonstração e uma revisão dos objetivos do incremento; Monitoramento: Monitoramento do processo com relação ao progresso e a estabilidade da equipe; Paralelismo e fluxo: Diferentes equipes podem operar na Crystal Orange com os máximos paralelismos através do monitoramento da estabilidade e também da

25 25 sincronização existente entre as equipes; Inspeções de usuários: Normalmente devem ser realizadas duas a três inspeções feitas pelos usuários a cada incremento; Workshops refletivos: São reuniões ocorridas antes e depois de cada iteração com o intuito de analisar o progresso do projeto; Local matters: São procedimentos futuramente aplicados e que variam de acordo com cada tipo de projeto; Work products (Produtos de Trabalho): Modelos de objetos comuns, seqüência de lançamento, manual do usuário. Para o Clear: casos de uso e descrição das funcionalidades e para o Orange: documento de requisitos; Standards (padrões): Formatação, padrões de notação, convenções do produto e a qualidade usada no projeto; Tools: Seriam as ferramentas utilizadas. Para o Crystal Clear: compiladores, gerenciadores de versão e configuração, programação, testes, comunicação. FIGURA 3 - Demonstração do ciclo baseado em práticas do Crystal Family. Fonte: Santos et al, 200?.

26 ASD (Adaptative Software Development Desenvolvimento Adaptável de Software) Foca-se no cliente, em empresas que desenvolvem softwares, atua principalmente em sistemas completos, estimula seu desenvolvimento com repetições e também uma constante prototipação (FRANÇA et al, 2008). Seus sistemas são grandes e complexos, o cliente sempre esta presente. Suas propriedades são: orientado a missões, baseado em componentes, iterativo, prazos préfixados, tolerância a mudanças, orientado a riscos. Seus principais cargos são: Executivo responsável (Executive Spons), Facilitador (Facilitator) Liderar e planejar as sessões, Escriba (Scribe) Efetuar anotações, Cliente (Customer) Sempre presente, Gerente de Projetos (Project Manager), Desenvolvedores (Developers) (SANTOS & LUZ, 2003). ASD possui como características (S.I Engenharia, 2009): Enfoque na missão: É uma maneira que faz com que a equipe obtenha os seus objetivos, para assim poder ter decisões com maior clareza; Tolerante a mudanças: Incorpora mudanças que surgem no decorrer do projeto, com o objetivo que o sistema obtenha um maior valor do cliente. É composto por um ciclo de três fases (figura 4): Especulação: É utilizada no lugar do planejamento, onde se fixa prazos e os objetivos; Colaboração: Realça a importância do trabalho de equipe; Aprendizado: São realizadas revisões de qualidade, demonstração das funcionalidades desenvolvidas. Os requisitos podem mudar durante o decorrer do desenvolvimento do projeto e também é necessário reconhecer as decisões erradas e a maneira como reagir com elas;

27 27 FIGURA 4 - Demonstração do ciclo do ASD composto por três fases. Fonte: Santos & Luz, Extreme Programming (XP) É um modelo ágil com o foco em qualidade dos projetos e agilidade das equipes que vem trazendo sucesso nas empresas que o utilizam, por ajudar a criar sistemas de melhor qualidade em um tempo menor e também de uma forma mais econômica. É indicado para equipes pequenas e médias de desenvolvimento de software para requisitos vagos e que sofrem constantes mudanças. Existe a preocupação de se gastar menos tempo com a documentação e mais tempo com a resolução do problema, gerando produtos com melhor aceitação e qualidade (IMPROVEIT, 2007). O modelo é um conjunto bem definido de práticas e valores. Começou a ser desenvolvido em 1996 por Kent Beck no departamento de computação da montadora de automóveis DaimlerChrysler. Segundo Kent Beck (2000), O XP desenvolve software enfatizando o seu desenvolvimento rápido de maneira eficiente, visando satisfazer o cliente e também realizando o cumprimento de estimativas. As práticas e os valores do XP proporcionam para os seus seguidores um agradável ambiente de desenvolvimento, conduzidos por quatro valores: comunicação, simplicidade, feedback e coragem.

28 28 O XP coloca seus princípios em um nível extremo, por esse motivo o nome extreme. Baseia-se nos seguintes princípios (BORBOREMA, 2007): Feedback rápido, simplicidade presumida, mudanças incrementais, aceitação das mudanças, alta qualidade, ensinar aprendendo, investimento inicial pequeno, jogar para ganhar, experimentação concreta, comunicação honesta e franca, trabalhar a favor dos instintos do pessoal e não contra eles, aceitação das responsabilidades, adaptação local, viajar com pouca bagagem, métricas genuínas. As práticas do XP é um conjunto de atividades que as equipes tem com base para o desempenho, há muita confiança nas práticas XP, pelo fato que os pontos fracos de uma são compensados na outra pelos pontos fortes. Baseia-se em 12 práticas de desenvolvimento do software (SOARES, 2004): Planejamento, entregas frequentes, metáfora, projeto simples, testes, refatoração, programação em pares, propriedade coletiva, integração contínua, 40 horas de trabalho, cliente presente, código padrão. Esse modelo ágil é um processo de desenvolvimento que assegura ao cliente a sua participação dia-a-dia no projeto. É difícil encontrar um cliente que possa estar todos os dias presente ao longo do desenvolvimento do software, mas busca-se que o cliente esteja presente o suficiente para atender as necessidades das equipes com eficiência. Apesar do desenvolvimento do software se tornar mais ágil, o cliente também contribui para um resultado final de melhor qualidade e que atenda todas as suas expectativas (TELES, 2004) Scrum Em 1993 Jeff Sutherland aplicou a primeira concepção do Scrum na Easel Corporation, por volta de 1995, Ken Schwaber refinou esse modelo ágil com base na sua própria experiência no desenvolvimento de sistemas e processos. Segundo Ken Schawaber (2001), o Scrum é um modelo extremamente flexível e ágil, com o objetivo de definir um processo de desenvolvimento iterativo e incremental que pode ser aplicado em qualquer produto e também no gerenciamento de qualquer atividade complexa.

29 29 O Scrum pode ser aplicado em projetos pequenos e projetos grandes. Baseiase no desenvolvimento incremental das aplicações centrado na equipe com ciclos de iteração curtos. Sua idéia principal é que o desenvolvimento de softwares envolve muitas variáveis técnicas e do ambiente, pode-se citar os recursos e tecnologia, os requisitos que podem mudar durante o processo de desenvolvimento. Com isso, o processo se torna imprevisível e complexo, consequentemente necessitando de flexibilidade para que se possam acompanhar as várias mudanças que podem ocorrer. O resultado do processo tem que ser o software realmente útil para o cliente (SOARES, 2004). O Scrum é baseado em princípios que são semelhantes aos do XP: requisitos pouco estáveis e desconhecidos, equipes pequenas e iterações curtas. As dimensões do Scrum são diferentes do XP. Estabelece um conjunto de regras e de práticas com o objetivo de garantir o sucesso nos projetos, realiza trabalhos em equipes, melhorando a cooperação e a comunicação dos mesmos. Também são realizadas reuniões diárias de acompanhamento do projeto, essas reuniões normalmente são curtas (aproximadamente 15 minutos) são discutidas as dificuldades encontradas, soluções, o que foi feito desde a última reunião até a atual reunião e o que será realizado posteriormente. Segundo (FERREIRA, 2005), as principais características do Scrum são: É um processo ágil para gerenciar e controlar o desenvolvimento de projetos; É um wrapper para outras práticas de Engenharia de Software; É um processo que controla o caos resultante de necessidades e interesses conflitantes; É uma forma de aumentar a comunicação e maximizar a cooperação; É uma forma de detectar e remover qualquer impedimento que atrapalhe o desenvolvimento de um produto; É escalável desde projetos pequenos até grandes projetos em toda empresa. O vocabulário que é utilizado no Scrum (BISSI, 2007): Backlog: É uma lista de todas as funcionalidades que devem ser desenvolvidas durante o projeto completo, deve ser bem definido e detalhado no início do

30 30 trabalho e também listado e ordenado por prioridade de execução; Sprint: Período de 2 à 4 semanas onde o projeto ou funcionalidades do mesmo são desenvolvidos. Sprint Planning Meeting: Reunião de planejamento; Sprint Goal: Disparo dos objetivos e metas; Sprint Review Meeting: Revisão da reunião; Sprint Backlog: É o trabalho a ser desenvolvido num Sprint, criando um produto para mostrar ao cliente. Seu desenvolvimento deve ser de forma incremental, relativa ao Backlog anterior se o mesmo existir; Dayling Scrum: Reunião diária; Scrum: Reunião diária sendo avaliados os progressos do projeto e as dificuldades/barreiras encontradas durante o seu desenvolvimento; Scrum Meeting: É um protocolo a seguir de modo a realizar uma reunião Scrum; Scrum Team (TeamMembers): É a equipe de desenvolvimento de um Sprint; Scrum Master: É o elemento da equipe que tem como responsabilidade a gestão do projeto bem como liderar as Scrum Meetings, os mesmos são normalmente engenheiros de software ou da área de sistemas. O fato de ser gestor não significa que tem propriamente autoridade sobre os demais membros de sua equipe; Product Backlog: Produção do trabalho executado; Product Owner: Proprietário do produto. O ciclo de vida do Scrum é dividido em três fases principais (SOARES, 2004): Pré-planejamento: Os requisitos são descritos em um documento chamado de Backlog, depois eles são priorizados e também realizada estimativas de esforço para cada requisito no seu desenvolvimento. O planejamento inclui várias atividades dentre elas os possíveis riscos do projeto e as necessidades de treinamentos. Finalmente é proposta uma arquitetura de desenvolvimento. As alterações ocorridas nos requisitos que foram descritas no Backlog são identificas juntamente com os possíveis erros;

31 31 Desenvolvimento: As variáveis técnicas e do ambiente são observadas e também controladas durante o desenvolvimento. No Scrum o controle de se considerar as variáveis é realizado continuamente, aumentando a flexibilidade para acompanhar mudanças. Nesta fase o software é desenvolvido em ciclos e novas funcionalidades são adicionadas. Cada ciclo é desenvolvido realizando primeiramente a análise e em seguida o projeto, implementação e os testes, com duração de aproximadamente uma semana a um mês; Pós-planejamento: Nesta fase são realizadas as reuniões com o objetivo de analisar o progresso do projeto demonstrando o software atual aos clientes. São realizados os testes finais e a documentação. 2.4 Conclusão Os modelos ágeis trazem muitos benefícios para empresas que os utilizam, pois os mesmos se preocupam muito com os indivíduos e as interações ao invés de ferramentas e processos, se preocupam em satisfazer o cliente, o mesmo sempre presente quando possível, participando do projeto e especificando o que quer exatamente em seu sistema. É um processo adaptativo que responde facilmente a mudanças no sistema. Nesse capítulo foram abordados os seguintes modelos ágeis: FDD (Feature Driven Development), DSDM (Dynamic Systems Development Methodology), Família Crystal de Modelo (Crystal Family of Methodologies), ASD (Adaptative Software Development), Extreme Programming (XP) e o Scrum, cada um com seus métodos de aplicação, funcionalidades, regras, práticas, princípios, valores entre outros, e cada um atendendo os requisitos necessários de cada projeto. Esses modelos possuem em comum o fato de os mesmos serem aplicados em projetos não muito complexos, pois utilizam curtos ciclos iterativos, tolerância a mudanças, cliente presente entre outros fatores. Os modelos ágeis reúnem práticas, gerenciamento de processos, princípios, valores entre outros, assim produzindo softwares com qualidade pelas as empresas que os utilizam, consequentemente deixando os seus clientes satisfeitos com o software.

32 32 A seguir são apresentados os dois modelos ágeis que foram escolhidos para realizar um estudo aprofundado e para realizar a modelagem do Sistema de Gerenciamento de TCCs. Foi escolhido primeiramente o modelo ágil Extreme Programming (XP) e posteriormente o Scrum. O motivo de escolha desses dois modelos ágeis foi por serem mais conhecidos e utilizados atualmente pelas empresas, sejam empresas grandes, médias ou pequenas e também pelo fato de estarem trazendo grande sucesso para as empresas que aplicam os mesmos.

33 33 3 EXTREME PROGRAMMING (XP) É um modelo ágil destinado á equipes pequenas e médias que desenvolvem softwares baseados em requisitos vagos e que se modificam rapidamente. Começou a ser desenvolvido em 1996 por Kent Beck no departamento de computação da montadora de automóveis DaimlerChrysler. Esse modelo visa o desenvolvimento rápido do projeto, garantindo a satisfação do cliente e cumprindo as estimativas, possuindo valores, princípios e práticas. O objetivo deste capítulo é descrever mais detalhadamente o modelo Extreme Programming (XP), explicando seus valores, princípios e as suas práticas, explicando a Modelagem Ágil ao longo do ciclo de vida do XP e demonstrando como o mesmo funciona, realizando a aplicação da modelagem do Sistema de Gerenciamento de TCCs do curso de Sistemas de Informação da Universidade do Planalto Catarinense (UNIPLAC) dentro desse modelo XP, demonstrando como são realizadas na prática. É utilizado para a modelagem do sistema o sumário executivo, as histórias de usuários, fluxos básicos de informação, versões de telas do Sistema de Gerenciamento de TCCs, modelo conceitual de banco de dados e modelo lógico de banco de dados. 3.1 Valores XP O XP tem como objetivo o desenvolvimento rápido do projeto satisfazendo o cliente. Possui quatro valores (BORBOREMA 2007): Retorno (feedback): Acontece um retorno constante aonde o programador terá as informações do código do cliente. Essa informação de código é dada pelos testes

34 34 que vai indicar os erros que podem ser individuais ou do software integrado (SOARES, 2007). O sistema é entregue ao cliente o mais breve possível para poder dar um retorno rápido ao cliente, para estar seguindo assim o desenvolvimento do software (NAPHTA, 2007); Comunicação: Procura-se o máximo possível realizar a comunicação pessoalmente com o cliente. Através dessa comunicação são realizados os detalhes do projeto que irá ser feito com agilidade, proporcionando e buscando um relacionamento entre clientes e desenvolvedores. O principal valor do XP é a comunicação, pois a maioria das práticas está baseada na comunicação para que não ocorram problemas de atrasos no desenvolvimento (NAPHTA, 2007); Simplicidade: A equipe deve entender essa importância, pois assim é possível simplificar o sistema, reduzindo número de programadores, tempo para implementação, consequentemente reduzindo o valor do projeto. Para o XP é melhor realizar algo simples hoje com um desenvolvimento rápido, gastando um pouco mais futuramente para realizar modificações necessárias, ao invés de implementar algo complicado hoje que acabe não sendo utilizado (NAPHTA, 2007). Segundo Beck (2000), existe uma relação de suporte mútuo entre a simplicidade e a comunicação, pois quanto melhor a comunicação se observa mais claramente o que precisa ser realizado, tendo mais certeza do que não precisa ser realizado; Coragem: O sistema é desenvolvido de forma incremental, a equipe sempre realiza manutenção de software e também adicionando novas funcionalidades. Pode acontecer de precisar alterar algo que estava funcionando corretamente, gerando falhas então. Nesse ponto a equipe precisa ter coragem acreditando nas práticas e

35 35 valores do XP que o software irá ser desenvolvido de maneira segura, correta e ágil, é necessário ter coragem para lidar com esse fator, no XP se traduzem em confiança em seus mecanismos de proteção. A comunicação oferece suporte à coragem abrindo possibilidades para experiências de alto risco e também altas recompensas. A simplicidade dá suporte à coragem, sistemas simples trazem mais segurança na questão de erros no sistema. O feedback também da suporte a coragem, pelo fato de termos a confiança para experimentar algo extremo no código, obtendo resultados positivos nos testes, ou não (BECK, 2000). 3.2 Princípios XP O XP possui alguns princípios (BORBOREMA, 2007): Feedback rápido: O tempo decorrido entre uma ação e o feedback é fundamental para o progresso do projeto e para o aprendizado da equipe, por isso o cliente deve fornecer esse feedback o mais rápido possível, assim podendo interpretá-lo e aplicar no sistema o mais rápido possível. Programadores aprendem uma melhor maneira para projetar, testar e implementar o sistema, realimentando o que já se foi aprendido em segundos e minutos (BECK, 2000); Simplicidade presumida: Devem-se tratar os problemas de uma forma mais simples o possível, no XP recomenda-se que os desenvolvedores confiem mais em suas habilidades e que os trabalhos do dia sejam resolvidos no mesmo dia; Mudanças incrementais: Dificilmente dará certo certa ocorrência de várias mudanças de uma só vez em um projeto, pois no XP o projeto é alterado em seu tempo de desenvolvimento. Toda mudança deve ser planejada e também estudada para não atrapalhar o funcionamento do sistema, o XP precisa ser realizado em pequenos passos (BECK, 2000); Aceitação das mudanças: No XP existe a aceitação das mudanças. É importante existir essa aceitação das mudanças, pois elas trazem aprendizado e o amadurecimento da equipe de desenvolvimento de software;

36 36 Alta qualidade: No XP a qualidade é prioridade em seus projetos sempre buscando a excelência; Ensinar aprendendo: O objetivo é ensinar estratégias para aprender, em relação a todas as coisas que devem ser realizadas (BECK, 2000); Investimento inicial pequeno: Projetos com recursos supérfluos tendem a ser um desastre, é importante ter somente os requisitos necessários. Quando o orçamento é apertado acaba forçando programadores e também os clientes a cortarem requisitos, com a concentração gerada a consequência é a realização de um bom trabalho; Jogar para ganhar: Maioria das equipes de desenvolvimento segue procedimentos em reuniões, para poderem se guardar se ocorrer futuramente falhas no projeto, pois se no final do projeto não for bem sucedido a equipe seguiu os procedimentos. O XP acredita que o desenvolvimento do software jogado para ganhar ajuda o time a chegar a excelência dos seus projetos (BECK, 2000); Experimentação concreta: Toda decisão abstrata deve ser testada, pois quanto mais se realiza testes, mais os riscos diminuem, toda decisão não testada vai existir uma grande probabilidade que esta decisão esteja errada, consequentemente deixando o cliente insatisfeito (BECK, 2000); Comunicação concreta: É um fator muito importante, pois esse princípio permite que o programador tenha a liberdade de conversar um com o outro sobre problemas nos códigos, comunicando esses problemas a gerência e clientes; Trabalhar a favor dos instintos do pessoal e não contra eles: As pessoas gostam de aprender, de interagir com as outras pessoas e de estar no controle e que as outras pessoas confiem nelas. Os desenvolvedores gostam de sempre realizar um bom trabalho para que seus softwares funcionem. O XP deve trabalhar com os interesses de curto prazo pessoal, caso contrário estará destinado ao fracasso dos modelos; Aceitação das responsabilidades: A cooperação do time depende das responsabilidades quanto as suas tarefas. A responsabilidade deve ser aceita e não sendo impostas, as necessidades do time devem ser atendidas por uma pessoa voluntária do time, por pior que ela seja (BECK, 2000);

Com metodologias de desenvolvimento

Com metodologias de desenvolvimento Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento

Leia mais

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes Instituto Federal do Rio Grande do Norte IFRN Graduação Tecnologia em Analise e Desenvolvimento de Sistema Disciplina: Processo de Desenvolvimento de Software Scrum Alexandre Lima Guilherme Melo Joeldson

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução. Introdução Métodos Ágeis em Engenharia de Software Thiago do Nascimento Ferreira Desenvolvimento de software é imprevisível e complicado; Empresas operam em ambiente global com mudanças rápidas; Reconhecer

Leia mais

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br Comparativo entre Processos Ágeis Daniel Ferreira dfs3@cin.ufpe.br O que discutiremos: Histórico Os Princípios Ágeis Comparação Do ponto de vista incremental Do ponto de vista funcional Vantagens e Desvantagens

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel marcio@puntel.org

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel marcio@puntel.org Engenharia de Software I Aula 15: Metodologias Ágeis Prof. Márcio D. Puntel marcio@puntel.org Março - 2008 Antes... Manifesto Mudança de contratos Foco nas premissas... 2 Algumas metodologias Extreme Programming

Leia mais

Promoção especial para o III Congresso Cearense de Gerenciamento Certified ScrumMaster, Certified Scrum Product Owner e Management 3.

Promoção especial para o III Congresso Cearense de Gerenciamento Certified ScrumMaster, Certified Scrum Product Owner e Management 3. Promoção especial para o III Congresso Cearense de Gerenciamento Certified ScrumMaster, Certified Scrum Product Owner e Management 3.0 Sobre a GoToAgile! A GoToAgile é uma empresa Brasileira que tem seu

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Programação Extrema Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Prof. Mauro Lopes Programação Extrema Prof. Mauro Lopes 1-31 45 Manifesto Ágil Formação da Aliança Ágil Manifesto Ágil: Propósito

Leia mais

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Abstract. Resumo. 1. Introdução Vinicius A. C. de Abreu 1 Departamento de Ciência da Computação - DCC Universidade

Leia mais

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES Marcelo Augusto Lima Painka¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Metodologias Ágeis Gerenciando e Desenvolvendo Projetos de forma eficiente Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Introdução Ao longo dos anos a indústria de desenvolvimento

Leia mais

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças. METODOLOGIAS ÁGEIS SURGIMENTO As metodologias ágeis surgiram em resposta ao problema dos atrasos no desenvolvimento de software e aos cancelamentos, devido ao fato dos sistemas demorarem muito tempo para

Leia mais

INTRODUÇÃO A PROJETOS

INTRODUÇÃO A PROJETOS INTRODUÇÃO A PROJETOS Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br GESTÃO DE PROJETOS Gestão Ágil de projetos Gestão de projetos com PMBOK GESTÃO ÁGIL DE PROJETOS GESTÃO ÁGIL

Leia mais

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos Sumário Sistemas de Informação para Processos Produtivos 1. Gerência de 2. Agentes principais e seus papéis 3. Ciclo de vida do gerenciamento de projetos M. Sc. Luiz Alberto lasf.bel@gmail.com Módulo 6

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Gerenciamento da Integração (PMBoK 5ª ed.)

Gerenciamento da Integração (PMBoK 5ª ed.) Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP Planejamento - 7 Planejamento do Gerenciamento do Risco Identificação dos riscos 1 O que é risco? Evento que representa uma ameaça ou uma oportunidade em potencial Plano de gerenciamento do risco Especifica

Leia mais

Metodologias Ágeis. Aécio Costa

Metodologias Ágeis. Aécio Costa Metodologias Ágeis Aécio Costa Metodologias Ágeis Problema: Processo de desenvolvimento de Software Imprevisível e complicado. Empírico: Aceita imprevisibilidade, porém tem mecanismos de ação corretiva.

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

PLANEJAMENTO ESTRATÉGICO

PLANEJAMENTO ESTRATÉGICO PLANEJAMENTO ESTRATÉGICO Este material resulta da reunião de fragmentos do módulo I do Curso Gestão Estratégica com uso do Balanced Scorecard (BSC) realizado pelo CNJ. 1. Conceitos de Planejamento Estratégico

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Scrum. Gestão ágil de projetos

Scrum. Gestão ágil de projetos Scrum Gestão ágil de projetos Apresentação feita por : Igor Macaúbas e Marcos Pereira Modificada por: Francisco Alecrim (22/01/2012) Metas para o o Metas para treinamento seminário Explicar o que é Scrum

Leia mais

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Gerenciamento de Projetos Modulo II Clico de Vida e Organização Gerenciamento de Projetos Modulo II Clico de Vida e Organização Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos

Leia mais

Géssica Talita. Márcia Verônica. Prof.: Edmilson

Géssica Talita. Márcia Verônica. Prof.: Edmilson Géssica Talita Márcia Verônica Prof.: Edmilson DESENVOLVIMENTO ÁGIL Técnicas foram criadas com o foco de terminar os projetos de software rapidamente e de forma eficaz. Este tipo de técnica foi categorizada

Leia mais

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro (cleviton@gmail.com)

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro (cleviton@gmail.com) SCRUM: UM MÉTODO ÁGIL Cleviton Monteiro (cleviton@gmail.com) Roteiro Motivação Manifesto Ágil Princípios Ciclo Papeis, cerimônias, eventos, artefatos Comunicação Product Backlog Desperdício 64% das features

Leia mais

Gerenciamento de Projetos Modulo III Grupo de Processos

Gerenciamento de Projetos Modulo III Grupo de Processos Gerenciamento de Projetos Modulo III Grupo de Processos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O

Leia mais

Administração de Pessoas

Administração de Pessoas Administração de Pessoas MÓDULO 5: ADMINISTRAÇÃO DE RECURSOS HUMANOS 5.1 Conceito de ARH Sem as pessoas e sem as organizações não haveria ARH (Administração de Recursos Humanos). A administração de pessoas

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

METODOLOGIAS ÁGEIS - SCRUM -

METODOLOGIAS ÁGEIS - SCRUM - METODOLOGIAS ÁGEIS - SCRUM - André Roberto Ortoncelli ar_ortoncelli@hotmail.com 2010 Organização da Apresentação Introdução as Metodologias Ágeis Scrum Conceitos Básicos Artefatos Papeis Cerimônias Estórias

Leia mais

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado

Leia mais

Scrum How it works. Há quatro grupos com papéis bem definidos:

Scrum How it works. Há quatro grupos com papéis bem definidos: Scrum É um processo de desenvolvimento iterativo e incremental. É utilizado quando não se consegue predizer tudo o que irá ocorrer. Em geral, utiliza-se em projetos complexos, de difícil abordagem pela

Leia mais

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE Scrum Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE scrum Ken Schwaber - Jeff Sutherland http://www.scrumalliance.org/ Scrum Uma forma ágil de gerenciar projetos. Uma abordagem baseada em equipes autoorganizadas.

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Módulo 9 A Avaliação de Desempenho faz parte do subsistema de aplicação de recursos humanos.

Módulo 9 A Avaliação de Desempenho faz parte do subsistema de aplicação de recursos humanos. Módulo 9 A Avaliação de Desempenho faz parte do subsistema de aplicação de recursos humanos. 9.1 Explicações iniciais A avaliação é algo que faz parte de nossas vidas, mesmo antes de nascermos, se não

Leia mais

Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto.

Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto. Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto. Um risco tem uma causa e, se ocorre, uma conseqüência. Se um ou outro

Leia mais

Prof. Me. Marcos Echevarria

Prof. Me. Marcos Echevarria Prof. Me. Marcos Echevarria Nas décadas de 80 e 90 a visão geral sobre a melhor maneira de desenvolver software era seguir um cuidadoso planejamento para garantir uma boa qualidade; Esse cenário era aplicável

Leia mais

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br SINOP MT 2015-1 COMO SÃO DESENVOLVIDOS OS SISTEMAS DE INFORMAÇÃO? São desenvolvimento como uma estrutura

Leia mais

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos SENAC Pós-Graduação em Segurança da Informação: Análise de Riscos Parte 2 Leandro Loss, Dr. Eng. loss@gsigma.ufsc.br http://www.gsigma.ufsc.br/~loss Roteiro Introdução Conceitos básicos Riscos Tipos de

Leia mais

Desenvolvimento Ágil de Software em Larga Escala

Desenvolvimento Ágil de Software em Larga Escala Desenvolvimento Ágil de Software em Larga Escala Jutta Eckstein Encontro Ágil 2009 1 Agilidade é Quente Gerenciamento Ágil de Projetos Testes Ágeis Arquitetura Ágeis Offshore Ágil Investimento Ágil PLM

Leia mais

Manifesto Ágil - Princípios

Manifesto Ágil - Princípios Manifesto Ágil - Princípios Indivíduos e interações são mais importantes que processos e ferramentas. Software funcionando é mais importante do que documentação completa e detalhada. Colaboração com o

Leia mais

BSC Balance Score Card

BSC Balance Score Card BSC (Balance Score Card) BSC Balance Score Card Prof. Gerson gerson.prando@fatec.sp.gov.br Uma das metodologias mais visadas na atualidade éobalanced ScoreCard, criada no início da década de 90 por Robert

Leia mais

A PRIMMER possui casos importantes nesta área. Venha compartilhar conosco desta experiência magnífica no mundo das metodologias ágeis.

A PRIMMER possui casos importantes nesta área. Venha compartilhar conosco desta experiência magnífica no mundo das metodologias ágeis. METODOLOGIAS ÁGEIS Boas Práticas para o Gerenciamento de Projetos de TI utilizando métodos ágeis baseados em SCRUM e XP etc. DIFERENCIAIS Avaliação prévia das necessidades de cada participante para customização

Leia mais

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br SCRUM Otimizando projetos Adilson Taub Júnior tecproit.com.br Sobre mim Adilson Taub Júnior Gerente de Processos Certified ScrumMaster; ITIL Certified; Cobit Certified; 8+ anos experiência com TI Especialista

Leia mais

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie 1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

QUANDO este projeto deve ser realizado e QUANTO este projeto deverá custar?

QUANDO este projeto deve ser realizado e QUANTO este projeto deverá custar? O PROJECT MODEL CANVAS (www.pmcanvas.com.br) é uma ferramenta que permite que um projeto seja entendido no contexto dos aspectos Fundamentals da teoria de gerenciamento de projetos. A metodologia facilita

Leia mais

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas. Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1141 Processo e qualidade de software I Prof. Me. Elias Ferreira Sala: 210 F Quarta-Feira:

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Extreme Programming I Ricardo de Sousa Britto rbritto@ufpi.edu.br Você gostaria de trabalhar assim? Análise de Requisitos Longe de acordo Requerimentos Complexo Anarquia Perto

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Desenvolvimento Ágil. O Manifesto para o Desenvolvimento de Software Ágil

Desenvolvimento Ágil. O Manifesto para o Desenvolvimento de Software Ágil Desenvolvimento Ágil 02561-5 Engenharia de Software Profa. Rosângela Penteado Aula de 24/8/2006 1 O Manifesto para o Desenvolvimento de Software Ágil Nós estamos descobrindo melhores maneiras de desenvolver

Leia mais

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Gestão do Risco e da Qualidade no Desenvolvimento de Software Gestão do Risco e da Qualidade no Desenvolvimento de Software Questionário Taxinómico do Software Engineering Institute António Miguel 1. Constrangimentos do Projecto Os Constrangimentos ao Projecto referem-se

Leia mais

Programação Extrema. Luis Fernando Machado. Engenharia de Software

Programação Extrema. Luis Fernando Machado. Engenharia de Software Programação Extrema Luis Fernando Machado Engenharia de Software Desenvolvimento Ágil Programação Extrema, ou Extreme Programming (XP) é um modelo de desenvolvimento ágil. Desenvolvimento ágil foi criado

Leia mais

Aplicando Scrum no. Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza

Aplicando Scrum no. Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Aplicando Scrum no Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Licença para uso e

Leia mais

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br Agenda Projetos de Software O que é Scrum Scrum framework Estrutura do Scrum Sprints Ferramentas Projetos de software Chaos Report Standish

Leia mais

Gerenciamento de Equipes com Scrum

Gerenciamento de Equipes com Scrum Gerenciamento de Equipes com Scrum Curso de Verão 2009 IME/USP www.agilcoop.org.br Dairton Bassi 28/Jan/2009 O que é Scrum? Processo de controle e gerenciamento Processo iterativo de inspeção e adaptação

Leia mais

Resumo artigo Agile Modeling- Overview

Resumo artigo Agile Modeling- Overview Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: Projetos I Aluno: Diogo Ludvig 0313812-7 Resumo artigo Agile Modeling- Overview Este trabalho se refere ao resumo do artigo Agile Modeling,

Leia mais

17/5/2009. Esta área de conhecimento tem o objetivo de utilizar de forma mais efetiva as pessoas envolvidas no projeto (equipe e stakeholders)

17/5/2009. Esta área de conhecimento tem o objetivo de utilizar de forma mais efetiva as pessoas envolvidas no projeto (equipe e stakeholders) Gerenciamento de Recursos Humanos do Projeto FAE S. J. dos Pinhais Projeto e Desenvolvimento de Software Gerenciamento de Recursos Humanos Esta área de conhecimento tem o objetivo de utilizar de forma

Leia mais

Introdução ao Processo Unificado (PU)

Introdução ao Processo Unificado (PU) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução ao Processo Unificado (PU) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin

Leia mais

IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011

IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011 IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011 Rogério Carlos Tavares 1, José Luis Gomes da Silva² 1 Universidade de

Leia mais

PMBoK Comentários das Provas TRE-PR 2009

PMBoK Comentários das Provas TRE-PR 2009 PMBoK Comentários das Provas TRE-PR 2009 Comentário geral: As provas apresentaram grau de dificuldade médio. Não houve uma preocupação da banca em aprofundar os conceitos ou dificultar a interpretação

Leia mais

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE ULRICH, Helen Departamento de Engenharia de Produção - Escola de Engenharia

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03 PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03 RELATÓRIO TÉCNICO CONCLUSIVO

Leia mais

Proposta. Treinamento Scrum Master Gerenciamento Ágil de Projetos. Apresentação Executiva

Proposta. Treinamento Scrum Master Gerenciamento Ágil de Projetos. Apresentação Executiva Treinamento Scrum Master Gerenciamento Ágil de Projetos Apresentação Executiva 1 O treinamento Scrum Master Gerenciamento Ágil de Projetos tem como premissa preparar profissionais para darem início às

Leia mais

ITIL v3 - Operação de Serviço - Parte 1

ITIL v3 - Operação de Serviço - Parte 1 ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI MDMS- Metodologia de Desenvolvimento e Manutenção de Sistemas da Superintendência de Tecnologia da Informação - STI Metodologia de Desenvolvimento e Manutenção de Sistemas da Histórico de Alterações Versão

Leia mais

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução Projeto de Desenvolvimento de Software Apresentação (Ementa) e Introdução Msc. Eliezio Soares Graduação em Análise e Desenvolvimento de Sistemas IFRN Mestrado em Sistemas e Computação - DIMAp / UFRN Experiência

Leia mais

Gerenciamento de Projetos Modulo IX Qualidade

Gerenciamento de Projetos Modulo IX Qualidade Gerenciamento de Projetos Modulo IX Qualidade Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

Wesley Torres Galindo. wesleygalindo@gmail.com

Wesley Torres Galindo. wesleygalindo@gmail.com Wesley Torres Galindo wesleygalindo@gmail.com Wesley Galindo Graduação em Análise e Desenvolvimento de Sistemas Mestrado em Engenharia de Software Engenheiro de Software Professor Faculdade Escritor Osman

Leia mais

Profa. Dra. Ana Paula Gonçalves Serra prof.anapaula@saojudas.br

Profa. Dra. Ana Paula Gonçalves Serra prof.anapaula@saojudas.br Modelos de Processo Pessoal e de Equipe na Melhoria da Qualidade em Produção de Software Profa. Dra. Ana Paula Gonçalves Serra prof.anapaula@saojudas.br Agenda Importância das Pessoas / Constatações Compromisso

Leia mais

development Teresa Maciel DEINFO/UFRPE

development Teresa Maciel DEINFO/UFRPE development Teresa Maciel DEINFO/UFRPE Prazos curtos Baixo custo Agregação ao negócio Fidelidade do cliente Competitividade Sobrevivência Cenário 2000 35% dos projetos apresentam sucesso 31% dos projetos

Leia mais

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

Capítulo 2 Objetivos e benefícios de um Sistema de Informação Capítulo 2 Objetivos e benefícios de um Sistema de Informação 2.1 OBJETIVO, FOCO E CARACTERÍSTICAS DOS SISTEMAS DE INFORMAÇÃO. Os Sistemas de Informação, independentemente de seu nível ou classificação,

Leia mais

7 perguntas para fazer a qualquer fornecedor de automação de força de vendas

7 perguntas para fazer a qualquer fornecedor de automação de força de vendas 7 perguntas para fazer a qualquer fornecedor de automação de força de vendas 1. O fornecedor é totalmente focado no desenvolvimento de soluções móveis? Por que devo perguntar isso? Buscando diversificar

Leia mais

Gerenciamento de Projetos Modulo VIII Riscos

Gerenciamento de Projetos Modulo VIII Riscos Gerenciamento de Projetos Modulo VIII Riscos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

1. INTRODUÇÃO. Espero que faça um bom proveito do conteúdo e que, de alguma forma, este e-book facilite a sua decisão de adquirir um planejamento.

1. INTRODUÇÃO. Espero que faça um bom proveito do conteúdo e que, de alguma forma, este e-book facilite a sua decisão de adquirir um planejamento. 1. INTRODUÇÃO Muitas pessoas ficam em dúvida sobre o que considerar na hora de contratar um planejamento de estudos. Esta é uma dificuldade aceitável, tendo em vista que existem opções no mercado que não

Leia mais

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos Março de 2010 UM NOVO PARADIGMA PARA AS AUDITORIAS INTERNAS Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos por Francesco De Cicco 1 O foco do trabalho dos auditores internos

Leia mais

Unidade I Conceitos BásicosB. Conceitos BásicosB

Unidade I Conceitos BásicosB. Conceitos BásicosB à Engenharia de Software Unidade I Conceitos BásicosB Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br 1961 a 1963 Surgimento de novos Hardwares 1963-1968 Crise do Software! Incapacidade de se utilizar

Leia mais

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti. TI Aplicada Aula 02 Áreas e Profissionais de TI Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos

Leia mais

Gerenciamento das Aquisições do Projeto (PMBoK 5ª ed.)

Gerenciamento das Aquisições do Projeto (PMBoK 5ª ed.) Gerenciamento das Aquisições do Projeto (PMBoK 5ª ed.) Esta é a penúltima área do conhecimento do PMBoK, sendo o capítulo 12 do guia. O PMBoK diz que esta área inclui os processos necessários para comprar

Leia mais

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Objetivos da Aula 1 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Entendimento sobre os processos essenciais do

Leia mais

Desenvolve Minas. Modelo de Excelência da Gestão

Desenvolve Minas. Modelo de Excelência da Gestão Desenvolve Minas Modelo de Excelência da Gestão O que é o MEG? O Modelo de Excelência da Gestão (MEG) possibilita a avaliação do grau de maturidade da gestão, pontuando processos gerenciais e resultados

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Organização. Trabalho realizado por: André Palma nº 31093. Daniel Jesus nº 28571. Fábio Bota nº 25874. Stephane Fernandes nº 28591

Organização. Trabalho realizado por: André Palma nº 31093. Daniel Jesus nº 28571. Fábio Bota nº 25874. Stephane Fernandes nº 28591 Organização Trabalho realizado por: André Palma nº 31093 Daniel Jesus nº 28571 Fábio Bota nº 25874 Stephane Fernandes nº 28591 Índice Introdução...3 Conceitos.6 Princípios de uma organização. 7 Posição

Leia mais

Especialização em Engenharia de Software e Banco de Dados

Especialização em Engenharia de Software e Banco de Dados Especialização em Engenharia de Software e Banco de Dados Disciplina: Engenharia de Software Tópico: Introdução Prof. Rodolfo Miranda de Barros rodolfo@uel.br Grandes verdades sobre o desenvolvimento e

Leia mais