visÃo Ágil - visaoagil.files.wordpress.com · desenvolvimento de software É uma conferência...

11
[1] VISÃO ÁGIL AGILE BRAZIL 2010 - A CONFERÊNCIA BRASILEIRA SOBRE AGILE No mês de junho desse ano, Porto Alegre será palco da conferência Agile Brazil 2010. Que nesse ano reunirá toda a comunidade ágil nacional e terá a presença ilustre de Martin Fowler. A Conferência Brasileira sobre Métodos Ágeis de Desenvolvimento de Software É uma conferência nacional sem fins lucrativos organizada por representantes das principais comunidades ágeis brasileiras. O evento tem como propósito promover a comunicação e a colaboração entre seus integrantes visando à disseminação coordenada da cultura Ágil por todo o país. O Agile Brazil 2010 acontecerá no campus central da PUCRS, em Porto Alegre, de 22 a 25 de junho, contando com cursos, apresentação de trabalhos e relatos de experiência provenientes de várias regiões do país, alem da participação de convidados reconhecidos internacionalmente. Martin Fowler, cientista chefe da ThoughtWorks, Philippe Kruchten, professor da UBC em Vancouver (Canadá) e conhecido também por ter liderado a equipe do RUP na Rational Software, David Hussman, Agile Coach e ganhador do Gordon Pask Award 2009 e também Klaus Wuestefeld que simplesmente é o pioneiro da divulgação de XP no Brasil e figura com bastante respeito no cenário internacional. E por final, é importante destacar que esse é um evento extremamente democrático, onde até mesmo a escolha do logo do evento foi aberta ao público. O site oficial é: www.agilebrazil.com/2010/ C OMMUNITY J OURNAL Martin Fowler Que numa entrevista concedida a Danilo Sato ( http://www.dtsato.com/ blog/ ), afirmou que: “Estou empolgado em visitar o Brasil. Esta será minha primeira vez na América do Sul e tanto eu, quanto minha esposa estamos ansiosos há tempos por essa visita”. Nessa Edição: # Agile Brazil 2010 # Experiência Sicoob Brasil # Testes Unitários # Por que usar “story points”? # Coaching para Auto- Organizacão # Essência Ágil # Notícias # 1 Foto: Pragdave/Flickr Março 201O

Upload: vungoc

Post on 10-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

[1]

VISÃO ÁGIL

AGILE BRAZIL 2010 - A CONFERÊNCIA BRASILEIRA SOBRE AGILENo mês de junho desse ano, Porto Alegre será palco da conferência Agile Brazil 2010. Que nesse ano reunirá toda a comunidade ágil nacional e terá a presença ilustre de Martin Fowler.

A Conferência Brasileira sobre

M é t o d o s Á g e i s d e

Desenvolvimento de Software É

uma conferência nacional sem fins

l u c r a t i v o s o r g a n i z a d a p o r

representantes das pr inc ipa is

comunidades ágeis brasileiras. O

e v e n t o t e m c o m o p ro p ó s i t o

promover a comunicação e a

colaboração entre seus integrantes

visando à disseminação coordenada

da cultura Ágil por todo o país.

O Agile Brazil 2010 acontecerá

no campus central da PUCRS, em

Porto Alegre, de 22 a 25 de junho,

contando com cursos, apresentação

de trabalhos e relatos de experiência

provenientes de várias regiões do

país, alem da participação de

c o n v i d a d o s r e c o n h e c i d o s

internacionalmente.  Martin Fowler,

cientista chefe da ThoughtWorks,

Philippe Kruchten, professor da

UBC em Vancouver (Canadá) e

conhecido também por ter liderado a

equipe do RUP na Rational Software,

David Hussman, Agile Coach e

ganhador do Gordon Pask Award

2009 e também Klaus Wuestefeld

que simplesmente é o pioneiro da

divulgação de XP no Brasil e figura

com bastante respeito no cenário

internacional.

E por final, é importante destacar

que esse é um evento extremamente

democrático, onde até mesmo a

escolha do logo do evento foi aberta

ao público.

O site oficial é:

www.agilebrazil.com/2010/

COMMUNITY JOURNAL

Martin Fowler

Q ue numa en t r e v i s t a concedida a Danilo Sato (http://www.dtsato.com/blog/), afirmou que: “Estou empolgado em visitar o Brasil. Esta será minha primeira vez na América do Sul e tanto eu, quanto minha esposa estamos ansiosos há tempos por essa visita”.

Nessa Edição:

# Agile Brazil 2010# Experiência Sicoob Brasil

# Testes Unitários# Por que usar “story points”?

# Coaching para Auto-Organizacão

# Essência Ágil# Notícias

# 1

Foto

: Pr

agda

ve/F

lickr

Março 201O

[2]

Junior, fale um pouco sobre o que é o Sicoob Brasil e como a área de TI atua na companhia?

O S i c o o b B r a s i l é a

C o n f e d e r a ç ã o N a c i o n a l d a s

Cooperativas de Crédito, com sede

em Bras í l i a , é uma empresa

prestadora de serviços, que além de

outras atribuições como órgão

normativo e padronizador da Rede

Sicoob, faz o outsourcing completo

de TI para o Bancoob e também das

cooperativas de crédito filiadas à

Rede Sicoob. Fornecemos desde o

desenvolvimento de um sistema de

automação bancária completo ,

como também a ope ração e

produção deste sistema além da

disponibilização e manutenção do

datacenter. A Rede Sicoob conta

atualmente com mais de 1.700

pontos de atendimento, abrangendo

21 unidades da federação, e as

cooperat ivas operam com os

principais produtos do mercado

bancário (depósito à vista, a prazo,

operações de crédito, convênios de

arrecadação, cobrança, dentre

outros), inclusive por meio de canais

automatizados como Internet/Office

Banking, auto-atendimento, etc..

Conte-nos um pouco sobre o que motivou a TI do Sicoob Brasil a apostar num caminho baseado em metodologias ágeis para os seus processos internos de desenvolvimento de software?

I n i c i a l m e n t e h o u v e u m a

conjunção de interesses, tínhamos 5

gerências de sistemas trabalhando

de forma despadronizada, cada uma

usando seu método e produzindo os

seus artefatos. Além disso, os

p r ó p r i o s p ro fi s s i o n a i s d a T I

manifestavam o interesse de ter uma

metodologia única. Havia portanto, a

necessidade de padronizarmos de

u m a M D S ( M e t o d o l o g i a d e

Desenvolvimento de Software) na

organização. Foi quando resolvemos

contratar uma consultoria para nos

apresentar este novo framework/

método, até então pouco conhecido

por nós. Toda a área de TI ficou

b a s t a n t e e m p o l g a d a c o m a

abordagem proposta e, para nossa

surpresa, os gestores de negócios

gostaram bastante da proposta deste

modelo. Buscávamos um modelo

que conciliasse agilidade na entrega

das soluções de TI, mas não

deixando de lado a documentação

dos pro jetos (como uma das

premissas , foi colocado que

tínhamos que ter a documentação

necessária aos projetos e que,

em contrapartida, de nada adiantava

termos dezenas de artefatos para os

projetos e as soluções de TI não

entregues).

Qual foi a estratégia de condução que o Sicoob Brasil usou para iniciar a adoção de metodologias ágeis?

Aproveitamos a oportunidade e

por intermédio de uma de nossas

empresas parceiras, passamos a

contar com um profissional com

amplo conhecimento no assunto,

compondo nosso time. Inicialmente

criamos uma grupo de trabalho,

chamado GT-MDS, composto por

Anal istas das 5 gerências de

sistemas e também da nossa área de

qualidade. Esse time foi responsável

por estudar as principais práticas

comuns às diversas gerências e as

metodologias existentes de mercado

(modelo convencional e ágil) e

propuseram a revisão de nossa MDS.

Esse modelo passou a ser aplicado

e m p r o j e t o s p i l o t o s p a r a

posteriormente ser institucionalizada

formalmente na organização.

EXPERIÊNCIAEntrevista com o Antônio Cândido Vilaça Junior – Superintendente de Sistemas de Informação do Sicoob Brasil, sobre a visão estratégica da organização acerca das metodologias ágeisPor Manoel Pimentel

Antônio Vilaça JuniorSuperintendente

Sicoob Brasil

Maiores informações: www.sicoob.com.br

[Visão Ágil - Community Journal - 01]

[3]

De que forma têm sido o seu envolvimento como superintendente nesse processo de adoção?

A S u p e r i n t e n d ê n c i a t e m

patrocinado todo este processo de

mudança cultural na organização de

T I e v e m a c o m p a n h a n d o o s

resultados dos projetos. Em alguns

casos temos viabilizado a montagem

de equipes multi-disciplinares, com

profissionais de todas as gerências

de desenvolvimento, para trabalhar

em alguns projetos estratégicos,

buscando a d isseminação do

conhecimento entre as equipes e

agilidade na entrega dos projetos.

Como você avalia a complexidade financeira/bancária do ambiente de TI do Sicoob Brasil com a aderência a metodologias como o Scrum? Ou seja, na sua visão estratégica é possível conciliar processos enxutos, flexibilidade e colaboração, com o que os órgãos reguladores norteiam para as instituições bancárias/financeiras brasileiras?

R e a l m e n t e n ã o é f á c i l

desenvolver soluções de TI em

instituições financeiras. Os bancos

são demandadores vorazes de

tecnologia e além disso, os órgãos

regu ladores a todo momento

estabelecem demandas de caráter

legal que, em nosso caso são

tratadas com prioridade máxima. São

mui tos assuntos que acabam

concorrendo. De qualquer forma,

acredito ser sim possível conciliar

u m a M D S ( M e t o d o l o g i a d e

Desenvolvimento de Software) enxuta

nesse ambiente complexo e até por

isso, buscamos esse modelo

d i f e r e n c i a d o o n d e t e m o s

experimentado, até o momento, uma

vivência positiva.

Quais os resultados práticos que você como parte da alta direção da companhia já consegue observar?

Não dá para dizer que usamos

todos os preceitos das metodologias

ágeis. Compilamos o que já tínhamos

de positivo e similar aplicados nas

gerências e mesclamos com os

conceitos ágeis. Vejo por exemplo

que passamos a ter um envolvimento

e maior comprometimento dos

gestores de negócios, que se

aproximaram mais da TI e se

sentiram parte do sucesso/fracasso

dos p ro je tos . Ou t ra ques tão

interessante trata-se das reuniões

diárias, onde o t ime expõe o

andamento das diversas tarefas e

acabam compartilhando os assuntos,

disseminando conhecimento na

e q u i p e . O s q u a d r o s d e

acompanhamento, espalhados por

toda a TI possibilitam uma visão

rápida dos status dos projetos. Para

mim o ponto principal diz respeito

aos Sprints onde a equipe define

suas metas internas e principalmente

focando em entregáveis que geram

valor para o negócio. Esse ponto é

essencial pois podemos colocar

parte da solução em produção, sem

ter que aguardar o término completo

d o p r o j e t o , s e n d o q u e a s

funcionalidades entregues já podem

ser utilizadas pelo gestor, muitas

vezes, já permitindo a realização de

negócios. Ainda estamos no começo

da implantação deste novo modelo

de trabalho, mas pelos projetos

concluídos e vendo a empolgação da

equipe de TI, não temos dúvidas que

lograremos sucesso.

QUAL A A ESSÊNCIA ÁGIL?

O Maré de Agilidade é um evento

da comunidade para a

comunidade. Ele já foi organizado

em Brasília(DF), Salvador(BA),

Fortaleza(CE) e Belém(PA). Entre

em contato para saber como levá

−lo para sua cidade! Estamos

amplamente dispostos a ajudar,

Basta vontade de fazer!

www.maredeagilidade.com

[Visão Ágil - Community Journal - 01]

[4]

Neste artigo vamos falar um pouco sobre como fazer testes unitários mais expressivos, utilizando a combinação de dois frameworks bastante conhecidos: JUnit 4 e Hamcrest.

O JUnit é um framework uti l izado na automação testes unitários, ele fornece mecanismos padrões para ver ificações ou assertivas de saída de programa, que são: assertTrue, assertFalse, a s s e r t E q u a l s , a s s e r t N u l l , assertNotNull...

Já o Hamcrest é uma biblioteca projetada para trabalhar com ocorrências em objetos, permitindo a definição de regras declarativamente. O Hamcrest foi feito para ser utilizado por outros frameworks, podemos citar o JMock como seu grande utilizador.

Com a combinação JUnit + Hamcrest temos um poderosa ferramenta para construção de testes unitários, com esta combinação podemos aumentar a semântica dos testes e expressando melhor as i n t e n ç õ e s d o p r o g r a m a d o r. Hamcrest também permite a criação de assertivas customizadas de acordo com a necessidade do teste, encapsulando lógicas através do uso de açúcar sintático.

Açúcar sintático é uma c a m a d a o u a b s t r a ç ã o d e d e t e r m i n a d a s l ó g i c a s d e programação para facilitar a leitura, o entendimento e a escrita do código fonte. Também pode ser vista como uma excelente técnica de refatoração (What is refactoring?) de código.

Veja os exemplos a abaixo:

ENGENHARIA

Testes Unitários com: JUnit 4 + Hamcrestpor Renato do Amaral Guimarães

assertThat, is: Oferece um açúcar sintático (similar ao assertEquals).

import static org.hamcrest.MatcherAssert.assertThat;import static org.hamcrest.Matchers.is;... @Test public void testAssertThatIs() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); String primeiroNome = nomes.iterator().next(); assertThat(primeiroNome, is(String.class)); assertThat(primeiroNome, is("JUnit")); }

