SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Generalização Prematura
e Complexidade Acidental:
A raiz do mal de todo software
Lucas Teles
Software Engineer @Nubank
@letticianicoli @lucasteles42
Letticia Nicoli
Software Engineer @Nubank
TDC TRANSFORMATION 2021
Generalização Prematura
e Complexidade Acidental:
A raiz do mal de todo software
Palestra Motivacional
Lucas Teles
Software Engineer @Nubank
@letticianicoli @lucasteles42
Letticia Nicoli
Software Engineer @Nubank
Somos ótimos em
gerar complexidade.
No Silver Bullet
Complexidade Essencial
● Totalmente ligada ao domínio/negócio.
● Aquilo que não pode ser evitado,
independentemente da sua
experiência, de quais ferramentas você
utiliza ou qual padrão de arquitetura
novo e chamativo você usou para
resolver o problema.
Complexidade Acidental
● Totalmente ligada às decisões que
tomamos.
● Causada pela abordagem escolhida para
resolver o problema:
○ Todas as buzzwords que você não
precisava mas achou que era
necessário.
○ Técnicas e tecnologias (frameworks,
patterns, ambientes operacionais etc)
Não esqueça!
Complexidade
é custo!
Elemar Jr.
Como identificar
essa complexidade?
Boat Anchor
Cargo Cult
Lasagna Code
Keep It Simple, Stupid
KISS
Keep It Stupid Simple
KISS
"Não é a linguagem que faz os programas parecerem simples.
É o programador que faz a linguagem parecer simples!"
Uncle Bob
● Complicações geram confusão, pense na manutenção e fácil entendimento
no futuro.
● Lembre-se: a funcionalidade pode ser complexa mas o seu código não!
Otimização Prematura
"O verdadeiro problema é que programadores gastam muito tempo se preocupando com
eficiência em lugares e momentos errados; otimização prematura é a raiz de todo o mal
(ou pelo menos a maior parte) na programação."
Donald Knuth
Otimização Prematura
● Você precisa de Event Sourcing?
● Você precisa de Micro-serviços?
● Qual valor CQRS vai te trazer agora?
● Vamos usar Dapper por que é mais rápido?
Otimização Prematura
Moral da história: Medir antes de otimizar
Generalização Prematura
● Remover código duplicado é sempre uma boa ideia?
“O propósito da abstração não é sobre ser vago, mas sobre criar
um novo nível de semântica na qual podemos ser
absolutamente precisos.”
Edsger Dijkstra
● Prefira código duplicado a uma abstração errada!
Generalização Prematura
1. O Lucas vê uma duplicação de código.
Generalização Prematura
2. O Lucas extrai a duplicação e
dá um nome.
Com isso cria uma nova abstração.
Um novo método ou talvez até uma nova classe.
Generalização Prematura
3. O Lucas substitui a duplicação
pela nova abstração.
Ah, o código é perfeito.
O Lucas está feliz.
Generalização Prematura
4. O tempo passa...
Generalização Prematura
5. Um novo requisito aparece para o qual a abstração atual é quase perfeita.
Generalização Prematura
6. Agora a Letticia é encarregada de
implementar esse novo requisito.
Generalização Prematura
7. A Letticia se sente obrigada a manter a abstração existente, é igualzinho, ela
altera o código para receber um parâmetro, e adiciona a lógica para fazer a
coisa de acordo com parâmetro.
O que antes era uma
abstração universal agora
se comporta de maneira
diferente para casos
diferentes.
Generalização Prematura
8. Outra nova exigência chega.
● Chegou outra pessoa no time.
● Outro parâmetro adicional.
● Outra nova condicional.
● Faça um loop até que o código se torne
incompreensível.
Tudo não terás
You Ain't Gonna Need It
YAGNI
YAGNI
● Somos péssimos em prever o futuro!
● Implemente apenas o que você
realmente vai precisar naquele
momento.
● Reflita: Eu tenho 100% de certeza de
que isso é necessário agora?
Mas e se...
E quando..
Vai que..
YAGNI
● Isso não é DDD
Manifesto Ágil
1. Indivíduos e interações mais que processos e ferramentas
2. Software em funcionamento mais que documentação abrangente
3. Colaboração com o cliente mais que negociação de contratos
4. Responder a mudanças mais que seguir um plano
Software funcional com entrega de valor
é a medida primária de progresso.
Simplicidade: a arte de maximizar a quantidade de
trabalho que não precisou ser feito.
Débito Técnico Dívida Técnica
Refatoração
● Um software não é apenas mais um pedaço de código finalizado e
entregue, se trata de uma solução em constante evolução.
Testes
● Antecipação de problemas
● Faz parte do nosso dia a dia de desenvolvimento.
Não julgar, acreditar que fizeram o melhor que podia com tempo que tinham
Premissa
@letticianicoli @lucasteles42

