Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare uma empresa Scribd logo
Métodos Ágeis
26Jul2017 - Fontes consultadas:
http://www.projectbuilder.com.br/blog-home/entry/conhecimentos/quais-sao-os-principais-tipos-de-metodos-ageis
http://www.brq.com/metodologias-ageis/
https://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software
O que são?
• São processos de desenvolvimento iterativo e incremental para
gerenciamento de projetos. Muito utilizados para desenvolvimento ágil de
software, mas com conceitos e práticas aplicáveis a várias outras
indústrias. É utilizado para trabalhos complexos nos quais é impossível (ou
muito difícil) predizer tudo o que irá ocorrer.
• Via de regra, demandam aumento da comunicação e interação da equipe,
organização diária para o alcance da meta definida, buscando evitar falhas
na elaboração, respostas rápidas às mudanças e entregas em tempos
menores.
• Algumas vezes caracterizados como o oposto de metodologias guiadas
pelo planejamento ou disciplinadas. Uma distinção mais acurada é dizer
que os métodos existem em um contínuo do adaptativo até o preditivo.
Métodos ágeis existem do lado adaptativo deste contínuo.
Métodos adaptativos
• Métodos adaptativos buscam a adaptação rápida a mudanças da
realidade. Quando uma necessidade de um projeto muda, uma
equipe adaptativa mudará também. Um time adaptativo terá
dificuldade em descrever o que irá acontecer no futuro. O que
acontecerá em uma data futura é um item de difícil predição para um
método adaptativo. Uma equipe adaptativa pode relatar quais tarefas
se iniciarão na próxima semana. Quando perguntado acerca de uma
implantação que ocorrerá daqui a seis meses, uma equipe adaptativa
deve ser capaz somente de relatar a instrução de missão para a
implantação, ou uma expectativa de valor versus custo.
Métodos preditivos
• Métodos preditivos, em contraste, colocam o planejamento do futuro
em detalhe. Uma equipe preditiva pode reportar exatamente quais
aspectos e tarefas estão planejados para toda a linha do processo de
desenvolvimento. Elas porém tem dificuldades de mudar de direção.
O plano é tipicamente otimizado para o objetivo original e mudanças
de direção podem causar a perda de todo o trabalho e determinar
que seja feito tudo novamente. Equipes preditivas frequentemente
instituem um comitê de controle de mudança para assegurar que
somente as mudanças mais importantes sejam consideradas.
Princípios
• Garantir a satisfação do consumidor entregando rapidamente e continuamente
software funcionais;
• Até mesmo mudanças tardias de escopo no projeto são bem-vindas para garantir
a vantagem competitiva do cliente;
• Software funcionais são entregues frequentemente (semanas, ao invés de
meses);
• Cooperação diária entre pessoas que entendem do 'negócio' e desenvolvedores;
• Projetos surgem através de indivíduos motivados, entre os quais existe relação de
confiança.
• A maneira mais eficiente e efetiva de transmitir informações é conversar cara a
cara;
• Software funcionais são a principal medida de progresso do projeto;
Princípios
• Processos ágeis promovem desenvolvimento sustentável. Os
patrocinadores, desenvolvedores e usuários devem ser capazes para
manter um ritmo constante indefinidamente.
• Design do software deve prezar pela excelência técnica;
• Simplicidade é essencial;
• As melhores arquiteturas, requisitos e projetos emergem de equipes
auto-organizadas;
• Em intervalos regulares, a equipe reflete sobre como para tornar-se
mais eficaz, então sintoniza e ajusta seu comportamento
apropriadamente.
Métodos são ferramentas
• Métodos são meios para se chegar a um objetivo. São como
ferramentas que podem ser utilizadas em determinados contextos.
• Nem toda a ferramenta serve para toda a necessidade, e muitas
vezes, mais de uma ferramenta se faz necessária para resolver um
problema.
Alguns dos principais tipos de métodos ágeis
• Feature Driven Development (FDD)
• eXtreme Programming (XP)
• Microsoft Solutions Framework (MSF)
• Dynamic System Development Model (DSDM)
• Scrum
Feature Driven Development (FDD)
• Criado em Cingapura, entre 1997 e 1999, o FDD é um método ágil que reúne as melhores práticas de outros
métodos, como o Coad. Sua premissa básica é focada em funcionalidades, o que permite à equipe do
projeto realizar um planejamento incremental, isto é, por fases. Esse tipo de atuação ajuda a dar agilidade
ao desenvolvimento de soluções em ambientes de extrema incerteza, em que as mudanças são inevitáveis.
• A programação por FDD começa com a visão global do negócio, já que esse método considera a soma de
tudo mais importante do que cada uma das partes separadamente. Passa-se, então, para o detalhamento do
produto com a subdivisão por áreas a serem modeladas, culminando na descrição de cada funcionalidade.
• Por se tratar de uma ferramenta focada no desenvolvimento, o FDD pode ser perfeitamente integrado ao
Scrum, outro método ágil muito utilizado que também é focado no planejamento e na execução do projeto.
E assim como todos os demais métodos ágeis, o FDD também possui melhores práticas que visam criar o
ambiente ideal para o desenvolvimento de projetos. São elas:
• Desenvolvimento por funcionalidades;
• Um único programador é responsável pela funcionalidade desenvolvida;
• Controle de qualidade em todas as fases do projeto;
• Gerenciamento de configurações;
• Integração contínua das funcionalidades;
• Planejamento incremental;
• Teste de software.
eXtreme Programming (XP)
• Também criado em meados da década de 90, o eXtreme Programming,
carinhosamente chamado de XP, é um método ágil focado no desenvolvimento
de softwares que tem três pilares como base: agilidade no desenvolvimento da
solução, economia de recursos e qualidade do produto final.
• Para chegar à excelência nos serviços prestados, uma equipe XP deve se basear
em valores, isto é, um contrato de atitudes e comportamentos que levam ao
sucesso. Esses comportamentos e atitudes norteiam as ações da equipe XP em
cada atividade a ser desempenhada, garantindo a integração e a sinergia
necessárias para um bom desempenho. No caso, esses valores são:
• Comunicação;
• Simplicidade;
• Feedback;
• Coragem;
• Respeito.
eXtreme Programming (XP)
• Além dos valores, o método ágil XP também leva em consideração
melhores práticas de trabalho, que têm como objetivo garantir a
efetividade do trabalho da equipe XP, assim como a satisfação do cliente
durante todo o processo de desenvolvimento. São elas:
• Cliente sempre à disposição;
• Uso de metáforas;
• Reuniões de planejamento (planning game);
• Reuniões diárias, de 15 minutos, para alinhamento (stand up meeting);
• Integração contínua dos módulos desenvolvidos;
• Mudanças incrementais;
• Entregas frequentes ao cliente (small releases);
• Design simples e funcional;
• Testes de aceitação;
• Refatoração ou melhoria contínua.
Microsoft Solutions Framework (MSF)
• O MSF é um dos métodos ágeis mais usados por se destinar ao desenvolvimento de soluções tecnológicas por equipes reduzidas,
focando na diminuição de riscos para o negócio e no aumento da qualidade do produto final. O propósito é identificar as falhas
mais comuns em projetos de tecnologia, mitigando-as e aumentando as taxas de sucesso de cada iniciativa. Dessa forma, assim
como o Scrum, o MSF está mais focado na gestão do projeto do que no desenvolvimento da solução em si.
• Suas premissas são:
• Alinhamento da tecnologia desenvolvida aos objetivos de negócio do cliente;
• Escopo bem estruturado e detalhado;
• Desenvolvimento iterativo;
• Gerenciamento de riscos;
• Agilidade na resposta a mudanças.
• Assim como os outros métodos ágeis, o MSF também possui melhores práticas que devem ser observadas pela equipe para
atingirem os níveis de excelência buscados:
• Comunicação aberta e transparente entre todos os envolvidos;
• Visão compartilhada do negócio;
• Equipe capacitada;
• Atribuição de papéis e responsabilidades desde o início do projeto;
• Entregas incrementais;
• Flexibilidade para mudar sempre que necessário;
• Qualidade das entregas;
• Aprendizado constante com as experiências adquiridas;
• Parceria com clientes internos e externos.
Dynamic System Development Model (DSDM)
• O DSDM é um dos métodos ágeis mais antigos empregados não só no
desenvolvimento de projetos como no meio tecnológico. Um tanto quanto
diverso dos demais métodos ágeis, ele é destinado ao desenvolvimento de
projetos com orçamento fixo e prazos curtos, levando em consideração que o
cliente não tem como saber quanto custará a solução final.
• Entre suas melhores práticas estão o desenvolvimento incremental e iterativo, a
colaboração entre cliente e equipe, além da integração de funcionalidades, o que
também vemos nos demais métodos ágeis.
• Vale ressaltar que o DSDM diverge dos demais métodos ágeis tanto em sua
estrutura, que é composta por processos interligados de modelagem, concepção,
construção e implementação, assim como na gestão do tempo, que não é flexível,
até permitindo que as funcionalidades mudem, mas desde que os prazos de
execução continuem os mesmos.
Scrum
• O Scrum é, sem dúvida, o método ágil mais usado nos dias de hoje, principalmente
porque pode ser integrado a outros métodos ágeis com facilidade, aplicando-se não só
ao desenvolvimento de softwares como a qualquer ambiente de trabalho. Focado na
gestão do projeto, o Scrum tem como base o planejamento iterativo e incremental, que,
como você já sabe, se dá por fases, chamadas de sprints.
• Define-se, desde o início do projeto, a lista de funcionalidades a serem desenvolvidas,
também chamada, no caso, de product backlog. Dando andamento ao processo, cada
funcionalidade se torna um sprint, cujos detalhes a serem criados e desenvolvidos
passam do product backlog para o sprint backlog. Do sprint backlog as atividades são
distribuídas entre os membros do Scrum Team, que devem desenvolvê-las dentro de um
prazo que geralmente não leva mais que quatro semanas. Ao final de cada sprint é
realizada a sprint review meeting, uma reunião de alinhamento sobre o que foi entregue.
A partir daí, começa-se a planejar o próximo sprint. Essas etapas acontecem
sucessivamente até que o produto final esteja pronto para a entrega.
Scrum
• Diferentemente dos demais métodos ágeis, o Scrum possui pelo menos três
papéis muito bem definidos e absolutamente essenciais para o sucesso do
projeto:
• Product Owner: é o CEO do projeto, quem faz a ponte entre cliente e Scrum Team. É o
responsável pelos resultados do projeto e por gerar valor para o cliente.
• Scrum Master: é o coach do Scrum Team, a pessoa responsável por orientar os profissionais
em relação às melhores práticas Scrum, remover barreiras e motivar.
• Scrum Team: são os profissionais que efetivamente executam o desenvolvimento do projeto.
• As melhores práticas Scrum estão baseadas no Manifesto para o
Desenvolvimento Ágil de Softwares, levando em consideração atitudes e
comportamentos como:
• Indivíduos e interação mais do que processos e ferramentas;
• Software em funcionamento mais do que documentação;
• Colaboração com o cliente mais do que contratos e negociações;
• Respostas a mudanças mais do que planejamento.
Como funciona
• Product Backlog: As funcionalidades a serem implementadas
no projeto são mantidas em uma lista que é conhecida como
Product Backlog. No início de cada Sprint, faz-se um Sprint
Planning Meeting (uma reunião de planejamento), na qual o
Product Owner (quem representa os envolvidos) prioriza
todos os itens do Product Backlog e a equipe seleciona as
funcionalidades que ela será capaz de implementar durante o
Sprint que se inicia. As funcionalidades alocadas em um
Sprint são transferidas do Product Backlog para o Sprint
Backlog.
• Sprint: No Scrum, os projetos são divididos em ciclos
(tipicamente mensais) chamados de Sprints. O Sprint
representa um tempo definido dentro do qual um conjunto
de atividades deve ser executado. Metodologias ágeis de
desenvolvimento de software são iterativas, ou seja, o
trabalho é dividido em iterações, que no Scrum são
chamadas de Sprints e geralmente duram de 2 a 4 semanas.
• Burn Down Chart: O Burndown
é um simples gráfico, com dois
eixos X e Y, baseado nas
atividades que não ultrapassem
um dia de trabalho. O eixo X
indica o número de tarefas
existentes no Sprint e o eixo Y
os dias que representam o
tamanho do Sprint.
• Kanban (Quadro de Trabalho): O time também
pode possuir um “quadro de trabalho”, também
chamado de Kanban, para organizar as atividades
dos itens de Backlog da Sprint, separando-as em
basicamente em quatro estados (isso pode variar
de projeto a projeto): A fazer, Em andamento, Em
Testes e Concluído. Esse “quadro” é muito
produtivo, pois basta olhar para ele para realizar a
leitura do progresso da Sprint.
• Daily Scrum: Diariamente, em uma Sprint, a equipe faz uma breve reunião de no máximo
15 minutos com todos os participantes em pé, chamada Daily Scrum. O objetivo é cada
integrante dizer o que fez no dia anterior, o que pretende fazer no dia que se inicia e se
existe algum impedimento que está atrapalhando o seu trabalho.
• Sprint Review Meeting: Ao final de um Sprint, a equipe apresenta as funcionalidades
implementadas em uma Sprint Review Meeting onde o time mostra o que foi alcançado
neste sprint. Finalmente, faz-se uma Sprint Retrospective para identificar o que
funcionou bem e o que pode ser melhorado e a equipe inicia o planejamento do próximo
Sprint.
Papéis e Responsabilidades
• Product Owner
• Define os requisitos do produto, decide a data de release e o que deve conter
nela.
• É responsável pelo retorno financeiro (ROI) do produto.
• Prioriza os requisitos de acordo com o seu valor de mercado.
• Pode mudar os requisitos e prioridades a cada Sprint.
• Aceita ou rejeita o resultado de cada Sprint.
Papéis e Responsabilidades
• Scrum Master
• Garante que o time esteja totalmente funcional e produtivo.
• Facilita a colaboração entre as funções e áreas e elimina os impedimentos do
time.
• Protege o time de interferências externas.
• Garante que o processo está sendo seguindo. Participando das reuniões
diárias, revisão da Sprint, e planejamento.
• Scrum Team
• Multifuncional, entre 5-9 membros.
• Seleciona, entre os itens priorizados, os que irão ser executados durante a
Sprint.
• Tem todo o direito de realizar o que quiser dentro da Sprint
Principais características do Scrum
1 – Clientes devem estar definitivamente interessados nas entregas, desta
forma eles se tornam parte da equipe de desenvolvimento.
2 – No Scrum, os pacotes de trabalho do projeto são divididos em ciclos (que
podem estar divididos em semanas ou meses) denominados Sprints. O Sprint
significa um Time Box, dentro do qual um conjunto de tarefas deve ser
executado. Uma das grandes diferenças do Scrum para as metodologias
tradicionais é que seus desenvolvimentos são iterativos, ou seja, o trabalho é
dividido em iterações, o que estimula o constante feedback conforme as
entregas vão sendo realizadas. Com isso, o cliente passa a entender melhor o
produto e assim consegue evoluir com base em algo real.
Principais características do Scrum
3 – Torne as entregas frequentes e intermediárias. Não significa entregar
pela metade, significa que cada produto gerado deve entregar valor, ou seja,
estar 100% prontas.
4 – Evolução do projeto e da equipe devem ser discutidos diariamente e de
forma produtiva. No lugar de longas reuniões uma vez por semana, o Scrum
adota reuniões diárias, que devem começar sempre no mesmo horário e não
devem durar mais de 15 minutos. Nestas reuniões cada membro da equipe
deve responder:
O que fiz desde ontem?
O que estou planejando fazer até amanhã?
Existe algo me impedindo de atingir minha meta?
Principais características do Scrum
5 – A transparência é a alma do Scrum, tudo deve estar claro e bem
entendido, caso contrário não se trata de um requisito, logo não
poderá ser estimado, planejado ou desenvolvido. Os problemas
também não devem ser ignorados e ninguém é penalizado por
reconhecer ou descrever qualquer problema não visto. Esse foco ajuda
a torná-los naturais e visíveis, proporcionando que um pequeno
incidente seja descoberto e corrigido rapidamente.
6 – Locais e horas de trabalho devem ser energizadas, no sentido de
que “trabalhar horas extras” não necessariamente significa “produzir
mais”.