assertThat, is, not: Oferece um açúcar sintático, idêntico ao exemplo anterior porém negando a condição.

import static org.hamcrest.MatcherAssert.assertThat;import static org.hamcrest.Matchers.is;import static org.hamcrest.Matchers.not;... @Test public void testAssertThatIsNot() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); String primeiroNome = nomes.iterator().next(); assertThat(primeiroNome, is(not("Hamcrest"))); }

[Visão Ágil - Community Journal - 01]

[5]

assertThat, equalTo: Verifica a igualdade objeto usando Object.equals.

import static org.hamcrest.MatcherAssert.assertThat;import static org.hamcrest.Matchers.equalTo;... @Test public void testAssertThatEqualTo() { assertThat(10, equalTo(Integer.valueOf(10))); }

assertThat, containsString: Verifica se existe ocorrência da String

import static org.hamcrest.MatcherAssert.assertThat;import static org.junit.matchers.StringContains.containsString;... @Test public void testAssertThatContainsString() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); String primeiroNome = nomes.iterator().next(); assertThat(primeiroNome, containsString("Uni")); }

assertThat, everyItem, containsString: Verifica se existe ocorrência da String em todos os itens da lista.

import static org.hamcrest.MatcherAssert.assertThat;import static org.junit.matchers.JUnitMatchers.everyItem;import static org.junit.matchers.StringContains.containsString;... @Test public void testAssertThatEveryItemContainsString() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); assertThat(nomes, everyItem(containsString("t"))); }

