SCRUM

Princípios, padrões e práticas são importantes, mas são as pessoas que os fazem funcionar. Uma equipe que tem um bom relacionamento é a força de desenvolvimento de software mais poderosa que existe.

Manifesto para o desenvolvimento Ágil de Software

Estamos descobrindo maneiras melhores de desenvolver softwares, fazendo-o nós mesmos e ajudando outros a fazê-lo.
Com esse trabalho passamos a valorizar:

Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contrato
Resposta a mudanças mais que seguir um plano

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.
 
Nós seguimos os seguintes princípios

Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.

(Quanto mais frequentes são as entregas, maior é a qualidade final)

Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.

(Canalizar as mudanças para as vantagem competitivas do cliente. A adaptação as mudanças mostram o quando a equipe entendeu o negócio do cliente)

Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.

(Nossa atenção está no objetivo de entregar software que atenda as necessidades do cliente)

Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.

(Clientes, desenvolvedores e interessados devem ter uma interação significativa e frequente)

Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.

(As pessoas são o fator de sucesso mais importante)

O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.

(O principal modo de comunicação é a interação humana)

Software funcional é a medida primária de progresso.

(Quantidade de software que está satisfazendo o cliente)

Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.

(As equipes ágeis tem seu ritmo próprio)

Contínua atenção à excelência técnica e bom design, aumenta a agilidade.

(Alta qualidade é o segredo da alta velocidade)

Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.

(Buscamos o caminho mais simples e coerente)

As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.

(A equipe determina a melhor maneira de cumprir essas responsabilidades)

Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

(A equipe e extremamente flexível)


Fundamentando o Conhecimento

A empresa participante da consultoria utilizava o modelo de gestão proposto pelo PMI e o modelo de desenvolvimento de sistema em Cascata, incompatível com sua velocidade comercial, gerando diversos problemas pelo curto espaço de tempo entre a realização da elicitação dos requisitos e a entrega do produto, dada a velocidade, competitividade do mercado e as exigências do cliente.

Durante a consultoria levei em consideração o perfil da empresa, identificando todos os processos internos apoiado na certificação já existente – ISO 9001, que já contemplava as fases de concepção, planejamento, implementação, estabilização e entrega. Apesar da certificação identifiquei também o desconhecimento e resistência em fazer uso do processo existente na empresa, causada por vícios culturais na organização.

A proposta e adoção das boas práticas do framework Scrum na gestão de projetos de desenvolvimento de sistemas proporcionou a melhoria na qualidade dos processos e gestão do ciclo de vida do produto na organização, contribuindo para diminuição do retrabalho, aumentando a produtividade, racionalizando o uso dos recursos e contabilizando ativos para Fábrica de Software. Mas vou contar essa história ao longo dos textos, objetivando compartilhar conhecimento com a comunidade de TI.

Quanto prestamos uma consultoria, devemos levar em consideração diversos fatores que permeiam um organização, pois trata-se de um organismo vivo e que reponde aos estímulos de forma positiva ou negativa, dependendo da nossa abordagem profissional.

A dinâmica do mercado, a necessidade de melhoria no modelo de gestão e dos processos de engenharia de software, o aumento da complexidade dos sistemas, que no passado não demandavam tanta inteligência, as regras de negócio, o mapeamento sofisticado de processos e o conhecimento específico sobre o domínio do negócio, motivou a mudança no modelo de gestão e reavaliação dos processos de Engenharia de Software, resultando na proposta e implantação do framework Scrum na Fábrica de Software.

A empresa em questão fazia uso do modelo de gestão proposto pelo PMI - Project Management Institute e do modelo tradicional de desenvolvimento de software Waterfall[1] (Cascata). Os modelos em uso exigiam um esforço muito grande da equipe de desenvolvimento, em especial dos analistas de requisito, pois a falta de um especialista no negócio dificultava o entendimento do domínio necessário para elaboração da proposta comercial. Para os clientes eram conceitos triviais, pois faziam parte do seu dia-a-dia, mas para os analistas de requisito não eram de fácil entendimento, visto que assim como a socialização com os jargões da profissão levavam tempo considerável, o que dificultava a especificação do projeto do sistema, sem contar com o retrabalho dos analistas de sistema e arquitetos que só participavam do processo após a definição do escopo do projeto e aceite da proposta pelo cliente, precisando validar o escopo com os fornecedores de requisitos antes de iniciar o projeto, passando a impressão de falta de comunicação interna e desorganização.

