Gerenciamento Ágil de Projetos com Scrum
Aprenda na prática como vencer os desafios da implantação da metodologia Scrum para o gerenciamento de projetos de software.
Objetivo: Nesse mini-curso, o aluno aprenderá na prática, através de várias dinâmicas e exercícios, como usar os conceitos do Scrum combinado com outras metodologias como FDD (Feature-Driven Development) e TOC (Theory Of Constraints), para gerenciar e executar os ciclos de um projeto ágil de software, semelhante ao que importantes empresas estão aplicando em seus processos internos para gerar produtos com maior qualidade, mais velocidade e com menores custos.
Tópicos:
eXtreme Programming (XP) na Prática
Venha experimentar na pele o dia a dia de um projeto XP real! Nesse minicurso serão apresentados os conceitos básicos do Extreme Programming, e teremos um primeiro contato com a metodologia "de dentro pra fora", do ponto de vista da própria equipe. Ao longo de um dia inteiro de atividades a turma realizará todas as etapas de um projeto XP real, envolvendo planejamento, levantamento de requisitos, design, programação e testes de verdade, chegando ao fim do dia (se Deus quiser :-P ) com uma versão funcional de um pequeno software - simples, mas palpável e útil.
Saber programar não é, de forma alguma, um pré-requisito para o curso, embora algumas noções básicas e familiaridade com lógica de programação sejam desejáveis. De qualquer forma, haverá espaço para todos, pois as sessões de programação se darão de forma coletiva - em formato CodingDojo - e porque uma equipe XP é formada, na prática, com todo tipo de especialidades. Quem não se sentir à vontade programando poderá no mínimo observar de perto como o design do código floresce naturalmente, cultivado por práticas como Desenvolvimento Orientado a Testes, Refatoração, programação em par, e Integração contínua - além de participar ativamente do levantamento de histórias, jogo do planejamento e retrospectivas.
Desenvolvimento web ágil com RubyOnRails
Agilidade não tem nada a ver com qualquer tecnologia, mas algumas tecnologias tem muito a ver com agilidade.
Ao contrário do que acredita senso comum de mercado, o desenvolvimento ágil (agile) não é consequência de mudança tecnológica, aquisição de produtos ou implantação de ferramentas. Não se compra Agile. Uma equipe não se torna ágil do dia pra noite com o estalo mágico dos dedos de qualquer consultor. Agile não é uma mudança de processos ou ferramentas, mas sim uma grande transformação interior de valores e princípios. Aderir à agilidade diz respeito, em primeiríssimo lugar, a uma mudança radical na forma de se pensar software. Para que métodos ágeis funcionem, a convicção absoluta da equipe é de principal importância. Enfim, não se justifica o uso de qualquer tecnologia específica para que se seja ágil no desenvolvimento.
Este mini-curso irá então introduzir a linguagem de programação Ruby e o framework Web Rail, relacionando sua integração com a plataforma Java, através dos seguintes tópicos:
Os únicos pré-requisitos necessários para participação do treinamento são (a) alguma noção de desenvolvimento web e (b) vontade absurda de aprender.
Gestão Ágil de Requisitos
Nesse treinamento, será exposta uma visão pragmática da aplicação de práticas ágeis e enxutas para promover o aprendizado iterativo e incremental para modelar e desenvolver um produto de software, alinhado à estrutura de uma organização e dentro das expectativas de prioridades para as entregas.
Tópicos:
Teste de aplicações Rails
Muito se diz que Rails é um meta-framework com forte personalidade. Dessa personsalidade, destaca-se o amplo incentivo à cultura de testes. Por isso, geralmente, o próximo passo de programadores recém introduzidos às tecnologias Ruby/Rails é a busca por mais informações a respeito de práticas e ferramentas para o desenvolvimento orientado a testes.
Este curso discute a filosofia dos testes, algumas práticas básicas, introduz o processo de testes do Rails e finaliza com a apresentação de ferramentas complementares que ganharam espaço na comunidade nos últimos anos. Será debatida a real motivação da prática contínua de testes, quebrando alguns preconceitos herdados da cultura não ágil e refletindo sobre o equilíbrio a ser encontrado. Os principais conceitos de testes do Rails serão apresentados, como testes unitários, testes funcionais e testes de integração, fixtures e instruções Rake. Por fim, trabalharemos com outras ferramentas de TDD, BDD e Mock Objects, como RSpec, Cucumber, Mocha, Faker e Autotest.
Planejamento e estimativas em projetos ágeis
Neste workshop você trabalhará unicamente em volta das mais importantes técnicas para ter um projeto ágil bem planejado. Ao final do workshop você saberá a importância do tamanho para itens de um Backlog e entenderá como utilizar bem esta unidade, entenderá as diferenças entre story points e ideal time, as vantagens de utilizá-las e verá na prática (em um projeto real) a utilização das melhores técnicas para estimativa. Saber quando e porque re-estimar também será entendido aqui, e ainda como trabalhar desta forma tanto em projetos com escopo aberto como fechado.
Conteúdo programático: