Agile com Atlassian

Post on 17-Nov-2014

2.196 views 4 download

description

 

Transcript of Agile com Atlassian

1

Atlassian e Atlassian e Métodos ÁgeisMétodos Ágeis

2

Quem sou eu?

• Leandro Bento Pompermaier

• Diretor de Operações/RH da e-Core Desenvolvimento de Software

• Professor da Faculdade de Informática da PUCRS

• + 15 anos de experiência em desenvolvimento de software

3

Visão Geral e-Core

Estabelecida em 1999Estabelecida em 1999

Escritórios no Brasil e EUAEscritórios no Brasil e EUA

Aproximadamente 100 Aproximadamente 100 profissionaisprofissionais

Atua em prestação de serviços Atua em prestação de serviços offshore desde 2004offshore desde 2004

4

Agilidade, by Dilbert

5

Agilidade

• Questionamento sobre mitos/práticas adotadas em abordagens tradicionais de Engenharia de Software e Gerência de Projetos.

• Manifesto Ágil (Utah em fevereiro/2001)

• Indivíduos e interação entre eles processos e ferramentas

• Software em funcionamento documentação abrangente

• Colaboração com o cliente negociação de contratos;

• Responder a mudanças seguir um plano.

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.

Manifesto for Agile Software Development

Ao invés de

Mais importante

que

6

O Framework Scrum

*Revisão do Product Backlog*Revisão do Sprint Backlog*Objetivo do Sprint*Comprometimento com o escopo do Sprint

*O que fizeste ontem?*O que vais fazer hoje?*Há algum obstáculo?

*Demonstração de funcionalidades para equipe

*Inspecionar e adaptar

7

Kanban

Visualização do workflow Medir leadtime/cycle time

(tempo médio para completar uma tarefa)

Limitar WIP (work in progress)

8

Combinando Práticas

“Não se prenda a somente uma arma ou estilo de luta.”- Miyamoto Musashi, 17th century Samurai

Exemplos:*Times Kanban com standup meetings (Scrum)*Times Scrum com limite de WIP (Kanban) ou descrições de caso de uso (RUP).*Scrumban

9

Práticas de métodos ágeis e Ferramentas Atlassian

10

Produtos da família Atlassian

11

Agenda

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeis

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeisConfluence para colaboração Confluence para colaboração

ágilágilConfluence para colaboração Confluence para colaboração

ágilágil

Fisheye para análise de códigoFisheye para análise de códigoFisheye para análise de códigoFisheye para análise de código

Bamboo para integração Bamboo para integração contínuacontínua

Bamboo para integração Bamboo para integração contínuacontínua

Clover para cobertura de códigoClover para cobertura de códigoClover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de código

12

Agenda

JIRA e GreenHopper – Gerenciamento de Projetos

Ágeis

JIRA e GreenHopper – Gerenciamento de Projetos

ÁgeisConfluence para colaboração Confluence para colaboração

ágilágilConfluence para colaboração Confluence para colaboração

ágilágil

Fisheye para análise de códigoFisheye para análise de códigoFisheye para análise de códigoFisheye para análise de código

Bamboo para integração Bamboo para integração contínuacontínua

Bamboo para integração Bamboo para integração contínuacontínua

Clover para cobertura de códigoClover para cobertura de códigoClover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de código

13

JIRA Overview

JIRA é um sistema web que realiza o Gerenciamento de Atividades e Projetos

Altamente flexível e com uma plataforma personalizável

Utilizado por 11.500+ organizações em 107 paises

14

Uma Aplicação. Muitas utilidades.

Issue Tracking

Help-desk / Support / Customer Service

Project Management / Agile Development

Task Tracking

Requirements Management

Workflow / Process Management

15

JIRA- Conceitos

ProjetosProjetosProjetosProjetos

ComponentesComponentesComponentesComponentes Versões Versões (milestones)(milestones)Versões Versões (milestones)(milestones)

IssuesIssuesIssuesIssues

Level 1

Level 2

Categorias de ProjetosCategorias de ProjetosCategorias de ProjetosCategorias de Projetos

Issue TypesIssue TypesIssue TypesIssue Types

Level 3

Sub-TasksSub-TasksSub-TasksSub-Tasks

Issue TypesIssue TypesIssue TypesIssue Types

Sub-TasksSub-TasksSub-TasksSub-Tasks Sub-TasksSub-TasksSub-TasksSub-Tasks Sub-TasksSub-TasksSub-TasksSub-TasksLevel 4

16

ProjetoProjeto

