O ciclo de vida de desenvolvimento de software, também conhecido como SDLC, é um processo em fases ou metodologia para desenvolver software. Para atingir o objetivo exigido, muitas metodologias SDLC foram desenvolvidas. Cada metodologia ou modelo possui seu próprio conjunto de regras para atingir um objetivo. Ambos os modelos têm suas conveniências e desvantagens. Portanto, é essencial usar a metodologia certa para desenvolver um produto de software.

Existem muitos modelos de desenvolvimento de software, mas os dois a seguir são as abordagens mais populares:

Ambos os métodos são adequados para equipes de pequeno e médio porte. Cada metodologia possui abordagens diferentes para atingir o objetivo. A cascata é um método linear e sequencial, enquanto o Agile é uma abordagem mais progressiva e iterativa.

Então, o que é ‘scrum’?

Scrum é um framework que ajuda a desenvolver um produto em equipe. É um processo contínuo de aprendizagem, melhoria e ajuste devido à sua abordagem heurística. Uma equipe scrum aprende e melhora conforme o projeto avança – é uma estrutura baseada em agile. A diferença entre o scrum e o ágil é que o scrum é uma abordagem mais rápida e flexível. Comparado ao Agile, o scrum aceita e reage às mudanças rapidamente.

O manifesto ágil

Quase 20 anos atrás, 17 desenvolvedores de software se reuniram em Snowbird, Utah, para propor uma nova maneira de desenvolver software “fazendo e ajudando outros a fazer”. Por meio desse trabalho, os signatários do Manifesto entenderam o quanto esses princípios os ajudariam no campo de desenvolvimento de software – mas não tinham ideia de quão rapidamente suas ideias se espalhariam além de seu setor. Os valores que os criadores do Manifesto citaram como primordiais foram:

  • Indivíduos e interações sobre processos e ferramentas
  • Software que trabalha sobre uma documentação completa
  • Colaboração do cliente na negociação do contrato
  • Respondendo à mudança seguindo um plano

Desde aquela época, o documento original tem sido usado por grupos tão díspares como programadores de tropas de escoteiros, de departamentos de marketing a restaurantes. Sua universalidade é derivada de um grupo de princípios que podem ser amplamente aplicados, facilmente aprendidos e raramente dominados completamente. Antes de se espalhar para todos os cantos do globo, aqui estão os princípios-chave para o desenvolvimento incremental que tornaram o Agile o que ele é hoje:

  • Nossa maior prioridade é satisfazer o cliente por meio da entrega antecipada e contínua de software valioso.
  • Bem-vindo a mudanças de requisitos, mesmo no final do desenvolvimento. Os processos ágeis aproveitam a mudança para a vantagem competitiva do cliente.
  • Entregue software funcional com freqüência, de algumas semanas a alguns meses, com preferência para a escala de tempo mais curta.
  • Empresários e desenvolvedores devem trabalhar juntos diariamente ao longo do projeto.
  • Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte de que precisam e confie neles para fazer o trabalho.
  • O método mais eficiente e eficaz de transmitir informações para e dentro de uma equipe de desenvolvimento é a conversa face a face.
  • O software funcional é a principal medida de progresso.
  • Processos ágeis promovem o desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.
  • A atenção contínua à excelência técnica e ao bom design aumenta a agilidade.
  • Simplicidade – a arte de maximizar a quantidade de trabalho não realizado – é essencial.
  • As melhores arquiteturas, requisitos e designs surgem de equipes auto-organizadas.
  • Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e, em seguida, sintoniza e ajusta seu comportamento de acordo.

O texto acima é um extrato de O Manifesto Ágil.

Funções no scrum

Existem três funções principais na estrutura do scrum que estão localizadas no mesmo lugar para resultados ideais e melhor comunicação com as equipes de desenvolvimento. Estes são os seguintes:

  • Proprietário do produto
  • Time Scrum
  • Scrum Master

Proprietário do produto

Todos os clientes e partes interessadas são tratados pelo product owner. O product owner conduz as pendências e prioriza o trabalho para maximizar a eficiência do projeto. É responsabilidade do product owner enfatizar o lado comercial do produto e permanecer em contato com os clientes e a equipe scrum.

Esta função é mais sobre comunicação, o product owner atua como um proxy entre a equipe de desenvolvimento e as partes interessadas e se comunica entre si e transmite mensagens em termos técnicos. A seguir estão algumas tarefas que um proprietário do produto executa:

  • Comunicar e gerenciar as partes interessadas
  • Informar as partes interessadas sobre o RIDA
  • Gerenciar as pendências
  • Receba informações e priorize / programe o trabalho
  • Acompanhe o progresso
  • Anunciar entregas

O product owner também tem que ver os interesses das partes interessadas, cooperar com a equipe e cumprir os requisitos de forma eficaz.

Time Scrum

Uma equipe de desenvolvimento nem sempre precisa ser uma equipe de desenvolvedores de software, mas, em vez disso, pode consistir de pesquisadores, designers, cientistas de dados e desenvolvedores. A equipe de desenvolvimento deve ser auto-organizada e lidar com suas próprias decisões. Os membros da equipe também podem interagir diretamente com as partes interessadas ou clientes para uma melhor compreensão do requisito.

Scrum Master

