SlideShare uma empresa Scribd logo
1 de 229
Baixar para ler offline
O Pensamento Ágil
Insanidade é fazer
as coisas sempre
do mesmo jeito e
esperar que o
resultado mude.
Rita Mae Brown
Qualidade
A qualidade de software é uma
área de conhecimento da
engenharia de software que
objetiva garantir a qualidade do
software através da definição e
normatização de processos de
desenvolvimento.
"
Segundo a norma ISO
9000 (versão 2000), a
qualidade é o grau em
que um conjunto de
características
inerentes a um
produto, processo ou
sistema cumpre os
requisitos inicialmente
estipulados para estes.
No desenvolvimento
de software, a
qualidade do
produto está
diretamente
relacionada à
qualidade do
processo de
desenvolvimento
!
• CMMI
• MPS.BR
• ISO 9126
• ISO 15504
• ISO 12207
Modelos de qualidade:
qualidade
de software
=
qualidade do
processo
no mundo tradicional…
Qualidade do Processo
repetitível
controlável
repetitível
controlável
infinitas variáveis
poucas regras
o mundo é complexo
o mundo é caótico
pequenas variações no sistema podem
causar consequências estrondosas
o mundo não é linear
qualidade
de software
= ROI
no mundo moderno…
Our analysis suggests that 20%
of features are used often and
50% of features are hardly ever
or never used.
http://versionone.com/assets/img/files/ChaosManifesto2013.pdf
"
backlog
backlog
backlog
backlog
backlog
escopo
custo
prazo
excelência
escopo
custo
prazo
excelência
fazer
mais
fazer
certo
vs
escopo
custo
prazo
excelência
escopo
custo
prazo
excelência
escopo
custo
prazo
excelência
1
2
3
4
5
backlog
backlog
backlog
backlog
backlog
Lançamento
escopo
custo
prazo
excelência
1
2
3
4
5
backlog
backlog
backlog
backlog
backlog
Lançamento
http://en.wikipedia.org/wiki/Perpetual_beta
Simplicidade
20%
80%
20%
80%
esforço resultados
Menos é Mais
vs
Aprendizado
desenvolvimento
de software
= aprender
aprende-se constrói-se
análise de requisitos
R
√
Q
P D T
R
√
Q
P D T
R
Q
P
D
T
C
(
R
Q
P
D
T
C
Meses !!!
R
Q
P
D
T
C
Meses !!!
!=(
waterfall
The first formal description of the waterfall model is
often cited as a 1970 article by Winston W. Royce,[4]
[5] although Royce did not use the term "waterfall" in
this article. Royce presented this model as an
example of a flawed, non-working model.
http://en.wikipedia.org/wiki/Waterfall_model#cite_note-0
"
http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
I believe in this concept, but the
implementation described above is
risky and invites failure.
"
http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
• Planejamento da Contratação
‣ Análise da Viabilidade da Contratação
‣ Plano de Sustentação
‣ Estratégia da Contratação
‣ Análise de Riscos
‣ Termo de Referência ou Projeto Básico
- objeto
- fundamentação da contratação
- descrição da solução
- requisitos da solução!
- modelo de prestação de serviços
- elementos para gestão do contrato
- estimativa de preços
- adequação orçamentária
- critérios de sanções
- critérios de seleção do fornecedor
• Seleção do Fornecedor
• Gerenciamento do Contrato
IN SLTI MP 04/2010!
IN SLTI MP 02/2012
aprende-se constrói-se
define-se constrói-se
aprende-se contrata-se
valida-se constrói-se
valida-se constrói-se
startups
http://startupbizmodel.com/2013/04/18/sua-startup-esta-preparada-para-receber-investimento/
=
R
Q
P
D
T
R
Q
P
D
T
R
P
D
T
R
P
D
T
2 meses 2 meses 2 meses
R
Q
P
D
T
R
P
D
T
R
P
D
T
2 semanas 2 semanas 2 semanas
Q
R P
DT
Q
R P
DT
C
)
R P
DT
C
)
R P
DT
R P
DT
R
P
D
T
D
D
D
T
T
T
T
T
P
PP
P
P
R
R
R
R
R
R
P
D
T
D
D
D
T
T
T
T
T
P
PP
P
P
R
R
R
R
R
?
==
?
Melhoria
==
?
Plan Do Check Act
==
?
Plan Do Check Act
?
Pilha de
funcionalidades
Esforço
Prioridade
Esforço
Prioridade
X
Benefício
Custo
X
RoI
Simplicidade
Diário
Semanal
Mensal
Tri-mestral
Estratégico
...
Diário
Semanal
Mensal
Tri-mestral
Estratégico
...
Design
Evolutivo
?
Adaptabilidade
Qualidade
Embutida
Testes 	

