Desenvolvimento Ágil de Software em Larga Escala



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

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

Desenvolvimento Ágil de Software

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro

EXIN Agile Scrum Fundamentos

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions.

Metodologias Ágeis. Aécio Costa

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

Com metodologias de desenvolvimento

Métodos Ágeis e Gestão de Dados Moderna

Manifesto Ágil - Princípios

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

Engenharia de Software II

ScRUM na prática. Scrum no dia-a-dia. V Semana de Tecnologia da Informação

Sistemas de Informação I

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

Daniel Wildt

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

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

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

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira

Processo de Desenvolvimento de Software Scrum. Prof. Antonio Almeida de Barros Jr.

Agile Methods for the Traditional Guy

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

Frederico Aranha, Instrutor. Scrum 100 Lero Lero. Um curso objetivo!

ENGENHARIA DE SOFTWARE I

Desenvolvendo Software Livre com Programação extrema

Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl

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

Prof. Me. Marcos Echevarria

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

Uma introdução ao SCRUM. Evandro João Agnes

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

Métodos Ágeis para Desenvolvimento de Software Livre

Agenda. Visão Revolução Ágil EduScrum Visão Geral do Método Benefícios Projeto Scrum for Education Sinergias

Gerenciamento de Equipes com Scrum

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

Capítulo 1. Extreme Programming: visão geral

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

development Teresa Maciel DEINFO/UFRPE

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

Scrum. Gestão ágil de projetos

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

Ferramenta para gestão ágil

Desenvolvimento Ágil sob a Perspectiva de um ScrumMaster

Como facilitar sua Gestão Empresarial

Escrevendo Estórias do Usuário Eficazes aula #1

A Evolução de XP segundo Kent Beck Parte 2

Gerenciamento Ágil de Projetos HEITOR RORIZ FILHO, MSc, PMI-ACP, CST Massimus C&T

Agilidade parte 3/3 - Scrum. Prof. Dr. Luís Fernando Fortes Garcia luis@garcia.pro.br

Wesley Torres Galindo

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

Expresso Livre Módulo de Projetos Ágeis

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto

Wesley Torres Galindo.

SCRUM. Fabrício Sousa

Método Aldeia de Projetos

1º SEMESTRE DE 2011 Prof. Msc. Hilmer Rodrigues Neri

ELABORAÇÃO DE UM PRODUCT BACKLOG EFETIVO

Introdução a Métodos Ágeis de Desenvolvimento de Software

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

Processo de Abertura de Projetosescritorio. Bizagi Process Modeler

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

Scrum Uma breve apresentação. Alfredo Goldman Dairton Bassi

Engenharia de Software

Guia Projectlab para Métodos Agéis

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software

Feature-Driven Development

Engenharia de Software I

Prof. Luiz A. Nascimento. As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software.

Módulo de projetos ágeis Scrum Módulo de Projetos Ágeis Scrum

Engenharia de Software II: Definindo Projeto I. Prof. Msc Ricardo Britto DIE-UFPI

Scrum no Desenvolvimento de Jogos Eletrônicos

Resumo artigo Agile Modeling- Overview

Cultura da Entrega Diária com EVDnC

Guia do Nexus. O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado. Desenvolvido e mantido por Ken Schwaber e Scrum.

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com

Ambientação nos conceitos

LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013

Gestão de Projetos com Scrum

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Agilidade em Gerenciamento de Projetos Software

Metodologia SCRUM. Moyses Santana Jacob RM Stelvio Mazza RM Tiago Pereira RM Hugo Cisneiros RM 60900

ACTION LEARNING. O que é Action Learning? FUN D A MEN T OS D O

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ê?

Leves ou pesadas Incrementais, cascata, lineares... etc. Pro ativas e reativas RAD, SDLC

Engenharia de Software

Francielle Santos

SCRUM IN HELL Aplicando agilidade em ambientes difíceis

Organização de Gerenciamento de Processos. Palestrante: Samyra Salomão

ESCRITÓRIO RIO DE PROJETOS

