Pular para o conteúdo

Ciclo de vida e métodos ágeis

Prioridade Alta 20 min de leitura Status: Não visto Lido Praticado Dominado

Do zero

Há dois jeitos de fazer uma viagem.

  • Com roteiro fechado: você decide tudo antes (cidades, hotéis, passeios) e segue o plano. Funciona bem quando você conhece o destino e nada vai mudar. Em software, isso é a abordagem preditiva, cujo exemplo clássico é o modelo cascata: requisitos, projeto, código, testes e implantação, uma fase depois da outra.
  • Com roteiro aberto: você define o destino e o primeiro trecho, e ajusta o resto conforme o que encontra. Funciona quando há incerteza. Em software, é a abordagem adaptativa ou ágil: entregas pequenas e frequentes, com o usuário avaliando cada uma e o plano mudando a partir disso.

O Scrum é a forma mais popular de trabalhar de modo ágil: ciclos curtos chamados Sprints, de até um mês, cada um terminando com algo pronto. O Kanban é um quadro que mostra o fluxo do trabalho e limita quanta coisa fica pela metade ao mesmo tempo. O XP é um conjunto de práticas de programação (programar em dupla, testar antes de codificar). O Lean é a filosofia de eliminar desperdício, herdada da indústria automobilística.

Frase para guardar: preditivo planeja tudo antes; ágil entrega em pedaços e aprende com cada entrega.

Em 1 minuto

  • Abordagens de ciclo de vida: preditiva (escopo definido no início), iterativa (refina o produto em ciclos), incremental (entrega partes prontas em sequência), adaptativa ou ágil (iterativa e incremental, com feedback frequente) e híbrida (combina abordagens: por exemplo, contrato, orçamento e infraestrutura planejados de forma preditiva, e as telas construídas em Sprints).
  • Manifesto Ágil (2001): indivíduos e interações, software em funcionamento, colaboração com o cliente e responder a mudanças valem mais que processos e ferramentas, documentação abrangente, negociação de contratos e seguir um plano.
  • Scrum: responsabilidades Product Owner, Scrum Master e Developers; eventos Sprint, Sprint Planning, Daily Scrum, Sprint Review e Sprint Retrospective; artefatos Product Backlog, Sprint Backlog e Incremento.
  • Kanban: visualizar o fluxo, limitar o trabalho em andamento (WIP) e gerenciar o fluxo.
  • XP: programação em par, desenvolvimento guiado por testes (TDD), integração contínua, refatoração, design simples e entregas pequenas.

O que é engenharia de software

É aplicar método de engenharia à construção de software: um processo definido, com requisitos, projeto, construção, testes e manutenção, sob controle de custo, prazo e qualidade. As atividades fundamentais de qualquer processo são especificação (o que o sistema deve fazer), desenvolvimento (projetar e programar), validação (conferir se atende ao usuário) e evolução (mudar com as necessidades). Exemplo: em vez de cada programador fazer o sistema de protocolo do seu jeito, a equipe segue etapas, revisões e testes combinados. O ciclo de vida é a forma de organizar essas atividades no tempo, e é aí que entram as abordagens abaixo.

Exemplo concreto: o novo sistema de protocolo do Tribunal

Se fosse preditivo: seis meses levantando e documentando todos os requisitos, depois projeto, depois código. Os usuários só veriam o sistema no fim. Se o Regimento mudasse no meio do caminho, o plano inteiro seria refeito.

Com Scrum:

  1. O Product Owner (alguém da área de protocolo, com autoridade para decidir) organiza o Product Backlog: a lista ordenada do que o sistema precisa ter, com a Meta do Produto como norte.
  2. Na Sprint Planning, o time escolhe o que cabe numa Sprint de duas semanas, define a Meta da Sprint e monta o Sprint Backlog.
  3. Todo dia, na Daily Scrum (15 minutos), os Developers ajustam o plano rumo à Meta da Sprint.
  4. No fim, a Sprint Review mostra aos interessados o Incremento pronto (por exemplo, o cadastro de processos funcionando), segundo a Definição de Pronto.
  5. Na Sprint Retrospective, o time discute como melhorar a forma de trabalhar.
  6. O Scrum Master cuida de que o Scrum seja bem entendido e praticado e remove impedimentos.

Comparação: Scrum, Kanban, XP e Lean

Scrum Kanban XP Lean
O que é Framework para produtos complexos Método de gestão do fluxo Conjunto de práticas de engenharia Filosofia de eliminar desperdício
Ritmo Sprints de até um mês Fluxo contínuo, sem iterações obrigatórias Iterações curtas e releases pequenas Fluxo contínuo
Papéis Product Owner, Scrum Master, Developers Não prescreve Cliente presente, time Não prescreve
Marca registrada Eventos com duração máxima (timebox) Limite de WIP no quadro Programação em par, TDD Sete princípios (eliminar desperdício, entregar rápido…)

Eventos do Scrum e duração máxima (Guia do Scrum, 2020):

Evento Para quê Duração máxima
Sprint Contém todos os outros eventos Um mês
Sprint Planning Planejar a Sprint 8 horas (Sprint de um mês)
Daily Scrum Inspecionar o progresso rumo à Meta da Sprint 15 minutos
Sprint Review Inspecionar o Incremento com os interessados 4 horas (Sprint de um mês)
Sprint Retrospective Melhorar a forma de trabalhar 3 horas (Sprint de um mês)

Cada artefato tem um compromisso: Product Backlog → Meta do Produto; Sprint Backlog → Meta da Sprint; Incremento → Definição de Pronto.

Os outros modelos de ciclo de vida

