Engenharia de Software Moderna
Artigos Didáticos - Parte I
Processos & Requisitos
1
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Temas dos artigos
2
Engenharia de Software Moderna
Organizando Times de Desenvolvimento de Software em Squads
Prof. Marco Tulio Valente
https://engsoftmoderna.info/artigos/squads.html
3
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Times Ágeis ou Squads
4
Squads
5
Questões pendentes
6
Nosso foco: squads de desenvolvimento de software. Ou seja, squads de infraestrutura, marketing, vendas, RH estão fora do nosso foco.
Problema #1: Tipos de Squads
7
Tipo principal de squad
8
Exemplo: squads de produto em um sistema de comércio eletrônico
9
Outros tipos de squads (~10%)
10
Clientes são
squads de produto
Como você classificaria esse squad?
Druid is a real-time analytics database designed for fast slice and dice analytics on large datasets
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2022/powering-real-time-data-analytics-with-druid-at-twitter
Como você classificaria esse squad?
The Twitter experimentation tool, Duck Duck Goose (DDG for short), was first created in 2010.
https://blog.twitter.com/engineering/en_us/a/2015/twitter-experimentation-technical-overview
Carga Cognitiva
13
Problema #2: Como escalar esses times?
14
Modelo Spotify (2012)
15
16
Modelo Matricial
17
Tribo
18
Exemplo: tribos de um banco digital
19
Chapter
20
Guildas
21
Fonte: Spotify guilds: how to succeed with knowledge sharing in large-scale agile organizations, IEEE Software, 2019.
Pergunta/Discussão
Por que as empresas valorizam tanto esses modelos de organização de times?
23
Lei de Conway (1968)
24
squad
squad
squad
squad
squad
squad
squad
squad
squad
squad
squad
squad
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
micro
serviço
Exercícios
25
26
Engenharia de Software Moderna
Shape Up: Uma Possível Alternativa a Scrum?
Prof. Marco Tulio Valente
https://engsoftmoderna.info/artigos/shape-up.html
27
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Motivação
28
Processo de desenvolvimento da Basecamp (2019)
29
https://basecamp.com/shapeup
Duas tracks (em paralelo)
30
Track de Shaping
31
Track de Shaping
32
Pitches: Solução de meio termo
33
Observação
34
Estrutura de um Pitch
35
Exemplos de Pitches
36
Exemplo de Pitch
Exemplos de No Go’s
Sistema | No go’s |
Fórum de perguntas e respostas | Não precisa ter “respostas de respostas” |
Call Graph para Java (nodos são métodos; arestas são chamadas de métodos) | Não precisa considerar tipos dinâmicos |
Exemplos de Rabbit Holes
Sistema | Rabbit Hole |
Sistema que precisa ler um arquivo XML de 100 MB | Para isso, usar um parser XYZ |
Shaping (cont.)
41
42
Shaping
Desenvolvimento
Ciclo
Cool
Down
Ciclo
Cool
Down
Ciclo
Cool
Down
pitches
pitches
reunião
reunião
Ciclo
Cool
Down
Ciclo
Cool
Down
Ciclo
Cool
Down
Ciclo
Cool
Down
Ciclo
Cool
Down
Ciclo
Cool
Down
3 times
Track de Desenvolvimento
43
Track de Desenvolvimento: ciclos + cool down
Shaping
Desenvolvimento
Ciclo
Cool
Down
Ciclo
Cool
Down
Ciclo
Cool
Down
pitch
pitch
reunião
reunião
Ciclos
45
Times
46
Basecamp está reduzindo o tamanho de seus times
47
Over the past few years, the number of people who work here has continued to grow, but we've downsized our product teams from three to two. At 37signals, both Basecamp and HEY are built by multiple teams of two using our Shape Up process. No feature takes more than 6 weeks to build, and each feature is assigned a maximum of two people: one designer and one programmer. And in more than a few cases, it may just be one person.
Cool Down
48
Shape Up: Resumo
49
Exercícios
50
1. Qual a diferença entre a fase de shaping e o planejamento do sprint (sprint planning) em Scrum?
2. Qual a principal característica que torna Shape Up um método adequado para times remotos?
3. Pense em um pitch para um problema ou sistema. Descreva brevemente um “no-go” ou um “rabbit hole” (você escolhe) que deveria ser documentado neste pitch.
Engenharia de Software Moderna
O que é – e também o que não é – um MVP?
Prof. Marco Tulio Valente
https://engsoftmoderna.info/artigos/mvp.html
52
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Conceito de MVPs: tremendo sucesso!
53
Lançado em 2011
MVP
54
Contexto de incerteza
55
Alguns Tipos de MVP
56
(1) MVP Landing Page
57
https://buffer.com/resources/idea-to-paying-customers-in-7-weeks-how-we-did-it/
Exemplo
(2) MVP Mágico de Oz
59
(3) MVP Concierge
60
Exemplo de MVP Concierge: Airbnb
61
(4) MVP do tipo “Simple App”
62
MVP “Simple App”
63
Julho 2023
Algumas perguntas sobre MVPs
64
Preciso me preocupar com qualidade de código?
65
Preciso me preocupar com qualidade de código?
66
Quanto tempo leva para construir um 1o MVP?
67
Quanto tempo leva para construir um 1o MVP?
68
Usuários têm que pagar para usar o MVP?
69
Usuários têm que pagar para usar o MVP?
70
MVP é apenas para startups?
71
MVP é apenas para startups?
72
Duas confusões que são comuns
73
74
MVP é um experimento (logo, pode falhar)
75
(2) Definição do termo pivô
76
Pivô
MVP1
MVP2
MVP3
MVP4
pivô
Validação
Market Fit
Produto
MVP1
MVP2
MVP3
pivô
Validação
Market Fit
Desistimos!
Comparação com pivô em basquete
Pivô ≠ restart
80
Tipos comuns de pivôs
81
Zoom-in: Flickr
82
Zoom-in: Slack
83
Segmento de Clientes: Twitch
84
Aplicação para Plataforma: Shopify
85
Tecnologia: Android
86
Exercícios
87
1. Nos seus primeiros dez anos de vida, a Netflix era uma empresa que entregava DVDs fisicamente pelo correio, já tendo nessa época centenas de milhares de assinantes. Então, em 2007, a empresa migrou para o serviço de streaming, tal qual usamos hoje. Você classificaria essa mudança como um pivô? Sim ou não? Justifique sua resposta.
2. Suponha que você planeja abrir uma empresa para entrega de comida pela Internet, em BH, e pretende, portanto, concorrer com empresas estabelecidas e conhecidas do ramo. A criação de um MVP seria recomendada nesse contexto? Sim ou Não? Justifique sua resposta.
3. Descreva um tipo de domínio (ou aplicação) para o qual é mais difícil e desafiador criar um MVP. Justifique sua resposta.
Engenharia de Software Moderna
Product Discovery: Uma Breve Introdução
Prof. Marco Tulio Valente
https://engsoftmoderna.info/artigos/product-discovery.html
89
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Perguntas não respondidas por Scrum (clássico)?
90
Dois tipos de empresas de software
91
Empresas de projeto
92
Empresas de produto
93
Requisitos vs Hipóteses
Requisitos
95
Hipóteses
96
Product Discovery
97
Product Discovery
98
Comparando com Waterfall e Scrum
99
Problemas evitados com Product Discovery
100
Figura meramente
ilustrativa
Como “plugar” Product Discovery em Scrum e Kanban
Dual Track Scrum
Discovery
Delivery
histórias de usuários
backlog do sprint
tempo
Backlog do
Produto
Negócio
Clientes
sprint
funcionalidades
Ideias, problemas, hipóteses
Upstream
Kanban
Trabalho sendo preparado
Downstream
Kanban
Trabalho em andamento
Backlog
Ideias | Análise | Validação | Backlog |
| | | |
| | | |
| | | |
Backlog | Especifi-cação | Implemen-tação | Revisão |
| | | |
| | | |
| | | |
Quadro do upstream
Quadro do downstream
Recomendações de Leitura
104
Exercícios
105
1. Além de ter sido feita com a mãe do entrevistador, qual o principal problema com a seguinte entrevista? (próxima página)
2. Descreva quatro perguntas mais importantes que o entrevistador deveria ter feito na entrevista anterior.
Son: Mom, mom, I have an idea for a business — can I run it by you?
Mom: Of course, dear.
Son: You like your iPad, right? You use it a lot?
Mom: Yes.
Son: So would you ever buy an app which was like a cookbook for your iPad?
Mom: Hmmm.
Son: And it only costs $40 — that’s cheaper than those hardcovers on your shelf.
Mom: Well...
Son: And you can share recipes with your friends, and there’s an iPhone app which is your shopping list. And videos of that celebrity chef you love.
Mom: Oh, well yes honey, that sounds amazing. And you’re right, $40 is a good deal. Will it have pictures of the recipes?
Son: Yes, definitely. Thanks mom — love you!
Fonte: The Mom Test: How to talk to customers & learn if your business is a good idea
Boas Práticas para Entrevistas (fonte: Deploy Empathy)
108
Boas Práticas para Entrevistas
109
Boas Práticas para Entrevistas
110
Número e duração das entrevistas (fonte: Deploy Empathy)
111
Engenharia de Software Moderna
Design Thinking: Principais Conceitos e Atividades
Prof. Marco Tulio Valente
https://engsoftmoderna.info/artigos/design-thinking.html
112
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Motivação
113
Exemplos de Problemas
114
Design Thinking
115
Principais Atividades
116
Inspiração
117
Inspiração: algumas técnicas
118
Reframing
https://hbr.org/2017/01/are-you-solving-the-right-problems
Reframing
https://hbr.org/2017/01/are-you-solving-the-right-problems
Reframing
https://hbr.org/2017/01/are-you-solving-the-right-problems
Ideação
122
Ideação: Prototipação
123
Exemplo de Protótipo: Cozinhas do McDonalds
124
Fonte: The Founder movie, https://www.youtube.com/watch?v=F-7cjdtrQ9Y
Implementação
125
Comentário Final
126
Design Sprint
https://engsoftmoderna.info/cap3.html#construindo-o-primeiro-mvp
127
Design Sprint
128
2016
Design Sprint
129
https://www.thesprintbook.com/the-design-sprint
Convergir Divergir Convergir
(objetivo) (soluções) (solução)
Engenharia de Software Moderna
Jobs to be Done (JTBD) Aplicado a Produtos de Software
Prof. Marco Tulio Valente
https://engsoftmoderna.info/artigos/jobs-to-be-done.html
130
Licença CC-BY; permite copiar, distribuir, adaptar etc; porém, créditos devem ser dados ao autor dos slides
Jobs to be Done (JTBD)
131
JTBD: Ideia Central
132
Perguntas importantes em JTBD
133
Exemplo: Milk-shakes matinais
134
Exemplo: iPod (2001)
135
job to be done
Resumo Visual
136
137
Problema
Complexo
Não-estruturado
Negócio
Dinâmico
138
Problema
Solução
Design Thinking
139
Problema
Solução
Design Thinking
Inspiração:
Ideação:
Relação entre DT e Discovery
140
141
Problema
Solução
Design Thinking
Discovery
Delivery
Backlog
sprints
sprints
sprints
sprints
…
Relação entre DT e MVPs
142
143
Problema
Design Thinking
Solução
144
Problema
Design Thinking
Solução
MVP
Solução
145
Problema
Design Thinking
Solução
MVP
Solução
Discovery
Relação entre DT e JTBD
146
147
Cliente
(no centro)
solução 1
solução 2
solução 3
solução n
Design Thinking
148
Cliente
(no centro)
Jobs to Be Done
solução
melhora um aspecto concreto da jornada do cliente
Trabalhos que o cliente realiza no seu dia a dia
Exercícios
149
1. Pense em um problema que possa se beneficiar do uso de Design Thinking: