potencializando o
   aprendizado
em um ambiente ágil

        Guilherme Silveira
    http://www.caelum.com.br
potencializando o
   aprendizado
em um ambiente ágil
  lições aprendidas em um time ágil

          Guilherme Silveira
      http://www.caelum.com.br
a idéia
a idéia

agilidade
a idéia

agilidade        aprendizado
MAURICIO ANICHE
        @mauricioaniche
@guilhermecaelum
@guilhermecaelum
@guilhermecaelum
OPEN SOURCE
OPEN SOURCE
OPEN SOURCE
OPEN SOURCE
OPEN SOURCE
CONFERENCE ORGANIZERS
CONFERENCE ORGANIZERS
CONFERENCE ORGANIZERS
CONFERENCE ORGANIZERS
ágil em 2012?
casa ==> caelum
ir de carro
ir de carro


              <== piada
pego o carro...
pego o carro...
pego o carro...
assisto o trânsito
  de camarote
decidi ir de metrô
quem conhece
  são paulo?
quem conhece
     são paulo?
quem conhece o metrô
    em são paulo?
Problema?
Problema?




 vista interna
bom é temporal
bom é contextual
bom é relativo
bom é temporal
bom é contextual
adaptar => aprender =>
adaptar => aprender =>
hoje:
hoje:

    como?
quais práticas?
CAELUM
melhorar
a qualidade do mercado
bom é temporal
bom é contextual
bom é relativo
bom é temporal
bom é contextual
O DIA A DIA
it’s all about innovating
    in order to teach
EXPERIENCE
EXPERIENCE

  LEARN
EXPERIENCE

    LEARN

ADAPT    EVOLVE
EXPERIENCE

    LEARN

ADAPT    EVOLVE
EXPERIENCE

    LEARN

ADAPT    EVOLVE


 AGILE
TEACHING

    LEARN

ADAPT   EVOLVE


 AGILE
LEARNING
ALLOWS ADAPTATION
  AND EVOLUTION,
 THE BASE FOR AGILE
como ensinar
colegas de trabalho?
APRENDER É PARTE DE
 NOSSO TRABALHO
STUDYING AS A TASK
STUDYING AS A TASK

when?
STUDYING AS A TASK

when?
 what?
STUDYING AS A TASK

when?
 what?
   how?
STUDYING AS A TASK

 when?
    what?
          how?
“por vezes a pessoa é guiada, por vezes ela está livre
             para escolher o que fazer”
STUDYING AS A TASK

 when?
    what?
          how?
“por vezes a pessoa é guiada, por vezes ela está livre
             para escolher o que fazer”
            ex: alumni, busão sp, gnarus
MAS É POSSÍVEL APRENDER...
MAS É POSSÍVEL APRENDER...
MAS É POSSÍVEL APRENDER...
MAS É POSSÍVEL APRENDER...


                          O ?
                       M P
                 T E
             O
     D O
   TO
HOW TO
 IMPROVE
LEARNING?
OPEN SPACES
You have no fixed position
There are no partitions/walls
fácil discustir tópicos
fácil discustir tópicos
fácil discustir tópicos
DISCUSSÕES SE TORNAM
BLOG POSTS
A discussion that is interesting to the team,
  will probably be interesting to others.
TODOS
FALAM
TODOS
FALAM
too much noise!
too much noise!
SILENT
THURSDAY
gerencie conhecimento
NÃO
gerencie conhecimento
permita
compartilhar conhecimento
programming
pair
programming
EXPERIENCED
   WITH
   NON-
EXPERIENCED
EXPERIENCED
   WITH
   NON-
EXPERIENCED
EXPERIENCED
   WITH

EXPERIENCED
NON-
EXPERIENCED
   WITH
   NON-
EXPERIENCED
There are no fixed rules.
There are no fixed rules.
No pairing can also be good.
some variations
 did not work
but some closed
pairing groups are formed...
MATRIX
MATRIX
PAIR
PROGRAMMING
   MATRIX
PAIRING IN DIFFERENT
      PROJECTS
anytime, anywhere
anytime, anywhere
at your own
 discretion
anytime, anywhere
       at your own
        discretion
without hindering your current project
Pair programming is not unilateral
        knowledge transfer.
  It’s mutual knowledge sharing.
Sunday Morning

Programming Sunday
get developers
   together
get developers
   together
    discuss
  problems
get developers
   together
    discuss
   problems
  implement
     them
frequência?
algumas coisas
NÃO MUITO FREQUENTE
FOCADO EM
PRODUTIVIDADE
Se juntar para
praticar open source.
dojo
sessions
Self organized.
Not everything lasts forever.
MUITAS DESISTENCIAS
SOMETIMES CONSIDERED
     BORING
KATA FORMAT
Learn many different things.
BROWN BAGS
A R
             U L
          O P
      IS P
    MA
O
Present any topic in any form.
Present any topic in any form.

didactics
Present any topic in any form.

didactics
               live refactoring
Present any topic in any form.

  didactics
                     live refactoring

empirical software
  engineering
Present any topic in any form.

  didactics
                  live refactoring
                   retrospective
empirical software   methods
  engineering
Present any topic in any form.
                lambda calculus
  didactics
                  live refactoring
                   retrospective
