SCRUM: vale a pena curvar-se para o mundo em mudança?

Scrum - uma metodologia flexível de trabalho em equipe. Hoje é muito popular e é usado em muitas grandes empresas. Neste artigo, descobriremos quando e sob que circunstâncias a técnica surgiu, em que princípios básicos sua implementação se baseia, o que é importante considerar ao trabalhar e muito mais.



imagem


História do Scrum



Nas origens do desenvolvimento do desenvolvimento de software, havia uma abordagem em cascata para o trabalho, que era usada pela maioria das equipes e dividia a implementação do produto nas seguintes etapas:



  • definição dos requisitos do projeto;
  • planejar operações do início ao fim;
  • escrever código;
  • teste.


Ou seja, o cliente veio, descreveu a tarefa, a equipe planejou a implementação e começou a trabalhar, seguindo os termos de referência estabelecidos. Após o desenvolvimento, o produto foi testado e, se algo não funcionasse, era necessário corrigir grandes quantidades de código, como resultado do tempo estendido.



Por isso, eles trabalharam ano a ano, enquanto uma equipe de inovadores assistia por muito tempo a equipes de sucesso: aquelas que conseguiam cumprir prazos e criar um produto de qualidade. Como resultado, eles perceberam que o sucesso está na flexibilidade do processo.



Com base nas conclusões tiradas dos resultados de longas observações, o "Manifesto para o Desenvolvimento Ágil de Software" foi derivado. Inclui quatro pontos:



  1. As pessoas são mais importantes que ferramentas.
  2. A qualidade do produto é mais importante que a documentação.
  3. A interação com o cliente é mais importante que o contrato.
  4. A disposição de mudar é mais importante que o plano estabelecido.


Esses quatro pontos mudaram fundamentalmente a abordagem do desenvolvimento de software e formaram a base do Agile. Ao longo dos anos, os entusiastas criaram 12 princípios básicos do Agile que estão na base de todas as metodologias ágeis atualmente:



  1. O principal é um bom software e um cliente satisfeito.
  2. Disposição para mudar a qualquer momento.
  3. Obter software de trabalho como resultado do desenvolvimento o mais rápido possível.
  4. Uma reunião de equipe é melhor para compartilhar informações.
  5. O cliente e a equipe de desenvolvimento devem trabalhar juntos.
  6. Confiando nas pessoas para fazerem o seu trabalho.
  7. Há software funcionando - há progresso.
  8. Processos flexíveis - desenvolvimento contínuo.
  9. A atenção à qualidade promove flexibilidade.
  10. A simplicidade do processo permite que você não faça trabalhos desnecessários.
  11. Uma equipe auto-organizada funciona melhor.
  12. Busca constante de maior eficiência.


No início dos anos 90, Jeff Sutherland e Ken Schwaber começaram a falar sobre sua própria metodologia de desenvolvimento ágil. Durante muito tempo, eles observaram os militares, forças especiais e até jogadores de rugby e chegaram à conclusão de que conseguem realizar suas tarefas graças à interação e trabalho em equipe - esses princípios formaram a base do Scrum.



Em 2001, eles detalharam os princípios de sua metodologia e publicaram o livro Agile Software Development with SCRUM. Até o momento, essa abordagem é considerada uma das mais populares entre os desenvolvedores.



Fundamentos do Scrum



A metodologia possui vários princípios básicos que ajudam a se concentrar no cliente e fornecem o resultado esperado com custos mínimos de recursos e tempo.



Princípios básicos do Scrum:



  1. (). () . .
  2. . . () .
  3. . - « » — . , . , .
  4. . Scrum-team — , .




Equipe Scrum



Na maioria dos casos, uma equipe do Scrum é composta por 5-9 pessoas, com menos frequência 3-4. No Scrum, a equipe não pode ser maior, porque a interação entre cada link se torna mais complicada, o que afeta negativamente a eficiência do trabalho.

Composição



Existem três funções principais em uma equipe:



  1. Proprietário do produto
  2. Scrum Master.
  3. Desenvolvedores (equipe de entrega).


Vamos considerar todos os papéis em mais detalhes.



Proprietário do produto



O proprietário é a pessoa responsável pelo desenvolvimento. Esse papel é desempenhado pelo cliente do produto ou por seu representante oficial. Em casos raros, um representante do mercado, onde o projeto planejado é posteriormente implementado.



O proprietário é responsável por elaborar um plano de negócios que reflita o impacto econômico esperado. Ele também define um plano de desenvolvimento, no qual a taxa de retorno dos investimentos é calculada para cada item. Outro documento importante, cuja formação o proprietário está envolvido, é uma lista de requisitos, eles são classificados por importância.



Simplificando, o proprietário do produto é o centro de decisão da equipe do projeto. Ele deve ser o único no projeto, caso contrário, o princípio de tomar decisões importantes rapidamente é violado.



Uma lista aproximada de responsabilidades do proprietário:



  • ;
  • ( );
  • ;
  • ;
  • ;
  • .