assertThat, everyItem, not, containsString: Verifica se não existe ocorrência da String em qualquer elemento da lista, caso tenha alguma ocorrência o teste falha.

import static org.hamcrest.MatcherAssert.assertThat;import static org.junit.matchers.JUnitMatchers.everyItem;import static org.hamcrest.Matchers.not;import static org.junit.matchers.StringContains.containsString;... @Test public void testAssertThatEveryItemNotContainsString() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); assertThat(nomes, everyItem(not(containsString("bug")))); }

[Visão Ágil - Community Journal - 01]

[6]

Conclusão

Como podemos perceber n o s e x e m p l o s a c i m a , e s s a combinação de JUnit e Hamcrest pode elevar a qualidade de nossos testes tornando-os mais intuitivos e fáceis de ler.

Um dos princípios da XP é que tenhamos como artefatos permanentes somente código e testes, levando isto em conta é fundamental que o teste unitário aja como documentação do software

fornecendo exemplos concretos de como utilizar a unidade testada. Quanto mais semântica tiver o teste unitário mais bem documentado estará o software.

ReferênciasUnit Test: http://c2.com/cgi/wiki?UnitTest

JUnit: http://junit.sourceforge.net/

H a m c r e s t T u t o r i a l : h t t p : / /code.google.com/p/hamcrest/wiki/Tutorial

 

