SlideShare uma empresa Scribd logo
Metodologia de
desenvolvimento de
Software
 Focado no desenvolvimento rápido da aplicação;
 Desenvolvimento iterativo e incremental que enfatiza o
envolvimento constante do usuário;
 Objetivo é entregar softwares no tempo certo e com custos
estimados, através de controles e ajustes nos requisitos ao
longo do desenvolvimento da aplicação;
 Usar métodos ágeis na condução desses projetos;
Metodologia de desenvolvimento de Software
Envolvimento: o envolvimento do usuário é o ponto principal
para a eficiência e eficácia do projeto. Onde usuários e
desenvolvedores discutem as necessidades e soluções com
objetivos de tomar decisões com mais assertividade;
Autonomia: o time deve estar empenhado em tomar decisões
que sejam importantes para o progresso do projeto sem que
necessitem de aprovação dos superiores;
Princípios utilizados no desenvolvimento de Software
Entregas: O foco na entrega frequente de produtos, assumindo
que entregar algo bom, logo é melhor que entregar algo
perfeito somente no fim. Iniciando a entrega do produto desde
o inicio do projeto, o produto pode ser testado e revisado e a
evidência de teste e revisão da documentação podem ser
utilizadas na próxima iteração ou fase;
Eficácia: O critério principal para ser considerado entregável é
entregar um sistema que demonstre atender as necessidades e
requisitos atuais do negócio ;
Princípios utilizados no desenvolvimento de Software
Feedback: O desenvolvimento é iterativo e incremental
controlado por feedbacks de usuários, a fim de tornar a solução
eficaz ao negócio;
Reversibilidade: Todas as alterações feitas no desenvolvimento
são reversíveis;
Comunicação: É necessário excelente comunicação e
cooperação de todos os envolvidos para obter maior eficácia e
eficiência no projeto;
Princípios utilizados no desenvolvimento de Software
Timeboxing: Realizar o desenvolvimento no prazo estimado, além de manter o
custo e qualidade desejados. O principal objetivo é dividir o projetos em partes
ou módulos, cada um com seu orçamento e prazo estimado. Para cada parte do
projeto um numero x de requisitos é selecionado e priorizados de acordo com a
técnica MOSCOW, devido ao custo e tempo serem fixos, a variável se torna os
requisitos, por isso conforme o tempo vai se esgotando os requisitos de baixa
prioridades poderão ser entregues na próxima iteração, seguindo o principio de
Pareto onde 80% das funcionalidades do sistema vem de 20% dos requisitos mais
importantes implementados;
Principais técnicas utilizadas
Priorização de Entregas
MoSCoW
Must Have (DeveTer) – imprescindível.
Should Have (Deveria Ter)– importante.
Could Have (Poderia Ter) – bom ter.
Won’t Have for Now (Não Terá por
Enquanto) – não geram valor de negócios.
Prototipagem: Criação de protótipos em estágios iniciais do projeto, permite
descobrir falhas rapidamente na aplicação e validar a experiência do usuário
sendo um test-drive, o que vem a ser uma ótima maneira de envolver o usuário,
sendo um fator chave na metodologia de desenvolvimento;
Gerenciamento de configuração: Uma vez que existe mais de uma coisa para
controlar ao mesmo tempo durante o processo de desenvolvimento, os produtos
são entregues frequentemente num tempo muito rápido, então os produtos
devem ser bem controlados na suas versões, no mercado existe ferramentas
aplicadas para esse controle;
Principais técnicas utilizadas
Desenvolvimento orientado a testes: é um método que começa com um
desenvolvedor criando um teste para um requisito que ele precisa criar, o
desenvolvedor então executa o teste que deve falhar no primeiro
momento porque o requisito ainda não existe. O desenvolvedor realiza o
desenvolvimento até que o teste seja concluído com sucesso e então
refatora o código, assim saberemos que o requisito funciona
corretamente;
Integração contínua: É uma abordagem que mantém o código de todos
integrados e constrói estruturas de implementação juntamente com o
resto da aplicação, ajuda a garantir a qualidade evitando conflitos na base
regular, a integração continua é essencial para testes automatizados;
Principais técnicas utilizadas
Refatoração: É o processo de modificar um sistema de software para
melhorar a estrutura interna do código sem alterar seu comportamento
externo.
O uso dessa técnica aprimora a concepção de um software e evita a
deterioração tão comum durante o ciclo de vida de um código, que
geralmente é causada por mudanças com objetivos de curto prazo ou
alterações sem a clara compreensão do sistema. A refatoração ajuda a
melhorar no entendimento do código o que facilita a manutenção e evita
a inclusão de defeitos, é fundamental que o software possua testes
automatizados para realizar a refatoração, assim será possível garantir que
o comportamento externo não foi alterado;
Principais técnicas utilizadas
Bus factor ( Fator ônibus): Você perde um dos seus membros do time do projeto
por qualquer motivo, você não é capaz de continuar o projeto, porque ninguém
mais tem conhecimento e informações chave do projeto.
Bus factor é um fator de perda de numero mínimo de desenvolvedores que você
pode perder, antes de perder a capacidade de continuar o projeto mesmo
adicionando novos devs.
Maximizar a transparência, melhorar a comunicação com reuniões diárias,
documentar processos e requisitos, ter sistemas de gerenciamento de
configuração, praticar a copropriedade do código, ter planos de férias e sucessão
são muito úteis para o fluxo natural do projeto, porque os membros podem sair do
projeto a qualquer momento;
Principais técnicas utilizadas

