SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Infraestrutura de apoio ao Desenvolvimento
e Gestão de Projetos de Software
Diego Pasti
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
O Laboratório de Extensão em Desenvolvimento de Sistemas (LEDS)
é um ambiente experimental e multidisciplinar, que integra
discentes e docentes com o objetivo de criar uma ponte entre a
teoria e prática, propiciando o aprendizado e a inovação.
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
Como entregar Softwares
melhores e mais rapidamente?
Existe uma pressão muito grande
no mercado de software. Com
clientes cada vez mais exigentes e
demandas cada vez mais
complexas.
Existe uma distancia sobre o que se aprende em sala de aula e o que
se tem no mercado de trabalho. No laboratório os alunos são
incentivados a buscarem soluções inovadoras e atuais, alinhada com
as novidades da tecnologia de forma a reduzir essa distancia.
Uma dessas soluções é a
adoção de metodologias
de desenvolvimento que
considerem melhor as
especificidades da
realidade desse mercado
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
Entregar software de melhor qualidade, com prazos e recursos cada
vez menores tem sido um desafio para muitas empresa em resposta
as novas e crescentes demandas.
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
O que é?
O Manifesto Ágil é uma declaração de princípios que fundamentam
o desenvolvimento de software. Divulgado em 2001, declarava uma
nova forma de entender projetos que lidam diariamente com
imprecisão e imprevisibilidade.
Porquê?
No início da década de 90, desenvolvedores se uniram para propor
novas metodologias que atendesse melhor as demandas do
mercado, cujas metodologias tradicionais não vinham atendendo de
forma satisfatória [PÁDUA FILHO, 2009].
Pra quê?
Acelerar o desenvolvimento do software visando a melhoria contínua
do processo, gerando benefícios como o aumento da comunicação e
interação da equipe, organização diária para o alcance da meta
definida, evitar falhas na elaboração, respostas rápidas às mudanças
e aumento significativo da produtividade.
Valores:
 Indivíduos e interação entre eles mais que processos e ferramentas.
 Software em funcionamento mais do que documentação abrangente.
 Colaboração com o cliente mais do que negociação de contratos.
 Responder às mudanças mais do que seguir um plano [LUNA,
COSTA, MOURA, 2011].
Princípios:
 P1 – A prioridade é a satisfação do cliente,
mediante o rápido e contínuo fornecimento de
software que agregue um valor ao negócio.
 P2 – As mudanças são bem-vindas, mesmo no
final do desenvolvimento, principalmente se as
alterações darão vantagem competitiva para os
nossos clientes.
 P3 – Fazer entregas frequentes de software que
funcionem a partir de um par de semanas a um
par de meses, sempre procurando o menor
intervalo de tempo entre as entregas.
Princípios:
 P4 – As pessoas de negócio (executivos) e os
desenvolvedores devem trabalhar juntos
diariamente e ao longo de todo o projeto.

 P5 – Construir o projeto em torno de indivíduos
motivados. Fornecer todo apoio necessário ao
ambiente do projeto e confiar plenamente na
equipe.
 P6 – O diálogo face a face é a mais eficiente e
eficaz forma de comunicar as informações dentro
da equipe de desenvolvimento.
Princípios:
 P7 – Software que funciona é a principal medida
de progresso.
 P8 – Os processos ágeis promovem um
desenvolvimento sustentável. Os promotores,
usuários e desenvolvedores devem ser capazes de
manter um ritmo de trabalho constante por tempo
indeterminado.
 P9 – A atenção contínua à qualidade técnica e ao
bom design melhora a agilidade.
Princípios:
 P10 – A simplicidade é essencial. É preciso saber
maximizar o trabalho que não deve ser feito.
 P11 – As melhores arquiteturas, requisitos e
desenhos surgem a partir da própria equipe
através de sua pró-atividade e auto-organização
(inteligência coletiva e colaborativa).
 P12 – Em intervalos regulares, a equipe deve
refletir sobre como se tornar mais eficaz, e ajustar
o seu comportamento para alcançar este objetivo
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
O que é?
Extreme Programming (XP) é uma metodologia ágil de
desenvolvimento de software, nascida nos Estados Unidos ao final
da década de 90.
Porque usar?
A metodologia Extreme Programming é uma resposta às novas e
crescentes demandas do mercado por software, onde entregar o
produto melhor e mais rápido tem sido uma necessidade, e atender
essa demanda com as metodologias tradicionais eram
completamente inviáveis.
Pra quê serve?
Ajudar a criar sistemas de melhor qualidade, que
são produzidos em menos tempo e de forma mais
econômica que o habitual
Quando usar?
•Projetos cujos requisitos são vagos e mudam com frequência;
•Desenvolvimento de sistemas orientados a objeto;
•Equipes pequenas, preferencialmente até 12 desenvolvedores;
•Desenvolvimento incremental (ou iterativo), onde o sistema
começa a ser implementado logo no início do projeto e vai
ganhando novas funcionalidades ao longo do tempo.
Valores: Feedback, Comunicação, Simplicidade e Coragem.
Quando o cliente é envolvido no processo de desenvolvimento ele aprende com o
sistema e realimenta a equipe com alterações sobre a sua real necessidade.
A comunicação é fundamental seja entre e o cliente e a equipe e dentro da equipe em si.
Não gastar tempo tentando prever o futuro, pois dificilmente acertará. Gaste o tempo
para atender de forma objetiva o que o cliente quer hoje, pois ele pode não querer
aquilo mais no futuro a medida que vai aprendendo sobre sua necessidade.
Coragem.. Isso funciona!
Princípios:
 Cliente Presente
 Jogo do Planejamento (Trabalhar no que é mais importante pro cliente..)
 Stand Up Meeting (Reunião em pé)
 Programação em Par
 Desenvolvimento Guiado pelos Testes
 Refactoring
 Código Coletivo
 Código Padronizado
 Design Simples
 Metáfora
 Ritmo Sustentável
 Integração Contínua
 Releases Curtos
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
O que é?
É um framework de gestão de projetos de software que seguem a
metodologia ágil.
Porque usar?
Novas formas de se desenvolver software exigem novas formas de
se gerenciá-los.
Como usar?
As tarefas de um projeto devem ser listados e priorizados pelo
cliente gerando uma lista de tarefas (Product Backlog) e a sua
realização é feita em etapas (Sprints) de curto prazo.
São feitas reuniões diárias para avaliar o progresso, e reunião ao fim
de cada etapa pra apresentar os resultados obtidos.
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
Parte I – Contexto
 Sobre o LEDS
 Inovações.. Como?!
 Um pouco de Agilidade
Parte II – Metodologias
 Manifesto Ágil
 Extreme Programming
 Scrum
 Outras Metodologias
Parte III – Infraestrutura
 Taiga
 Maven
 Gitlab
 Jenkins
 Sonar
 Nexus
 Tomcat
FIM
Email: diegopasti@gmail.com

Mais conteúdo relacionado

Mais procurados

Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumGerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumRaphael Donaire Albino
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Processos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBanProcessos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBanSamuel Cavalcante
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel Brandão
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 
Ferramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com ScrumFerramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com ScrumThiago Barros, PSM
 
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...Keila Freitas
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalhoRuan Pozzebon
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Softwarealexandre_malaquias
 
Apresentação Scrum 2012
Apresentação Scrum 2012Apresentação Scrum 2012
Apresentação Scrum 2012Libia Boss
 
SCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de SoftwareSCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de Softwareelliando dias
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumJuan Bernabó
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilIsrael Santiago
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilJaffer Veronezi
 

Mais procurados (20)

Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumGerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Processos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBanProcessos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBan
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Ferramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com ScrumFerramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com Scrum
 
Lean software
Lean software Lean software
Lean software
 
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desen...
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Software
 
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
Apresentação Scrum 2012
Apresentação Scrum 2012Apresentação Scrum 2012
Apresentação Scrum 2012
 
SCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de SoftwareSCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de Software
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 

Semelhante a Infraestrutura Ágil Desenvolvimento Software

Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2Edinaldo Mendes
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareEmerson Henrique
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...Elisangela Paulino
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentIzabel Rodrigues
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
Gestão Ágil de Projetos
Gestão Ágil de ProjetosGestão Ágil de Projetos
Gestão Ágil de ProjetosInaniaVerba
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareEverton vitor
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREErnesto Bedrikow
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágilDaniel Brandão
 

Semelhante a Infraestrutura Ágil Desenvolvimento Software (20)

Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2
 