Limitei a princípio, o escopo da consultoria, ao modelo de gestão de projetos e ao processo de desenvolvimento dos sistemas praticados na empresa, com base na complexidade dos projetos desenvolvidos. Existia a necessidade de desburocratizar os processos de gestão, melhorar os processos de desenvolvimento dos sistemas fazendo uso das boas práticas de Engenharia de Software, e  de envolver um especialista no negócio durante o ciclo de vida dos projetos, tornando o processo de gestão e de desenvolvimento compatível com a velocidade comercial da empresa e com o negócio do cliente.
Observei também, no processo existente, uma grande queda de braços. De um lado o cliente querendo colocar o máximo de funcionalidade possível e do outro a empresa desenvolvedora, tentando limitar o escopo para elaboração de uma proposta comercial, com o menor esforço para a equipe de desenvolvimento.

Como implantar um modelo de gestão enxuto e ágil, garantindo prazos, custos e qualidade nos projetos de desenvolvimento de software? Ao longo dos artigos esta pergunta será respondida.


[1] O modelo Waterfall é um modelo de desenvolvimento de software sequencial no qual o desenvolvimento é visto como um fluir constante (como uma cascata) através das fases de análise de requisitos, projeto, implementação, testes (validação), integração, e manutenção de software. A origem do termo cascata é frequentemente citado como sendo um artigo publicado em1970 por W. W. Royce; fonte: http://pt.wikipedia.org/wiki/Modelo_em_cascata.
 
Objeto da Consultoria

A preocupação com a melhoria do modelo de gestão do ciclo de vida do projeto e do processo de desenvolvimento de sistemas foram os fatores motivadores para a proposta de implantação do framework Scrum na Fábrica de Software, visando o amadurecimento dos processos de engenharia de software, simplificando e agilizando as entregas dentro dos prazos, garantindo a qualidade e custo dos projetos. Esse estudo é um pré-projeto de implantação, é o marco zero na consultoria, e dele dependerá todo o processo de implantação.

Conceituando Engenharia de Software

"A Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais" (Pressman, 2002). O termo Engenharia de Software já sugere a construção em fases, seguindo um processo bem definido, o que também apoia a implantação do framework ágil. 

Fases no Processo de Implantação

Toda proposta de mudança em uma organização precisa ter o apoio da alta direção, responsável pelos objetivos estratégicos, futuro e sobrevivência da empresa no mercado. Com a proposta de implantação do framework Scrum não é diferente, pois a mudança no um processo afeta a empresa como um todo, ou parte da empresa, dependendo do nível de maturidade e vivência nos processos. 

Segundo Mike Cohn em uma mudança de cima para baixo, um líder influente compartilha uma visão do futuro e a empresa o segue na materialização dessa visão. A empresa que tentar fazer a transição para o Scrum sem apoio dos níveis mais altos enfrentará uma resistência que não poderá ser superada a partir dos níveis inferiores. (2011, 27)
 
A mudança pode ser motivada por diversas razões, como:
  • Insatisfação do cliente.
  • Problemas na comunicação no ciclo de vida do projeto
  • Problemas na colaboração dos envolvidos no projeto.
  • Baixo retorno do investimento em projetos.
  • Equipe de desenvolvimento desmotivada.
  • Necessidade de melhoria da qualidade do produto.
  • Diminuição dos custos de produção.
  • Aumento de produtividade da equipe de desenvolvimento.
  • Diminuição no tempo gasto no termino dos projetos.
  • Diminuição do risco em projetos de desenvolvimento.
Visão do Framework  Scrum

Primeiro passo na implantação do framework Scrum, é a realização de uma apresentação/passagem de conhecimento, esclarecendo todas as duvidas da diretoria. Não me refiro às questões técnicas, inerentes ao chão de fábrica, mas a visão gerencial do framework e seus impactos positivos e negativos, com base no modelo organizacional, estudado previamente.