Estimativa. Uma opinião ou julgamento de valor, tamanho ou quantidade, formada sem dados precisos. Suposição; conjectura.

Comparativo entre Processos Ágeis. Daniel Ferreira

Engenharia de Software II: SCRUM na prática. Ricardo de Sousa Britto

Gestão de Programas Estruturadores

Desenvolvimento Ágil de Software com Programação extrema (XP) Ricardo Argenton Ramos

Os princípios e valores do ágil são a chave para o escalonamento!

RESUMO PARA O EXAME PSM I

[Agile] Scrum + XP. Wagner Roberto dos Santos. Agilidade extrema. Arquiteto Java EE / Scrum Master wrsconsulting@gmail.com. Globalcode open4education

Transcrição:

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 Ágil Desenvolvimento Web Ágil Desenv. Ágil de Jogos SOA Ágil AJAX Ágil Soluções Web Ágeis MDA / MDD Ágil 2

Agilidade é Coisa Velha E.g. Scrum e XP foram publicados em 1995 XP SCRUM DSDM Metodologias Crystal FDD Dev. Adaptativo de Software... Manifesto Ágil Feb. 2001 agilemanifesto.org 3

Grande Grande em... Escopo Tempo Pessoas Dinheiro Riscos Nós nos concentramos Grandes Times Grande é relativo 1, 2, 10, 100, 2000 Pessoas 4

Grande e Métodos Ágeis XP Tamanho típico de times < 12 Scrum Scrum de Scrums Crystal Cores diferentes para tamanhos diferentes: Clear: para equipes < 10 Orange: para equipes < 40 Red, blue,... (ainda não definido) FDD Equipes são montadas para projetar uma funcionalidade 5

Sem Método pré-fabricado Mas: Desenvolvimento Ágil é definido pelo valor do sistema: Indivíduos e interações sobre processos e ferramentas Software funcionando sobre documentação compreensiva Colaboração com o cliente sobre negociação de contratos Responder às mudanças sobre seguir um plano Isto é, enquanto existe valor nos itens à direita, nós valorizamos mais os itens à esquerda 6 Fonte: http://agilemanifesto.org

Princípios Ágeis O valor do sistema é baseado nos seguintes princípios: Entrega contínua de software de valor Acolha requisitos mutantes Entregue software funcionando frequentemente Pessoas de negócio e desenvolvedores trabalhando junto Confie em indivíduos motivados Conversa Frente-a-frente Software funcionando é a principal medida de progresso Promova desenvolvimento sustentável Excelência técnica e bom desenho Simplicidade é essencial Time auto-organizadores Reflexão e ajuste na equipe 7

Entregue Software Funcionando Frequentemente Balanceie redução de riscos com cumprimento de funcionalidade Iterações de duas semanas já foram provadas Uma versão aproximadamente a cada 3 iterações Mesmo ritmo para todos os times Desenvolvimento em tempo fixo: Conhecimento sobre velocidade Melhoria do planejamento do projeto como um todo 8

Entrega de Software de Valor Foco em completar funcionalidades de valor Frequentemente anormal para grandes times Realização significa integração, teste e documentação Entrega Estruture os times ao redor das funcionalidades Para garantir o valor de negócio e a vantagem para o cliente Times para funcionalidades Abranja todos os papéis necessários e todos os conhecimentos necessários 9

Envolvimento do Cliente É raro ter um único cliente bem definido, são mais típicos: Bases de clientes grandes e invisíveis Típicos para software comum Comunidade de clientes Frequentemente heterogênea Portanto: Cliente dublê Product Owner Um product owner pode não ser suficiente Equipes de product owners com um product owner principal Um product owner pode direcionar 2-3 times de funcionalidade 10

Agilidade significa Acolher Mudanças Sucesso é definido pelo cliente, por mais ninguém. Mudanças nas funcionalidades e nas prioridades Sinais claros que o cliente entende melhor o sistema. Na maioria dos casos pode-se resolver isso com iterações Mas: Uma mudança significa: Atraso Elimincação de outra funcionalidade 11