assertThat, both, is, and, is: Verifica se a variável é de um determinado tipo e possui um determinado valor.

import static org.hamcrest.MatcherAssert.assertThat;import static org.junit.matchers.JUnitMatchers.both;import static org.hamcrest.Matchers.is;... @Test public void testAssertThatBothIsAndIs() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); Integer quantidadeNomes = nomes.size(); assertThat(quantidadeNomes, both(is(Integer.class)).and(is(2))); }

assertThat, both, containsString, or, containsString: Verifica o conteúdo da variável possui um valor "ou" outro.

import static org.hamcrest.MatcherAssert.assertThat;import static org.junit.matchers.JUnitMatchers.both;import static org.junit.matchers.StringContains.containsString;... @Test public void testBothContainsStringOrContainsStrin() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); String primeiroNome = nomes.iterator().next(); assertThat(primeiroNome, both(containsString("nit")).or(containsString("cre"))); }

assertThat, hasItems: Verifica se existe determinados itens na lista.

import static org.hamcrest.MatcherAssert.assertThat;import static org.junit.matchers.IsCollectionContaining.hasItems;...@Testpublic void testHasItems() { List<String> nomes = Arrays.asList("JUnit", "Hamcrest"); assertThat(nomes, hasItems("JUnit", "Hamcrest"));}