Scrum master auxilia a equipe de desenvolvimento; este papel também é denominado como líder-servo. Um scrum master remove qualquer obstáculo no processo de desenvolvimento e garante que as regras da estrutura sejam seguidas. Eles também lideram o scrum e ajudam o product owner na definição de objetivos. O scrum master tem as seguintes funções principais:

  • Auxiliar equipes de desenvolvimento
  • Servir ao product owner para definir metas
  • Remover qualquer obstáculo que impeça o progresso do desenvolvimento
  • Incentivar a auto-organização dentro da equipe

Um scrum master também auxilia a organização e a equipe a assumir o empirismo e desistir da previsibilidade.

Artefatos Scrum

Artefato significa uma obra de arte. Portanto, um artefato é um objeto que criamos, por exemplo, um produto ou dispositivo para resolver um problema. Existem três artefatos principais que o scrum define:

  • Backlog do produto
  • Sprint backlog
  • Incremento

Backlog do produto

As pendências do produto são os requisitos das partes interessadas. O product owner supervisiona e gerencia os backlogs do produto. Inclui uma lista de tarefas para a equipe de desenvolvimento executar em sprints. O progresso nas pendências do produto está sempre disponível para as partes interessadas revisarem. Cada carteira tem uma descrição, hora e valor. As pendências continuam mudando de acordo com o feedback das partes interessadas.

Sprint backlog

Os backlogs do sprint vêm dos backlogs do produto como metas a serem concluídas no sprint. A equipe scrum gerencia os backlogs do sprint. A equipe Scrum também planeja e programa os backlogs do sprint.

Incremento

Incrementos múltiplos fazem um produto. Cada sprint dá uma saída de produto. O product owner decide demonstrá-lo ou não após cada sprint.

arrancada

Sprint é um período de trabalho de uma equipe scrum, geralmente composto de uma a quatro semanas. Um sprint começa com a definição de objetivos e agendamento de trabalho. Esses objetivos ou tarefas também são chamados de ‘sprint backlogs.’ O Scrum enfatiza a entrega de resultados úteis no final do sprint. Cada sprint consiste no seguinte fluxo de trabalho:

  • Planejamento de Sprint
  • Scrum diário
  • Revisão de sprint
  • Retrospectiva Sprint

Após cada sprint, o product owner decide quando entregar o produto. O produto final pode levar mais de um sprint.

Planejamento de Sprint

Cada sprint começa com um planejamento. No planejamento do sprint, a equipe scrum define e lista os backlogs. Backlogs são os objetivos que um scrum deve cumprir. O agendamento dessas tarefas também é feito no planejamento do sprint. Os backlogs devem ser atualizados diariamente por cada membro da equipe. A equipe tenta o seu melhor para completar seus sprint backlogs, mas não é rigidamente necessário cumprir todas as tarefas planejadas backlogs podem ser adicionados no próximo sprint.

Scrum diário

As equipes Scrum se reúnem diariamente para uma reunião de 15 minutos, onde atualizam seus backlogs e planejam o trabalho para o dia seguinte. Os membros da equipe de desenvolvimento também compartilham os impedimentos do backlog. Portanto, a seguir estão algumas coisas que a equipe de scrum faz em um scrum diário:

  • Inspecione o progresso e a contribuição de cada membro
  • Identificar impedimentos
  • Planeje as próximas 24 horas

O scrum master garante que a equipe de desenvolvimento se reúna diariamente, mas ainda assim, cabe inteiramente à equipe de desenvolvimento realizar uma reunião.

Cada sprint termina com “Sprint Review and“ Sprint Retrospective ”. Aqui estão o que são:

Revisão de sprint

Na revisão do sprint, a equipe analisa o trabalho e identifica as tarefas não concluídas. O product owner e a equipe scrum também realizam uma reunião com as partes interessadas, demonstram seu trabalho e planejam o que trabalhar a seguir. As partes interessadas dão seu feedback e, em seguida, o product owner apresenta novos objetivos para a equipe scrum para o próximo sprint. É importante notar que trabalhos incompletos não devem ser apresentados.

Retrospectiva Sprint

Antes do próximo planejamento de sprint a equipe inspeciona seu desempenho e pondera quais melhorias podem ser feitas para aumentar a produtividade. O Scrum Master garante que todos os membros presentes ao evento reconheçam sua importância e propósito.

Conclusão

Scrum é um framework projetado para equipes para produzir um produto. É uma estrutura iterativa e heurística. O projeto avança com base em fatos ao invés de previsibilidade. Três funções principais controlam todo o processo do início ao fim. O product owner gerencia o backlog e se comunica com o stakeholder. A equipe scrum deve apresentar o progresso após cada sprint. Depois de obter feedback dos stakeholders, a equipe e o product owner revisam o sprint e fazem um retrospecto. O planejamento do próximo sprint começa depois disso e o processo continua até que o stakeholder finalize o produto.


Esta artigo foi publicado originalmente em Transmissão de código ao vivo por Juan Cruz Martinez (Twitter: @bajcmartinez), fundador e editor do Live Code Stream, empresário, desenvolvedor, autor, palestrante e realizador.

Transmissão de código ao vivo também está disponível como um boletim informativo semanal gratuito. Inscreva-se para receber atualizações sobre tudo relacionado a programação, IA e ciência da computação em geral.

Publicado em 13 de outubro de 2020 – 06:30 UTC



Fonte: thenextweb.com

Deixe uma resposta