Mais conteúdo relacionado

Mais procurados

Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Annelise Gripp
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumMarcos Garrido
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareNécio de Lima Veras
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de ScrumLuiz Duarte
 

Mais procurados (20)

Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Scrum
ScrumScrum
Scrum
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Modelos de Engenharia de Software
Modelos de Engenharia de SoftwareModelos de Engenharia de Software
Modelos de Engenharia de Software
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Scrum - evolução contínua
Scrum - evolução contínuaScrum - evolução contínua
Scrum - evolução contínua
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de Scrum
 
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a ObjetosProgramação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
 

Semelhante a Metodologia de Desenvolvimento de Softwares

T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Artigo-Alex_Warmling
Artigo-Alex_WarmlingArtigo-Alex_Warmling
Artigo-Alex_WarmlingChaordic
 
Rejuvenescimento Software
Rejuvenescimento SoftwareRejuvenescimento Software
Rejuvenescimento SoftwareMarcus Oliveira
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 
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
 
Análise e Design Orientado a Objetos.ppt
Análise e Design Orientado a Objetos.pptAnálise e Design Orientado a Objetos.ppt
Análise e Design Orientado a Objetos.pptTzveDyor
 
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_4_e_5_-_RUP_Rapid_Unified_Process_Software_Engineering
Aula_4_e_5_-_RUP_Rapid_Unified_Process_Software_EngineeringAula_4_e_5_-_RUP_Rapid_Unified_Process_Software_Engineering
Aula_4_e_5_-_RUP_Rapid_Unified_Process_Software_Engineeringbaitolakaike
 

Semelhante a Metodologia de Desenvolvimento de Softwares (20)

Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Artigo-Alex_Warmling
Artigo-Alex_WarmlingArtigo-Alex_Warmling
Artigo-Alex_Warmling
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Rejuvenescimento Software
Rejuvenescimento SoftwareRejuvenescimento Software
Rejuvenescimento Software
 
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 
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
 
Análise e Design Orientado a Objetos.ppt
Análise e Design Orientado a Objetos.pptAnálise e Design Orientado a Objetos.ppt
Análise e Design Orientado a Objetos.ppt
 
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 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Subm_SamuelPereira_FINAL
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Aula_4_e_5_-_RUP_Rapid_Unified_Process_Software_Engineering
Aula_4_e_5_-_RUP_Rapid_Unified_Process_Software_EngineeringAula_4_e_5_-_RUP_Rapid_Unified_Process_Software_Engineering
Aula_4_e_5_-_RUP_Rapid_Unified_Process_Software_Engineering
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 

