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:
- As pessoas são mais importantes que ferramentas.
- A qualidade do produto é mais importante que a documentação.
- A interação com o cliente é mais importante que o contrato.
- 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:
- O principal é um bom software e um cliente satisfeito.
- Disposição para mudar a qualquer momento.
- Obter software de trabalho como resultado do desenvolvimento o mais rápido possível.
- Uma reunião de equipe é melhor para compartilhar informações.
- O cliente e a equipe de desenvolvimento devem trabalhar juntos.
- Confiando nas pessoas para fazerem o seu trabalho.
- Há software funcionando - há progresso.
- Processos flexíveis - desenvolvimento contínuo.
- A atenção à qualidade promove flexibilidade.
- A simplicidade do processo permite que você não faça trabalhos desnecessários.
- Uma equipe auto-organizada funciona melhor.
- 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:
- (). () . .
- . . () .
- . - « » — . , . , .
- . 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:
- Proprietário do produto
- Scrum Master.
- 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:
- Auto-aperfeiçoamento contínuo . Desenvolvedores experientes dizem que melhorar o produto é impossível sem o aprimoramento de cada membro da equipe.
- 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.
- 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:
- ?
- ?
- ?
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:
- Lista de pendências do produto.
- Backlog da Sprint.
- 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:
- 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.
- 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.
- -. , . , .
- . . , . . - , .
- . . . , .
- 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.