Automáticos
Programa
Teste
Programa
Teste
Programa
Teste
(...)
public int soma(int a, int b) {
// código
}
(...)
(...)
public void meuTeste() {
int par1 = 1;
int par2 = 1;
int result = Classe.soma(par1,par1);
assertEquals(2, result);
}
(...)
(...)
public int soma(int a, int b) {
// código
}
(...)
(...)
public void meuTeste() {
int par1 = 1;
int par2 = 1;
int result = Classe.soma(par1,par1);
assertEquals(2, result);
}
(...)
Preparação
(...)
public int soma(int a, int b) {
// código
}
(...)
(...)
public void meuTeste() {
int par1 = 1;
int par2 = 1;
int result = Classe.soma(par1,par2);
assertEquals(2, result);
}
(...)
Exercício
(...)
public int soma(int a, int b) {
// código
}
(...)
(...)
public void meuTeste() {
int par1 = 1;
int par2 = 1;
int result = Classe.soma(par1,par1);
assertEquals(2, result);
}
(...)
Verificação
X
10
30
20 30 40 50 60 70
30 30 30 30 30 30
public class Romanos {
!public static String parse(int entrada) {
StringBuilder resultado = new StringBuilder();
if (entrada <= 3) {
for (int i = 0; i < entrada; i++)
resultado.append("I");
return resultado.toString();
}
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
} else if (entrada < 9){
resultado.append("V");
return resultado.toString();
}else if (entrada == 9){
return "IX";
}else{
return "X";
}
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
public class Romanos {
!public static String parse(int entrada) {
StringBuilder resultado = new StringBuilder();
if (entrada <= 3) {
for (int i = 0; i < entrada; i++)
resultado.append("I");
return resultado.toString();
}
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
} else if (entrada < 9){
resultado.append("V");
return resultado.toString();
}else if (entrada == 9){
return "IX";
}else{
return "X";
}
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
public class Romanos {
!public static String parse(int entrada) {
StringBuilder resultado = new StringBuilder();
if (entrada <= 3) {
for (int i = 0; i < entrada; i++)
resultado.append("I");
return resultado.toString();
}
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
} else if (entrada < 9){
resultado.append("V");
return resultado.toString();
}else if (entrada == 9){
return "IX";
}else{
return "X";
}
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
!public static String parse(int entrada) {
else if (entrada == 4) {
return "IV";
} else if(entrada == 5){
return "V";
}
!}
!
Tempo
Custo
Comunicação
R P D TC
R P D TC
?
!
R P D TC
R
P D
T
C
Agile
Manifesto
O Manifesto Agilhttp://agilemanifesto.org
Autoreshttp://agilemanifesto.org
@KentBeck
@kschwaber
@jeffsutherland
@martinfowler
@pragdave
Andrew Hunt
Arie van Bennekum
@WardCunningham
@TotherAlistair
@marick
@jimhighsmith
@unclebobmartin
@RonJeffries
Mike Beedle
@JonKernPA
Valoreshttp://agilemanifesto.org
Indivíduos e
interação 	

entre eles
processos e feramentas
mais que
Software
funcionando
mais que
documentacao abrangente
Colaboração
com o cliente
mais que
negociacao de contratos
Responder a
mudanças
mais que
seguir um plano
Princípioshttp://agilemanifesto.org
Nossa maior prioridade é
satisfazer o cliente, através
de entregas rápidas e
contínuas gerando valor
ao software.
1
Receber bem as mudanças
dos requisitos, mesmo em
estágios tardios do
desenvolvimento.
2
Trabalhando para entregar
software, em intervalos de
2 semanas até 2 meses
3
Empresários e
desenvolvedores devem
trabalhar juntos
diariamente durante todo
o projeto.
4
Construa projetos com
indivíduos motivados, dê-
lhes o ambiente e o
suporte que precisam, e
confie neles para ter o
trabalho realizado
5
O método mais eficiente e
efetivo de transmitir
informação para a equipe
de desenvolvimento está
na conversa face-a-face
6
Software funcionando é a
principal medida para o
progresso
7
Processos ágeis promovem
o desenvolvimento
sustentável.
8
Atenção contínua para
uma excelência técnica e
um bom design aumentam
a agilidade
9
Simplicidade – a arte de
maximizar o valor do
trabalho não feito – é
essencial
10
As melhores arquiteturas,
requisitos, e design
emergem a partir de
equipes auto-organizadas
11
Em intervalos regulares, as
equipes devem refletir sobre
como tornaram-se mais
efetivas, em seguida aprimorar
e ajustar de acordo com seu
comportamento.
12
Scrum
ScrumSCRUM
CERIMÔNIAS
Sprint Planning
Sprint Review
Retrospectiva
Daily Scrum
Estimation Meeting
ESTIMATION MEETING
PRODUCT BACKLOG
USER STORIES
USER STORIES
Cadastro de e-mail na Newsletter
Como: Cliente
Eu: Cadastro minha conta de e-mail na newsletter
Para: Receber informações do Fornecedor
3
Pronto
- E-mail do cliente cadastrado corretamente no banco
- Newsletter enviada ao e-mail cliente na publicação
- Newsletter recebida corretamente no e-mal do
cliente
Planning Poker
SPRINT PLANNING
SPRINT BACKLOG
TAREFAS
KAN-BAN
SPRINT BURNDOWN
DAILY SCRUM
DAILY SCRUM
• O que fez desde a última reunião?	

• O que vai fazer até a próxima?	

• Há algum impedimento?
SPRINT REVIEW/ DEMO
SPRINT REVIEW / DEMO
RETROSPECTIVA
RETROSPECTIVA
SE ADAPTE!
“Não é o mais forte das espécies que
sobrevive, nem o mais inteligente, mas o mais
adaptável às mudanças.” 	

Charles Darwin
!
Agile Is Dead (Long Live Agility)
http://pragdave.me/blog/2014/03/04/time-to-kill-agile/
The word “agile” has been subverted to the point
where it is effectively meaningless (…)
“Do Agile Right” is like saying “Do Orange Right.”
Let’s abandon the word agile to the people who don’t
do things.
• Find out where you are.
• Take a small step towards your goal.
• Adjust your understanding based on what you learned.
• Repeat
http://mikehadlow.blogspot.co.uk/2014/03/coconut-headphones-why-agile-has-failed.html
Why Agile has Failed
If your role is simply asking for estimates and enforcing
the agile rituals: stand-ups, fortnightly sprints,
retrospectives; then you are an impediment rather than
an asset to delivery.
(…) over the decade (…), agile has come to mean
‘management agile’
In the meantime, the word ‘agile’ has become so
abused, that we should stop using it
Coding Dojo
O Pensamento Ágil
O Pensamento Ágil
O Pensamento Ágil
O Pensamento Ágil

Mais conteúdo relacionado

Destaque

Grupo 4 rubem alves (2) (1)
Grupo 4  rubem alves (2) (1)Grupo 4  rubem alves (2) (1)
Grupo 4 rubem alves (2) (1)Daniela Uehara
 
Currículo + Portfolio
Currículo + PortfolioCurrículo + Portfolio
Currículo + PortfolioThi Moraes
 
Firma en outlook
Firma en outlookFirma en outlook
Firma en outlookcikamelo
 
Aracaju tmbagpj626-2-fundamentos-protech
Aracaju tmbagpj626-2-fundamentos-protechAracaju tmbagpj626-2-fundamentos-protech
Aracaju tmbagpj626-2-fundamentos-protechMarco Coghi
 
FAO - Perspectivas agricolas
FAO - Perspectivas agricolasFAO - Perspectivas agricolas
FAO - Perspectivas agricolasHernani Larrea
 
Jornal anpqv v_final_baixa
Jornal anpqv v_final_baixaJornal anpqv v_final_baixa
Jornal anpqv v_final_baixaRosalinaBrito
 
Voz Ribatejana 6 JULHO 2011
Voz Ribatejana 6 JULHO 2011Voz Ribatejana 6 JULHO 2011
Voz Ribatejana 6 JULHO 2011vozribatejana
 
%40%40destaque maio-issuu (1)
%40%40destaque maio-issuu (1)%40%40destaque maio-issuu (1)
%40%40destaque maio-issuu (1)Claudiane Silva
 
Html web denise_lima
Html web denise_limaHtml web denise_lima
Html web denise_limaDenise Lima
 
Emily Flynn's Quick Look Portfolio
Emily Flynn's Quick Look PortfolioEmily Flynn's Quick Look Portfolio
Emily Flynn's Quick Look PortfolioEmily Flynn
 
Media dakwah @ internet
Media dakwah @ internetMedia dakwah @ internet
Media dakwah @ internetgustiadona
 
Nanomedicina11
Nanomedicina11Nanomedicina11
Nanomedicina11joanamatux
 
Planilha colegiadoatualizada
Planilha colegiadoatualizadaPlanilha colegiadoatualizada
Planilha colegiadoatualizadaJosete Sampaio
 
Holistic palembang pocket book
Holistic palembang pocket bookHolistic palembang pocket book
Holistic palembang pocket bookJoko Wahyudi
 

Destaque (20)

Grupo 4 rubem alves (2) (1)
Grupo 4  rubem alves (2) (1)Grupo 4  rubem alves (2) (1)
Grupo 4 rubem alves (2) (1)
 
Currículo + Portfolio
Currículo + PortfolioCurrículo + Portfolio
Currículo + Portfolio
 
Firma en outlook
Firma en outlookFirma en outlook
Firma en outlook
 
Aracaju tmbagpj626-2-fundamentos-protech
Aracaju tmbagpj626-2-fundamentos-protechAracaju tmbagpj626-2-fundamentos-protech
Aracaju tmbagpj626-2-fundamentos-protech
 
Transzine 2
Transzine 2Transzine 2
Transzine 2
 
FAO - Perspectivas agricolas
FAO - Perspectivas agricolasFAO - Perspectivas agricolas
FAO - Perspectivas agricolas
 
Agenda
AgendaAgenda
Agenda
 
Revista Maioridade
Revista MaioridadeRevista Maioridade
Revista Maioridade
 
Revista Fornecedores Governamentais 10
Revista Fornecedores Governamentais 10Revista Fornecedores Governamentais 10
Revista Fornecedores Governamentais 10
 
Jornal anpqv v_final_baixa
Jornal anpqv v_final_baixaJornal anpqv v_final_baixa
Jornal anpqv v_final_baixa
 
Voz Ribatejana 6 JULHO 2011
Voz Ribatejana 6 JULHO 2011Voz Ribatejana 6 JULHO 2011
Voz Ribatejana 6 JULHO 2011
 
%40%40destaque maio-issuu (1)
%40%40destaque maio-issuu (1)%40%40destaque maio-issuu (1)
%40%40destaque maio-issuu (1)
 
Html web denise_lima
Html web denise_limaHtml web denise_lima
Html web denise_lima
 
Emily Flynn's Quick Look Portfolio
Emily Flynn's Quick Look PortfolioEmily Flynn's Quick Look Portfolio
Emily Flynn's Quick Look Portfolio
 
Pesquisas
PesquisasPesquisas
Pesquisas
 
Media dakwah @ internet
Media dakwah @ internetMedia dakwah @ internet
Media dakwah @ internet
 
Nanomedicina11
Nanomedicina11Nanomedicina11
Nanomedicina11
 
Planilha colegiadoatualizada
Planilha colegiadoatualizadaPlanilha colegiadoatualizada
Planilha colegiadoatualizada
 
Tributario
TributarioTributario
Tributario
 
Holistic palembang pocket book
Holistic palembang pocket bookHolistic palembang pocket book
Holistic palembang pocket book
 

Semelhante a O Pensamento Ágil

T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)Carlos Santos
 
Curso lógica de programação
Curso   lógica de programaçãoCurso   lógica de programação
Curso lógica de programaçãoPaulo Batista
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitRobinson Castilho
 
Qualidade de Software: Escrevendo Código Limpo
Qualidade de Software: Escrevendo Código LimpoQualidade de Software: Escrevendo Código Limpo
Qualidade de Software: Escrevendo Código LimpoLidiane Taquehara
 
Beljug2010
Beljug2010Beljug2010
Beljug2010UFPA
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOWesley Lemos
 
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java CodeJava Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java CodeEdson Yanaga
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHGiovanni Bassi
 
Polimorfismo
PolimorfismoPolimorfismo
PolimorfismoCaveiras
 
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.pptALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppttridapalliadriana
 
PIPES: Uma linguagem para processamento distribuído de eventos complexos
PIPES: Uma linguagem para processamento distribuído de eventos complexosPIPES: Uma linguagem para processamento distribuído de eventos complexos
PIPES: Uma linguagem para processamento distribuído de eventos complexosJuan Lopes
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryRodrigo Russo
 
Testes com python: como fazer uma refatoração segura
Testes com python: como fazer uma refatoração seguraTestes com python: como fazer uma refatoração segura
Testes com python: como fazer uma refatoração seguraValberto Carneiro
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
 
Vamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDVamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDDomingos Teruel
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaFelipe Pedroso
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaFábio Rosato
 

Semelhante a O Pensamento Ágil (20)

T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
 
Testing sucks
Testing sucksTesting sucks
Testing sucks
 
Curso lógica de programação
Curso   lógica de programaçãoCurso   lógica de programação
Curso lógica de programação
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 
Qualidade de Software: Escrevendo Código Limpo
Qualidade de Software: Escrevendo Código LimpoQualidade de Software: Escrevendo Código Limpo
Qualidade de Software: Escrevendo Código Limpo
 
Beljug2010
Beljug2010Beljug2010
Beljug2010
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
 
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java CodeJava Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BH
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.pptALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
 
PIPES: Uma linguagem para processamento distribuído de eventos complexos
PIPES: Uma linguagem para processamento distribuído de eventos complexosPIPES: Uma linguagem para processamento distribuído de eventos complexos
PIPES: Uma linguagem para processamento distribuído de eventos complexos
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
 
Testes com python: como fazer uma refatoração segura
Testes com python: como fazer uma refatoração seguraTestes com python: como fazer uma refatoração segura
Testes com python: como fazer uma refatoração segura
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Vamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDVamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDD
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na Prática
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 

Mais de Alexandre Gomes

Construção de Software - 1º/2017
Construção de Software - 1º/2017Construção de Software - 1º/2017
Construção de Software - 1º/2017Alexandre Gomes
 
Programação Funcional com Javascript
Programação Funcional com JavascriptProgramação Funcional com Javascript
Programação Funcional com JavascriptAlexandre Gomes
 
UnB/PPCA/CS2016 - Projeto 2
UnB/PPCA/CS2016 - Projeto 2UnB/PPCA/CS2016 - Projeto 2
UnB/PPCA/CS2016 - Projeto 2Alexandre Gomes
 
Javascript do jeito certo
Javascript do jeito certoJavascript do jeito certo
Javascript do jeito certoAlexandre Gomes
 
Construção de Software - 1º/2016
Construção de Software - 1º/2016Construção de Software - 1º/2016
Construção de Software - 1º/2016Alexandre Gomes
 
Plano de Ensino de Tópicos Avançados em Engenharia de Software
Plano de Ensino de Tópicos Avançados em Engenharia de SoftwarePlano de Ensino de Tópicos Avançados em Engenharia de Software
Plano de Ensino de Tópicos Avançados em Engenharia de SoftwareAlexandre Gomes
 
Construção de Software - 1º semestre de 2014
Construção de Software - 1º semestre de 2014Construção de Software - 1º semestre de 2014
Construção de Software - 1º semestre de 2014Alexandre Gomes
 
Laboratório de Métodos Ágeis 1/2014 - Apresentação
Laboratório de Métodos Ágeis 1/2014 - ApresentaçãoLaboratório de Métodos Ágeis 1/2014 - Apresentação
Laboratório de Métodos Ágeis 1/2014 - ApresentaçãoAlexandre Gomes
 
OpenData, Web Semântica e afins.
OpenData, Web Semântica e afins.OpenData, Web Semântica e afins.
OpenData, Web Semântica e afins.Alexandre Gomes
 
Javascript do jeito certo
Javascript do jeito certoJavascript do jeito certo
Javascript do jeito certoAlexandre Gomes
 
Javascript orientado a testes
Javascript orientado a testesJavascript orientado a testes
Javascript orientado a testesAlexandre Gomes
 

Mais de Alexandre Gomes (20)

Construção de Software - 1º/2017
Construção de Software - 1º/2017Construção de Software - 1º/2017
Construção de Software - 1º/2017
 
TDDing com Javascript
TDDing com JavascriptTDDing com Javascript
TDDing com Javascript
 
Aprendendo a Aprender
Aprendendo a AprenderAprendendo a Aprender
Aprendendo a Aprender
 
Programação Funcional com Javascript
Programação Funcional com JavascriptProgramação Funcional com Javascript
Programação Funcional com Javascript
 
UnB/PPCA/CS2016 - Projeto 2
UnB/PPCA/CS2016 - Projeto 2UnB/PPCA/CS2016 - Projeto 2
UnB/PPCA/CS2016 - Projeto 2
 
Javascript do jeito certo
Javascript do jeito certoJavascript do jeito certo
Javascript do jeito certo
 
Construção de Software - 1º/2016
Construção de Software - 1º/2016Construção de Software - 1º/2016
Construção de Software - 1º/2016
 
Plano de Ensino de Tópicos Avançados em Engenharia de Software
Plano de Ensino de Tópicos Avançados em Engenharia de SoftwarePlano de Ensino de Tópicos Avançados em Engenharia de Software
Plano de Ensino de Tópicos Avançados em Engenharia de Software
 
Manifesto 2.0
Manifesto 2.0Manifesto 2.0
Manifesto 2.0
 
Construção de Software - 1º semestre de 2014
Construção de Software - 1º semestre de 2014Construção de Software - 1º semestre de 2014
Construção de Software - 1º semestre de 2014
 
Business Modeling
Business ModelingBusiness Modeling
Business Modeling
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
Manifesto Ágil
Manifesto ÁgilManifesto Ágil
Manifesto Ágil
 
Laboratório de Métodos Ágeis 1/2014 - Apresentação
Laboratório de Métodos Ágeis 1/2014 - ApresentaçãoLaboratório de Métodos Ágeis 1/2014 - Apresentação
Laboratório de Métodos Ágeis 1/2014 - Apresentação
 
Scraping by examples
Scraping by examplesScraping by examples
Scraping by examples
 
Scraping by examples
Scraping by examplesScraping by examples
Scraping by examples
 
OpenData, Web Semântica e afins.
OpenData, Web Semântica e afins.OpenData, Web Semântica e afins.
OpenData, Web Semântica e afins.
 
Javascript do jeito certo
Javascript do jeito certoJavascript do jeito certo
Javascript do jeito certo
 
Javascript orientado a testes
Javascript orientado a testesJavascript orientado a testes
Javascript orientado a testes
 
Escolhas 2.0
Escolhas 2.0Escolhas 2.0
Escolhas 2.0
 

O Pensamento Ágil