Renato do Amaral Guimarães

É Consultor de T.I., atuando na área de desenvolvimento e a r q u i t e t u r a d e s o f t w a r e utilizando metodologias ágeis em ambientes corporativos. Também um entusiasta da tecnologia e das metodologias ágeis.

Auto

r:

[Visão Ágil - Community Journal - 01]

[7]

O objetivo deste artigo é motivar o uso de story points. Medir tamanho/esforço e não tempo para avaliar o custo das stories traz diversas vantagens conforme veremos na Seção 1. Veremos também por que alguns métodos ágeis, como o Scrum, preferem o uso de pontos em detrimento a medidas de tempo, como Homem-Dia (HDia) ou Homem-Hora (HH). Vale lembrar que também é possível ser ágil usando medidas de tempo, inclusive. Na Seção 2, d e s c r e v e m o s a l g u m a s desvantagens de se usar pontos. Primeiro, vamos citar os porquês de se estimar. Chris L e i s h m a n , d a e m p r e s a Thoughworks, listou em seu blog [1] os 3 Ps que são a razão para e s t i m a r : ( i ) P r e v i s ã o , ( i i ) Performance e (iii) Priorização. Ou seja, estimamos (i) para poder dizer em quanto tempo somos capazes de fazer um determinado conteúdo (ou, numa visão time-box, o quanto somos capazes de fazer em um período fixo de tempo); (ii) para identificar perdas e ganhos de desempenho baseado na nossa velocity; e (iii) para fornecer ao product owner a informação de custo de implementação para ele decidir a prioridade de execução das stories.

Recentemente, Francisco Trindade publicou um post no Blog Visão Ágil [2] relembrando que tudo o que não é desenvolvimento de software é custo, incluindo o tempo de fazer estimativas. Por isso, fazer estimativas deve ser objetivo e o preciosismo está fora de questão. Acredito que a prática do planning p o k e r, a l i a d a à p o n t u a ç ã o Fibonacci são bem apropriados para o serviço.

1. Vantagens do uso de Story Points

Usualmente, para cada story do backlog deverá ser atribuído um valor da série aproximada de Fibonacci (1,2,3,5,8,13,20,40,100). O significado dos valores é relativo, onde uma story de pontuação 8 demanda aproximadamente quatro vezes mais esforço que uma story de pontuação 2. Essa atribuição deve ser feita pelo time e não por uma ú n i c a p e s s o a ( n o p r o c e s s o tradicional, atribuir custo a um requisito muitas vezes é feito por alguém que nem faz parte da execução do mesmo, o que pode levar a erros grosseiros de previsão). Para começar a pontuar as stories de um product backlog (a nossa lista de requisitos), pega-se a story que o time julga ser a de menor esforço e atribui pontuação 2. As demais s t o r i e s d e v e r ã o s e g u i r u m a pontuação relativa a essa primeira.

Abaixo estão listadas as vantagens do uso de story points:

1.1. Foco em estimativa relativa

Para o ser humano, é muito mais intuitivo fazer estimativas relativas do que absolutas. Por exemplo, não é trivial responder a perguntas como: qual é o peso de um cavalo ou qual é o peso de um elefante? Mas é fácil responder: quem pesa mais, o cavalo ou o elefante? Por isso, pontuar por comparação relativa é mais efetivo do que elucubrar valores absolutos.