Mais de Aragon Vieira

DMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - LeanDMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - LeanAragon Vieira
 
Modelo de User Stories - Ágil
Modelo de User Stories - ÁgilModelo de User Stories - Ágil
Modelo de User Stories - ÁgilAragon Vieira
 
Modelo de Sprint Backlog
Modelo de Sprint BacklogModelo de Sprint Backlog
Modelo de Sprint BacklogAragon Vieira
 
Como fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de DesenvolvimentoComo fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de DesenvolvimentoAragon Vieira
 
Gerenciamento de Portfólio de Projetos
Gerenciamento de Portfólio de ProjetosGerenciamento de Portfólio de Projetos
Gerenciamento de Portfólio de ProjetosAragon Vieira
 
Modelo - Termo de abertura de projeto
 Modelo  - Termo de abertura de projeto   Modelo  - Termo de abertura de projeto
Modelo - Termo de abertura de projeto Aragon Vieira
 
Modelo de Roadmap de Produto
Modelo de Roadmap de ProdutoModelo de Roadmap de Produto
Modelo de Roadmap de ProdutoAragon Vieira
 
Modelo de backlog de sprint - Scrum
Modelo de backlog de sprint - ScrumModelo de backlog de sprint - Scrum
Modelo de backlog de sprint - ScrumAragon Vieira
 
Gráfico de produtividade Time de desenvolvimento - modelo
Gráfico de produtividade   Time de desenvolvimento - modeloGráfico de produtividade   Time de desenvolvimento - modelo
Gráfico de produtividade Time de desenvolvimento - modeloAragon Vieira
 
Modelo Roadmap de produto - template
Modelo Roadmap de produto - templateModelo Roadmap de produto - template
Modelo Roadmap de produto - templateAragon Vieira
 
EAP - Estrutura analítica de projetos
EAP -  Estrutura analítica de projetosEAP -  Estrutura analítica de projetos
EAP - Estrutura analítica de projetosAragon Vieira
 
Toc aplicada a gestão de projetos
Toc aplicada a gestão de projetosToc aplicada a gestão de projetos
Toc aplicada a gestão de projetosAragon Vieira
 
Colocando o Scrum em prática
Colocando o Scrum em práticaColocando o Scrum em prática
Colocando o Scrum em práticaAragon Vieira
 
Visão do Produto no Scrum
Visão do Produto no ScrumVisão do Produto no Scrum
Visão do Produto no ScrumAragon Vieira
 
PMO - Project Management Office
PMO - Project Management OfficePMO - Project Management Office
PMO - Project Management OfficeAragon Vieira
 
Gestão de Projetos Hibrida
Gestão de Projetos HibridaGestão de Projetos Hibrida
Gestão de Projetos HibridaAragon Vieira
 
Fluxograma processo - desenvolvimento de software
Fluxograma   processo - desenvolvimento de softwareFluxograma   processo - desenvolvimento de software
Fluxograma processo - desenvolvimento de softwareAragon Vieira
 
Escalabilidade do Scrum
Escalabilidade do ScrumEscalabilidade do Scrum
Escalabilidade do ScrumAragon Vieira
 

Mais de Aragon Vieira (20)

DMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - LeanDMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - Lean
 
Modelo de User Stories - Ágil
Modelo de User Stories - ÁgilModelo de User Stories - Ágil
Modelo de User Stories - Ágil
 
Modelo de Sprint Backlog
Modelo de Sprint BacklogModelo de Sprint Backlog
Modelo de Sprint Backlog
 
Como fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de DesenvolvimentoComo fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de Desenvolvimento
 
