Participei do TDC 2012 em GYN, dias 20 e 21 de Outubro, e foi muito divertido.

Estava coordenando com o Rodrigo Kono as trilhas de .NET e Windows 8/Windows Phone. Além disso, entreguei uma palestra de C# 5 e programação assíncrona, e um debate sobre o futuro da plataforma.

Aqui os slides da palestra:

Todas demos tiveram o código publicado no github. Você vê elas aqui.

Participei bastante da trilha de Agile, coordenada pelo Manoel Pimentel. Entreguei uma palestra sobre Democracia Organizacional, e outra sobre Continuous Delivery.

Essas duas foram feitas sem slides, mas usando o VIM para pautar os assuntos.

Foi legal porque tivemos bastante interesse, principalmente na de democracia organizacional, que invadiu o horário do almoço. As de C# 5 com Async e a de CD foram filmadas e devem ser disponibilizadas no InfoQ em breve.

Na noite do primeiro dia ainda fizemos um painel no auditório sobre regulamentação da profissão de TI, CONFEI, etc. A grande maioria pareceu ser contra a ideia de regulamentação e diversas ideias foram apresentadas. Foi um debate interessante.

Aqui o que foi apresentado:

Democracia Organizacional
Pesquisa 1:
Quantos de vocês acreditam em autogestão?

Pesquisa 2:
Quantos de vocês trabalham em uma hierarquia com gerentes?

Pesquisa 3:
Quantos de vocês acham que a empresa ficaria um caos se não 
hovesse nenhum gerente?

Pesquisa 4:
Quantos de vocês acreditam em democracia?

Hierarquia: origens
http://bit.ly/denialofslaveryinmanagement

Gerente != Líder
- Hierarquia baseada em poder != Hierarquia baseada em autoridade
- Hierarquias ágeis

Porque agilidade e autogestão tem que parar 
no time de desenvolvimento?

Dan Pink on motivation: Autonomy, Mastery and Purpose
http://bit.ly/danpinkonmotivation
- Pessoas ficam desmotivadas sem autonomia
- Pessoas desempanham muito mal sem autonomia
- Incentivos financeiros pioram o desempenho em atividade cognitivas
- Como conseguir autonomia com hierarquia baseada em poder
- Ciência, não achismo

Exemplos: Valve, Semco, Morning Star, Lambda3, Way2

Está virando Mainstream:
Harvard Businness Review (HBR):
http://hbr.org/2011/12/first-lets-fire-all-the-managers/ar/1

Fiz também uma sobre Continuous Delivery

Continuous Delivery
Pesquisa: como você publica seu software em produção:

Com relação a tempo:
a) em mais de uma hora
b) em menos de uma hora

Com relação ao processo:
a) cópia de arquivos, setando permissões, migrando scripts de BD
b) linha de comando => done

Continuous Delivery

O que é?

- Fazer releases continuamente (o que é uma release?)
- Não segurar features prontas
- Continuous Delivery x Continuous Deployment
  (C. Delivery não significa colocar em produção sempre
  que uma feature fica pronta)

Porque?

- Ciclo ágil integra time e cliente durante o processo todo, 
  menos no deployment
- Deployment vira uma decisão de negócio

Como?

- Integração contínua
- Teste, teste, teste, teste
- Imensa automatização do processo de publicação em produção
  (e do processo de rollback)
- Ambiente de homologação automatizado
- Branching e merging
- Gestão de configuração

Desafios:

- Deployments manuais
- Deployments mal feitos
- Gestão de configuração medíocre
- Manter o código "production ready" sempre

O feedback foi bem positivo, quem foi parece que gostou, assim como nos outros TDCs em SP e Floripa.

Que venham os próximos!

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.