John Kotter, especialista em gerenciamento de mudanças ressalta que “nenhuma pessoa sozinha, até mesmo um CEO de estilo autoritário, consegue desenvolver a visão correta, comunicá-la para uma grande quantidade de pessoas, eliminar todos os obstáculos principais, vencer etapas de curto prazo, liderar e gerenciar dezenas de projetos de mudança e fixar novas abordagens profundamente na cultura da empresa” (1996, 51-52). 

Sem o apoio da diretoria que são os grandes responsáveis e os maiores interessados na evolução e continuidade da empresa no mercado, qualquer mudança é utópica.

Tenho identificado muita implantação "teórica" do framework, e não basta implantá-lo teoricamente, é preciso torná-lo um caso de sucesso na empresa contratante. 

A visão do framework tem que atender as expectativa do cliente, e sua implantação, a princípio, deve começar com projetos pequenos, porém de relevância considerável para a empresa. 

Bala de Prata


Sabemos que o framework Scrum não é a bala de prata que solucionará todos os problemas de gestão de projeto nem tão pouco os problemas identificados nos processos de Engenharia de Software e que nenhum dos processos ágeis descritos por seus criadores é perfeito para as empresas. Diversos fatores, inclusive os culturais e principalmente o nível de maturidade, deverão ser levados em consideração, como levantado no post anterior.


Taiichi Ohno, criador do Sistema Toyota de Produção, escreveu que “há algo chamado trabalho padrão, mas padrões devem ser alterados constantemente. Se você considera o padrão como melhor que pode fazer, não há avanço”. E ainda afirma que se estabelecemos algo como “melhor maneira possível, a motivação do Kaizen [melhoria contínua incremental] deixará de existir” (1982).


Antes da implantação do framework Scrum, realizei a analise das instalações da fábrica, a infraestrutura tecnológica, os processos praticados na empresa, a estrutura organizacional, o modelo organizacional, o sistema de gestão, a existência de planos de capacitação, a garantia da qualidade dos produtos e o nível de maturidade com base nas certificações existentes.


A revisão das áreas que compõem a Fábrica de Software teve como objetivo a identificação do nível de maturidade, fornecendo subsidio para avaliação da possibilidade da institucionalização e prática do framework Scrum, como metodologia padrão de gestão, para projetos de pequeno, médio e grande porte. 
Segundo Mike Cohn, "qualquer um deles (processo ágil) pode ser um bom ponto de partida, mas você terá que adaptar o processo para que ele se ajuste mais precisamente as circunstâncias exclusivas de sua empresa, as pessoas e o segmento da indústria. (2011, 28)


A implantação do novo modelo reduziria o risco no projeto, aumentaria o controle de versionamento, o controle de mudanças, aliás, bem-vindo à metodologia, viabilizaria as entregas de releases funcionais em curto espaço de tempo, e estes benefícios seriam garantidos pelos três valores praticados no framework Scrum:
  •      Transparência
  •      Inspeção
  • Adaptação
Alistair Cockburn concorda com a afirmação acima: "Ter a chance de mudar ou adaptar um processo para aumentar sua conformidade parece ser um fator crucial de sucesso para a equipe que está adotando. É o ato de criação que parece aderir às equipes ao seu próprio processo".


Durante o trabalho de análise, pude identificar que ao longo dos anos em que a empresa atua no mercado, sempre sofreu com as constantes reclamações dos clientes, relacionada aos atrasos nas entregas dos sistemas, por falhas no entendimento do domínio do negócio, participação incipiente dos gestores do projeto e baixa qualidade tanto no produto quanto na documentação gerada para o usuário final.


Após identificar essas pequenas fraquezas, no entanto, ainda ficamos com o problema de como eliminá-las. É difícil (e com frequência impossível) prever exatamente como as pessoas responderão às várias pequenas mudanças que serão necessárias no percurso de se tornar ágil.


Não é possível direcionar um sistema vivo, só perturbá-lo e esperar para ver a resposta... Não temos como conhecer todas as forças que moldam a empresa que queremos mudar, portanto, só podemos provocar o sistema de alguma forma fazendo testes com uma força a qual achemos que possa ter algum impacto e, em seguida, observar para ver o que acontece.


O processo de implantação do framework Scrum passou por várias fases, gerando uma dinâmica diferente na empresa. Dentre elas podemos destacar a fase de seleção dos recursos que mais se identificavam com a metodologia e que após a implantação do framework participaram dos primeiros projetos fazendo uso do Scrum, o que culminou na implantação do novo modelo de gestão em todos os projetos.