Mais conteúdo relacionado

Metodos ageis

  • 1. Métodos Ágeis 26Jul2017 - Fontes consultadas: http://www.projectbuilder.com.br/blog-home/entry/conhecimentos/quais-sao-os-principais-tipos-de-metodos-ageis http://www.brq.com/metodologias-ageis/ https://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software
  • 2. O que são? • São processos de desenvolvimento iterativo e incremental para gerenciamento de projetos. Muito utilizados para desenvolvimento ágil de software, mas com conceitos e práticas aplicáveis a várias outras indústrias. É utilizado para trabalhos complexos nos quais é impossível (ou muito difícil) predizer tudo o que irá ocorrer. • Via de regra, demandam aumento da comunicação e interação da equipe, organização diária para o alcance da meta definida, buscando evitar falhas na elaboração, respostas rápidas às mudanças e entregas em tempos menores. • Algumas vezes caracterizados como o oposto de metodologias guiadas pelo planejamento ou disciplinadas. Uma distinção mais acurada é dizer que os métodos existem em um contínuo do adaptativo até o preditivo. Métodos ágeis existem do lado adaptativo deste contínuo.
  • 3. Métodos adaptativos • Métodos adaptativos buscam a adaptação rápida a mudanças da realidade. Quando uma necessidade de um projeto muda, uma equipe adaptativa mudará também. Um time adaptativo terá dificuldade em descrever o que irá acontecer no futuro. O que acontecerá em uma data futura é um item de difícil predição para um método adaptativo. Uma equipe adaptativa pode relatar quais tarefas se iniciarão na próxima semana. Quando perguntado acerca de uma implantação que ocorrerá daqui a seis meses, uma equipe adaptativa deve ser capaz somente de relatar a instrução de missão para a implantação, ou uma expectativa de valor versus custo.
  • 4. Métodos preditivos • Métodos preditivos, em contraste, colocam o planejamento do futuro em detalhe. Uma equipe preditiva pode reportar exatamente quais aspectos e tarefas estão planejados para toda a linha do processo de desenvolvimento. Elas porém tem dificuldades de mudar de direção. O plano é tipicamente otimizado para o objetivo original e mudanças de direção podem causar a perda de todo o trabalho e determinar que seja feito tudo novamente. Equipes preditivas frequentemente instituem um comitê de controle de mudança para assegurar que somente as mudanças mais importantes sejam consideradas.
  • 5. Princípios • Garantir a satisfação do consumidor entregando rapidamente e continuamente software funcionais; • Até mesmo mudanças tardias de escopo no projeto são bem-vindas para garantir a vantagem competitiva do cliente; • Software funcionais são entregues frequentemente (semanas, ao invés de meses); • Cooperação diária entre pessoas que entendem do 'negócio' e desenvolvedores; • Projetos surgem através de indivíduos motivados, entre os quais existe relação de confiança. • A maneira mais eficiente e efetiva de transmitir informações é conversar cara a cara; • Software funcionais são a principal medida de progresso do projeto;
  • 6. Princípios • Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes para manter um ritmo constante indefinidamente. • Design do software deve prezar pela excelência técnica; • Simplicidade é essencial; • As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas; • Em intervalos regulares, a equipe reflete sobre como para tornar-se mais eficaz, então sintoniza e ajusta seu comportamento apropriadamente.
  • 7. Métodos são ferramentas • Métodos são meios para se chegar a um objetivo. São como ferramentas que podem ser utilizadas em determinados contextos. • Nem toda a ferramenta serve para toda a necessidade, e muitas vezes, mais de uma ferramenta se faz necessária para resolver um problema.
  • 8. Alguns dos principais tipos de métodos ágeis • Feature Driven Development (FDD) • eXtreme Programming (XP) • Microsoft Solutions Framework (MSF) • Dynamic System Development Model (DSDM) • Scrum
  • 9. Feature Driven Development (FDD) • Criado em Cingapura, entre 1997 e 1999, o FDD é um método ágil que reúne as melhores práticas de outros métodos, como o Coad. Sua premissa básica é focada em funcionalidades, o que permite à equipe do projeto realizar um planejamento incremental, isto é, por fases. Esse tipo de atuação ajuda a dar agilidade ao desenvolvimento de soluções em ambientes de extrema incerteza, em que as mudanças são inevitáveis. • A programação por FDD começa com a visão global do negócio, já que esse método considera a soma de tudo mais importante do que cada uma das partes separadamente. Passa-se, então, para o detalhamento do produto com a subdivisão por áreas a serem modeladas, culminando na descrição de cada funcionalidade. • Por se tratar de uma ferramenta focada no desenvolvimento, o FDD pode ser perfeitamente integrado ao Scrum, outro método ágil muito utilizado que também é focado no planejamento e na execução do projeto. E assim como todos os demais métodos ágeis, o FDD também possui melhores práticas que visam criar o ambiente ideal para o desenvolvimento de projetos. São elas: • Desenvolvimento por funcionalidades; • Um único programador é responsável pela funcionalidade desenvolvida; • Controle de qualidade em todas as fases do projeto; • Gerenciamento de configurações; • Integração contínua das funcionalidades; • Planejamento incremental; • Teste de software.
  • 10. eXtreme Programming (XP) • Também criado em meados da década de 90, o eXtreme Programming, carinhosamente chamado de XP, é um método ágil focado no desenvolvimento de softwares que tem três pilares como base: agilidade no desenvolvimento da solução, economia de recursos e qualidade do produto final. • Para chegar à excelência nos serviços prestados, uma equipe XP deve se basear em valores, isto é, um contrato de atitudes e comportamentos que levam ao sucesso. Esses comportamentos e atitudes norteiam as ações da equipe XP em cada atividade a ser desempenhada, garantindo a integração e a sinergia necessárias para um bom desempenho. No caso, esses valores são: • Comunicação; • Simplicidade; • Feedback; • Coragem; • Respeito.
  • 11. eXtreme Programming (XP) • Além dos valores, o método ágil XP também leva em consideração melhores práticas de trabalho, que têm como objetivo garantir a efetividade do trabalho da equipe XP, assim como a satisfação do cliente durante todo o processo de desenvolvimento. São elas: • Cliente sempre à disposição; • Uso de metáforas; • Reuniões de planejamento (planning game); • Reuniões diárias, de 15 minutos, para alinhamento (stand up meeting); • Integração contínua dos módulos desenvolvidos; • Mudanças incrementais; • Entregas frequentes ao cliente (small releases); • Design simples e funcional; • Testes de aceitação; • Refatoração ou melhoria contínua.
  • 12. Microsoft Solutions Framework (MSF) • O MSF é um dos métodos ágeis mais usados por se destinar ao desenvolvimento de soluções tecnológicas por equipes reduzidas, focando na diminuição de riscos para o negócio e no aumento da qualidade do produto final. O propósito é identificar as falhas mais comuns em projetos de tecnologia, mitigando-as e aumentando as taxas de sucesso de cada iniciativa. Dessa forma, assim como o Scrum, o MSF está mais focado na gestão do projeto do que no desenvolvimento da solução em si. • Suas premissas são: • Alinhamento da tecnologia desenvolvida aos objetivos de negócio do cliente; • Escopo bem estruturado e detalhado; • Desenvolvimento iterativo; • Gerenciamento de riscos; • Agilidade na resposta a mudanças. • Assim como os outros métodos ágeis, o MSF também possui melhores práticas que devem ser observadas pela equipe para atingirem os níveis de excelência buscados: • Comunicação aberta e transparente entre todos os envolvidos; • Visão compartilhada do negócio; • Equipe capacitada; • Atribuição de papéis e responsabilidades desde o início do projeto; • Entregas incrementais; • Flexibilidade para mudar sempre que necessário; • Qualidade das entregas; • Aprendizado constante com as experiências adquiridas; • Parceria com clientes internos e externos.
  • 13. Dynamic System Development Model (DSDM) • O DSDM é um dos métodos ágeis mais antigos empregados não só no desenvolvimento de projetos como no meio tecnológico. Um tanto quanto diverso dos demais métodos ágeis, ele é destinado ao desenvolvimento de projetos com orçamento fixo e prazos curtos, levando em consideração que o cliente não tem como saber quanto custará a solução final. • Entre suas melhores práticas estão o desenvolvimento incremental e iterativo, a colaboração entre cliente e equipe, além da integração de funcionalidades, o que também vemos nos demais métodos ágeis. • Vale ressaltar que o DSDM diverge dos demais métodos ágeis tanto em sua estrutura, que é composta por processos interligados de modelagem, concepção, construção e implementação, assim como na gestão do tempo, que não é flexível, até permitindo que as funcionalidades mudem, mas desde que os prazos de execução continuem os mesmos.
  • 14. Scrum • O Scrum é, sem dúvida, o método ágil mais usado nos dias de hoje, principalmente porque pode ser integrado a outros métodos ágeis com facilidade, aplicando-se não só ao desenvolvimento de softwares como a qualquer ambiente de trabalho. Focado na gestão do projeto, o Scrum tem como base o planejamento iterativo e incremental, que, como você já sabe, se dá por fases, chamadas de sprints. • Define-se, desde o início do projeto, a lista de funcionalidades a serem desenvolvidas, também chamada, no caso, de product backlog. Dando andamento ao processo, cada funcionalidade se torna um sprint, cujos detalhes a serem criados e desenvolvidos passam do product backlog para o sprint backlog. Do sprint backlog as atividades são distribuídas entre os membros do Scrum Team, que devem desenvolvê-las dentro de um prazo que geralmente não leva mais que quatro semanas. Ao final de cada sprint é realizada a sprint review meeting, uma reunião de alinhamento sobre o que foi entregue. A partir daí, começa-se a planejar o próximo sprint. Essas etapas acontecem sucessivamente até que o produto final esteja pronto para a entrega.
  • 15. Scrum • Diferentemente dos demais métodos ágeis, o Scrum possui pelo menos três papéis muito bem definidos e absolutamente essenciais para o sucesso do projeto: • Product Owner: é o CEO do projeto, quem faz a ponte entre cliente e Scrum Team. É o responsável pelos resultados do projeto e por gerar valor para o cliente. • Scrum Master: é o coach do Scrum Team, a pessoa responsável por orientar os profissionais em relação às melhores práticas Scrum, remover barreiras e motivar. • Scrum Team: são os profissionais que efetivamente executam o desenvolvimento do projeto. • As melhores práticas Scrum estão baseadas no Manifesto para o Desenvolvimento Ágil de Softwares, levando em consideração atitudes e comportamentos como: • Indivíduos e interação mais do que processos e ferramentas; • Software em funcionamento mais do que documentação; • Colaboração com o cliente mais do que contratos e negociações; • Respostas a mudanças mais do que planejamento.
  • 16. Como funciona • Product Backlog: As funcionalidades a serem implementadas no projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting (uma reunião de planejamento), na qual o Product Owner (quem representa os envolvidos) prioriza todos os itens do Product Backlog e a equipe seleciona as funcionalidades que ela será capaz de implementar durante o Sprint que se inicia. As funcionalidades alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog. • Sprint: No Scrum, os projetos são divididos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um tempo definido dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que no Scrum são chamadas de Sprints e geralmente duram de 2 a 4 semanas.
  • 17. • Burn Down Chart: O Burndown é um simples gráfico, com dois eixos X e Y, baseado nas atividades que não ultrapassem um dia de trabalho. O eixo X indica o número de tarefas existentes no Sprint e o eixo Y os dias que representam o tamanho do Sprint. • Kanban (Quadro de Trabalho): O time também pode possuir um “quadro de trabalho”, também chamado de Kanban, para organizar as atividades dos itens de Backlog da Sprint, separando-as em basicamente em quatro estados (isso pode variar de projeto a projeto): A fazer, Em andamento, Em Testes e Concluído. Esse “quadro” é muito produtivo, pois basta olhar para ele para realizar a leitura do progresso da Sprint.
  • 18. • Daily Scrum: Diariamente, em uma Sprint, a equipe faz uma breve reunião de no máximo 15 minutos com todos os participantes em pé, chamada Daily Scrum. O objetivo é cada integrante dizer o que fez no dia anterior, o que pretende fazer no dia que se inicia e se existe algum impedimento que está atrapalhando o seu trabalho. • Sprint Review Meeting: Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting onde o time mostra o que foi alcançado neste sprint. Finalmente, faz-se uma Sprint Retrospective para identificar o que funcionou bem e o que pode ser melhorado e a equipe inicia o planejamento do próximo Sprint.
  • 19. Papéis e Responsabilidades • Product Owner • Define os requisitos do produto, decide a data de release e o que deve conter nela. • É responsável pelo retorno financeiro (ROI) do produto. • Prioriza os requisitos de acordo com o seu valor de mercado. • Pode mudar os requisitos e prioridades a cada Sprint. • Aceita ou rejeita o resultado de cada Sprint.
  • 20. Papéis e Responsabilidades • Scrum Master • Garante que o time esteja totalmente funcional e produtivo. • Facilita a colaboração entre as funções e áreas e elimina os impedimentos do time. • Protege o time de interferências externas. • Garante que o processo está sendo seguindo. Participando das reuniões diárias, revisão da Sprint, e planejamento. • Scrum Team • Multifuncional, entre 5-9 membros. • Seleciona, entre os itens priorizados, os que irão ser executados durante a Sprint. • Tem todo o direito de realizar o que quiser dentro da Sprint
  • 21. Principais características do Scrum 1 – Clientes devem estar definitivamente interessados nas entregas, desta forma eles se tornam parte da equipe de desenvolvimento. 2 – No Scrum, os pacotes de trabalho do projeto são divididos em ciclos (que podem estar divididos em semanas ou meses) denominados Sprints. O Sprint significa um Time Box, dentro do qual um conjunto de tarefas deve ser executado. Uma das grandes diferenças do Scrum para as metodologias tradicionais é que seus desenvolvimentos são iterativos, ou seja, o trabalho é dividido em iterações, o que estimula o constante feedback conforme as entregas vão sendo realizadas. Com isso, o cliente passa a entender melhor o produto e assim consegue evoluir com base em algo real.
  • 22. Principais características do Scrum 3 – Torne as entregas frequentes e intermediárias. Não significa entregar pela metade, significa que cada produto gerado deve entregar valor, ou seja, estar 100% prontas. 4 – Evolução do projeto e da equipe devem ser discutidos diariamente e de forma produtiva. No lugar de longas reuniões uma vez por semana, o Scrum adota reuniões diárias, que devem começar sempre no mesmo horário e não devem durar mais de 15 minutos. Nestas reuniões cada membro da equipe deve responder: O que fiz desde ontem? O que estou planejando fazer até amanhã? Existe algo me impedindo de atingir minha meta?
  • 23. Principais características do Scrum 5 – A transparência é a alma do Scrum, tudo deve estar claro e bem entendido, caso contrário não se trata de um requisito, logo não poderá ser estimado, planejado ou desenvolvido. Os problemas também não devem ser ignorados e ninguém é penalizado por reconhecer ou descrever qualquer problema não visto. Esse foco ajuda a torná-los naturais e visíveis, proporcionando que um pequeno incidente seja descoberto e corrigido rapidamente. 6 – Locais e horas de trabalho devem ser energizadas, no sentido de que “trabalhar horas extras” não necessariamente significa “produzir mais”.