-



O Scrum Master é responsável por aderir à metodologia Scrum em seu trabalho: ele controla a iniciativa e a independência de todos os membros da equipe, a satisfação com os resultados obtidos, a atmosfera na equipe e os resultados do trabalho em geral.



Além disso, é importante entender que o Scrum Master não é apenas uma pessoa isolada que assiste o desenvolvimento de fora. Ele é membro da equipe e deve, juntamente com o controle, participar diretamente da implementação técnica do produto.



O Scrum Master é responsável pela interação de todos os membros da equipe, mantendo um alto nível de desempenho, eliminando problemas e aderindo ao cronograma de trabalho planejado.



Uma lista de amostra das responsabilidades de um Scrum Master:



  • criando uma atmosfera confiante;
  • participação em assembléias gerais e garantir a comunicação bem-sucedida dos participantes;
  • ;
  • ;
  • .




Os desenvolvedores são os responsáveis ​​pela implementação técnica do produto. Como regra, existem 5 a 9 desenvolvedores por equipe. A primeira tarefa é definir metas realisticamente realizáveis, previsíveis, interessantes e significativas para cada sprint.



A segunda tarefa é atingir os objetivos de cada sprint em tempo hábil (prazo). Atingir a meta é um conceito extensível e é determinado individualmente em cada projeto. Por exemplo, em algum lugar a tarefa é considerada concluída após a gravação de todos os códigos e em outro lugar eles adicionam o final do teste. Em geral, todos são guiados por sua própria visão e experiência.



As principais habilidades da equipe de desenvolvimento são planejamento, avaliação objetiva do trabalho realizado, capacidade de interagir com outros membros da equipe.



Uma lista aproximada da equipe de desenvolvimento:



  • avaliação de itens de lista de pendências de um produto;
  • desenvolvimento e entrega de produtos ao cliente;
  • rastreando seu progresso (junto com o scrum master);
  • fornecendo o resultado ao proprietário do produto.


Como a equipe Scrum funciona



Um trabalho bem-sucedido na metodologia Scrum é possível se três princípios forem observados:



  1. Auto-aperfeiçoamento contínuo . Desenvolvedores experientes dizem que melhorar o produto é impossível sem o aprimoramento de cada membro da equipe.
  2. Autonomia . Todos os funcionários devem ser responsáveis ​​não apenas pelo resultado geral e poder trabalhar em equipe, mas também por desempenhar muitas tarefas individualmente.
  3. Funcionalidade cruzada . Qualquer equipe é auto-suficiente, pois inclui especialistas com habilidades diferentes.


Processo da equipe Scrum



O trabalho da equipe que orienta a metodologia Scrum é convencionalmente dividido em várias etapas.



1. Planejando uma lista de tarefas do sprint. Todo sprint começa com o planejamento. Todos os membros da equipe se reúnem, avaliam a lista de pendências do produto como um todo e selecionam tarefas prioritárias que precisam ser executadas na iteração atual. É assim que a lista de tarefas (lista de pendências) do sprint atual é formada.



Depois disso, com base na lista de pendências, o escopo do trabalho e a duração do ciclo são especificados. Além disso, o resultado é determinado antecipadamente: o que deve ser obtido como resultado do sprint.



2. Realizar reuniões regulares. Diariamente ou semanalmente, a equipe realiza breves reuniões (não mais que 15 a 30 minutos). Eles envolvem o proprietário do produto, o scrum master e todos os desenvolvedores. O objetivo das reuniões é obter respostas de todos para três perguntas:



  1. ?
  2. ?
  3. ?


O Scrum-master durante a reunião identifica os problemas atuais e ajuda a equipe a resolvê-los.



3. Organização do quadro Scrum. Na sala de conferências, onde são realizadas reuniões regulares, é pendurado um quadro, dividido em três partes: “o que precisa ser feito”, “no trabalho” e “pronto”.



Em cada parte, adesivos de cores diferentes são colocados com as principais tarefas. À medida que progridem, passam de uma parte para outra. Isso ajuda cada membro da equipe a acompanhar o progresso do sprint atual.



4. Alteração de planos durante a iteração. A equipe deve estar aberta e, se um especialista não tiver tempo para cumprir o prazo, ele informa o proprietário do produto. Ele mudará a atribuição de tarefas, otimizará o horário de trabalho e ajudará a cumprir os prazos.



O mesmo é feito quando se trabalha muito rápido, quando as tarefas são concluídas mais rapidamente do que o planejado. O gerente complementa a lista de pendências com novas metas, a seu critério, para que a venda do produto prossiga mais rapidamente.



5. Resumindo. Após a conclusão de cada sprint, o software concluído é testado. Potenciais consumidores também participam (grupo focal). O proprietário coleta feedback e toma decisões para um trabalho bem-sucedido no futuro.



Artefatos Scrum