Agilidade em projetos de software
Agilidade em projetos de softwareAgilidade em projetos de software
Agilidade em projetos de software
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Gestão Ágil de Projetos
Gestão Ágil de ProjetosGestão Ágil de Projetos
Gestão Ágil de Projetos
 
Desenvolvimento Ágil
Desenvolvimento ÁgilDesenvolvimento Ágil
Desenvolvimento Ágil
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágil
 

Mais de ledsifes

Sincap um exemplo prático de colaboração entre Academia e Sociedade
Sincap um exemplo prático de colaboração entre Academia e SociedadeSincap um exemplo prático de colaboração entre Academia e Sociedade
Sincap um exemplo prático de colaboração entre Academia e Sociedadeledsifes
 
Spring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutosSpring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutosledsifes
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSSledsifes
 
Introdução à SQL Injection
Introdução à SQL InjectionIntrodução à SQL Injection
Introdução à SQL Injectionledsifes
 
Palestra de PHP
Palestra de PHPPalestra de PHP
Palestra de PHPledsifes
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Androidledsifes
 
Introdução a Python e Django
Introdução a Python e DjangoIntrodução a Python e Django
Introdução a Python e Djangoledsifes
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 

Mais de ledsifes (8)

Sincap um exemplo prático de colaboração entre Academia e Sociedade
Sincap um exemplo prático de colaboração entre Academia e SociedadeSincap um exemplo prático de colaboração entre Academia e Sociedade
Sincap um exemplo prático de colaboração entre Academia e Sociedade
 
Spring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutosSpring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutos
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Introdução à SQL Injection
Introdução à SQL InjectionIntrodução à SQL Injection
Introdução à SQL Injection
 
Palestra de PHP
Palestra de PHPPalestra de PHP
Palestra de PHP
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Introdução a Python e Django
Introdução a Python e DjangoIntrodução a Python e Django
Introdução a Python e Django
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 

