Metodologia ágil ou tradicional: porque não as duas?

Os modelos ágeis de gestão vem ganhando cada vez mais espaço nas organizações, mas nem sempre são bem aceitas ou entendidas por gerentes/executivos acostumados com o gerenciamento de projetos no modelo tradicional (em cascata, ou waterfall). As discussões sobre vantagens e desvantagens de cada modelo são, muitas vezes, inflamadas e polarizadas, onde cada um dos lados tenta doutrinar o outro.

Por mais que cada modelo ofereça uma série de vantagens e desvantagens (que devem ser avaliadas por cada organização e, mais especificamente, cada tipo de projeto) o que eu tenho visto é que a implementação “pura” de um modelo ou de outro é muito rara. Poucos são os lugares onde o gerenciamento do projeto segue dogmaticamente os preceitos (“boas práticas”) listadas no PMBoK ou que executem todos os seus projetos usando Scrum, por exemplo. Se olharmos criticamente um conjunto de projetos de determinada empresa é muito provável que vejamos a utilização de práticas de ambos modelos.

O objetivo desse post é compartilhar uma experiência onde tive a oportunidade de trabalhar com os dois modelos simultaneamente no mesmo projeto, e discutir sobre os ganhos percebidos, dificuldades encontradas e adaptações (tailoring) necessárias.

Histórico do projeto

O projeto tratava do desenvolvimento de uma inovação em um produto do cliente, cuja janela de inserção no mercado era bem definida (e restrita). Os requisitos do sistema, por sua vez, eram bastante complexos, e ainda não totalmente especificados (o que ocorreu ao longo do projeto).

Devido à importância estratégica do projeto o cliente necessitava validar entregas parciais e ter algumas funcionalidades implementadas em versões de demonstração do produto para ser utilizado em “Road Shows”. Assim, uma das ações para garantir a execução desse trabalho foi o estabelecimento de um contrato para a alocação de um time de tamanho fixo durante um período determinado.

Considerando as características do projeto o modelo de desenvolvimento escolhido foi o Scrum, uma vez que este permitiria tratar o desenvolvimento do produto de forma incremental e ainda assim garantir a qualidade do produto e do processo (outro requisito importante para o cliente).

No entanto, apesar de entender o funcionamento do modelo “puro” do Scrum o cliente demandou um acompanhamento nos moldes tradicionais, considerando um projeto “waterfall” e artefatos previstos no modelo de maturidade CMMi. Com isso, por exemplo, foram criados o cronograma macro de entregas descrito em um gráfico de Gantt, algumas métricas de acompanhamento de valor agregado e relatórios de status semanais.

Desafios

Em virtude dessa gestão “mista” foi necessário avaliar processos e práticas das duas correntes de pensamento e avaliar criticamente o uso das mesmas no projeto, tendo em mente a não duplicação do trabalho e a otimização do tempo e esforço para a gestão do projeto, com a garantia do atendimento das expectativas dos stakeholders.

Como resultado dessa análise alguns processos tiveram de ser adaptados. Já alguns outros continuaram a ser executados da mesma maneira, uma vez que o resultado produzido era o mesmo ou não apresentava diferenças significativas usando um dos métodos.

Os ajustes no processo foram sendo feitos e validados com o cliente ao longo do projeto, com o consequente mapeamento das práticas e grupos de processos de modo a gerenciar o projeto de forma eficiente.

A prática 

As principais disciplinas exercidas durante o projeto estão listadas a seguir, juntamente com uma explanação de como elas foram executadas.

Gestão do escopo

O escopo do projeto foi dividido em pacotes de trabalho, sendo que cada requisito foi detalhado pelo analista de requisitos para a criação do product backlog do projeto. No entanto, diferentemente de um projeto ágil puro, toda a quebra dos requisitos em estórias e atividades foi feita durante o planejamento do projeto e o backlog resultante foi usado como guia para o planejamento das iterações (sprints).

Quaisquer mudanças nos requisitos do projeto, seja por entendimento dos mesmos ou por alteração do escopo original, foram tratadas através de um procedimento de “Solicitações de Mudança” (Change Requests), onde as mudanças eram analisadas, detalhadas e incluídas no product backlog.