Os projetos Scrum incluem três documentos importantes, também chamados de artefatos:



  1. Lista de pendências do produto.
  2. Backlog da Sprint.
  3. Gráfico de sprint (gráfico de burndown).


Cada um deles tem certos recursos, sobre os quais falaremos abaixo.



Revista de produtos



O proprietário prepara a revista do produto no início. Um documento (artefato) inclui requisitos classificados por importância. Os desenvolvedores complementam a versão principal: eles estimam o custo da implementação de cada requisito.



O backlog do produto deve incluir não apenas os aspectos técnicos necessários para a implementação, mas também os funcionais. Para cada requisito, a prioridade é determinada (por exemplo, de 1 a 5). A prioridade mais alta é descrita em detalhes para que a equipe possa avaliá-los e testá-los.



O Dono do Produto é obrigado não apenas a preparar um registro do produto, mas também a enviá-lo dentro do prazo acordado. Caso contrário, a implementação oportuna do projeto é impossível.



Revista Sprint



Como você se lembra, dentro da estrutura da metodologia Scrum, o produto é implementado em pequenas iterações. Normalmente, um sprint é um recurso. Para um trabalho eficaz, ele é dividido em pequenas tarefas, para que a implementação não leve mais que dois a três dias úteis.



Um detalhamento competente de funções em tarefas permite, no final da iteração, concluir tudo o que é necessário para que um determinado software funcione corretamente e seja de valor para o usuário final.



Depois que o backlog do sprint é concluído, ele é avaliado pela equipe de desenvolvimento e comparado com o log do produto. Se houver desvios significativos, a equipe determinará as tarefas mais prioritárias no sprint atual e as menos importantes que podem ser transferidas para a próxima iteração.



A tarefa do proprietário do produto é excluir tarefas pequenas e insignificantes da lista de pendências, cuja implementação não afetará o resultado final do trabalho.



Gráfico de sprint



Um agendamento de sprint é um calendário de tarefas agendadas para trabalhar na iteração atual. Ele exibe a quantidade de trabalho restante até o final do sprint. A equipe avalia regularmente o cronograma e, se necessário, responde rapidamente a quaisquer alterações.



O proprietário do produto presta atenção especial ao calendário. Avalia a velocidade do trabalho e o cumprimento dos prazos. Por exemplo, se a quantidade de trabalho não diminuir com o tempo, isso significa que existem alguns desvios no processo e é necessária a correção urgente das ações da equipe.



Como implementar corretamente a metodologia Scrum



Para melhorar a eficiência da equipe, é necessária a correta implementação da metodologia Scrum. Erros não podem apenas mudar nada, mas também afetar negativamente a produtividade.



Se você decidir fazer alterações, execute a implementação em etapas:



  1. Monte a equipe . A principal etapa da qual depende o sucesso do produto no futuro. Escolha profissionais qualificados com experiência prática em seu campo. Não se apresse e lembre-se: formar uma equipe multifuncional não é uma tarefa fácil.
  2. Designe um proprietário do produto . Atribua essa função ao cliente ou seu representante. É importante que uma pessoa tenha experiência nessa direção, pois a interação dentro da equipe e entre o cliente depende dele.
  3. -. , . , .
  4. . . , . . - , .
  5. . . . , .
  6. Analise e avalie os resultados . Analise e meça os resultados após o término de cada sprint. Somente prossiga para o próximo estágio de desenvolvimento quando estiver totalmente satisfeito com os resultados do anterior.


Essas seis etapas melhorarão a eficiência de toda a sua equipe. Mas eles parecem simples apenas à primeira vista. De fato, levará muito tempo para estabilizar o trabalho sob as novas regras.



Alguém da equipe de inovação pode não gostar. É natural quando as pessoas se opõem a algo novo. Sua tarefa é transmitir a cada membro da equipe os benefícios da nova metodologia.



Resumir



Scrum é uma metodologia de desenvolvimento ágil e ágil. Seu desenvolvimento foi iniciado nos anos 90 do século passado e começou a ganhar grande popularidade no início dos anos 2000. Até o momento, o scrum é usado por muitas equipes cujas atividades estão intimamente relacionadas aos projetos.



O Scrum pode ser implementado em sua empresa em 6 etapas, mas você deve abordar cuidadosamente a organização do processo. A metodologia não requer conhecimento especial dos funcionários, aqui é mais uma questão de organizar e construir corretamente o horário de trabalho.



Ao mesmo tempo, não se esqueça que o Scrum não é uma pílula mágica, se você tiver uma quebra constante de prazos, uma atmosfera ruim dentro da equipe, a introdução de novas tecnologias não resolverá todos os problemas. Portanto, inicialmente estabeleça comunicação dentro da equipe, desenvolva um trabalho eficaz e implemente o scrum para aumentar a produtividade.



Você pode aprender ainda mais sobre as metodologias de eficácia da equipe ao se inscrever no nosso curso on-line de seis meses "Profissão: Produto"! Saber mais!




All Articles