1.2. Performances individuais diferentes

Um problema inerente do uso de HDia é que essa medida depende do desempenho de quem está executando o serviço. Os indivíduos diferem em know-how, experiência, competência etc. E, se não sabemos previamente quem executará a tarefa (algo importante nos métodos ágeis) fica difícil de estimar em horas ou dias de trabalho.

1.3. Foco em tamanho/esforço e não em duração

Ao ser perguntado sobre o uso de pontos em uma entrevista, Mike Cohn [3] começa explicando que é natural pensar primeiro em tamanho (do esforço) para depois se calcular tempo. Quando alguém pergunta qual o tempo que se leva de carro do Rio de Janeiro a Foz do Iguaçu, primeiro averiguamos a distância, então verificamos quem está dirigindo, o veículo, qual é a velocidade média prevista, quantas paradas pretende-se fazer etc. Depois de verificar o esforço então podemos prever as horas. Mas na nossa área, as pessoas perguntam e respondem em medida de tempo sem ser criterioso com o esforço. Boris Gloger, instrutor de Scrum que já veio diversas vezes ao Brasil, diz que para evitar a confusão entre esforço e duração, ele passou a não usar mais o termo “estimation” e sim “sizing”[4].

GESTÃO

Por que usar “story points”? - Parte 1Por Rodrigo de Toledo

“tudo o que não é

desenvolvimento de software é

custo”

[Visão Ágil - Community Journal - 01]

[8]

1.4. Usar HDia sempre leva a um fator de ajuste

Quando se usa medida de tempo em HDia ou Homem-Hora (HH) acaba-se por contar com um dia cheio de trabalho o que de fato não acontece. Sempre existem as paradas eventuais: emails, cafezinho, toalete, conversa paralela, notícias. Obrigatoriamente é necessário fazer um ajuste no HDia, um fator pelo qual você deve multiplicar seu HDia real em HDia produtivo. Por exemplo, Kniberg da Crisp [5] concluiu que para o seu time em Estocolmo o fator de ajuste (focus-factor) é de 70%. Porém, descobrir esse tipo de informação pode ser perigoso, mal interpretado por um diretor ou até algo desmotivante para o time. Esse problema é mencionado por Mark Striebeck [10] no seu conhecido

artigo sobre a implantação do Scrum na Google.

1.5. Com HDia a aceleração da equipe pode ficar mascaradaObserve que à medida que o seu time vai ganhando experiência no projeto, tarefas de esforço similares t e n d e m a d i m i n u i r o t e m p o necessário para a execução. Se você estiver usando story-points, isso será percebido com um aumento de produtividade do time (mais pontos por sprint). No entanto, caso a opção seja usar HDia para classificar as stories, o resultado é uma diminuição na estimativa em horas de novas tarefas e o ganho de produtividade não ficará explícito (ruim para a auto-estima e valorização do time).

Rodrigo de Toledo

É graduado e mestre pela PUC-Rio e PhD pelo INRIA na França.N a á re a a c a d ê m i c a , t e m diversos artigos internacionais em computação gráfica e lecionou por alguns anos na PUC-Rio. Rodrigo trabalhou por dez anos no Tecgraf onde desempenhou por um ano o papel de Scrum Master.Atualmente é engenheiro de software na Petrobras onde atua também como Product Owner, além de se dedicar à divulgação dos métodos ágeis.

Auto

r:

O processo de Coaching atua na complexa relação caminho/meta, de maneira a ajudar um indivíduo ou time a percorrer o seu caminho e, principalmente, a remover seus próprios obstáculos, a fim de alcançar determinada meta.

O Coaching é composto por dois papéis. O primeiro é o Coachee que é o indivíduo que é responsável por uma determinada meta e o outro papel é o Coach, que é o profissional que fornece o processo de Coaching para ajudar um Coachee a se desenvolver e a chegar nos seus próprios resultados.

Coaching e Agile possuem muita sinergia. Isso é possível pois Agi le possui como al icerce a existência de equipes de alta performance através da Auto-Organização.

E n t e n d e - s e q u e a u t o -organização acontece quando um indivíduo ou equipe possui o espaço necessário para criar e desenvolver (dentro de sua capacidade e ritmo) seus próprios meios para atingir uma meta.