Modelo Ideia Quando se encaixa
Cascata Fases sequenciais, cada uma termina antes da próxima Requisitos estáveis e bem conhecidos
Modelo em V Cascata em que cada fase de construção tem um teste correspondente Sistemas em que a verificação formal é crítica
Espiral Ciclos com análise de riscos em cada volta Projetos grandes e arriscados
Prototipação Construir protótipos para descobrir os requisitos Usuário não sabe explicar o que quer
Incremental Entregar o sistema em partes prontas Precisa de valor cedo, em módulos
Iterativo Refinar o sistema inteiro em versões sucessivas O produto vai amadurecendo a cada ciclo

Lean Software Development, em sete princípios: eliminar desperdícios, amplificar o aprendizado, decidir o mais tarde possível, entregar o mais rápido possível, dar autonomia à equipe, construir qualidade desde o início e ver o todo.

Como a FCC cobra

Papéis, eventos e artefatos do Scrum, com suas responsabilidades e durações. Em seguida, os valores do Manifesto Ágil e a diferença entre Scrum, Kanban e XP.

  • Quem ordena o Product Backlog (o Product Owner) e quem participa da Daily Scrum (os Developers).
  • Os quatro valores do Manifesto Ágil e o sentido de “mais que”.
  • Limite de WIP no Kanban.
  • Práticas típicas do XP.
  • Preditivo × iterativo × incremental × ágil.

Pegadinhas

  • “O Manifesto Ágil dispensa a documentação.” Falso: valoriza mais o software funcionando, mas reconhece valor nos itens da direita.
  • “O Scrum Master é o gerente do projeto e distribui as tarefas.” Falso: é líder que serve; os Developers se organizam.
  • “Quem ordena o Product Backlog é o Scrum Master.” Falso: é o Product Owner, uma pessoa, não um comitê.
  • “O Kanban exige Sprints de duração fixa.” Falso: trabalha em fluxo contínuo.
  • “Incremental e iterativo são a mesma coisa.” Falso: incremental entrega partes novas; iterativo refina o que já existe. O ágil combina os dois.
  • “A Daily Scrum é a reunião em que cada um presta contas ao Scrum Master.” Falso: é dos Developers, para ajustar o plano da Sprint.

Explique com suas palavras

Explique a um gestor a diferença entre fazer um sistema em cascata e com Scrum, e diga o papel do Product Owner.

  1. Escreva sem olhar a lição, com frases curtas e um exemplo seu.
  2. Onde travar ou precisar de jargão, há uma lacuna: releia só essa parte.
  3. Compare com a explicação-modelo e reescreva o que faltou.

Fica salva neste navegador.

Comparar com uma explicação-modelo

Em cascata, primeiro se define tudo o que o sistema vai fazer, depois se projeta, se programa e se testa, e o usuário só vê o resultado no fim. Funciona quando os requisitos não mudam, mas, se mudarem, o retrabalho é grande.

No Scrum, o sistema é construído em ciclos curtos, de até um mês, e cada ciclo termina com uma parte pronta que os usuários podem ver e comentar. O plano vai sendo ajustado a cada entrega. O Product Owner é quem representa o negócio: decide o que tem mais valor e organiza a lista do que será feito, para que o time trabalhe sempre no que é mais importante.

Teste-se

Engenharia de Software · Ciclo de vida e Scrum · Inédita, estilo FCC

Questão 1 de 3

De acordo com o Guia do Scrum (2020), a responsabilidade por ordenar os itens do Product Backlog, de modo a maximizar o valor do produto, é do

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Engenharia de Software · Ciclo de vida e Scrum · Inédita, estilo FCC

Questão 2 de 3

Um dos valores do Manifesto Ágil é “software em funcionamento mais que documentação abrangente”. Esse valor significa que

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Engenharia de Software · Ciclo de vida e Scrum · Inédita, estilo FCC

Questão 3 de 3

A equipe de sustentação de sistemas do Tribunal atende demandas que chegam de forma contínua e imprevisível. Ela adotou um quadro com as colunas “a fazer”, “em andamento”, “em teste” e “concluído”, e estabeleceu que a coluna “em andamento” não pode ter mais de quatro itens ao mesmo tempo. Essa prática é característica do

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Mais duas questões deste tópico estão em Questões.

Flashcards gerados

FrenteVerso
Eventos do Scrum Sprint (até um mês, contém os demais), Sprint Planning, Daily Scrum, Sprint Review e Sprint Retrospective.
Artefatos do Scrum e seus compromissos Product Backlog e Meta do Produto; Sprint Backlog e Meta da Sprint; Incremento e Definição de Pronto.
Duração da Daily Scrum 15 minutos, para os Developers inspecionarem o progresso rumo à Meta da Sprint.
Papel do Scrum Master Líder que serve. Garante que o Scrum seja entendido e praticado e remove impedimentos; não distribui tarefas.
Quando a abordagem preditiva se encaixa? Quando os requisitos são estáveis e bem conhecidos desde o início. Exemplo: Migrar um sistema para outro servidor, sem mudar as funções.

Ligação com o estudo de caso

Num caso sobre um sistema novo para o Tribunal, justifique a abordagem: “como os requisitos devem mudar com as novas resoluções, adota-se o Scrum, com Sprints de duas semanas e entregas validadas pela área de negócio”. Se o caso falar de contrato com fornecedor, lembre que a contratação de TI também precisa prever como as entregas parciais serão aceitas.

Fontes da lição

Claude explica

Tire dúvidas sobre este tema no Claude: o site copia o pedido com a lição e abre uma conversa nova, na sua conta. Confira na fonte qualquer fato de lei ou de norma.

Pratique fora do site

Faça questões da FCC sobre este tópico no QConcursos ou no Gran e registre aqui quantas fez: elas contam na meta da semana e no status do tópico.

Registrar questões feitas lá
Errei uma questão lá: criar flashcard