Fundamentando Conceitos

Objetivando fundamentar conceitos que foram aplicados na consultoria começo agora a fazer introdução a conceitos relacionados com o framework Scrum. Abordando conceitos relacionados ao valor ao negócio, a origem da abordagem ágil, o framework ágil, o entendimento do manifesto ágil, os doze princípios ágeis, os valores do Scrum, os papeis do Scrum, a contribuição do Scrum, o modelo tradicional Waterfall, o modelo iterativo e incremental, comparação entre o modelo ágil e o tradicional.

Valor ao Negócio

O principal objetivo no desenvolvimento de um sistema é a remoção de uma restrição no negócio do cliente, e podemos entender como restrições todos os impedimentos que impactam no desenvolvimento do negócio de uma organização, e quando automatizados, sistematizados, agregam valor ao negócio. Desta forma um sistema ou software tem como missão ajudar a remover as restrições, os impedimentos, para que o negócio possa obter os resultados esperados.


A Origem do Framework Scrum

O lançamento do livro "The New Product Development Game" (Harvard Business Review, Janeiro-Fevereiro1986), baseado no conceito Lean de desenvolvimento de software, marcou a introdução do conceito do framework Scrum, tendo sua aplicação prática no mercado na Easel Corporation e sob a liderança de Ken Schwaber, Beedlee Sutherland em 1995.

Apesar de identificarmos, ao longo dos vinte anos, a existência de algumas metodologias ágeis, foi o ano de 2001 que marcou a grande disseminação das abordagens ágeis. Um grupo formado por dezessete pessoas que se auto intitularam anarquistas organizacionais, reuniram-se em uma estação de esqui em Utah nos EUA, cujo principal objetivo era discutir sobre as melhores maneiras de gerenciar e desenvolver softwares. Participaram desta reunião os principais responsáveis pelas teorias e aplicações dos diversos métodos de desenvolvimento. Fizeram parte desse encontro: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.

Desse encontro nasce o Manifesto Ágil e a formação da Aliança Ágil, uma organização sem fins lucrativos destinados a promover a adoção dos métodos Ágeis. 

O Framework Ágil 

O Scrum não é um processo ou uma técnica para construir produtos. O framework nos diz o que fazer, mas não como fazer, usando uma sequência lógica de gestão de processos começando com o desenvolvimento da Visão do Produto, onde questionamos: o que vamos fazer e qual o objetivo do sistema? 

As respostas às perguntas anteriores nos levam ao segundo passo do framework que é a elaboração do Backlog do Produto, onde listamos todos os requisitos priorizados pelo Dono do Produto[1], ou Product Owner em inglês. 

O terceiro passo seria o Planejamento da Sprint que propõe a revisão do Backlog do Produto, acordando com o Dono do Produto a definição do objetivo da Sprint, culminando na formação e estimativa do Backlog da Sprint. 

O Backlog da Sprint é composto pelos requisitos selecionados para formação da Sprint, com suas tarefas estimadas pelo time. 

O quarto passo proposto pelo framework são as reuniões diárias, onde a equipe responde a três perguntas que ajudam a inspecionar o processo. O gráfico burndown ajuda no acompanhamento da evolução da Sprint, registrando a sua evolução e desvios. 

O próximo passo proposto no modelo seria a Revisão da Sprint, onde teremos a demo do software e o feedback do dono do produto atestando a qualidade ou não do sistema em desenvolvimento.  

Na Retrospectiva da Sprint verificamos o que deu certo durante a Sprint e o que precisamos melhorar. Nesta fase registramos todas as lições apreendidas durante o ciclo de vida do desenvolvimento da Sprint. O Produto gerado no final de cada Sprint é um incremento do software pronto e potencialmente usável.

No framework você pode empregar vários processos ou técnicas de Engenharia de Software. O Scrum deixa clara a eficácia relativa das práticas de gerenciamento e desenvolvimento de produtos, de modo que você possa melhorá-las. Permite tratar e resolver problemas complexos e adaptativos, entregando produtos com o mais alto valor possível para o negócio do cliente.