Aplicação de Time TrackingAplicação de Time TrackingProjetoProjeto

Aplicação de Time TrackingAplicação de Time Tracking

ComponentesComponentes

User Interface, Reports, User Interface, Reports, WorkflowWorkflow

ComponentesComponentes

User Interface, Reports, User Interface, Reports, WorkflowWorkflow

VersõesVersões

0.1, 0.2, 1.0, 1.1, 1.1.1, 0.1, 0.2, 1.0, 1.1, 1.1.1, 2.02.0

VersõesVersões

0.1, 0.2, 1.0, 1.1, 1.1.1, 0.1, 0.2, 1.0, 1.1, 1.1.1, 2.02.0

IssuesIssuesIssuesIssues

Level 1

Level 2

Categoria de ProjetoCategoria de Projeto

Tecnologia da InformaçãoTecnologia da InformaçãoCategoria de ProjetoCategoria de Projeto

Tecnologia da InformaçãoTecnologia da Informação

New FeatureNew FeatureNew FeatureNew Feature

Level 3

Sub-Sub-TasksTasksSub-Sub-TasksTasks

Exemplo

Level 4 Sub-Sub-TasksTasksSub-Sub-TasksTasks

BugBugBugBug Support TicketSupport TicketSupport TicketSupport Ticket

Sub-Sub-TasksTasksSub-Sub-TasksTasks

Sub-Sub-TasksTasksSub-Sub-TasksTasks

Sub-Sub-TasksTasksSub-Sub-TasksTasks

Sub-Sub-TasksTasksSub-Sub-TasksTasks

Exemplo

17

Dashboards e Gadgets

18

Project Summary

19

Filtros e Navegador de Issues

20

Workflow flexível para diferentes tipos de issues

21

Interface parametrizável para rápida criação de issues

22

GreenHopper

Plugin do JIRAProvê ferramentas para gerenciamento de projetos ágeisSimplifica o planejamento dos sprints e o “task tracking”Utilizado em mais de 2.000 empresas (80 países)

23

GreenHopper

Visualização dos cartões

Atualizaçãoinstantânea

das atividades

Planejamentousando

“drag ‘n drop”

Gráficos paraacompanhamento

da equipe

24

GreenHopper

Planning Board Chart BoardTask BoardPlanejamento em

vários níveisVerificação do

progresso do trabalhoVisibilidade e

métricas

1. Manutenção do backlog2. Prioritização3. Estimativas4. Planejamento da release5. Planejamento do Sprint

1. Progresso do Sprint2. Progresso das user stories3. Log work4. Colunas configuráveis5. Painel pessoal

1. Gráfico burndown hora2. Gráfico burndown atividade3. Gráficos de burnup

25

Planning Board

26

Planning Board

27

Task Board

28

Task Board – Diferentes visões

29

Task Board – Kanban Constraints

30

Chart Board

31

Chart Board

32

Práticas de métodos ágeis e Ferramentas Atlassian

33

Agenda

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeis

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeisConfluence para colaboração

ágilConfluence para colaboração

ágil

Fisheye para análise de códigoFisheye para análise de códigoFisheye para análise de códigoFisheye para análise de código

Bamboo para integração Bamboo para integração contínuacontínua

Bamboo para integração Bamboo para integração contínuacontínua

Clover para cobertura de códigoClover para cobertura de códigoClover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de código

34

Confluence

Ferramenta wiki Pode ser utilizada em um processo

ágil nas seguintes situações: Colaboração no planejamento

dos sprints/features; Apresentação executiva das

métricas do projeto/release/sprint (integração com JIRA)

Registro de cerimônias do Scrum (revisão, retrospectiva, etc)

35

Confluence

Útil para: Desenvolvedores (colaboração com

seus pares) Analistas/Desenvolvedores (breve

descrição das user stories e features desejadas, com uso de mockups)

Gerentes de Produtos (informação executiva sobre releases/sprints)

36

Confluence

37

Confluence

38

Práticas de métodos ágeis e Ferramentas Atlassian

39

Agenda

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeis

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeisConfluence para colaboração Confluence para colaboração

ágilágilConfluence para colaboração Confluence para colaboração

ágilágil

Fisheye para análise de códigoFisheye para análise de código

Bamboo para integração Bamboo para integração contínuacontínua

Bamboo para integração Bamboo para integração contínuacontínua

Clover para cobertura de códigoClover para cobertura de códigoClover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de código

40

Fisheye

