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

Post on 18-Nov-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Melhores Práticas para Desenvolvimento Remoto de Software

Marco Tulio Valente

ASERG, DCC, UFMG

Escola Regional de Engenharia de Software 2020

12/11/2020

Hipótese 1: Pandemia vai acabar!

2

Hipótese 2:

Legado da pandemia será um aumento expressivo de trabalho remoto

3

Algumas evidências

4

5

6

7

8

O que não está no contexto da palestra

9

Não vamos falar de trabalho remoto na pandemia

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

10

Não vamos tratar das vantagens de TR

● Mais tempo com família

● Menos tempo no trânsito

● Menos interrupções

● etc

11

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

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

que devemos seguir?

13

Trabalho remoto não é novidade!

14

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

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

17

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

Como fazemos software hoje em dia?

18

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

Scrum em 1 slide

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

Scrum em 1 slide

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

Scrum em 1 slide

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

4 hr3 hr

4 hr15 min

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

23

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

24

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

25

Hoje ...

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

PO

Devs

Fonte: @engsoftmoderrna

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

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

28

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

29

Será que temos que voltar para Waterfall?

30

Linguagem natural (poderia levar anos para ficar pronto)

Stakeholders

Analista de Requisitos

Devs

Fonte: @engsoftmoderrna

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

31

Processo de desenvolvimento da

BaseCamp

32https://basecamp.com/shapeup

Três Fases

● Shape Up

● Ciclos (~ sprints)

● Cool down

33

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

Exemplos de Pitches

35

Exemplo de Pitch

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

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

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

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

Cool Down

● Duração: 2 semanas

● Tempo para os devs "respirarem"

○ Corrigir bugs

○ Refactorings

○ Estudar um nova tecnologia

○ etc

42

Concluindo

43

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

Obrigado!

Marco Tulio Valente

ASERG, DCC, UFMG

45

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

top related