Processos de Desenvolvimento de Software

시작하기. 무료입니다
또는 회원 가입 e메일 주소
Processos de Desenvolvimento de Software 저자: Mind Map: Processos de Desenvolvimento de Software

1. Métodos Ágeis

1.1. Extreme Programming (XP)

1.1.1. Características

1.1.1.1. Foco na qualidade do software, ciclos curtos e iterativos, menor ênfase em documentação extensa e design incremental

1.1.2. Práticas-Chave

1.1.2.1. Programação em Par

1.1.2.1.1. Dois desenvolvedores trabalham juntos no mesmo código, promovendo revisão contínua e compartilhamento de conhecimento

1.1.2.2. Desenvolvimento Orientado a Testes (TDD)

1.1.2.2.1. Escrita de testes antes da implementação para garantir que o código atenda aos requisitos

1.1.2.3. Integração Contínua

1.1.2.3.1. Integração frequente do código para detectar e corrigir erros rapidamente

1.1.2.4. Refatoração Contínua

1.1.2.4.1. Melhoria constante do código para mantê-lo limpo e eficiente

1.2. Scrum

1.2.1. Características

1.2.1.1. Organiza o trabalho em ciclos curtos chamados sprints, promovendo entregas incrementais de valor

1.2.2. Papéis

1.2.2.1. Product Owner

1.2.2.1.1. Responsável por maximizar o valor do produto e gerenciar o backlog

1.2.2.2. Scrum Master

1.2.2.2.1. Garante que o Scrum seja compreendido e seguido, removendo impedimentos

1.2.2.3. Equipe de Desenvolvimento

1.2.2.3.1. Profissionais responsáveis por entregar incrementos funcionais do produto

1.2.3. Eventos Principais

1.2.3.1. Sprint Planning

1.2.3.1.1. Planejamento do trabalho a ser realizado na próxima sprint

1.2.3.2. Daily Scrum

1.2.3.2.1. Reunião diária para sincronizar atividades e identificar obstáculos

1.2.3.3. Sprint Review

1.2.3.3.1. Apresentação do que foi desenvolvido durante a sprint para as partes interessadas

1.2.3.4. Sprint Retrospective

1.2.3.4.1. Reflexão sobre o processo e identificação de melhorias para sprints futuras

1.2.4. Artefatos

1.2.4.1. Product Backlog

1.2.4.1.1. Lista ordenada de tudo o que é necessário no produto

1.2.4.2. Sprint Backlog

1.2.4.2.1. Conjunto de itens selecionados do Product Backlog para serem trabalhados na sprint atual

1.2.4.3. Incremento

1.2.4.3.1. Versão funcional do produto resultante da sprint

1.3. Kanban

1.3.1. Princípios Básicos

1.3.1.1. Visualizar o Trabalho

1.3.1.1.1. Representação clara das tarefas e seu status atual

1.3.1.2. Limitar o Trabalho em Progresso (WIP)

1.3.1.2.1. Restrição do número de tarefas em andamento para melhorar o foco e a eficiência

1.3.1.3. Gerenciar o Fluxo

1.3.1.3.1. Monitoramento contínuo do progresso das tarefas para garantir um fluxo suave

1.3.1.4. Políticas Explícitas

1.3.1.4.1. Regras claras para a movimentação de tarefas entre as etapas

1.3.1.5. Feedback em Loop

1.3.1.5.1. Reuniões regulares para avaliar o desempenho e implementar melhorias

1.3.1.6. Melhoria Contínua

1.3.1.6.1. Busca constante por oportunidades de otimização do processo

2. Importância de Processos de Software

2.1. Definição

2.1.1. Um processo de desenvolvimento de software é um conjunto de passos, tarefas, eventos e práticas seguidos por desenvolvedores na produção de um sistema

2.2. Relevância

2.2.1. Em projetos modernos, que envolvem equipes, a adoção de processos é essencial para coordenar, motivar, organizar e avaliar o trabalho dos desenvolvedores, garantindo produtividade e alinhamento com os objetivos da organização

3. Manifesto Ágil

3.1. Contexto Histórico

3.1.1. Os primeiros processos de desenvolvimento, como o modelo Waterfall, eram sequenciais e rígidos, inspirados em práticas da engenharia tradicional

3.2. Surgimento do Ágil

3.2.1. Em resposta às limitações dos modelos tradicionais, surgiu o Manifesto Ágil, enfatizando flexibilidade, colaboração e resposta rápida a mudanças

3.3. Princípios Fundamentais

3.3.1. Indivíduos e interações mais que processos e ferramentas

3.3.2. Software em funcionamento mais que documentação abrangente

3.3.3. Colaboração com o cliente mais que negociação de contratos

3.3.4. Responder a mudanças mais que seguir um plano

4. Quando Métodos Ágeis Não São Recomendados

4.1. Projetos com Requisitos Estáveis

4.1.1. Em situações onde os requisitos são bem definidos e pouco sujeitos a mudanças, métodos tradicionais podem ser mais adequados

4.2. Ambientes Regulamentados

4.2.1. Setores que exigem extensa documentação e conformidade podem enfrentar desafios na adoção de métodos ágeis

4.3. Equipes Inexperientes

4.3.1. Times sem experiência em metodologias ágeis podem necessitar de treinamento e adaptação gradual

5. Processos Tradicionais

5.1. Processo Unificado (UP)

5.1.1. Características

5.1.1.1. Processo iterativo e incremental, com ênfase em arquitetura robusta e documentação abrangente

5.1.2. Fases

5.1.2.1. Concepção

5.1.2.1.1. Definição do escopo e dos objetivos do projeto

5.1.2.2. Elaboração

5.1.2.2.1. Análise dos requisitos e arquitetura do sistema

5.1.2.3. Construção

5.1.2.3.1. Desenvolvimento e implementação do sistema

5.1.2.4. Transição

5.1.2.4.1. Entrega do sistema aos usuários finais e correção de possíveis defeitos