Dentro Parte 1 do Blueprint de gerenciamento do projeto cobrimos as metodologias de desenvolvimento de software Lean Software, Agile, Scrum e Kanban e como todas elas traçam suas raízes até a Manufatura Enxuta. Essas metodologias geralmente são implantadas em um único nível de equipe. No entanto, a complexidade aumenta à medida que os projetos e as equipes de projeto se tornam maiores e novas abordagens são necessárias para ser ágil em escala.
Na Parte 2, vamos primeiro mergulhar em como gerentes de projeto utilizar a metodologia em cascata, que é o framework mais comum para desenvolvimento de software em empresas tradicionais. Em contraposição a isso, cobriremos os frameworks mais populares que tentam incorporar princípios ágeis em escala - Disciplined Agile Delivery (DAD), Scaled Agile Framework (SAFe), Scrum em larga escala (LeSS) e [email protegido]
A metodologia em cascata (também conhecida como modelo de ciclo de vida de desenvolvimento de software (SDLC)) é uma metodologia mais tradicional em que o desenvolvimento de software em cascata de uma fase para a próxima como uma cascata. As fases não se sobrepõem e têm critérios específicos de entrada e saída para passar de uma fase para a próxima.
Os seis estágios do ciclo de vida do modelo em cascata original são:
Existem algumas vantagens em cascata e é adequado para certos tipos de projetos, mas também existem algumas desvantagens sérias. O Waterfall é mais adequado para projetos mais curtos, onde os requisitos e a tecnologia são bem compreendidos e não têm probabilidade de mudar de maneira significativa.
Se aplicado ao tipo certo de projeto, algumas das vantagens do modelo em cascata:
A cascata não é adequada para projetos mais longos onde os requisitos não são bem compreendidos e / ou têm probabilidade de mudar e / ou onde há risco técnico significativo. Na era de hoje, onde as condições de mercado estão mudando constantemente e o tempo de lançamento no mercado é crítico, isso se aplica à maioria dos projetos de software.
As desvantagens do modelo em cascata, que se concentram principalmente em sua incapacidade de se adaptar às mudanças, incluem:
Entrega ágil disciplinada (DAD) foi formalizado por Scott Ambler na IBM e na Mark Lines e expande os frameworks Agile e Scrum, reconhecendo que as partes não ágeis de uma organização geralmente estão envolvidas em alguma capacidade na entrega de um projeto de software. Essa estrutura inclui explicitamente atividades de operações de TI, arquitetura corporativa, gerenciamento de portfólio, finanças e compras em todo o ciclo de vida de entrega. O DAD visa aumentar a agilidade geral dos negócios de forma pragmática.
O DAD tem muito mais funções do que o scrum e é dividido em duas categorias de funções de equipe. As funções principais são desempenhadas por pessoas que trabalham com o projeto em uma base constante. As funções secundárias geralmente são introduzidas temporariamente para ajudar a equipe com dimensionamento ou outros problemas. O DAD tem essas funções adicionais porque aborda todo o ciclo de vida de entrega da solução e porque reconhece os vários tipos de funções temporárias e de apoio encontradas no mundo real
Funções principais:
Funções secundárias:
O DAD promove um ciclo de vida completo de entrega, não apenas a parte de programação e liberação coberta pelo agile / scrum, mas também a fase de iniciação onde a visão do projeto é definida e aprovada e as fases de suporte e retirada após a liberação. Atualmente, o DAD suporta 6 ciclos de vida diferentes :
Esses ciclos de vida são responsáveis por diferentes estilos de trabalho, níveis de agilidade da empresa e outras situações em que as equipes podem se encontrar. O ponto principal é que esses ciclos de vida agem como sugestões. O DAD promove o pragmatismo sobre o purismo, uma vez que cada situação é única e os praticantes ágil disciplinados devem adotar o processo ágil de acordo com suas necessidades.
O DAD usa uma abordagem orientada a objetivos para criar e adaptar processos ágeis. Os autores desta metodologia descrevem 21 processos mais importantes e comuns que a maioria das equipes enfrentará durante seus ciclos de vida.
Todos esses processos têm pontos de decisão documentados que exigirão que a equipe decida como estruturará esse processo. Cada ponto de decisão fornece técnicas ou práticas sugeridas que podem ser usadas para implementar a decisão. Você pode ver um exemplo disso na imagem abaixo. Um processo “Desenvolver visão comum” tem 6 decisões que devem ser tomadas. Cada uma dessas decisões tem de 2 a 5 práticas sugeridas. As setas indicam que os autores do DAD ordenaram a lista com o item superior sendo a melhor prática e o item inferior sendo a pior prática nesta lista. o _ negrito itálico_ texto significa bons pontos de partida para novas equipes, que estão apenas começando com o DAD.
A entrega ágil disciplinada aborda o dimensionamento de dois ângulos diferentes:
Agilidade tática em escala
Agilidade estratégica em escala
A agilidade tática tenta abordar os fatores individuais de dimensionamento da equipe, como tamanho, distribuição geográfica, complexidade do projeto, etc., por meio da aplicação situacional dos objetivos do processo e suas práticas sugeridas.
A agilidade estratégica tenta abordar o dimensionamento através da aplicação de estratégias ágeis e enxutas amplamente em toda a organização, expandindo a estrutura para abordar diferentes áreas da organização:
DevOps disciplinado : abrange o uso de DevOps para fornecer resultados mais eficazes para uma organização.
Disciplined Agile IT (DAIT) : cobre como aplicar estratégias ágeis e enxutas a todos os aspectos de TI.
Empresa Agile Disciplinada: . aborda como aplicar o lean e o ágil em uma empresa.
Estrutura Agile Escalada (SAFe) é o framework Agile escalado mais popular, bem como o mais complexo e abrangente no momento. 29% dos entrevistados no Relatório Anual do Estado do Agile afirmam que usam essa estrutura em suas organizações. Por sua vez, existem muitos Gerentes de projeto SAFe no mercado.
O início do SAFe foi o livro de Dean Leffingwell “ Escalando a agilidade do software: melhores práticas para grandes empresas , ”Publicado em 2007. Leffingwell é agora o metodologista-chefe da SAFe, mas muitas outras pessoas também contribuem para essa estrutura. Atualmente, na versão 4.6, esta estrutura se assemelha a um produto de software com controle de versão, compatibilidade com versões anteriores e vários componentes.
O objetivo principal do SAFe é facilitar a criação e o crescimento de uma Empresa Enxuta, pois reconhece que muitos tipos diferentes de empresas são, em parte, empresas de software que precisam entregar valor continuamente no menor período de tempo sustentável.
SAFe for Lean Enterprises tenta criar uma Lean Enterprise fornecendo uma base de conhecimento de princípios, competências e melhores práticas comprovados.
O SAFe 4.6 define as cinco competências essenciais da empresa enxuta. Cada competência é um conjunto de conhecimentos, habilidades e comportamentos relacionados que, juntos, permitem que as organizações se destaquem:
Liderança Lean-Agile : Descreve como os líderes impulsionam e sustentam a mudança organizacional por meio do aprendizado, ensino e implementação da mentalidade Lean-Agile da SAFe.
Equipe e agilidade técnica : Descreve as habilidades, princípios e práticas que são necessários para criar equipes Agile de alto desempenho.
DevOps e lançamento sob demanda : Descreve como a implementação de DevOps e um pipeline de entrega contínua fornecem às organizações a capacidade de liberar incrementos de produtos a qualquer momento necessário para atender à demanda.
Soluções de negócios e engenharia de sistemas enxutos : Descreve como aplicar os princípios e práticas lean-agile para a especificação, desenvolvimento, implantação e evolução de aplicativos de software grandes e complexos
Gestão enxuta de portfólio : Alinha estratégia e execução aplicando abordagens enxutas e de pensamento sistêmico à estratégia e financiamento de investimentos, operações de portfólio ágil e governança.
Cada uma das competências essenciais mapeia diretamente para seu respectivo nível no diagrama de processo SAFe, exceto Lean-Agile Leadership que abrange todo o processo.
O objetivo principal do Competência de liderança Lean-Agile é ajudar a transformar a organização em uma empresa ágil enxuta. Isso é feito aprendendo, praticando e ensinando a mentalidade, valores, princípios e práticas Lean-Agile da SAFe.
Valores Essenciais da SAFe guiar a transformação para a empresa enxuta. Em todas as oportunidades, o comportamento de um líder desempenha um papel crítico em sua promoção. Os valores centrais são:
Alinhamento : Comunique a missão, a estratégia do portfólio e a visão da solução. Conduzir briefings relevantes e participar do planejamento de incremento do programa (PI) e manutenção do backlog.
Transparência : Visualize todos os trabalhos relevantes.
Qualidade integrada : Envolva-se em práticas para fornecer qualidade ao longo do ciclo de vida. Recuse-se a aceitar trabalhos de baixa qualidade. Apoiar investimentos em manutenção e redução de dívida técnica.
Execução do programa : Participar como proprietários de negócios na execução de PI e estabelecer o valor do negócio. Certifique-se de que o escopo esteja alinhado com a demanda e a capacidade. Remova agressivamente impedimentos e desmotivadores.
Os valores fundamentais da SAFe são apoiados pela adoção de Mentalidade Lean-Agile e aplicando Princípios SAFe :
Tenha uma visão econômica
Aplicar pensamento sistêmico
Assuma variabilidade; preservar opções
Construa de forma incremental com ciclos de aprendizagem rápidos e integrados
Baseie os marcos em uma avaliação objetiva dos sistemas de trabalho
Visualize e limite o WIP, reduza os tamanhos dos lotes e gerencie os comprimentos das filas
Aplicar cadência, sincronizar com planejamento de domínio cruzado
Desbloquear a motivação intrínseca dos trabalhadores do conhecimento
Descentralize a tomada de decisão
Esses princípios são semelhantes aos princípios Lean e Agile. Finalmente, a transformação da organização é realizada seguindo o Roteiro de implementação do SAFe .
o Competência de equipe e agilidade técnica descreve as habilidades, princípios e práticas necessárias para criar equipes ágeis de alto desempenho que criam soluções de alta qualidade. Duas características principais são críticas:
Agilidade da equipe : as equipes adotam práticas e princípios Agile, que lhes permitem trabalhar, aprender e se adaptar em uma cadência confiável
Agilidade técnica : as equipes aplicam práticas técnicas ágeis que garantem a qualidade do código e dos componentes, e a manutenibilidade do código que produzem A qualidade é um grande foco na competência da equipe e agilidade técnica. Para conseguir isso, técnicas de engenharia ágil, como Behavior Driven Development (BDD) e Test-driven development (TDD), são aplicadas para aumentar a qualidade e o fluxo. O fluxo rápido depende da qualidade da construção em todo o sistema, pois os erros podem afetar gravemente o fluxo e atrasar as liberações.
o Nível de equipe do diagrama SAFe descreve como as equipes Agile individuais operam. Todas as equipes fazem parte do Agile Release Train, que trabalha para entregar um incremento de produto. A maior parte do fluxo ágil / scrum tradicional se aplica, onde as equipes trabalham em iterações para entregar sistemas de trabalho. As funções de scrum master, product owner e membro da equipe são usadas no SAFe, assim como a maioria das atividades e artefatos do scrum. As equipes também são apoiadas por funções de nível de programa, como Gerenciamento de Produto, Arquiteto de Sistema e outros serviços compartilhados. Kanban é usado para ajudar a visualizar o fluxo de recursos através do ciclo de vida de entrega e interações e transferências entre equipes.
o Competência DevOps e Release on Demand descrever como “a implementação de DevOps e um pipeline de entrega contínua fornecem à empresa a capacidade de liberar valor, no todo ou em parte, a qualquer momento necessário para atender à demanda do mercado e do cliente”.
DevOps trabalha para alinhar o desenvolvimento, as operações, os negócios e outras áreas para trabalharem juntos para entregar resultados de negócios. Embora nem toda organização precise lançar com tanta frequência quanto alguns dos líderes do setor do movimento DevOps (a Amazon lança a cada poucos segundos), todas as organizações precisam ser capazes de lançar sob demanda.
O DevOps fornece a abordagem de cultura, automação, fluxo enxuto, medição e recuperação (CALMR) que permite a entrega contínua e a liberação sob demanda
Trens de liberação ágeis (ARTs) são equipes de equipes ágeis organizadas para entregar valor sob demanda por meio de um pipeline de entrega contínua
o Nível do programa do diagrama descreve as funções e atividades necessárias para entregar continuamente por meio de um Agile Release Train (ART) . Este nível funciona de maneira iterativa semelhante ao nível da equipe, mas integra várias equipes ágeis e inclui mais ciclos. A ART é uma equipe ágil de equipes composta de 5 a 12 equipes (50 a 125 pessoas), incluindo as funções ágeis tradicionais, bem como funções críticas do programa, como Engenheiro de trem de liberação (RTE) e Gestão de Produtos. O ART entrega em 8-12 semanas Incrementos do programa (PI) que são planejados via Planejamento PI e liderado por um Gerente de Produto .
O progresso dos recursos, epopeias, etc. do PI é rastreado e gerenciado por meio de um quadro Kanban do Programa. O RTE atua como Scrum Master no ART. As reuniões de sincronização diárias incluem Standups Diários da equipe, Scrum-of-Scrums (RTE e Scrum Masters), PO Sync (Gerenciamento de Produto e Proprietários do Produto) e ART Sync (Scrum-of-Scrums e PO Sync juntos). Cada PI possui uma Demonstração do Sistema e uma Retrospectiva.
o Competência Soluções de Negócios e Engenharia de Sistemas Enxutos descreve “como aplicar os princípios e práticas Lean-Agile à especificação, desenvolvimento, implantação e evolução de aplicativos de software grandes e complexos e sistemas ciberfísicos”.
Além dos princípios SAFe, a aplicação dos 8 princípios a seguir ao trabalhar em soluções de grande porte é a chave para esta competência:
o Grande Nível de Solução contém as funções, artefatos e processos necessários para construir soluções grandes e complexas. Vários ARTs estão trabalhando juntos em Trens de solução entregar Soluções . Os objetivos principais são:
Gerenciar integração frequente
Aborde continuamente as questões de conformidade
Arquiteto para escala, modularidade, liberabilidade e facilidade de manutenção
Gestão de Soluções controla o conteúdo de um Solução e o engenheiro de treinamento de soluções (STE) orienta o trabalho. Solução de arquitetura é responsável por manter uma boa arquitetura para todos os ARTs da Solução. Planejamento Pré e Pós PI é usado para planejar soluções entregues por meio de vários incrementos de programa. UMA Backlog da solução contém Capacidades e Solução épicas e é rastreado por meio de um Kanban de solução borda
o Competência Lean Portfolio Management “Alinha estratégia e execução aplicando abordagens Lean e de pensamento sistêmico para estratégia e financiamento de investimento, operações de portfólio ágil e governança.”
O Lean Portfolio Management foca nas seguintes áreas:
Estratégia e financiamento de investimento: conecta o portfólio à estratégia da empresa, financia fluxos de valor e estabelece o fluxo do portfólio
Operações de portfólio Agile: coordena os fluxos de valor, apóia a execução do programa e a excelência operacional
Governança enxuta: prevê orçamentos, mede o desempenho do portfólio e impõe conformidade
o Nível de portfólio contém os princípios, práticas e funções necessárias para iniciar e governar um conjunto de fluxos de valor de desenvolvimento. UMA Carteira em carteira contém Epopéias de negócios e Enabler Epics e é rastreado por meio de um Quadro Kanban * do portfólio. ** Gestão Enxuta de Portfólio (LPM) decide quais fluxos de valor estão em um portfólio e inclui os maiores tomadores de decisão em uma empresa. A Arquiteto empresarial orienta o trabalho e coordena os fluxos de valor.
Scrum em grande escala (LeSS) O framework foi criado por Craig Larman e Bas Vodde, que o basearam em sua experiência nos setores financeiro e de telecomunicações. Como o nome indica, o LeSS promove o mínimo de processos e procedimentos possíveis para que muitas equipes Scrum trabalhem juntas. O dimensionamento é difícil porque as pessoas o tornam complexo, portanto, o objetivo aqui é torná-lo o mais simples possível.
“LeSS é Scrum, aplicado a várias equipes, trabalhando juntas, em um produto”. LeSS é baseado em dez princípios que parecerão familiares para qualquer pessoa familiarizada com os princípios Lean-Agile:
Scrum em larga escala é Scrum
Controle de processo empírico
Transparência
Mais com menos
Foco no produto inteiro
Centrado no cliente
Melhoria contínua em direção à perfeição
Sistemas a pensar
Pensamento enxuto
Teoria das filas
LeSS tem apenas duas funções principais, ambas emprestadas do Scrum:
Todas as equipes trabalham com o mesmo carteira de produtos em sprints de 1-4 semanas. As equipes trabalham em paralelo, o que significa que começam e terminam os sprints ao mesmo tempo. No final do sprint, as equipes coletivamente entregam um incremento de produto . Pode parecer quase impossível para um product owner trabalhar com 8 equipes. O LeSS promove a transferência da responsabilidade do esclarecimento do item do backlog do produto para as equipes. Por sua vez, as equipes devem ser multifuncionais e conter não apenas competências de codificação, design e teste, mas também conhecimento do domínio de negócios. Mais importante, as equipes devem ser capacitadas para chegar aos clientes.
O planejamento é dividido em duas partes:
O refinamento do backlog do produto (PBR) é feito durante o sprint para preparar os itens do backlog do produto para o planejamento do sprint. O LeSS não oferece regras sobre como fazer o PBR e deixa para as empresas definirem por si mesmas o processo mais eficaz. PBR envolve três atividades principais:
No final de cada sprint, três coisas acontecem:
Scrum em escala e [email protegido] são usados indistintamente. Esta metodologia foi introduzida por Jeff Sutherland em 2014, que criou a metodologia Scrum e foi um dos signatários do Manifesto Ágil.
[email protegido] toma o Scrum como ponto de partida e oferece uma estrutura simples e leve para escalar o Scrum com uma “burocracia mínima viável”. É menos prescritivo do que as outras metodologias ágeis escaladas e pode ser considerado uma meta-estrutura. Ele destaca as questões e áreas de dimensionamento e oferece uma estrutura mental de como elas podem ser tratadas.
[email protegido] é um framework que simplifica radicalmente o escalonamento usando Scrum para escalar o Scrum. No Scrum, o “o quê” (product owner) é claramente separado do “como” (scrum master). A mesma estratégia é usada em [email protegido] para que a jurisdição e a responsabilidade sejam bem compreendidas, eliminando desperdícios e conflitos.
[email protegido] contém dois ciclos para separar claramente as jurisdições: o Ciclo Scrum Master e a Ciclo do Dono do Produto com dois pontos de contato: Processo no nível da equipe e Feedback sobre a versão do produto.
o ciclo do scrum master é responsável por como as coisas que o ciclo do product owner identificado serão construídas. Dentro [email protegido] , equipes Scrum individuais têm as mesmas funções, artefatos, atividades e cerimônias que o Scrum tradicional.
As equipes Scrum são agrupadas em um Scrum de Scrums (SoS) que solidariamente responsável pela produção de um incremento de produto conjunto. Eles participam da preparação e priorização conjunta de pendências, realizam retrospectivas, mantêm atrasos de impedimento e mantêm um Scaled Daily Scrum (SDS) (semelhante em formato ao scrum diário) para coordenar as equipes e remover obstáculos. O SDS é assistido por pelo menos um representante (geralmente o scrum master da equipe) de cada uma das equipes participantes e é liderado pelo Scrum of Scrums master (SoSM) quem é responsável pela coordenação com as equipes scrum e os proprietários do produto.
Se for necessária uma escala adicional, há um scrum de scrum de scrums (SoSoS) criado a partir de vários SoS que também seriam atendidos diariamente e assim por diante. O líder geral é o Equipe de Ação Executiva (EAT) que é responsável por promover o Agile na organização, coordenando times Scrum conforme necessário, e por ser a última parada para a remoção de impedimentos.
o Ciclo do Dono do Produto é responsável por qual produto ou serviço será criado e todas as atividades necessárias para dar suporte a isso. Os Proprietários do Produto são atribuídos a equipes Scrum e realizam todas as atividades de sua função, conforme definido no Scrum. Os proprietários do produto são agrupados em Equipes de Product Owner que mapeiam para as equipes de SoS. As equipes do Dono do Produto se encontram diariamente em um Scrum meta para discutir uma estratégia de alto nível para as equipes e coordenar conforme necessário com o SoSM correspondente e outros proprietários de produtos e partes interessadas. Meta Scrums são liderados por um Dono do produto chefe (CPO) .
Os Proprietários do Produto escalam de forma semelhante ao ciclo do Scrum Master, dependendo do tamanho da organização e culmina em um Meta Scrum Executivo (EMT) , que é responsável pela definição de prioridades em toda a empresa.
Implementação de [email protegido] começa com a criação de um modelo de referência escalonável, ou seja, um pequeno conjunto de equipes usando scrum em pequena escala. Isso é feito para resolver quaisquer políticas organizacionais e práticas de desenvolvimento que prejudiquem a agilidade. [email protegido] sugere resolvê-los cedo porque todas as equipes provavelmente enfrentarão esses problemas gerais da organização e as frustrações consequentes podem impedir a adoção do Agile. O modelo de referência é então usado como um padrão para escalar o scrum para outras equipes e departamentos.
A equipe de ação executiva (EAT) deve ser criada inicialmente para implementar o modelo de referência. A EAT é composta por indivíduos com poderes política e financeiramente dentro da organização, pois serão capazes de implementar as mudanças na política organizacional.
Nesta segunda parte do plano de gerenciamento de projeto, cobrimos algumas das estruturas mais populares usadas em projetos ou programas maiores. A cascata ainda é amplamente usada em muitas organizações e, embora tenha muitas desvantagens devido a seus processos inflexíveis, às vezes faz sentido usar essa estrutura quando os projetos são pequenos e o escopo é bem definido e improvável de mudar.
À medida que as empresas encontram projetos maiores e mais complexos com requisitos ou metas em constante mudança, elas procuram abordagens mais ágeis. Como o Agile foi originalmente concebido para pequenas equipes de 5 a 9 pessoas, vários praticantes do Agile vieram com várias maneiras de dimensionar o Agile, de equipes únicas a várias equipes e em toda a empresa. Neste artigo, cobrimos o Disciplined Agile Delivery (DAD), o Scaled Agile Framework (SAFe), o Scrum de grande escala (LeSS) e [email protegido]
Na parte final do plano de gerenciamento de projeto, cobriremos algumas estruturas específicas de gerenciamento de projeto, como PMP (PMBOK) e PRINCE2. Também abordaremos alguns processos e estruturas de inovação como 'tarefas a serem realizadas' (JTBD) e 'design thinking'.
A metodologia em cascata envolve muito planejamento inicial e os resultados são entregues no final de um projeto. A metodologia ágil promove planejamento leve e múltiplas iterações para entregar resultados em pequenos incrementos.
Sim. Dividir um projeto em cascata em partes, onde parte do trabalho seria feito iterativamente em sprints, seria um exemplo das duas metodologias usadas em conjunto. As metodologias híbridas também ajudam a combinar as duas abordagens para obter o máximo de benefícios.
Uma metodologia híbrida significa que alguns componentes de cascata e ágil são usados no mesmo projeto ou na mesma empresa. É uma abordagem comum para empresas em transição de cascata para agile.