Gestão do cronograma

Apesar do projeto ter sido executado usando Scrum o conteúdo de cada iteração foi definido com base na priorização do backlog feita pelo Product Owner ainda durante a fase de planejamento. Como o conteúdo de cada iteração estava, em grande parte, definido de antemão a reunião de planejamento de cada sprint focava no balanceamento de volume de trabalho (esforço) e força produtiva disponível (capacidade), além de fazer adaptações necessárias na velocidade do time e incorporação de atividades remanejadas de outros sprints.

Como o Gerente de Projetos do cliente precisava ter visibilidade do projeto como um todo, foi criado um cronograma no MS-Project para acompanhar a execução de cada requisito, sendo que os milestones definidos continham um subconjunto de requisitos que seriam implementados. O cronograma era acompanhado com base no progresso dos sprints, e servia como referência para coleta de métricas do projeto.

O acompanhamento do projeto se dava tanto pelo cronograma de funcionalidades quanto pelo gráfico de burndown de cada sprint. Os dados do cronograma eram usados para informar o progresso do projeto como um todo, enquanto o burndown indicava o progresso de cada sprint.

Gestão do custo

Como o time de projeto era fixo a gestão dos custos do projeto limitou-se ao controle de despesas, o que simplificou a tarefa. Os índices de valor agregado derivavam diretamente dos dados inseridos no MS-Project.

Gestão da comunicação

O plano de comunicação foi criado no início do projeto após a identificação de todos os stakeholders. Para cada tipo de informação a ser divulgada foi definida a periodicidade e sua audiência, bem como o propósito e o responsável pela coleta e divulgação de cada informação. O time de projeto era informado regularmente através das reuniões diárias e demais cerimônias (planning, review) do sprint. Já a alta gerência e o cliente eram informados através de relatórios semanais de progresso.

Um mapa com papéis e responsabilidades de cada stakeholder foi criado e divulgado, de modo a tornar público todos os canais de informação do projeto.

Gestão de riscos

O processo de identificação e análise qualitativa dos riscos, bem como o planejamento de resposta aos mesmos, seguiu o processo tradicional, com o uso de uma planilha de acompanhamento atualizada semanalmente, sendo que o time e demais stakeholders eram envolvidos no processo através das reuniões diárias, reuniões periódicas de status e cerimônias do Scrum.

Gestão da qualidade

O projeto seguiu um processo de desenvolvimento aderente ao CMMi e foi acompanhado por um analista da área de Qualidade, que auditava periodicamente (a cada final de sprint) as entregas (artefatos) do mesmo. A qualidade era garantida através da criação e acompanhamento de itens de “Não Conformidade” em ferramenta específica, que eram enviados ao cliente mensalmente.

Gestão de RH:

A alocação de pessoas foi facilitada pelo fato do time ter um tamanho fixo ao longo de todo o projeto. Como a estrutura da empresa é do tipo matricial o gerente funcional era responsável pela alocação das pessoas, mas uma vez definido o time com as habilidades necessárias (com base no escopo definido) o esforço de gestão foi reduzido, limitando-se ao planejamento e controle de ausências ocasionais e períodos de férias, bem como, obviamente, ao acompanhamento do desempenho dos membros da equipe.

Gestão de aquisições:

Não foi necessário durante o projeto.

Conclusão

A amostra de projetos executados com essa metodologia é pequena e limitada aos projetos que eu gerenciei para esse cliente específico mas, apesar do trabalho inicial de análise ter tomado algum tempo, os resultados foram bastante satisfatórios.

O gerente de projetos do cliente ficou satisfeito por ter a visibilidade que precisava, e os produtos dos projetos foram entregues no prazo e com qualidade necessária. Um resultado adicional, que comprova a eficiência do modelo, é que ele tem sido adotado inclusive por outros parceiros com quem esse cliente executa projetos.

E você, tem alguma experiência desse tipo?

Eamon Sousa

Posts relacionados:

Milestones

