Décio Ferreira1 , Felipe Costa2 , Filipe Alonso3 , Pedro Alves4 , and Tiago Nunes4
1
ei03037@fe.up.pt
2
ei03041@fe.up.pt
3
ei03044@fe.up.pt
4
ei03083@fe.up.pt
5
ei03101@fe.up.pt
1 O que é Scrum?
Para iniciar o processo Scrum, a primeira coisa que é preciso definir é q equipa
constituı́da pelas pessoas designadas para trabalhar e que irão compor a equipa
Scrum. Esta equipa não deve ter mais de 6 a 9 membros. Se houver mais membros
do que o possı́vel gerir, separam-se várias equipas Scrum e cada equipa focar-se-á
numa área especı́fica do trabalho, envolvendo toda a equipa para trabalhar nesta
área especı́fica.
Quantos aos materiais que deverão ser fornecidos a cada equipa, certifique-se
que tem sempre quadros de reunião disponı́veis, marcadores para os quadros,
postits, impressões do backlog do produto e cartões de referência diários para
cada participante, para que todos tenham acesso a toda a informação e os meios
para preparar e compreender cada parte do processo Scrum em qualquer altura.
A próxima coisa a fazer é apontar o Scrum Master, uma vez que é essa
pessoa que conduz as Scrum Meetings, mede o progresso empiricamente, toma
decisões e remove os obstáculos do caminho para não desacelerar ou mesmo
parar o trabalho em pontos crı́ticos. O Scrum Master fica encarregue de, como
referido anteriormente, perguntar a todos os membros da equipa as três questões
mencionadas.
É o Scrum Master que deve ser capaz de tomar decisões imediatas e resolver
todos os impedimentos rapidamente, de modo a não estender o tempo da reunião.
Compete-lhe identificar o backlog inicial, que é todo o trabalho proeminente
para uma área do produto, tanto imediato e bem definido, como a longo prazo
e indefinido.
Para identificar o backlog, a primeira coisa a fazer é listar todo o trabalho con-
hecido necessário fazer e agrupá-lo em incrementos que não devem ter duração
superior a 30 dias. Se houver áreas de trabalho voláteis ou que não possam ser
5
Podem ser consideradas também alguns linhas guia facilitadoras como fornecer
um blocos de notas a cada equipa para capturar o seu objective das reuniões de
sprint backlog, revisão e demonstração e demais informações que suportem a
sua demonstração, capturando os resultados em câmara digital para rever e con-
frontar se necessário, explicar perfeitamente as regras para que o processo corra
melhor como que a equipa deve trabalhar em conjunto, toda a gente tem que tra-
balhar no Sprint e cada equipa deve demonstrar algo no fim de cada Sprint, não
permitir apresentações em powerpoint nas reuniões uma vez que é uma perda
de tempo tanto na sua concepção como na explicação em reuniões de tempo
reduzido, focar que a equipa deve completar o seu planeamento do Sprint com
um Sprint Backlog num quadro de reunião e que não há papeis predefinidos na
equipa, uma vez que o objectivo é que sigam regras de auto-organização.
6
4 Aplicações Práticas
Diz-nos Ken Schwaber (um dos criadores da metodologia) que algumas respostas
comuns à pergunta ”Porque decidiram implementar Scrum?”são ”Não temos
nada a perder”ou ”Não pode ficar pior do que o que já está”. Como já foi
visto, os métodos tradicionais não lidam muito bem com o risco associado ao
desenvolvimento do projecto, pelo que é comum haver organizações a procurar
uma ”salvação”quando se apercebem que estão no caminho do fracasso. Scrum
consegue avaliar o ambiente regularmente e adaptar-se a ele, minimizando os
riscos e produzindo a funcionalidade possı́vel em determinado momento.
No entanto, apenas um terço das organizações que tentam implementar
Scrum como modelo de desenvolvimento conseguem ter sucesso. Na verdade,
as estruturas de desenvolvimento tradicionais impedem, de certo modo, uma
transição fácil para métodos ágeis, devido aos hábitos que incutem. Por exem-
plo, enquanto que tradicionalmente existe um Gestor de Projecto que comanda e
controla as equipas de desenvolvimento, Scrum baseia-se na capacidade de auto-
gestão das equipas. Dá-se até outra designação ao Gestor de Projecto (Scrum
Master), para de certo modo frisar o facto de este não ter autoridade nas equipas.
Outro exemplo é o facto de os intervenientes no desenvolvimento terem, em
Scrum, funções variadas (por forma a maximizar a produtividade da equipa),
em vez de possuirem funções definidas e limitadoras. É exigido um esforço bas-
tante grande no sentido de ultrapassar estes hábitos e conseguir uma viragem
razoavelmente brusca em termos de metodologias. Como diz Schwaber, Scrum
não é milagroso; é, sim, muito e árduo trabalho.
7
outros métodos para tentar preencher algumas lacunas existentes no Srum, sem
obviamente se conseguir alcançar a perfeição.
O desenvolvimento de software nem sempre se baseia na perfeição. Muitas
vezes é prioritário agradar ao cliente em diversos aspectos, como na rapidez
de entrega e cumprimento de prazos e no acompanhamento deste na evolução
do projecto (o que implica que haja mudanças repentinas e inesperadas na sua
evolução). Para além disso, não devemos ignorar o facto de o cliente ser (geral-
mente) apenas um utilizador e desejar apenas que o programa funcione para o
que ele quer, não lhe importando o modo como o faz acontecer.
Como referido anteriormente, devido à própria natureza de Scrum, a pro-
dutividade irá decerto aumentar. Tal facto não deixa de depender, porém, da
dedicação da gestão do projecto e do rigor na implementação deste método.
Assim sendo, os ”Scrum Masters”devem conhecer o processo profundamente e
praticá-lo o mais rigorosamente possı́vel, de forma a obter a maior produtividade
possı́vel.
Ao nı́vel da inovação, o Scrum fornece uma re-engenharia contı́nua, rápida e
do tipo ”bottom-up”, permitindo mudanças repentinas e em massa ao projecto,
sem grandes prejuı́zos em termos de tempo e custos. Tal é possı́vel a partir do
momento em que o projecto é repartido num conjunto de pequenos problemas,
”pedaços”de um problema maior, muito mais fáceis de gerir do que o projecto
seria na sua forma original. Normalmente, em projectos complexos, a interface
entre os diversos módulos é demasiado complexa devido ao elevado grau de
isolamento dos elementos envolvidos. No caso do Scrum, pelo facto de colocar as
equipas a trabalhar juntas e a comunicar entre si, a integração de todo o trabalho
torna-se bastante mais fácil, já que toda a gente sabe o que toda a gente está a
fazer.
Outra vantagem é o curto intervalo de tempo entre as apresentações do tra-
balho produzido ao cliente. O cliente pode deste modo acompanhar de perto a
evolução do projecto e obter/fornecer feedback frequente acerca das funcionali-
dades do produto. Desenvolve-se desde cedo uma relação com o cliente, constrói-
se confiança e o conhecimento cresce. Como é obvio, também a comunicação entre
os elementos da equipa melhora substancialmente e todos os sucessos ao longo
do projecto são partilhados, o que contribui para que seja criada uma cultura em
que toda a gente envolvida espera de facto que o projecto tenha sucesso, tendo
isso enorme carácter motivador para a equipa. Isto é algo de grande importância
nas organizações actuais. Este método pode no entanto ser aplicado a qual-
quer outro processo, já que é simplesmente um conjunto de valores, princı́pios e
práticas.
No entanto, como qualquer método, também o Scrum apresenta algumas
lacunas difı́ceis e, devido à sua própria natureza, talvez mesmo impossı́veis de
ultrapassar.
O Scrum é um método que exige uma gestão ”on-hand”. Isto implica que
o gestor tem que estar constantemente disposto a efectuar alterações e modi-
ficações, de forma a providenciar assistência e ajudar as equipas a ter sucesso,
removendo as barreiras que surgirem. Tal exige uma monitorização constante.
9
Referências
[Novembro 2005] http://www.controlchaos.com
[Novembro 2005] http://www.jeffsutherland.com
[Novembro 2005] http://www.presidentekennedy.br
[Novembro 2005] http://www.scrumalliance.org
11