Gerenciamento de Portfólio de Projetos
Gerenciamento de Portfólio de ProjetosGerenciamento de Portfólio de Projetos
Gerenciamento de Portfólio de Projetos
 
Modelo - Termo de abertura de projeto
 Modelo  - Termo de abertura de projeto   Modelo  - Termo de abertura de projeto
Modelo - Termo de abertura de projeto
 
Modelo de Roadmap de Produto
Modelo de Roadmap de ProdutoModelo de Roadmap de Produto
Modelo de Roadmap de Produto
 
Modelo de backlog de sprint - Scrum
Modelo de backlog de sprint - ScrumModelo de backlog de sprint - Scrum
Modelo de backlog de sprint - Scrum
 
Gráfico de produtividade Time de desenvolvimento - modelo
Gráfico de produtividade   Time de desenvolvimento - modeloGráfico de produtividade   Time de desenvolvimento - modelo
Gráfico de produtividade Time de desenvolvimento - modelo
 
Modelo Roadmap de produto - template
Modelo Roadmap de produto - templateModelo Roadmap de produto - template
Modelo Roadmap de produto - template
 
EAP - Estrutura analítica de projetos
EAP -  Estrutura analítica de projetosEAP -  Estrutura analítica de projetos
EAP - Estrutura analítica de projetos
 
Toc aplicada a gestão de projetos
Toc aplicada a gestão de projetosToc aplicada a gestão de projetos
Toc aplicada a gestão de projetos
 
Colocando o Scrum em prática
Colocando o Scrum em práticaColocando o Scrum em prática
Colocando o Scrum em prática
 
Visão do Produto no Scrum
Visão do Produto no ScrumVisão do Produto no Scrum
Visão do Produto no Scrum
 
PMO - Project Management Office
PMO - Project Management OfficePMO - Project Management Office
PMO - Project Management Office
 
Gestão de Projetos Hibrida
Gestão de Projetos HibridaGestão de Projetos Hibrida
Gestão de Projetos Hibrida
 
Framework Scrum
Framework   ScrumFramework   Scrum
Framework Scrum
 
Framework PMO
Framework  PMOFramework  PMO
Framework PMO
 
Fluxograma processo - desenvolvimento de software
Fluxograma   processo - desenvolvimento de softwareFluxograma   processo - desenvolvimento de software
Fluxograma processo - desenvolvimento de software
 
Escalabilidade do Scrum
Escalabilidade do ScrumEscalabilidade do Scrum
Escalabilidade do Scrum
 