Um importante item a ser definido no planejamento dos projetos refere-se aos Milestones. Na definição do PMBoK a identificação dos milestones é uma das atividades do grupo de processo de planejamento que preve a criação da lista de milestones, que, por sua vez, fará parte do Project Charter.

Muitas vezes, os milestones são associados às mudanças de fase de projeto. Entretanto, é preciso entendê-los para que estes pontos de avaliação/verificação sejam realmente úteis para o projeto.

  • No PMBoK: “um milestone é um momento significativo ou evento no projeto. A lista milestones identifica todos os milestones e indica quais são obrigatórios, tais como aqueles necessários por contrato; ou opcionais, como os baseados nas informações históricas”.
  • O CMMi (Capability Maturity Model Integration), no seu modelo de melhoria de processo aplicado aos projetos de desenvolvimento, estabelece algumas práticas (Specific Practices) que visam a identificação dos milestones (que são associados com a garantia de finalização de determinadas entregas) e também a sua revisão (onde o objetivo é avaliar a produção realizada e os resultados do projeto nos milestones selecionados).

Os milestones, ou pontos de decisão, também recebem outros nomes, tais como: phase exits, phase gates, decision gates, stage gates, kill points.

O estabelecimento dos milestones pode ser baseado:

  • em eventos: como os finais de fase, por exemplo.
  • no calendário: por exemplo, o final dos sprints (Agile) da fase de desenvolvimento, já que sua data deve ser definida.
  • no orçamento: onde a avaliação do andamento é feita em momentos onde determinados percentuais do orçamento do projeto já foram consumidos (por exemplo, a cada 10% do budget total investido).

Os finais de fase são, naturalmente, pontos de reavaliação do andamento. Entretanto, não podem ser únicos, especialmente considerando-se que os resultados de uma fase são fatores de decisão sobre a continuidade (ou não) da próxima fase; já que o objetivo é atuar no projeto conforme a situação atual, e não simplesmente listar o status do mesmo. Ou seja, de nada adianta chegar a um dado momento do projeto pra ter certeza de que algo saiu errado, é preciso antecipar-se e atuar preventivamente.

