melhores práticas para escola regional de engenharia de ...melhores práticas para desenvolvimento...

46
Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia de Software 2020 12/11/2020

Upload: others

Post on 18-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Melhores Práticas para Desenvolvimento Remoto de Software

Marco Tulio Valente

ASERG, DCC, UFMG

Escola Regional de Engenharia de Software 2020

12/11/2020

Page 2: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Hipótese 1: Pandemia vai acabar!

2

Page 3: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Hipótese 2:

Legado da pandemia será um aumento expressivo de trabalho remoto

3

Page 4: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Algumas evidências

4

Page 5: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

5

Page 6: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

6

Page 7: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

7

Page 8: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

8

Page 9: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

O que não está no contexto da palestra

9

Page 10: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Não vamos falar de trabalho remoto na pandemia

● Ansiedade● Incerteza● Medo● Crianças em casa● etc

10

Page 11: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Não vamos tratar das vantagens de TR

● Mais tempo com família

● Menos tempo no trânsito

● Menos interrupções

● etc

11

Page 12: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Não vamos tratar das desvantagens de TR

● Falta de contato social

● Falta de motivação

● Fadiga de reuniões virtuais

● etc

12

Trabalho remoto não é uma bala de prata

Page 13: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Já que trabalho remoto será mais comum, quais as melhores práticas

que devemos seguir?

13

Page 14: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Trabalho remoto não é novidade!

14

Page 15: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Trabalho remoto - Pré-COVID

● GitLab (~1,300 colaboradores, 65 países)

● Automattic (~900 colaboradores, 68 países)

● Basecamp (~50 colaboradores, 32 cidades)

● Zapier (~250 colaboradores, 28 países)

● DuckDuckGo (100-150 colaboradores)

● Discourse (< 10 colaboradores)

15

Page 16: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Trabalho remoto - Pré-COVID

● GitLab (~1,300 colaboradores, 65 países)

● Automattic (~900 colaboradores, 68 países)

● Basecamp (~50 colaboradores, 32 cidades)

● Zapier (~250 colaboradores, 28 países)

● DuckDuckGo (100-150 colaboradores)

● Discourse (< 10 colaboradores)

16

Excelente oportunidade

para devs brasileiros

Page 17: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

17

TI é uma das indústrias mais "adequadas" para trabalho remoto

Page 18: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Como fazemos software hoje em dia?

18

Page 19: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Fizemos a seguinte pergunta para 415 devs brasileiros

19Fonte: Surveying the Impacts of COVID-19 on the Perceived Productivity of Brazilian Software Developers. SBES 2020

Page 20: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Scrum em 1 slide

20fonte: https://www.scrum.org/resources/scrum-framework-reduce-risk-and-deliver-value-sooner

Page 21: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Scrum em 1 slide

21fonte: https://www.scrum.org/resources/scrum-framework-reduce-risk-and-deliver-value-sooner

Page 22: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Scrum em 1 slide

22fonte: https://www.scrum.org/resources/scrum-framework-reduce-risk-and-deliver-value-sooner

4 hr3 hr

4 hr15 min

Page 23: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Não parece ser tão difícil, pois maior evento dura 4 horas, para sprints de 15 dias

23

Page 24: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Porém, não é tão simples assim….

24

Page 25: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Problema: natureza "síncrona" das comunicações durante um sprint

25

Page 26: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Hoje ...

Product Owner senta junto dos desenvolvedores e "explica" requisitos para eles

PO

Devs

Fonte: @engsoftmoderrna

Page 27: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Hoje (Scrum)

27

PO DevsStakeholders

● Durante sprint, PO explica histórias (requisitos) para devs

● Troca-se documentação formal e escrita por documentação verbal e informal

● Conversas entre PO e Devs

Fonte: @engsoftmoderrna

Page 28: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Mandamento #1 de Trabalho Remoto: minimize comunicação síncrona

28

Page 29: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Não dá para ficar o dia inteiro no Zoom, Slack, WhatsApp, mail, etc.

29

Page 30: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Será que temos que voltar para Waterfall?

30

Linguagem natural (poderia levar anos para ficar pronto)

Stakeholders

Analista de Requisitos

Devs

Fonte: @engsoftmoderrna

Page 31: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Provavelmente não!Basta dar um pequeno passo para trás

31

Page 32: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Processo de desenvolvimento da

BaseCamp

32https://basecamp.com/shapeup

Page 33: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Três Fases

● Shape Up

● Ciclos (~ sprints)

● Cool down

33

Page 34: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Shape Up

● Especificação simplificada de requisitos

● Resultado: pitch (documento simplificado de requisitos)

○ Problema

○ Esboço da solução (sketches)

○ Rabbit holes (soluções para possíveis impasses)

○ No-gos (limitações que serão aceitas)

34

Page 35: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Exemplos de Pitches

35

Page 36: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Exemplo de Pitch

Page 37: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia
Page 38: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Shape Up

● Quem propõe e escreve o pitch?

○ Gerentes sêniores (produto)

○ No caso da Basecamp: 4 pessoas

● Processo de escrita:

○ Assíncrono

○ Reunião final, síncrona, para decidir os pitches do próximo ciclo

38

Page 39: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Ciclos

● Duração: 6 semanas

○ Mais longos que sprints de Scrum

○ Embora possam existir ciclos de duas semanas

● Não existe prorrogação na duração de um ciclo

39

Page 40: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Times

● Tamanho: 2 devs + 1 designer

○ Ainda menores que os times Scrum

● Autonomia:

○ Implementar pitches

○ Definir horários de trabalho, reuniões, daily, etc

40

Page 41: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Como os devs recebem o pitch e como os times são menores, necessidade de coordenação e

comunicação síncrona é também menor

Page 42: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Cool Down

● Duração: 2 semanas

● Tempo para os devs "respirarem"

○ Corrigir bugs

○ Refactorings

○ Estudar um nova tecnologia

○ etc

42

Page 43: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Concluindo

43

Page 44: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Boas práticas para trabalho remoto [dentre outras]

● Trabalho remoto ~ Trabalho assíncrono

● Algumas práticas:

○ Documento simplificado de requisitos

○ Micro-times

○ Período de cool down, entre sprints

44

Page 45: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Obrigado!

Marco Tulio Valente

ASERG, DCC, UFMG

45

Page 46: Melhores Práticas para Escola Regional de Engenharia de ...Melhores Práticas para Desenvolvimento Remoto de Software Marco Tulio Valente ASERG, DCC, UFMG Escola Regional de Engenharia

Foco: Práticas de desenvolvimento de software● Não vamos tratar de recomendações genéricas:

○ Ter um bom espaço de trabalho

○ Ter boa conexão com a Internet

○ Ter bons equipamentos

○ etc

46