[1] Dono do produto: durante o desenvolvimento do estudo de caso vamos usar esta denominação em português para o cliente.


Entendendo o Manifesto Ágil

O Manifesto Ágil documentou também os doze princípios orientadores para o desenvolvimento ágil e definiu uma filosofia em torno de um conjunto de metodologias existentes.

O texto original do manifesto diz o seguinte:

“Estamos descobrindo maneiras melhores de desenvolver softwares fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar: Indivíduos e interação entre eles mais que processos e ferramentas. Software em funcionamento mais que documentação abrangente. Colaboração com o cliente mais que negociação de contratos. Responder a mudanças mais que seguir um plano. Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.” (http://manifestoagil.com.br)

Indivíduos e interações, mais que processos e ferramentas

Não precisa ser uma equipe formada por gênios, mas por desenvolvedores comuns que façam uso constante da comunicação, este perfil é fundamental na formação de uma equipe ágil. A habilidade dos recursos e a interação entre eles garantirão o sucesso do projeto. Os recursos devem ser capacitados, ter experiência e naturalmente conhecerem os processos da empresa. Porém, também sabemos que os processos não salvam um projeto do fracasso, pessoas capazes sim, por isso, o framework preza mais pelos indivíduos e as interações entre eles. O que não descarta na implementação do Scrum a definição ou correção dos processos existentes na empresa, pois para sermos ágeis precisamos antes sermos organizados e é a organização quem garantirá a agilidade.

O mesmo se dá com frequência na adoção das ferramentas, já que só obtemos os recursos produtivos esperados, se a equipe envolvida tem domínio sobre elas, pois a curva de aprendizagem pode se tornar um risco para o projeto pela falta de capacitação da equipe na ferramenta. Cabe aqui o conceito de simplicidade.

Software em funcionamento mais que documentação abrangente



O Scrum não aboliu a documentação do sistema, muito pelo contrário a tornou mais inteligente com base em seu processo interativo e incremental. Neste modelo a documentação é dividida em dois momentos:


No primeiro organizamos as informações para saber o que fazer e quais os objetivos do sistema orientarão o planejamento do Backlog da Sprint e a formação da Sprint. O segundo momento documenta o que de fato foi implementado, seguindo o processo interativo e incremental, é o que denomino como documentação consequente. A grande vantagem neste modelo é que documentamos o que de fato foi implementado, uma vez que sabemos que a única certeza que temos em um projeto é a mudança.



Temos como premissa não produzir qualquer documento, cuja necessidade não seja imediata e significativa para o projeto.

Colaboração com o cliente, mais que negociação de contrato
 
Existia aqui uma grande queda de braço entre o time de desenvolvimento e o cliente. Com o objetivo de delinear o escopo na elaboração da proposta o time defendia a ideia de enxugar ao máximo a quantidade de funcionalidades, pois não conhecia os meandros do projeto, os seus riscos e a quantidade de mudanças que poderiam encontrar no tempo de projeto. Do outro lado o cliente forçava para colocar o máximo de funcionalidades, pois uma vez fechado o contrato não haveria mais alteração no escopo, sem a geração de custos para o projeto.



Os softwares inteligentes variam de acordo com o negócio do cliente, e são únicos. Um projeto com domínio de negócio complexo não podem seguir um cronograma rígido e cuja participação do cliente só aconteça no final.



A framework ágil tem como fundamento o envolvimento do cliente em todas as fases do projeto, para nós denominado “coautor do sistema”. Nada mais inteligente, pois é ele quem conhece o domínio do negócio e é o feedback regular e frequente do cliente que nos garantirá o sucesso do projeto.



Em um contrato não conseguimos especificar todas as complexidades dos requisitos, e refletir em um cronograma fixo os meandros, as particularidades que o domínio do negócio nos imputará ao logo do ciclo de vida do sistema, pois não somos os especialistas no negócio. Os contratos devem regular as relações entre cliente e fornecedores, norteando o modo como a equipe de desenvolvimento e o cliente trabalharão juntos, e esse foi o nosso diferencial.

Colaboração com o cliente, mais que negociação de contrato

Existia aqui uma grande queda de braço entre o time de desenvolvimento e o cliente. Com o objetivo de delinear o escopo na elaboração da proposta o time defendia a ideia de enxugar ao máximo a quantidade de funcionalidades, pois não conhecia os meandros do projeto, os seus riscos e a quantidade de mudanças que poderiam encontrar no tempo de projeto. Do outro lado o cliente forçava para colocar o máximo de funcionalidades, pois uma vez fechado o contrato não haveria mais alteração no escopo, sem a geração de custos para o projeto.

Os softwares inteligentes variam de acordo com o negócio do cliente, e são únicos. Um projeto com domínio de negócio complexo não podem seguir um cronograma rígido e cuja participação do cliente só aconteça no final.

A framework ágil tem como fundamento o envolvimento do cliente em todas as fases do projeto, para nós denominado “coautor do sistema”. Nada mais inteligente, pois é ele quem conhece o domínio do negócio e é o feedback regular e frequente do cliente que nos garantirá o sucesso do projeto.

Em um contrato não conseguimos especificar todas as complexidades dos requisitos, e refletir em um cronograma fixo os meandros, as particularidades que o domínio do negócio nos imputará ao logo do ciclo de vida do sistema, pois não somos os especialistas no negócio. Os contratos devem regular as relações entre cliente e fornecedores, norteando o modo como a equipe de desenvolvimento e o cliente trabalharão juntos, e esse foi o nosso diferencial.


Resposta a mudanças, mais que seguir um plano

Toda mudança é bem-vinda. A equipe Scrum reconhece que a única certeza que temos em um projeto são as mudanças. Mesmo porque, não somos especialistas em todos os domínios de negócio existente, e o conceito de unicidade dos projetos nos torna flexíveis, pois ao logo do desenvolvimento podem existir divergências no entendimento, por não conhecermos a fundo o seu domínio. É durante o ciclo de vida do projeto que o time de desenvolvimento aprende sobre o domínio do negócio, em contato constante com o especialista do negócio, representante legal da empresa. Essa flexibilidade, característica fundamental das equipes ágeis, possibilita que o time responda rápido as mudanças.

Os 12 Princípios Ágeis
  1. Nossa maior prioridade é satisfazer o cliente, por meio da entrega adiantada e continua de software de valor.
  2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam às mudanças, para que o cliente possa obter vantagens competitivas.
  3. Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.
  4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
  5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  6. Contínua atenção à excelência técnica e com design, aumenta a agilidade.
  7. O método mais eficiente e eficaz de transmitir informações para e por dentro de um time de desenvolvimento é através de uma conversa cara a cara.
  8. Software funcional é a medida primária de progresso.
  9. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
  10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
  11. As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.
  12. Em intervalos regulares, o time reflete em como ficar efetivo, então, se ajustam e otimizam seu comportamento de acordo.
(http://manifestoagil.com.br)

Os Valores do SCRUM
Os valores do Scrum têm como base a transparência, a inspeção e a adaptação.
 
O valor transparência exige que todos os envolvidos no projeto conheçam os aspectos significativos do processo e do projeto. A visibilidade é fundamental para comunicação da equipe, colocando todos na mesma página. A clareza nas informações possibilita que todos tenham o mesmo entendimento, pois todos envolvidos tem que falar a mesma linguagem independente de para quem a pergunta foi formulada, a resposta tem que ser a mesma.

O valor inspeção garante o bom andamento do projeto e viabiliza a adaptação, o terceiro valor do Scrum. Os processos, as práticas e atividades devem ser inspecionadas constantemente para mantermos o projeto dentro do planejado nas Sprints, detectando os desvios o mais cedo o possível. A inspeção também garante que o sistema atenderá os requisitos do negócio, garantindo assim a qualidade do sistema.

O valor adaptação garante as correções dos desvios ao longo do ciclo de vida do desenvolvimento da Sprint, e serve como lição aprendida nas reuniões de retrospectivas do Scrum, evitando que erros detectados nas Sprints anteriores ocorram novamente ao longo do ciclo de vida das demais Sprints. Fazem parte do valor Adaptação quatro eventos formais que são utilizados para inspeção e adaptação:

  • Reunião de planejamento da Sprint.
  • Reunião diária
  • Revisão da Sprint
  • Retrospectiva da Sprint
A Adaptação depende da Inspeção e a Inspeção depende da Transparência.

Os Papeis do Scrum
Podemos identificar no Scrum três papeis bem definidos, o Dono do Produto ou PO – Product Owner, o Scrum Master e o Time de Desenvolvimento.

O Dono do Produto tem como função principal garantir o ROI - Return on Investment do produto, conhecendo as reais necessidades dos usuários e stakeholders. Dentre as suas habilidades podemos destacar a necessidade da visão estratégica e entendimento do que é valor para o cliente por ele representado, a capacidade de comunicação para conseguir trabalhar em conjunto com os stakeholders capturando as necessidades do cliente e usuários, a facilidade para estabelecer e comunicar a visão do produto para todos os envolvidos, autoridade para exercer suas responsabilidades, o comprometimento com o projeto, as habilidades de negociação, o bom relacionamento interpessoal e o conhecimento sobre o Scrum.

O Scrum Master deve ser um profundo conhecedor da metodologia, tendo domínio sobre suas regras, papéis, eventos e artefatos. Ele atua como mentor, auxiliando o Time de Desenvolvimento e o Dono do Produto a trabalhar melhor com o Scrum. É um facilitador, e deve também, possuir habilidades de comunicação e negociação, além de ter algum conhecimento técnico, saber blindar a equipe contra interferências externas e dar suporte para que o Time de Desenvolvimento seja funcional e produtivo.

O Time de Desenvolvimento, da mesma forma que o Scrum Master, precisa conhecer o framework Scrum, como as suas regras, papéis, cerimônias e artefatos, trabalhar sempre de forma colaborativa, atuando com transparência e sempre buscando entregar o máximo de valor ao negócio. Suas atividades devem estar pautadas pelo conceito de melhoria continua, trabalhando com qualidade e produtividade e principalmente, dado ao número reduzido de papeis, o time deve ser auto organizável.

A Contribuição do Scrum
Oposto ao período de participação do cliente no modelo tradicional cascata, a framework Scrum propõe a participação ativa dos interessados em todas as fases ou Sprints do projeto, mudando o cenário anterior, permitindo a construção e entrega do software por partes ou releases.
O cliente tem a liberdade, com base no domínio do negócio, de solicitar o que ele desejar e quando desejar. As mudanças são facilitadas e fazem parte do processo de desenvolvimento.

No framework ágil o desenvolvimento de um projeto de software não pode ser planejado com muita antecedência, mesmo porque o domínio do negócio pode sofrer mudanças, fazendo com que os requisitos mudem também. Projetos longos com entregas previstas no final e sem a participação de stakeholders ao longo do desenvolvimento aumentam o risco do projeto. A grande vantagem da metodologia são as entregas parciais que geram conforto e confiabilidade para os stakeholders, pois eles começam a ver o sistema funcionar ao longo do seu ciclo de vida.

As pequenas releases que agregam valor ao negócio do cliente seguem planejamentos detalhados para as primeiras semanas de desenvolvimento, são flexíveis para a próxima Sprint, aproximados para os próximos três meses e extremamente rudimentares para além dos três meses, ou seja, devemos saber quais tarefas individuais estaremos trabalhando na próxima semana, conhecer em linhas gerais os requisitos nos quais estaremos trabalhando nos próximos três meses e ter apenas uma vaga ideia do que o sistema fará depois de um ano.

Mike Cohn relata em seu livro que “uma razão pela qual os stakeholders estão tão satisfeitos é o time-to-market reduzido com o uso de um processo ágil como o Scrum. Esse time-to-market[1] mais veloz é gerado pela produtividade mais alta das equipes de desenvolvimento ágil, que, por sua vez, é resultado da qualidade mais alta em projetos de desenvolvimento ágil, já que, os funcionários ficam livres para fazer um trabalho de alta qualidade, e veem seu trabalho sendo entregue mais cedo para os usuários que estão esperando. Desta forma, a satisfação no trabalho aumenta. Com uma satisfação no trabalho mais alta vem um maior engajamento dos funcionários, o que leva a um maior ganho de produtividade, iniciando um eficiente ciclo de melhoria contínua”.


[1] É o tempo de colocação do produto no mercado, sem que afete o nível de demanda e oferta do mesmo. 
 
 
 

Nenhum comentário :

Postar um comentário