Metodologia de Desenvolvimento de Softwares

  • 1.
  • 3.  Focado no desenvolvimento rápido da aplicação;  Desenvolvimento iterativo e incremental que enfatiza o envolvimento constante do usuário;  Objetivo é entregar softwares no tempo certo e com custos estimados, através de controles e ajustes nos requisitos ao longo do desenvolvimento da aplicação;  Usar métodos ágeis na condução desses projetos; Metodologia de desenvolvimento de Software
  • 4. Envolvimento: o envolvimento do usuário é o ponto principal para a eficiência e eficácia do projeto. Onde usuários e desenvolvedores discutem as necessidades e soluções com objetivos de tomar decisões com mais assertividade; Autonomia: o time deve estar empenhado em tomar decisões que sejam importantes para o progresso do projeto sem que necessitem de aprovação dos superiores; Princípios utilizados no desenvolvimento de Software
  • 5. Entregas: O foco na entrega frequente de produtos, assumindo que entregar algo bom, logo é melhor que entregar algo perfeito somente no fim. Iniciando a entrega do produto desde o inicio do projeto, o produto pode ser testado e revisado e a evidência de teste e revisão da documentação podem ser utilizadas na próxima iteração ou fase; Eficácia: O critério principal para ser considerado entregável é entregar um sistema que demonstre atender as necessidades e requisitos atuais do negócio ; Princípios utilizados no desenvolvimento de Software
  • 6. Feedback: O desenvolvimento é iterativo e incremental controlado por feedbacks de usuários, a fim de tornar a solução eficaz ao negócio; Reversibilidade: Todas as alterações feitas no desenvolvimento são reversíveis; Comunicação: É necessário excelente comunicação e cooperação de todos os envolvidos para obter maior eficácia e eficiência no projeto; Princípios utilizados no desenvolvimento de Software
  • 7. Timeboxing: Realizar o desenvolvimento no prazo estimado, além de manter o custo e qualidade desejados. O principal objetivo é dividir o projetos em partes ou módulos, cada um com seu orçamento e prazo estimado. Para cada parte do projeto um numero x de requisitos é selecionado e priorizados de acordo com a técnica MOSCOW, devido ao custo e tempo serem fixos, a variável se torna os requisitos, por isso conforme o tempo vai se esgotando os requisitos de baixa prioridades poderão ser entregues na próxima iteração, seguindo o principio de Pareto onde 80% das funcionalidades do sistema vem de 20% dos requisitos mais importantes implementados; Principais técnicas utilizadas
  • 8. Priorização de Entregas MoSCoW Must Have (DeveTer) – imprescindível. Should Have (Deveria Ter)– importante. Could Have (Poderia Ter) – bom ter. Won’t Have for Now (Não Terá por Enquanto) – não geram valor de negócios.
  • 9. Prototipagem: Criação de protótipos em estágios iniciais do projeto, permite descobrir falhas rapidamente na aplicação e validar a experiência do usuário sendo um test-drive, o que vem a ser uma ótima maneira de envolver o usuário, sendo um fator chave na metodologia de desenvolvimento; Gerenciamento de configuração: Uma vez que existe mais de uma coisa para controlar ao mesmo tempo durante o processo de desenvolvimento, os produtos são entregues frequentemente num tempo muito rápido, então os produtos devem ser bem controlados na suas versões, no mercado existe ferramentas aplicadas para esse controle; Principais técnicas utilizadas
  • 10. Desenvolvimento orientado a testes: é um método que começa com um desenvolvedor criando um teste para um requisito que ele precisa criar, o desenvolvedor então executa o teste que deve falhar no primeiro momento porque o requisito ainda não existe. O desenvolvedor realiza o desenvolvimento até que o teste seja concluído com sucesso e então refatora o código, assim saberemos que o requisito funciona corretamente; Integração contínua: É uma abordagem que mantém o código de todos integrados e constrói estruturas de implementação juntamente com o resto da aplicação, ajuda a garantir a qualidade evitando conflitos na base regular, a integração continua é essencial para testes automatizados; Principais técnicas utilizadas
  • 11. Refatoração: É o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo. O uso dessa técnica aprimora a concepção de um software e evita a deterioração tão comum durante o ciclo de vida de um código, que geralmente é causada por mudanças com objetivos de curto prazo ou alterações sem a clara compreensão do sistema. A refatoração ajuda a melhorar no entendimento do código o que facilita a manutenção e evita a inclusão de defeitos, é fundamental que o software possua testes automatizados para realizar a refatoração, assim será possível garantir que o comportamento externo não foi alterado; Principais técnicas utilizadas
  • 12. Bus factor ( Fator ônibus): Você perde um dos seus membros do time do projeto por qualquer motivo, você não é capaz de continuar o projeto, porque ninguém mais tem conhecimento e informações chave do projeto. Bus factor é um fator de perda de numero mínimo de desenvolvedores que você pode perder, antes de perder a capacidade de continuar o projeto mesmo adicionando novos devs. Maximizar a transparência, melhorar a comunicação com reuniões diárias, documentar processos e requisitos, ter sistemas de gerenciamento de configuração, praticar a copropriedade do código, ter planos de férias e sucessão são muito úteis para o fluxo natural do projeto, porque os membros podem sair do projeto a qualquer momento; Principais técnicas utilizadas