Mais conteúdo relacionado

Mais procurados

Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Trends
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoAchiles Camilo
 
Desenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaDesenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaCarlos Felippe Cardoso
 
Implantando continuous delivery e seus oito principios
Implantando continuous delivery e seus oito principiosImplantando continuous delivery e seus oito principios
Implantando continuous delivery e seus oito principiosCarlos Felippe Cardoso
 
Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?Ariane Izac
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.Letticia Nicoli
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendiVinta Software
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeAndré Paulovich
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
DevOps é cultura, processo ou cargo ?
DevOps é cultura, processo ou cargo ?DevOps é cultura, processo ou cargo ?
DevOps é cultura, processo ou cargo ?Carlos Felippe Cardoso
 
Testando serviços aws localmente com Localstack e JUnit
Testando serviços aws localmente com Localstack e JUnitTestando serviços aws localmente com Localstack e JUnit
Testando serviços aws localmente com Localstack e JUnitRodrigo Vieira
 
Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Wagner Mendes Voltz Fusca
 

Mais procurados (20)

Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Facetas do desenvolvedor agil
Facetas do desenvolvedor agilFacetas do desenvolvedor agil
Facetas do desenvolvedor agil
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 
Desenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaDesenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvida
 
Clean Code
Clean CodeClean Code
Clean Code
 
Implantando continuous delivery e seus oito principios
Implantando continuous delivery e seus oito principiosImplantando continuous delivery e seus oito principios
Implantando continuous delivery e seus oito principios
 
Qa4 women - Porque qualidade também é coisa de mulher! <3
Qa4 women - Porque qualidade também é coisa de mulher! <3Qa4 women - Porque qualidade também é coisa de mulher! <3
Qa4 women - Porque qualidade também é coisa de mulher! <3
 
Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
 
Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
 
Over engineering
Over engineeringOver engineering
Over engineering
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
DevOps é cultura, processo ou cargo ?
DevOps é cultura, processo ou cargo ?DevOps é cultura, processo ou cargo ?
DevOps é cultura, processo ou cargo ?
 
Testando serviços aws localmente com Localstack e JUnit
Testando serviços aws localmente com Localstack e JUnitTestando serviços aws localmente com Localstack e JUnit
Testando serviços aws localmente com Localstack e JUnit
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020
 

Semelhante a Generalização prematura e complexidade acidental, a raiz do mal de todo software

Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Softwareguest2f8cba
 
Fisl 16 - Proteja sua aplicação de você mesmo
Fisl 16 - Proteja sua aplicação de você mesmoFisl 16 - Proteja sua aplicação de você mesmo
Fisl 16 - Proteja sua aplicação de você mesmoGustavo Neves
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareDextra Sistemas / Etec Itu
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumLuca Bastos
 
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Gabriel Rubens
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDJony Ferreira dos Santos
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atechcesarcneto
 
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016Annelise Gripp
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingMorvana Bonin
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKtdc-globalcode
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Softwareguest4b8d24
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De SoftwareMarcos Cardoso
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Euquipe, evoluindo como dev
Euquipe, evoluindo como devEuquipe, evoluindo como dev
Euquipe, evoluindo como devAlan Zanatta
 

Semelhante a Generalização prematura e complexidade acidental, a raiz do mal de todo software (20)

Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Software
 
Fisl 16 - Proteja sua aplicação de você mesmo
Fisl 16 - Proteja sua aplicação de você mesmoFisl 16 - Proteja sua aplicação de você mesmo
Fisl 16 - Proteja sua aplicação de você mesmo
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
 
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme Programming
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
 
Developer 0.0 - Tiago Pascoal
Developer 0.0 - Tiago PascoalDeveloper 0.0 - Tiago Pascoal
Developer 0.0 - Tiago Pascoal
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Euquipe, evoluindo como dev
Euquipe, evoluindo como devEuquipe, evoluindo como dev
Euquipe, evoluindo como dev
 

Mais de Letticia Nicoli

.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?Letticia Nicoli
 
Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NETLetticia Nicoli
 
Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NETLetticia Nicoli
 
Xamarin + App Center + Azure DevOps = 
Xamarin + App Center + Azure DevOps = Xamarin + App Center + Azure DevOps = 
Xamarin + App Center + Azure DevOps = Letticia Nicoli
 
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Letticia Nicoli
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos Letticia Nicoli
 
Visual Studio App Center - Continuous Everything
Visual Studio App Center - Continuous Everything Visual Studio App Center - Continuous Everything
Visual Studio App Center - Continuous Everything Letticia Nicoli
 