Promova Desenvolvimento Sustentável Determine a velocidade de cada time Planejamento Realístico Note: velocidades não são comparáveis Revisões e inspeções de código Externas Internas Time de revisores Continuamente: programação em pares 12

Confie em Indivíduos Motivados Confiança é baseada em: Comunicação Transparência Honestidade Contato Confiança é importante para todos: Desenvolvedores Clientes Gerentes 13

Desenvolvimento Ágil dentro da Organização Desenvolvimento Ágil é um detector de problemas Consciência que más notícias também são boas notícias Apoio para ações apropriadas Integração transfuncional de departamentos Projetos como clientes Relação próxima com o cliente Garante feedback e portanto o sucesso do projeto 14

Conversa Frente-a-frente Comunicação Frente-a-frente sempre é preferencial Sincronização diária é essencial ter um entendimento comum lidar com papéis lidar com problemas obter feedback Pense sobre: Scrum de Scrums diários Troca de pessoas Facilitador de comunicação 15

Simplicidade é Essencial Integridade Conceitual Simplicidade vem de integridade conceitual (Parnas) Uma arquitetura de sistema é o principal passo em direção à integridade conceitual Liderança na arquitetura guia Comunica a visão Ideias principais Atribuição de responsabilidade técnica Decisões técnicas Um funcionário com coragem e experiência 16

Atenção Contínua na Excelência Técnica Um bom (e simples) design nunca é fácil E: Faça-o certo logo da primeira vez nunca funciona A melhor arquitetura evolui Testes garantem o funcionamento das funcionalidades existentes Provêem a rede de segurança para refatorar Sincronizados automaticamente e sincronamente com o desenvolvimento Refatoração acontece continuamente Responsabilidade compartilhada Toda grande refatoração pode ser realizada através de várias pequenas refatorações 17

Time de Serviços Técnicos Não tente finalizar a arquitetura antes de crescer o time Permita que a arquitetura evolua Times de funcionalidades fornecem um product owner Formule e priorize os requisitos Direcionam as iterações do time de serviços técnicos Arquitetura é um serviço 18

Software Funcionando requer Integração Mudanças serão integradas tão frequentemente quanto possível Tornam o progresso visível e mensurável Conflitos são mais fáceis de resolver Cada integração resulta num sistema funcionando Provê feedback imediato Integração precisa de apoio Planeje pelo menos 10% do esforço de desenvolvimento 19

Reflexão e Ajuste Frequente do Time Revisão da Iteração em times de funcionalidade Apresenta entregas Aceitação / Rejeição Retrospectiva Reflita sobre: Coisas que funcionaram bem, que precisam ser melhoradas, que ainda são difíceis Defina ações para os 3 primeiros Retrospectiva por estágios 20

Times Auto-Organizadores Pessoas e times são diferentes Deixe o time decidir Cada time define seu próprio processo Retrospectivas ajudam a moldar o processo Não especifique demais nem mande demais Use um ponto inicial e ajuste a partir dele I.e. a e experiência dos membros do projeto é um bom começo Lembre-se: Indivíduos e interações sobre processos e ferramentas 21

Funcionários para Grandes Equipes Scrum Master / Coach Visão do processo Product Owner Visão do negócio Especialmente para projetos grandes: Gerente de Projeto Visão Organizacional Arquiteto Visão Técnica 22

Resumo Times de funcionalidade e product owner(s) garantem o valor de negócio Iterações curtas garantem feedback frequente para reduzir os riscos Times técnicos como provedores de serviços Comunicação é ainda mais importante 23

150 Anos Atrás e Ainda Atualizado Não é a espécie mais forte que sobrevive, nem a mais inteligente, mas aquela que mais responde às mudanças. [Charles Darwin, A Origem das Espécies, 1859] 24

Muito Obrigado! Um novo livro chegando sobre: Agile Software with Distributed Teams (Métodos Ágeis para Times Distribuídos) Contatos: Jutta Eckstein je@it-communication.com www.it-communication.com Ilustrações por: 25