Agile Brazil 2010

Post on 16-May-2015

1.609 views 0 download

description

Lesssons learned in the Agile Brazil 2010 Coference

Transcript of Agile Brazil 2010

Highlights do

André FariaBruno LuiLuiz Faias Jr.

Coaching para Liderança de Equipes Ágeispor Manoel Pimentel

Ação“A essência do coach é promover a ação do coachee e ajudá-lo a descobrir suas competências.”

Ajudar a Aprenderao invés de ensinar

Qual é a sua meta??

O que Motiva?? Dinheiro?

Reconhecimento?

Forças contrárias??Forças favoráveis?

Limitantes? ?Crenças?

O que é importante para

você na sua vida?

?A sua meta tem relação

com isso?

Qual é a sua missão?

?Sua meta te conecta a

sua missão?

O coachee descobre seu

caminho e toma

responsabilidade por ele

Coaching não é

TreinamentoTerapia

Mentoring

Consultoria

CoachingFoco no Futuro

FacilitaçãoLúdico

Cognitivo

Aprendizado

Descobrir novos caminhos

Coaching de Guerrilhapor Francisco Trindade

Como influenciar

uma equipe ?•Sem autoridade•De dentro da equipe

•Você não é considerado um coach

Conquiste o Respeito

Quem é o Líder

?

Coaching Agility with David Hussman

Keep the band together“If your separate them you don’t get 4 great bands”

More code doesn’t mean more value

Success over Tags, Names, Titles...

Working in Pairs

Há muito o que ensinar

BurndownBacklogs

Cross Function Teams

Reviews Daily Meetings

TDDKanban

Iteration Zero

Kaizen

Refactoring

User StoriesAcceptance Tests

Personas

Value StreamRelease Planning

Iterations

Burn ChartsContinuous Integration

Continuous Deployment

Evolutionary Design

DDD

CharteringSustainable Palce

Change

Coaching Goals

Tangible

Testable

Trackable

Listen and Ask

First Why then How

PersonasName

Description Values

You are You will

You haveYou want

TheOneI’ve

Created

Socrates

Description Values

A person who teaches

bu askning the right

questions helping others

to discover their paths

and make the best

choice for themselves.

PatienceHumilityWisdomRespectMasteryEvolution

User Story Mappingtime

activity

task

sub-tasks or task details

http://www.agileproductdesign.com/presentations/user_story_mapping/index.html

Release Planning Gamepor Philippe Kruchten

The Essence of Agileby Martin Fowler

Semantic Diffusion

Requirements Instability

Evolve the Process

“In software development perfect

is a verb not an adjective.”Kent Beck

The Value of Software Designby Martin Fowler

Is it really true?

“We need to put less effort on

quality so we can build more

features for our next realease”

Software Quality

Pleasent user interface

(external) Few defects (external)good modular design (invisible for the users)

(internal)

Internal Quality Value

“As time pass add new features get

harder and harder

Thats when having a clean code,

refactored and tested has its value”

Technical Debt

We don’t have time for design

We must ship now and deal

with consequences

Now we know how we

should have done it

(mistakes) - happens even

with good teams.

We don’t have time for design

What’s layering?

Reckless Prudent

Deliberated

Inadvertent

Continuous Integration and Deploymentby Martin Fowler

If it’s painfulThen do it more often

If it’s painfulThen do it more often

Everybody should integrate

at least once a day

If it’s painfulThen do it more often

Everybody should integrate

at least once a dayWhitout CI people are

reluctant to refactoring

It’s only when software is in

production that it provides benefits.

It’s only when software is in

production that it provides benefits.

Working over night and on weekends?

It’s only when software is in

production that it provides benefits.

Same story... if it’s painful...

Working over night and on weekends?

It’s only when software is in

production that it provides benefits.

Same story... if it’s painful...

Working over night and on weekends?

Build a pipeline and keep the last

binaries in an artifact repository

“We get a clean enviroment and

then we configure it automatically,

Next we deploy automatically, Run

the smoke tests to make sure that

the enviroment is ok, then run the