Write beautiful code, faster
Write beautiful code, fasterWrite beautiful code, faster
Write beautiful code, fasterLetticia Nicoli
 
Como Mobile DevOps me ajudou no sucesso de desenvolvimento de aplicativos.
Como Mobile DevOps me ajudouno sucesso de desenvolvimento de aplicativos.Como Mobile DevOps me ajudouno sucesso de desenvolvimento de aplicativos.
Como Mobile DevOps me ajudou no sucesso de desenvolvimento de aplicativos.Letticia Nicoli
 
Precisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App CenterPrecisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App CenterLetticia Nicoli
 
Dicas e Truques para aumentar sua produtividade no Visual Studio
Dicas e Truques para aumentar sua produtividade no Visual StudioDicas e Truques para aumentar sua produtividade no Visual Studio
Dicas e Truques para aumentar sua produtividade no Visual StudioLetticia Nicoli
 
DevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge AcceptedDevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge AcceptedLetticia Nicoli
 
Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Desenvolvimento Cross Mobile com Xamarin, por onde começar?Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Desenvolvimento Cross Mobile com Xamarin, por onde começar?Letticia Nicoli
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativosMobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativosLetticia Nicoli
 
Últimas atualizações de produtividade no Visual Studio 2017​
Últimas atualizações de produtividade no Visual Studio 2017​Últimas atualizações de produtividade no Visual Studio 2017​
Últimas atualizações de produtividade no Visual Studio 2017​Letticia Nicoli
 
Xamarin.Forms: Você já ouviu falar?
Xamarin.Forms: Você já ouviu falar?Xamarin.Forms: Você já ouviu falar?
Xamarin.Forms: Você já ouviu falar?Letticia Nicoli
 
DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?Letticia Nicoli
 
[VSSUMMIT] Instrumentação completa com Visual Studio App Center
[VSSUMMIT] Instrumentação completa com Visual Studio App Center[VSSUMMIT] Instrumentação completa com Visual Studio App Center
[VSSUMMIT] Instrumentação completa com Visual Studio App CenterLetticia Nicoli
 
Precisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App CenterPrecisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App CenterLetticia Nicoli
 

Mais de Letticia Nicoli (20)

.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NET
 
O futuro do .NET
O futuro do .NETO futuro do .NET
O futuro do .NET
 
Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NET
 
Xamarin + App Center + Azure DevOps = 
Xamarin + App Center + Azure DevOps = Xamarin + App Center + Azure DevOps = 
Xamarin + App Center + Azure DevOps = 
 
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
 
Visual Studio App Center - Continuous Everything
Visual Studio App Center - Continuous Everything Visual Studio App Center - Continuous Everything
Visual Studio App Center - Continuous Everything
 
Write beautiful code, faster
Write beautiful code, fasterWrite beautiful code, faster
Write beautiful code, faster
 
Como Mobile DevOps me ajudou no sucesso de desenvolvimento de aplicativos.
Como Mobile DevOps me ajudouno sucesso de desenvolvimento de aplicativos.Como Mobile DevOps me ajudouno sucesso de desenvolvimento de aplicativos.
Como Mobile DevOps me ajudou no sucesso de desenvolvimento de aplicativos.
 
Precisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App CenterPrecisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App Center
 
Dicas e Truques para aumentar sua produtividade no Visual Studio
Dicas e Truques para aumentar sua produtividade no Visual StudioDicas e Truques para aumentar sua produtividade no Visual Studio
Dicas e Truques para aumentar sua produtividade no Visual Studio
 
DevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge AcceptedDevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge Accepted
 
Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Desenvolvimento Cross Mobile com Xamarin, por onde começar?Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Desenvolvimento Cross Mobile com Xamarin, por onde começar?
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativosMobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
 
Últimas atualizações de produtividade no Visual Studio 2017​
Últimas atualizações de produtividade no Visual Studio 2017​Últimas atualizações de produtividade no Visual Studio 2017​
Últimas atualizações de produtividade no Visual Studio 2017​
 
Xamarin.Forms: Você já ouviu falar?
Xamarin.Forms: Você já ouviu falar?Xamarin.Forms: Você já ouviu falar?
Xamarin.Forms: Você já ouviu falar?
 
DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?
 
[VSSUMMIT] Instrumentação completa com Visual Studio App Center
[VSSUMMIT] Instrumentação completa com Visual Studio App Center[VSSUMMIT] Instrumentação completa com Visual Studio App Center
[VSSUMMIT] Instrumentação completa com Visual Studio App Center
 
Precisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App CenterPrecisamos falar sobre Visual Studio App Center
Precisamos falar sobre Visual Studio App Center
 

Generalização prematura e complexidade acidental, a raiz do mal de todo software