empirical software   methods
  engineering
Present any topic in any form.
                lambda calculus
  didactics
                  live refactoring
  py calculus
                   retrospective
empirical software   methods
  engineering
Present any topic in any form.
                lambda calculus
  didactics
                  live refactoring
  py calculus
                   retrospective
empirical software    methods
  engineering      javascript
Present any topic in any form.
          flex   lambda calculus
  didactics
                  live refactoring
  py calculus
                   retrospective
empirical software    methods
  engineering      javascript
Present any topic in any form.
           flex   lambda calculus
   didactics
                   live refactoring
  py calculus scala
                     retrospective
empirical software      methods
   engineering       javascript
Present any topic in any form.
           flex lambda calculus
  didactics intense scala
                   live refactoring
  py calculus scala
                     retrospective
empirical software      methods
   engineering       javascript
Present any topic in any form.
           flex lambda calculus
  didactics intense scala
                   live refactoring
  py calculus scala
                     retrospective
empirical software      methods
   engineering       javascript
        testing methods
Present any topic in any form.
           flex lambda calculus
  didactics intense scala
     code shows live refactoring
  py calculus scala
                    retrospective
empirical software     methods
   engineering      javascript
        testing methods
VERY MOTIVATED
DURING LUNCH
EVERYONE PARTICIPATES
RETROSPECTIVE
Everyone has something to teach.
INTERNAL DISCUSSION LISTS
PESSOAS DE
FORA PODEM
 PARTICIPAR
PAPERS
SÃO MENCIONADOS
INTERESSE DIMINUIU POR
  CAUSA DOS FORUMS


         posts
Asynchronous discussions allow
  research prior to response.
C E
                                UR
                             SO
                         PE N
                     O
                TO
             E N
         LVIM
      VO
   SEN
DE
C E
                                  UR
                               SO
                           PE N
                       O
                  T O
              E N           O
           VIM         LE IR
        O L        S I
      NV        RA
   S E        B
DE
C E
                                  UR
                               SO
                           PE N
                       O
                  T O
              E N           O
           VIM         LE IR
        O L        S I
      NV        RA           AO
    SE        B            N
D E                     U
                   O
se o código é ruim,
     refatora.
se o código é bom...
se o código é bom...
   aprendemos!
TDD e XP através
de open source in 2005.
compartilhar código
compartilhar código
compartilhar conhecimento
DISCUSSÕES INTERNAS
    VIRAM POSTS
DISCUSSÕES INTERNAS
    VIRAM POSTS
IDÉIAS DIFERENTES
  VIRAM POSTS
IDÉIAS DIFERENTES
  VIRAM POSTS
IDÉIAS DIFERENTES
  VIRAM POSTS
IDÉIAS DIFERENTES
  VIRAM POSTS
O BLOG É POPULAR
Blogging exposes ideas and makes
the blogger reflect upon his subject.
CONFERÊNCIAS
CONFERÊNCIAS
 AGILE BRAZIL
    QCON
 SCALA DAYS
   DEVOXX
    WWW
     AGILE
      XP
   JAVAONE
em 2010 patrocinamos todos
  os eventos brasileiros de
desenvolvimento de software
  (que foi dado oportunidade)
share knowledge with new people,
     friends and old students
VIDA
    E
TRABALHO
build relationships
 during and after
    work hours
self organization
 class schedules
TREINAMENTO

  INTERNO
TREINAMENTO
   ONLINE
  INTERNO
DETECTING PATTERNS
  OF REFLECTION
DETECTING PATTERNS
  OF ADAPTATION
DETECTING PATTERNS
   OF LEARNING
DETECTING PATTERNS
   OF LEARNING
DETECTING PATTERNS
   OF LEARNING
DETECTING PATTERNS
   OF LEARNING

              t s
               e s
          n te
         e n
       g e
     a g
        te li
     in
ALL THESE PRACTICES MAY
  NOT WORK FOR YOU
MAS VOCÊ TEM
 QUE TENTAR
resumindo
how to improve
learning in your
   company?
Learning is the base for adaptation.
Teaching is not unilateral
      knowledge transfer.
It’s mutual knowledge sharing.
Sharing code means
 sharing knowledge.
Blogging exposes ideas and makes
the blogger reflect upon his subject.
Everyone has something to teach.
Leave the space open for people
      to share knowledge.
build relationships
 during and after
    work hours
share knowledge with new people,
     friends and old students
Asynchronous discussions allow
  research prior to response.
Sharing code means
 sharing knowledge.
Get together to
practice open source.
resumindo,
resumindo,
   de verdade
bom é temporal
bom é contextual
bom é relativo
bom é temporal
bom é contextual
p: ágil em 2012?
p: ágil em 2012?
p: ágil em 2012?
p: bom em 2012?
potencializar o
 aprendizado
potencializar o
 aprendizado
se adaptando
   (agile?)
não existem
regras fixas
online e offline
homem ou software
escolha suas práticas
OBRIGADO!


                           caelum.com.br
                        caelum.com.br/online



guilherme.silveira@caelum.com.br - @guilhermecaelum
  mauricio.aniche@caelum.com.br - @mauricioaniche

Equipes ágeis em 2012 - Lições aprendidas

Editor's Notes