Permite a busca e visualização “web-based” das informações de diversas ferramentas de controle de versão (Subversion, Git, Perforce , Clearcase e CVS)

Conecta a múltiplos repositórios Mecanismo de pesquisa avançado

41

Fisheye - Browsing

42

Fisheye - Browsing

43

Fisheye - Reports

44

Fisheye - Sharing

45

Fisheye - Sharing

46

Fisheye - Search

47

Agenda

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeis

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeisConfluence para colaboração Confluence para colaboração

ágilágilConfluence para colaboração Confluence para colaboração

ágilágil

Fisheye para análise de códigoFisheye para análise de códigoFisheye para análise de códigoFisheye para análise de código

Bamboo para integração contínua

Bamboo para integração contínua

Clover para cobertura de códigoClover para cobertura de códigoClover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de código

48

Integração Contínua

Integração contínua = Desenvolvimento iterativo + Testes automatizados

Mudanças são publicadas de forma mais rápida e em lotes menores

Toda vez que uma mudança é feita, um build é gerado e os testes são executados

O sistema continuará funcionando se o build possuir o estado VERDE

Builds com status VERMELHO devem ser corrigidos imediatamente

49

Bamboo

Servidor de integração contínua Cria o build do projeto e executa a suite de

testes automaticamente, sempre que um desenvolvedor “comitar” uma atualização

SourceControl

Build Tool

Desenvolvedores

•CVS•Subversion•Perforce+Pluggable

•Ant•Maven 1 / 2•Msbuild•Nant•Script+Pluggable

•Qualquer plataforma•Qualquer linguagem•Qualquer ferramenta

50

Bamboo

Desenvolvedores ágeis utilizam integração contínua para ter feedback instantâneo sobre o impacto de cada atualização no projeto.

Útil para Desenvolvedores: aprenderem mais sobre

suas atualizações Líderes de equipes: conseguirem status dos

builds mais rapidamente (maior visibilidade sobre o progresso)

Testadores: executar testes de integração e desempenho o mais cedo possível

51

Bamboo

52

Bamboo e JIRA

53

Práticas de métodos ágeis e Ferramentas Atlassian

54

Agenda

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeis

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeisConfluence para colaboração Confluence para colaboração

ágilágilConfluence para colaboração Confluence para colaboração

ágilágil

Fisheye para análise de códigoFisheye para análise de códigoFisheye para análise de códigoFisheye para análise de código

Bamboo para integração Bamboo para integração contínuacontínua

Bamboo para integração Bamboo para integração contínuacontínua

Clover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de códigoCrucible para revisão de código

55

Clover

Ferramenta de análise de cobertura de código

Auxilia na priorização do tempo gasto na criação de novos testes

Detecta e endereça: Código altamente complexo, pobremente

testado Cobertura perdida com recentes

atualizações Precisão da cobertura dos testes

(assegurando a relevância dos mesmos)

56

Clover - Dashboard

57

Clover - Integração com Bamboo

58

Agenda

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeis

JIRA e GreenHopper – JIRA e GreenHopper – Gerenciamento de Projetos Gerenciamento de Projetos

ÁgeisÁgeisConfluence para colaboração Confluence para colaboração

ágilágilConfluence para colaboração Confluence para colaboração

ágilágil

Fisheye para análise de códigoFisheye para análise de códigoFisheye para análise de códigoFisheye para análise de código

Bamboo para integração Bamboo para integração contínuacontínua

Bamboo para integração Bamboo para integração contínuacontínua

Clover para cobertura de códigoClover para cobertura de códigoClover para cobertura de códigoClover para cobertura de código

Crucible para revisão de códigoCrucible para revisão de código

59

Crucible

Ferramenta para revisão de código Principais características:

Revisão colaborativa Revisões assíncronas e on-line Integração com JIRA e Fisheye Revisões pré e pós commit Inserção de comentários nos códigos

60

Crucible

Criação de revisões: A partir do Fisheye No próprio Crucible A partir do JIRA

61

Crucible

62

Crucible

63

Crucible

64

Práticas de métodos ágeis e Ferramentas Atlassian

65

Leandro Bento PompermaierLeandro Bento Pompermaierleandro.pompermaier@ecore.com.brleandro.pompermaier@ecore.com.br

+55 51 2103-9141+55 51 2103-9141

66

Japanese

HebrewThank YouEnglish

MerciFrench

Russian

DankeGerman

GrazieItalian

Gracias

Spanish

Obrigado Portuguese

Arabic

Simplified Chinese

Traditional Chinese

Tamil

Korean

Thai