Algumas práticas interessantes (e necessárias) compreendem:

  • a identificação dos milestones no cronograma do projeto (por exemplo, nos diagramas de sequenciamento de atividades.
  • envolvimento dos stakeholders relevantes (gerência, equipe, cliente, usuários finais, fornecedores, etc.)

Durante a avaliação do projeto nos milestones, várias análises podem ser feitas. Dentre elas:

Como resultado dessa análise deve-se ter a revisão e atualização do plano de projeto (compromissos firmados, escopo, riscos, planos de ação,etc).

Em resumo, o milestone deve ser entendido como um momento do projeto onde será feita uma avaliação detalhada de seu andamento e a determinação dos próximos passos a serem seguidos. Neste sentido, é importante que os milestones sejam estabelecidos em momentos onde seja possível ao gerente do projeto, juntamente com sua equipe, tomar ações que possam garantir que o projeto seja concluído com êxito.

Giovani Faria

Meus posts

Gestão de Projetos: Operacional x Estratégico

Vamos analisar a gestão de projetos sob dois pontos de vista:

  • Operacional: onde os passos definidos pelos fluxos de processos organizacionais de gestão de projeto são seguidos metódica e repetidamente. As auditorias de qualidade de processo não identificam não conformidades e os resultados esperados para o projeto são alcançados. A burocracia é entendida como necessária. Enfim, tudo é feito como e porque está no processo.
  • Estratégico: os fluxos de processos organizacionais são analisados e aprimorados. As auditorias de qualidade de processo sempre registram observações (de melhoria de processo) a serem validadas, aprovadas e, possivelmente, implementadas na organização. A burocracia é posta à prova constantemente e alternativas para melhorar a eficiência são propostas. Tudo é feito porque é importante para o projeto e para a organização.

No operacional as tarefas são simplesmente executadas individualmente. Enquanto que no estratégico as mesmas tarefas compõem um todo que tem um objetivo que todos os envolvidos compreendem e contribuem para seu atingimento.

A gestão operacional de projetos é voltada para os artefatos (planos, registros, etc.). Já a gestão estratégica de projetos é focada no objetivo/resultado.

Então, qual é o melhor tipo de gestão? Eu diria que uma combinação de perfis (operacional x estratégico) é o mais adequado, afinal, depois de se traçar uma estratégica (que foi analisada e planejada) é preciso que ela seja operacionalizada.

Giovani Faria

Meus posts

Gerenciamento do Tempo

Neste post, diferentemente do que o título possa sugerir, quero abordar o gerenciamento do tempo do gerente de projetos e não o gerenciamento das atividades do projeto (prazos, cronogramas, etc.). Em especial, quero abordar o assunto de gestão pessoal do tempo quando falamos do gerenciamento de vários projetos simultâneos.

A motivação veio principalmente pela necessidade de organizar melhor tempo para a gestão de diversos projetos simultâneos. Com esta demanda de gerenciar todas as atividades de um portfolio de projetos acabei por incluir no meu Twitter a seguinte frase: “Instantaneous Management, uma maneira de aumentar o throughput.”. Além disso, vi uma das mensagens de José Finnochio, também no twitter, que dizia “Superei OnePage Project management. Acabei de Inventar o Twitter Project Management (TPM).Todo plano tem q caber em 140 caracteres.”.

Com tudo isso, comecei a me questionar em como manter o controle dos projetos, mantendo todos artefatos (planos, relatórios, etc.) atualizados, fazendo uso das melhores práticas de gerenciamento e garantindo o alinhamento com a estratégia organizacional, sem perder a aderência aos processos/padrões organizacionais.

Explorando um pouco mais cada um dos termos destacados acima:

  • Manter o controle dos projetos: saber o que entregar (escopo), quando entregar (prazo), quem são os responsáveis (pessoas), gerenciar os riscos, manter a comunicação, satisfazer stakeholders, etc . Entretanto, todas essas informações são normalmente inseridas nos planos dos projetos, que seguem os processos organizacionais que, por sua vez, estabelecem o fluxo de trabalho. Para este controle procuro ter listados (em uma lista de action points, post it, anotações, etc.) todas as atividades que devem ser realizadas ao longo do dia. Esta lista, obviamente, deve ser revista/atualizada diariamente.
  • Utilizar as melhores práticas: embora guias como o PMBoK não exijam que todos os seus processos sejam utilizados, e que planos de projeto devam ser atualizados constantamente, fazer uso das melhores práticas para múltiplos projetos pode se tornar uma tarefa quase impossível levando-se em consideração a velocidade dos acontecimentos e as demandas sobre o gerente dos projetos. Com a experiência, o uso de práticas de sucesso acaba por se tornar uma rotina. Entretanto, no início, é preciso seguir a literatura disponível ou, por exemplo, criar checklists de atividades a serem realizadas.
  • Aderência aos processos organizacionais: o seu uso busca essencialmente a padronizações interna e garantia da qualidade do gerenciamento do projeto (controle e uso de melhores práticas) enquanto, por exemplo, atende a certificações como ISO e CMMi. Este é um ponto que pode criar certa dificuldade uma vez que não é da competência do gerente de projeto decidir sobre alterações nos fluxos de processos organizacionais. Ele pode sim, com o uso, sugerir melhorias ou mudanças, mas a decisão sobre aceitar essas propostas e implementá-las em toda organização é de responsabilidade, por exemplo, do PMO ou da área de processos, ou ainda, do EPG (Engineering Process Group – CMMi).

Cada metodologia/ferramenta de gestão das atividades do gerente de projeto possui características que podem se adequar em menor ou maior grau às suas necessidades. Todavia, para dificultar ainda mais a obtenção do resultado esperado, além de considerar a organização no atendimento às demandas dos projetos, esse ferramental deve considerar as restrições e demandas dos processos internos e da estratégia organizacional.

Para completar, dentre os diversos títulos disponíveis que tratam do tema, encontrei um que descreve de um método chamado de “Get Things Done” do autor, David Allen, que diz “…Só quando nossas mentes estão claras e nossos pensamentos organizados é que podemos atingir a produtividade sem estresse e liberar o nosso potencial criativo…”.

Além desse, diversas outras ferramentas e metodologias procuram resolver o problema de como conseguir organizar-se para obter o máximo de produtividade e resultados. Uma dessas ferramentas que pretende auxiliar na solução desse problema é a Toodledo cujo slogan diz : “An easy to use, online to-do list. Get organized, stay motivated, and be more productive”.

O uso dessa, ou de qualquer outra ferramenta, para servir ao propósito de auxiliá-lo no gerenciamento de atividades,  passa pela análise:

  • dos prazos de entrega
  • das prioridades das atividades
  • das estimativas de esforço (tempo) necessário para a conclusão

Entretanto, o grande desafio é integrar tudo isso com suas metas (pessoais e profissionais).

Giovani Faria

Meus posts

 

Ps.: Um link interessante para acessar: http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&discussionID=17423495&gid=1812399&trk=EML_anet_qa_ttle-d7hOon0JumNFomgJt7dBpSBA

A Essência da “Agilidade”

A abordagem “Ágil” é confundida as vezes como uma justificativa da falta de disciplina ou de metodologia, acarretando muitas vezes a não adoção dessa abordagem por uma organização. A confusão é compreensível, porque há uma multiplicidade de práticas que se julgam “Ágeis” e outras que são “Ágeis” mas são aplicadas de maneira errada.

A “Agilidade” denota a capacidade de suportar o que quer que aconteça mantendo o equilíbrio e a dinâmica. Traduzir isso para o gerenciamento é manter o desempenho e a continuidade dos projetos diante da evolução das necessidades do cliente, dos objetivos da organização e das tendências de mercado.

A “Agilidade” então é baseada em alguns princípios unidos por um único conceito de valor e a aplicação desses valores resulta num ambiente “ágil” que poderá ser observado e sentido por qualquer stakeholder do seu projeto. Nesse ambiente considera-se valor as seguintes iniciativas:

- aprendizado e adaptação

- colaboração

- foco no cliente (objetivos)

- times de projeto reduzidos e auto-gerenciados

- planejamento iterativo

- elaboração progressiva dos requisitos desse projeto

- entregas incrementais

Abraços, Marcelo

Conhecendo a si mesmo…

A eficiência organizacional tem se tornado um diferencial competitivo. O exercício de autoconhecimento mostrar o que pode ser mudado e o que deve ser incentivado, agregando valores ao processo produtivo e eliminando o “golden plate” desnecessário. 

Um exercício prático e simples: pegue uma folha de papel em branco, e sem olhar pra sua mão, desenhe a palma dela com a maior riqueza de detalhes possível, não se esquecendo de cada linha presente nela. Depois de feito, compare o resultado. Faltaram muitos detalhes? Você conseguiu desenhar toda as linhas? Até as menores? Ficou diferente da palma da mão verdadeira?  Não se preocupe, isso é bem normal. 

É normal também supormos que conhecemos os processos como a palma de nossa mão, e essa “segurança” cresce a cada dia que interagimos com ele, isso é chamado experiência, mas pensar assim é ledo engano. O exercício de autoconhecimento acima deve ter lhe provado o contrário!

Conhecer a si mesmo e aos processos que permeiam a organização são os primeiros passos para se pensar em eficiência organizacional.

 A ferramenta de “brainstorming” dá apoio a esse procedimento de descobertas. Junte o time de execução e motive a discussão sobre o que fazemos. Não critique nem limite os comentários, deixe-se surpreender com o modo como as coisas são feitas. Esse é o caminho de descobrir o que fazemos!

 Dicas:

  • anote tudo em recadinhos adesivos (post it);
  • depois discuta cada dos itens assim que os comentários se esgotarem;
  • entenda o que todos fazem em comum;
  • discuta o que cada um faz de diferente;
  • proponham inovações;

Abraços, Marcelo Camera

A “Sopa de letrinhas” do Gerenciamento de Projetos

sopa2Aproveitando um pouco da idéia do post anterior (sobre melhoria de processos), comecei a analisar a “sopa de letrinhas” relacionada a este tema.  Esta sopa de letras inclui algumas das metodologias e técnicas que visam garantir eficiência e qualidade dos projetos com que tenho trabalhado nos últimos anos no ambiente de Desenvolvimento de Software para Telecomunicações.

Dentre elas, selecionei uma pequena amostra, as minhas Top 3, que são: PMBoK®, Scrum (Agile) e CMMi®.

  • O PMBoK® (Project Management Book of Knowledge), do PMI® (Project Management Institute), tem uma posição de destaque na lista por ser considerado um guia de referência em gerenciamento de projetos. Nele, existem vários grupos de processo e áreas de conhecimento (com entradas e saídas bem definidas) que auxiliam na condução do projeto.
  • Seguindo minha lista temos o SCRUM, que não descreve um processo ou técnica, mas uma metodologia de trabalho que na qual você pode empregar vários processos e técnicas no desenvolvimento. Este é voltado principalmente para atividades de  gerenciamento (monitoramento e controle) e incentiva a criação de uma estrutura dinâmica de desenvolvimento que regularmente faz entregas de partes do produto.
  • E então, o CMMi® (Capability Maturity Model Integration), que é um modelo de melhoria que visa proporcionar às organizações elementos necessários (ou essenciais) para a maturidade em disciplinas (Áreas de Processo) relacionadas a melhoria da performance organizacional. Com CMMi® procura-se estabeler, documentar, institucionalizar e aprimorar um processo eficaz de desenvolvimento de software.

 O desafio

Informações sobre estes três elementos podem facilmente ser encontradas na internet e em livros de referência, entretanto, transformar toda esta Informação em Conhecimento exige bastante estudo, dedicação e, principalmente, experiência prática.

Olhando para o grande volume de informações disponíveis, creio que alguns questionamentos sejam bastante comuns:

  • Por onde começar?
  • Qual metodologia, técnica ou prática se adequa melhor aos requisitos e características do meu projeto? 

A prática

As respostas a estas questões não são triviais e requerem, além do entendimento das metodologias, um conhecimento mais profundo do tipo de projeto onde se deseja aplicá-las. Assim, para entender este universo e produzir bons resultados, pode-se desenvolver algumas atividades:

- Analisar o seu processo de desenvolvimento

- Identificar os pontos principais (eg. documentação, qualidade, ‘burocracia’, etc.)

- Determinar os tipos de controles necessários (eg. custos, esforço, estimativas, etc.)

- Avaliar os aspectos característicos de cada metodologia

- Selecionar os mais aderentes às suas necessidades

- Praticar, Otimizar e Melhorar = Inovar.

 Afinal de contas, não existe a metodologia perfeita, e sim, a metodologia mais adequada a realidade da sua organização e dos tipos de projetos que ela desenvolve.

Abraço, Giovani Faria

Hiper eficiência em tempos de crise

Em tempos de crise o gerente de projetos deve evitar tudo o que possa ser considerado como perda de tempo (traduzindo tempo como sendo custo, tempo e qualidade).

Uma prova disso é que a retração econômica “estimula” discussões sobre melhorias de eficiência em todos os tipos de projeto.

O mercado tem estabelecido a concorrência franca entre competidores e motivando times de projeto a repensar sua maneira de agir visando cortar todo sinal de desperdício.

Essa tendência (que já é realidade em algumas organizações) tem provado que a sem pressão não há melhoria em processos.

Essa tendência potencializada pela competição exigida pelo mercado vem produzindo nas organizações uma estrutura de projeto capaz de reavaliar processos, medir suas saídas e com isso identificar práticas que possam melhorá-los.

Na prática isso significa responder a três questões básicas:

  1. O que faço?
  2. Como faço?
  3. Por que faço?

Em outras palavras, conhecer a mim mesmo, avaliar o sentido do que faço e entender se posso fazer de maneira diferente visando ser mais efetivo e produtivo.

Parece fácil? Experimente responder a essas questões de maneira objetiva…

Abraços, Marcelo Camera

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 133 other followers