Desenvolver esse senso de auto-organização nos indivíduos não é fácil. Sendo assim, um dos melhores caminhos para levar uma equipe a desenvolver atitudes auto organizadas é através da geração de responsabilidade plena no time sobre um determinado assunto.

Isso também é um exemplo claro de que no processo de Coaching, o Coach deve estimular o C o a c h e e a d e s e n v o l v e r a consciência suficiente sobre:

• quais os motivos estão por trás do uso de determinada caminho ;

• q u a i s o s r e s u l t a d o s esperados com sua adoção e;

• como que adota r esse caminho, vai ajudá-lo a chegar em sua meta.

Auto-organização têm tudo a ver com processo de Coaching pois, para que a mesma funcione, é preciso que a equipe tenha a disciplina necessária para se manter no caminho rumo a uma meta.

Para finalizar, é importante entender que disciplina, nesse contexto de Coaching, nada mais é do que a habilidade de um indivíduo (no caso o Coachee) em ter o foco necessár io e , pr inc ipa lmente, conseguir identificar, potencializar e manter os comportamentos que agregam mais valor à sua meta.

LIDERANÇACoaching para Auto-Organização e Disciplinapor Manoel Pimentel Agile Coach e Diretor Editorial da Visão Ágil

[Visão Ágil - Community Journal - 01]

[9]

GUMA-RS Requirements DOJO! 13 de Março de 2010 na PUC-RS!Se você é um agilista, imagino que você já saiba o que é

um Coding Dojo: uma reunião de desenvolvedores de

software cujo objetivo é desenvolver novas

competências pela prática disciplinada e

colaborativa de resolução de problemas de

programação. Se você já entendeu o que é um

Coding Dojo, talvez você já tenha em mente o

que pode será um Requirements Dojo: uma reunião

de Product Owners e profissionais em geral cujo objetivo

é desenvolver novas competências pela prática

disciplinada e colaborativa de resolução de problemas

de captação e análise de requisitos de software. Nele,

iremos praticar, ainda de forma inédita na

comunidade internacional de desenvolvimento

de software, diferentes níveis de abstração

em relação a requisitos de negócio, usuário

e software.

Quando?

13 de março de 2010, das 09h30min as 12h

Mais informações em:

www.guma-rs.org

PodcastsA BlueSoft há algum tempo vem presenteando a comunidade brasileira de agilistas, com um série de excelentes vídeos sobre Agile.

Vale muito a pena conferir em:

bluesoft.wordpress.com

CURTAS SBQS CARREIRA SBSI USABILIDADE

IX Simpósio Brasileiro de Qualidade de Software - SBQS De 07 a 11 de Junho - www.ufpa.br/sbqs2010/

Academia do AgileA primeira formação completa em Agile.

www.globalcode.com.br

Simpósio Brasileiro de Sistemas de Informação - 16 a 18 de Junho de 2010 - www.sbsi2010.com.br

Programa de Capacitação: Avaliação de Usabilidade12 a 13 de Maio-www.oncast.com.br/blog/?p=711

GUMA - Grupo de Usuários

de Metodologias Ágeis do RS/Brasil

RÁPIDAS[Visão Ágil - Community Journal - 01]

[10]

Conversamos com alguns profissionais de referência em nossa comunidade ágil, sobre qual a essência da agilidade na opinião de cada um deles. O resultado (que pode ser visto abaixo) foi um rico e inspirador texto sobre o que realmente é o movimento ágil e como o mercado pode se beneficiar disso.

Para Felipe Rodrigues - Engenheiro de Software da Fratech (SP), a essência ágil é:

“Estabe lece r um amb ien te

propício para o cultivo de confiança entre os envolvidos no projeto, de forma que uns confiem nos outros,

permitindo um ambiente mais flexível e menos burocrático e focado para a execução das tarefas que compões o projeto.

” Já para Samuel Crescêncio - CEO da OnCast Technologies (SC), a essência ágil é:

“ Penso que a real essência

de ser ágil está em como nos relacionamos com o nosso próximo. Ao longo dos anos, a p re n d i q u e e n t e n d e r o s princípios que sustentam as práticas, dominar as ferramentas