Infraestrutura Ágil Desenvolvimento Software

  • 1. Infraestrutura de apoio ao Desenvolvimento e Gestão de Projetos de Software Diego Pasti
  • 2. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 3. O Laboratório de Extensão em Desenvolvimento de Sistemas (LEDS) é um ambiente experimental e multidisciplinar, que integra discentes e docentes com o objetivo de criar uma ponte entre a teoria e prática, propiciando o aprendizado e a inovação.
  • 4. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 5. Como entregar Softwares melhores e mais rapidamente? Existe uma pressão muito grande no mercado de software. Com clientes cada vez mais exigentes e demandas cada vez mais complexas.
  • 6. Existe uma distancia sobre o que se aprende em sala de aula e o que se tem no mercado de trabalho. No laboratório os alunos são incentivados a buscarem soluções inovadoras e atuais, alinhada com as novidades da tecnologia de forma a reduzir essa distancia. Uma dessas soluções é a adoção de metodologias de desenvolvimento que considerem melhor as especificidades da realidade desse mercado
  • 7. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 8. Entregar software de melhor qualidade, com prazos e recursos cada vez menores tem sido um desafio para muitas empresa em resposta as novas e crescentes demandas.
  • 9. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 10.
  • 11. O que é? O Manifesto Ágil é uma declaração de princípios que fundamentam o desenvolvimento de software. Divulgado em 2001, declarava uma nova forma de entender projetos que lidam diariamente com imprecisão e imprevisibilidade.
  • 12. Porquê? No início da década de 90, desenvolvedores se uniram para propor novas metodologias que atendesse melhor as demandas do mercado, cujas metodologias tradicionais não vinham atendendo de forma satisfatória [PÁDUA FILHO, 2009].
  • 13. Pra quê? Acelerar o desenvolvimento do software visando a melhoria contínua do processo, gerando benefícios como o aumento da comunicação e interação da equipe, organização diária para o alcance da meta definida, evitar falhas na elaboração, respostas rápidas às mudanças e aumento significativo da produtividade.
  • 14. Valores:  Indivíduos e interação entre eles mais que processos e ferramentas.  Software em funcionamento mais do que documentação abrangente.  Colaboração com o cliente mais do que negociação de contratos.  Responder às mudanças mais do que seguir um plano [LUNA, COSTA, MOURA, 2011].
  • 15. Princípios:  P1 – A prioridade é a satisfação do cliente, mediante o rápido e contínuo fornecimento de software que agregue um valor ao negócio.  P2 – As mudanças são bem-vindas, mesmo no final do desenvolvimento, principalmente se as alterações darão vantagem competitiva para os nossos clientes.  P3 – Fazer entregas frequentes de software que funcionem a partir de um par de semanas a um par de meses, sempre procurando o menor intervalo de tempo entre as entregas.
  • 16. Princípios:  P4 – As pessoas de negócio (executivos) e os desenvolvedores devem trabalhar juntos diariamente e ao longo de todo o projeto.   P5 – Construir o projeto em torno de indivíduos motivados. Fornecer todo apoio necessário ao ambiente do projeto e confiar plenamente na equipe.  P6 – O diálogo face a face é a mais eficiente e eficaz forma de comunicar as informações dentro da equipe de desenvolvimento.
  • 17. Princípios:  P7 – Software que funciona é a principal medida de progresso.  P8 – Os processos ágeis promovem um desenvolvimento sustentável. Os promotores, usuários e desenvolvedores devem ser capazes de manter um ritmo de trabalho constante por tempo indeterminado.  P9 – A atenção contínua à qualidade técnica e ao bom design melhora a agilidade.
  • 18. Princípios:  P10 – A simplicidade é essencial. É preciso saber maximizar o trabalho que não deve ser feito.  P11 – As melhores arquiteturas, requisitos e desenhos surgem a partir da própria equipe através de sua pró-atividade e auto-organização (inteligência coletiva e colaborativa).  P12 – Em intervalos regulares, a equipe deve refletir sobre como se tornar mais eficaz, e ajustar o seu comportamento para alcançar este objetivo
  • 19. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 20. O que é? Extreme Programming (XP) é uma metodologia ágil de desenvolvimento de software, nascida nos Estados Unidos ao final da década de 90.
  • 21. Porque usar? A metodologia Extreme Programming é uma resposta às novas e crescentes demandas do mercado por software, onde entregar o produto melhor e mais rápido tem sido uma necessidade, e atender essa demanda com as metodologias tradicionais eram completamente inviáveis. Pra quê serve? Ajudar a criar sistemas de melhor qualidade, que são produzidos em menos tempo e de forma mais econômica que o habitual
  • 22. Quando usar? •Projetos cujos requisitos são vagos e mudam com frequência; •Desenvolvimento de sistemas orientados a objeto; •Equipes pequenas, preferencialmente até 12 desenvolvedores; •Desenvolvimento incremental (ou iterativo), onde o sistema começa a ser implementado logo no início do projeto e vai ganhando novas funcionalidades ao longo do tempo.
  • 23. Valores: Feedback, Comunicação, Simplicidade e Coragem. Quando o cliente é envolvido no processo de desenvolvimento ele aprende com o sistema e realimenta a equipe com alterações sobre a sua real necessidade. A comunicação é fundamental seja entre e o cliente e a equipe e dentro da equipe em si. Não gastar tempo tentando prever o futuro, pois dificilmente acertará. Gaste o tempo para atender de forma objetiva o que o cliente quer hoje, pois ele pode não querer aquilo mais no futuro a medida que vai aprendendo sobre sua necessidade. Coragem.. Isso funciona!
  • 24. Princípios:  Cliente Presente  Jogo do Planejamento (Trabalhar no que é mais importante pro cliente..)  Stand Up Meeting (Reunião em pé)  Programação em Par  Desenvolvimento Guiado pelos Testes  Refactoring  Código Coletivo  Código Padronizado  Design Simples  Metáfora  Ritmo Sustentável  Integração Contínua  Releases Curtos
  • 25. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 26. O que é? É um framework de gestão de projetos de software que seguem a metodologia ágil. Porque usar? Novas formas de se desenvolver software exigem novas formas de se gerenciá-los.
  • 27. Como usar? As tarefas de um projeto devem ser listados e priorizados pelo cliente gerando uma lista de tarefas (Product Backlog) e a sua realização é feita em etapas (Sprints) de curto prazo. São feitas reuniões diárias para avaliar o progresso, e reunião ao fim de cada etapa pra apresentar os resultados obtidos.
  • 28. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 29.
  • 30. Parte I – Contexto  Sobre o LEDS  Inovações.. Como?!  Um pouco de Agilidade Parte II – Metodologias  Manifesto Ágil  Extreme Programming  Scrum  Outras Metodologias Parte III – Infraestrutura  Taiga  Maven  Gitlab  Jenkins  Sonar  Nexus  Tomcat
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.