A era industrial revolucionou as técnicas de produção e elevou o nível de produtividade dos trabalhadores manuais em até 50 vezes. Durante anos o taylorismo e fordismo foram os modelos principais para gerar alta produtividade com baixos custos operacionais. Esse modelo funcionou muito bem para trabalhadores braçais, apesar de em grande parte contribuir para uma alta rotatividade de profissionais. Hoje os mesmos princípios são aplicados a profissionais do conhecimento como programadores, analistas e designers e em grande parte dos casos o velho modelo não tem dado certo.
Hoje, ao contrário da era industrial, onde os principais ativos de uma empresa eram suas máquinas e equipamentos, os ativos mais importantes de uma empresa são seus funcionários e seus conhecimentos. Os métodos usados para maximizar a produtividade desses profissionais não devem ser os mesmo usados na era industrial. O “core” do processo de gerenciamento de projetos ágeis SCRUM é baseado num modelo cooperativo onde a equipe se auto gerencia e são niveladas as várias hierarquias profissionais dentro de um contexto onde todos decidem a melhor forma de agir num determinado desafio para atingir um único objetivo: entregar ao cliente, o mais rápido possível, “features” de um sistema, devidamente testada, onde ele já possa iniciar a capitalização do seu investimento inicial.
Como no modelo da Toyota o “just in time”, o SCRUM tem como uma das principais premissas a produção de somente o necessário, sem a necessidade de grandes estoques proporcionando uma entrega ágil e no prazo que o cliente estabelece. Dessa forma é possível conduzir um projeto sem sofrer grandes dificuldades por mudanças de escopo ao longo do desenvolvimento.
O SCRUM, já está sendo utilizado no gerenciamento de projetos em alguns fabricantes de softwares e produtos de consumo, que notaram que usando equipes pequenas e multidisciplinares (cross-functional) produziu melhores resultados. Tal prática já está sendo usada em projetos do GOOGLE e YAHOO. Recentemente a metodologia recebeu um forte apoio da Microsoft. O nome foi inspirado numa jogada de Rugby. Após uma “reunião” (agrupamento em torno da bola), o objetivo é retirar os obstáculos à frente do jogador que correrá com a bola, para que possa avançar o máximo possível no campo e marcar pontos.
Os princípios básicos do SCRUM
A função primária do Scrum é ser utilizado para o gerencimanto de projetos de desenvolvimento de software. Ele tem sido usado com sucesso para isso, assim como Extreme Programming e outras metodologias de desenvolvimento. Porém, teoricamente pode ser aplicado em qualquer contexto no qual um grupo de pessoas necessitem trabalhar juntas para atingir um objetivo comum.
Outras características:
Um backlog vivo de trabalho priorizado a ser feito:
- A entrega de um conjunto fixo de itens do backlog em uma série de iterações curtas ou sprints;
- Uma breve reunião diária ou scrum, onde cada participante fala sobre o progresso conseguido, o trabalho a ser realizado e/ou o que o impede de seguir avançando;
- A entrega de um conjunto fixo de itens do backlog em uma série de iterações curtas ou sprints;
- Uma breve sessão de planejamento, na qual os itens do backlog para uma sprint (iteração) são definidos;
- Uma retrospectiva, na qual todos os membros da equipe reflitem sobre a sprint passada.
Como SCRUM pode ajudar o meu projeto web?
Nada mais “Just in Time” do que sistemas web, hotsites e seus derivados. De uma forma geral as pessoas fazem SCRUM inconscientemente. Principalmente quando se tem em mãos um projeto em crise onde é criada uma força tarefa para resgatá-lo. O SCRUM é baseado em ciclos de “sprint” onde cada “sprint” é composto por uma lista de funcionalidades definidas pelo dono do projeto (cliente) a serem entregues num determina período que é determinado pela equipe de desenvolvimento. Essas tarefas são expostas num quadro, para que fique claro a todos os envolvidos qual é o foco daquele “sprint” A cada final de “sprint” são feitas reuniões em geral de 15 minutos, para discussão em grupo de quais obstáculos foram vencidos, quais são os impeditivos e quais são as novas prioridades do cliente. O follow-up das etapas é fundamental para que não haja desvios de comunicação que podem causar atrasos na entrega do produto final. Esses ciclos contínuos garantem entregas rápidas totalmente alinhados à estratégia de negocio do cliente, pois é ele quem indica o que deve ser feito primeiro.
A maior dificuldade para implantação do processo é o impacto cultural. A equipe precisa ser muito ativa e eventuais falhas técnicas ou até mesmo de caráter ficarão claras para o grupo envolvido. Porém reconhecer a própria ignorância e romper paradigmas é o ponto de partida para o aprendizado. Os especialistas em SCRUM até sugerem que sua implementação seja feita sem uma reunião formal de iniciação.
Grandes empresas já adotaram SCRUM em seus projetos. Estatisticamente o ganho de produtividade foi de até 4X, proporcionando resultados significativos ao cliente.
A importância do SCRUM no sucesso da sua empresa.
O grande benefício do SCRUM é a definição de um “sprint”, ou seja, composto por uma lista de funcionalidades definidas pelo cliente que será entregue pela equipe de desenvolvimento no prazo exato decorrente de uma reunião inicial.
Outra decorrência é a maximização do resultado do MPI, Message Passing Interface (MPI), um padrão para comunicação de dados em computação paralela. Existem várias modalidades de computação paralela, e dependendo do problema que se está tentando resolver, pode ser necessário passar informações entre os vários, e o MPI oferece uma infraestrutura para essa tarefa.
No padrão MPI, uma aplicação é constituída por um ou mais processos que se comunicam, acionando-se funções para o envio e recebimento de mensagens entre os processos. Inicialmente, na maioria das implementações, um conjunto fixo de processos é criado. O MPI é a base para a montagem de um eficiente sistema de informações dentro da empresa.
Confira os principais benefícios do SCRUM para sua empresa:
- Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados na saída);
- Entregas freqüentes e intermediárias de funcionalidades 100% desenvolvidas;
- Planos freqüentes de mitigação de riscos desenvolvidos pela equipe;
- Discussões diárias de status com a equipe;
- A discussão diária na qual cada membro da equipe responde às seguintes perguntas:
O que fiz desde ontem?
O que estou planejando fazer até amanhã?
Existe algo me impedindo de atingir minha meta?
- Transparência no planejamento e desenvolvimento;
- Reuniões freqüentes com os stakeholders (todos os envolvidos no processo) para monitorar o progresso;
- Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer problema não visto;
- Locais e horas de trabalho devem ser energizadas, no sentido de que “trabalhar horas extras” não necessariamente significa “produzir mais”.
Se você ainda não implantou um SCRUM na sua empresa, o que está esperando? A concorrência pode implantar primeiro.