acceptance tests automatically.

Every step runs automatically”.

Learning and Coolness - Beyound XP by Klaus Wuestefeld

O erro nas estimativas não importa!

Cleaners

Agility in Contextby Philippe Kruchten

Are you agile?

Culture

“Culture is a fuzzy set of attitudes, beliefs,

behavioural norms, and basic assumptions and

values that are shared by a group of people,

and that influence each member's behaviour

and his/her interpretations of the "meaning" of

other people's behaviour.”(Spencer-Oatey, 2000, p.4) 

Culture

Value

BehaviorBeliefs

MemePlex

A Pattern•experience a couple of sucessful with a practivce

•describe it

•simplify it (slogan, cute name)

•pass it on, write a book, pass it on

•without the original context where it was successfull

This lack of contextualition leads to adaptation

Agile ReligionMy agile is better than your agile

Agile ReligionMy agile is better than your agile

Agile ReligionMy agile is better than your agile

Agility does not come in a can.

Different methods for

different issues

XP (práticas)Scrum (gestão)Lean (princípios)

Context, Context, Context

•business domain

•number of instances (one, sass, a dozen, millions)

•maturity of organization (small startup,...)

•level of innovation

•new product, old classic, just better, faster, larger

•culture •communication, trust, shared mental models, education

What is agility?

“The ability of an organization to

react and adapt to changes in its

environment faster than the rate

of the changes.”

Introdução a Programação Extremapor Dairton Bassi, Giovani Bassi, Daniel Widlt, Bruno Pedroso, Hugo Corbucci eRenato Willi

Comunicação

Simplicidade

Feedback

Respeito

Coragem

Kanban: Em Busca de um Ritmo Sustentávelpor Alisson Vale

- A quantidade do WIP está diretamente

relacionada a Lead Time.

- Controlar WIP reduz “Lead Time” médio.

- Quanto mais tarefas está fazendo mais

retrabalho e defeitos podem aparecer.

Core concepts of Kanban:

- Make work visible

- Limit work in progress

- Help work to flow

“Stop starting, start finishing”.

Erros Comuns de TDDpor Maurício Aniche

- Esquecer de ver o teste falhar- Esquecer de refatorar- Refatorar outro trecho de código enquanto trabalha em um teste- Não começar pelo teste mais simples possível (para ganhar confiança)- Rodar apenas o teste coerente (Deve rodar toda a suite)- Escrever testes complexos- Não implementar o código mais simples que faça o teste passar.- Nomes não claros para os testes- Não refatorar o código de testes.

Refatoração de Testespor Eduardo Guerra

“Alterar o código sem alterar o comportamento visando deixá-lo limpo.”

Elementos do teste:- Alvo do teste: Instância que está sendo utilizada- Ação: Qualquer manipulação do código de teste de um ou mais alvos- Asserção: Comparação do comportamento

Imageshttp://www.flickr.com/photos/tracy_olson/

http://www.flickr.com/photos/heliomedeiros/http://www.flickr.com/photos/royskeane/

http://www.flickr.com/photos/strict/http://www.flickr.com/photos/wallyg/

http://www.flickr.com/photos/claudio_ar/http://www.flickr.com/photos/fatboyke/

http://www.flickr.com/photos/hamed/http://www.flickr.com/photos/aheram/

http://www.flickr.com/photos/johnmueller/http://www.flickr.com/photos/coyote-agile/

http://www.flickr.com/photos/roadsidepictures/http://www.flickr.com/photos/marquette/

http://www.flickr.com/photos/shelleygibb/http://www.flickr.com/photos/rwoan/

http://www.flickr.com/photos/sanfora/http://www.flickr.com/photos/joshfassbind/

http://www.flickr.com/photos/filicudi/http://www.flickr.com/photos/tsmyther/

http://www.flickr.com/photos/rogersmith/http://www.flickr.com/photos/joshfassbind/

http://www.flickr.com/photos/sveinhal/http://www.flickr.com/photos/dg_pics

http://www.flickr.com/photos/toptechwriter/