d e g e s t ã o , c o n h e c e r profundamente e aplicar as técnicas de engenharia são itens que estão entre os essenciais no desenvolvimento á g i l . En t re t an to , obs e r vo que ao ap l i ca r o

desenvolvimento ágil, muitas empresas pecam por não equilibrar corretamente as forças entre princípios, cultura, gestão e engenharia. Certamente, entender as necessidades em cada uma destas áreas é muito difícil e isto só pode ser alcançado com uma comunicação fluida entre os diversos setores da empresa. Comunicação fluida, todavia, não dignifica memorandos, e-mails, gráficos ou qualquer coisa do gênero. Comunicação fluida é a conversa franca e direta, de modo que possa criar relacionamentos fortes. Ainda, a predisposição de ambos os lados para entender os motivos alheios e a colaborar mutuamente em busca de um único objetivo é imprescindiível para se obter o sucesso. Portanto, concluo que não há como atingir o sucesso no desenvolvimento ágil de software sem construamos relacionamentos empáticos e verdadeiros, sendo esta, em minha opinião, a pura essência do desenvolvimento ágil.

” Renato Willi - Coordenação Colaborativa da SEA Tecnologia (DF), também compartilha seu pensamento sobre a essência ágil:

“ A essência do Agile pra mim está

em seus valores: na colaboração, c o m u n i c a ç ã o , a p r e n d i z a d o , aperfeiçoamento contínuo e respeito. É difícil resumir. Trata-se de uma nova forma de encarar o trabalho, talvez uma

" fi l o s o fi a " m a i s a d e q u a d a a o s trabalhadores do conhecimento, em contraposição à filosofia da era industrial.

OPINIÃO

A Essência Ágil

[Visão Ágil - Community Journal - 01]

[11]

E Luiz Cláudio Parzianello Agile Coach and Trainer da da Surya Gestão Digital (RS), acrescenta que:

“Muitos acreditam que o

Manifesto Ágil não passa de uma piada, enquanto outros acreditam que  ele marca  o início de uma m u d a n ç a n a h i s t ó r i a d o desenvolvimento de software. Alguns acreditam  que  tudo

isso é um mero modismo, enquanto out ros conqu is tam cont inuamente  melhor ias substanciais  na  qualidade e produtividade de suas equipes de desenvolvimento. Muitos acreditam que agilidade é assunto para pequenos, enquanto poucos já demonstraram que milhares de pessoas trabalhando de forma colaborativa e distribuída é coisa de gente grande. Pois bem, pude perceber ao longo dos últimos 10 anos, assessorando  empresas  e capacitando profissionais  em projetos de implantação de Metodologias Ágeis, que a  agilidade não está associada somente  a uma nova cultura de crenças e valores, mas principalmente a uma

nova busca de descobertas e iluminação. Iluminação no sentido de enxergar de vez que o desenvolvimento de software é um problema de logística  que deve ser sustentado por  uma forte cultura de comunicação e colaboração entre todas as partes interessadas num produto ou projeto de software. Logística no sentido de desenvolver competências para a  entrega rápida  de pequenos i nc remen tos de so f twa re de a l t a qualidade,  mantendo sempre  um  ritmo constante sustentáve l . Comunicação e co laboração no sentido  de  compreender  como a menor quantidade de software irá aumentar a vantagem competitiva de nossos clientes (fazer cada vez mais com cada vez menos). Se você promover de forma honesta a melhoria contínua de pessoas, ferramentas e métodos, você com certeza encontrará o pensamento Ágil e descobrirá que esse é o único caminho para o sucesso e a satisfação de sua equipe de desenvolvimento.

Olá amigo Agilista!

Essa foi a primeira edição do Visão Ágil Community Journal. Que têm como principal o b j e t i v o t r a z e r um novo f o rma t o d e disponibilização de notícias e conhecimentos para nossa comunidade de agilistas. Com esse novo formato, nossos leitores terão um conteúdo mais direto, mais simples e mais ágil (com entregas constantes).

Um cordial abraço:

Manoel Pimentel - Diretor Editorialcontato: [email protected]

Conselho Editorial:- Felipe Rodrigues de Almeida- Renato Willi

SIGA-NOS:

/visaoagil

Editorial:LEIA NOSSAS REVISTAS:

www.visaoagil.com

[Visão Ágil - Community Journal - 01]