Category Archives: ProjectManagement

ROI de Software: calcular ou não calcular? Eis a questão!

O diálogo ao lado (do excelente Geek and Poke) pode ser traduzido livremente assim:

- Qual o ROI (retorno do investimento) do sistema que vocês estão para liberar?
- Está na mesma faixa do sistema que implantamos no ano passado
- [silêncio]…
- Em outras palavras, vocês não tem a menor idéia.
- Exato!

Em se tratando de ROI de software existem 2 tipos de organização: aquelas que não tem a mínima idéia do ROI dos sistemas e aquelas que acham que conhecem o ROI dos seus projetos de software.

Existem culpados?

Sim. A complexidade atual. Quer queiramos ou não, os processos de negócio mudam mais rápido do que o tempo de codificarmos “Hello world!” em PERL:

$ perl -e 'print "Hello World\n"'

As organizações mudam, as motivações e objetivos que definiram a construção de uma aplicação mudam entre o início e o final de um projeto. Isto para não falarmos das aplicações que planejamos e codificamos e no final… …lá se vão milhares de linhas de código para o repositório de “projetos solicitados e nunca sequer utilizados”.

Sejamos realistas. Diante de toda esta inevitável complexidade, será que aquele ROI que está destacado na planilha dos gerente de projetos ou dos departamentos de processos, está minimamente correto?

Em minha opinião, devemos calcular ganhos financeiros, de tempo dos processos, da redução de pessoal (efeito colateral quase sempre inevitável), de redução dos lead time dos processos, “ganhos” de produtividade etc etc etc. O ROI, entretanto, este não é tão simples assim.

Que podemos fazer?

As dicas abaixo foram citadas no blog CIO Dashboard (Chris Curran). Em resumo, Chris sugere 5 ações que podem nos ajudar a chegarmos mais próximo do ideal do ROI de um sistema.

1. Valide e Re-Valide o Business Case

Escopo e fases fazem sentido do ponto de vista do negócio? Você pode ter uma opinião não tendenciosa? Que tal solicitar uma opinião de alguém experiente, de uma área não relacionada com o projeto?

2. Defina um Benefício Mensurável

Pode ser simples, mas é melhor definir um ou mais benefícios mensuráveis do que apresentar apenas “promessas de PowerPoint”. Defina, faça as medições antes e depois e veja o resultado na prática.

3. Cada Projeto deve ter seu Plano de Benefícios

Cada sistema tem propósitos e um ciclo de vida ou roadmap próprio. Da mesma forma, cada um deles deve ter o seu próprio plano de benefícios devidamente documentados.

4. Acompanhe os Benefícios do Portfólio de Projetos

Esta é uma dica para as empresas que tem sistemas complexos de TMOs (Technology Management Offices) ou PMOs devidamente estabelecidos. Um dos mais complexos e abrangentes é o Primavera (adquirido pela Oracle).

5. Crie um Painel (Dashboard) e Exiba os Benefícios do Projeto

Quem não se comunica… …pois é, o projeto traz muitos benefícios, ou potenciais benefícios, e toda esta informação fica restrita à equipe de TI. Existe algum benefício, algum ganho? Utilize a comunicação visual e apresenta-a em formato de dashboard.

Boa sorte!

p.s.: interessado em um livro sobre o assunto? Que tal “Maximizing ROI on software development” de Vijay Sikka (ex-Intel e fundador da Sikka Software Corporation)

Gerente de Projeto: Dilema do “Escopo ou Prazo” e a arte da Negociação

Não conheço gerente de projetos que não tenha feito esta pergunta: “Escopo ou Prazo! Escolha”.

A resposta também é óbvia, “Escopo, desde que o prazo não se altere, claro!” (veja a “tirinha” ao lado do excelente Geek&Poke).

O que temos aprendido é que os passos principais (macro) para o planejamento de qualquer projeto são:

  1. Defina uma visão
  2. Liste as tarefas
  3. Determine as dependências entre as tarefas e em que ordem elas devem ser finalizadas
  4. Defina os recursos necessários para completar as tarefas
  5. Determine o prazo em que elas devem ser finalizadas

Parece simples… …mas não é. Se o Gerente de Projetos não tiver habilidades de negociação e de comunicação (entre outros), este esforço pode ser em vão.


Você conhece o “Modelo Harvard de Negociação”?

Não importa se você é um gerente, líder técnico, arquiteto de software… …a negociação faz parte do nosso dia-a-dia.

No filme “O Negociador” é um daqueles que vale a pena ter em casa.

Chris Sabian (Kevin Spacey) é um negociador experiente que aparece negociando com sua esposa trancada no banheiro depois que sua filha a magoou.

Ele é chamado às pressas, por exigência de um policial que mantêm seus colegas como reféns. Este policial é Danny Roman (Samuel L. Jackson), outro expert em negociação, que cai em uma cilada armada por seu colegas de trabalho corruptos. Como D. Roman não confia na equipe do seu distrito, ele exige que C. Sabian assuma a negociação de liberação dos reféns que ele mantém preso no prédio da polícia.

A teoria por trás deste excelente filme é o “Modelo Harvard de Negociação”:

  1. Separe as pessoas dos problemas
  2. Concentre-se nos Interesses, Não nas Posições
  3. Invente opções em que todos ganham
  4. Insista em Critérios objetivos

Muito importante: desenvolva sua BATNA (termo em inglês que significa: “Melhor Alternativa à Negociação de um Acordo“). Nunca entre em uma negociação (com seu filho ou com o presidente da empresa), sem ter uma BATNA.

Em qualquer negociação – de um passeio com sua esposa no shopping versus assistir o jogo de futebol, até a negociação do escopo de um projeto – está uma coisa que chamamos de Interesse. Lembre-se que o seu foco deve ser no Interesse daquela(e) com quem você está negociando, e não nas Posições que ela(e) podem assumir durante o processo de negociação.

O assunto é muito extenso, envolve psicologia, filosofia etc. Meu objetivo aqui é apenas mostrar a importância das técnicas de negociação. Infelizmente, este é um tema abordado superficialmente nos livros de Gerência de Projeto, mas é vital para a nossa sobrevivência profissional e pessoal.

Quer aprender mais?

Sobre o “Modelo Harvard de Negocição” (R.Fisher, W.Ury, B.Patton – Harvard Law School), eu recomendo a leitura do clássico “Como Chegar ao  Sim“.

O livro tem apenas 200 páginas, você consegue ler em um final de semana (com uma parada para assistir o futebol no Domingo). Quando comprei em uma grande loja virtual, paguei menos de R$ 10,00. No momento que escrevo este post (29/11/2009), o preço continua o mesmo: R$ 10,00

A leitura vale a pena!

Abcs!

p.s.: não recebo nenhuma remuneração pela indicação desta obra; este blog não apresenta nenhum link patrocinado e é mantido unicamente com recursos próprios

As “Sete Leis” dos Projetos ou como não ser enganado

ganttchart.png Como gerente de projetos conhecemos as melhores práticas, técnicas de gerenciamento de pessoas, negociação, conhecemos os detalhes dos softwares de gerência de projeto… …mas quais são as “Sete Leis” de projetos que existem exatamente para serem quebradas?.

Matthew E. May é o autor do livro “In Pursuit of Elegance: Why the Best Ideas Have Something Missing“. Ele escreveu este artigo no American Express OPEN Forum Idea Hub.

As “Sete Leis”

Verifique quais são estas leis e identifique se algumas delas lhe soa familiar.

  1. Um grande projeto nunca é completado no tempo planejado, dentro do orçamento, ou com a equipe original, e ele não implementa exatamente o propósito inicial
  2. Os projetos vão bem até quando completam 85% do planejado. Os 15% restantes irão durar uma “eternidade”. É a “praga dos 99% finalizado”. Nunca caia nessa…
  3. Se alguma coisa vai aparentemente bem é porque você negligenciou outras tarefas. Lembre-se da Lei de Murphy
  4. A equipe do projeto odeia os relatórios de acompanhamento semanal porque estes mostram o atraso do projeto. É impossível esconder se você tem o acompanhamento periódico
  5. Um projeto cujo planejamento foi feito “qualquer forma” vai levar três vezes o tempo originalmente planejado. Um planejamento feito de forma cuidadosa vai errar a estimativa em “apenas” 100%. Dez pessoas irão gerar a estimativa de uma mesma tarefa de dez formas diferentes. E um pessoa vai produzir dez estimativas, e nenhuma delas terá o mesmo prazo.
  6. Quanto mais complexo o projeto é, menos você precisa de um técnico especializado para gerencia-lo
  7. Se você tem poucas pessoas na equipe eles não poderão completar as tarefas a tempo. Se você tem muitos recursos eles irão criar mais problemas do que o o projeto já tem

Qual a importância dos Gerentes de Projetos? Como a metodologia Ágil ajuda?

pm.jpg Só quem já passou pela experiência de gerenciar um projeto sabe quão difícil é equilibrar prazo, custo, escopo e qualidade (entre outras variáveis). Achei um artigo no InfoQ bastante interessante e gostaria de compartilhar com vocês algumas idéias do autor (Vinay Aggarwal) que é delivery manager na Índia.

Ele vai mais além e dá a sua visão do papel do GP (Gerente de Projeto) em projetos que pretendem ser ágeis. Lembrando que, não é porque a metodologia utilizada é classificada como “Ágil” que o projeto deveria ser entregue “ontem”; antes do delivery, o sistema precisa funcionar corretamente, atendendo aos requisitos mínimos acordados. Parece (e é) óbvio, mas não custa lembrar, ok?

Por que as empresas precisam dos Gerentes de Projeto?

pm_fun.jpg

De acordo com J. M. Juran, “Um projeto é um [bom] problema cuja solução tem um prazo definido para acontecer“. GPs devem ser, acima de tudo, facilitadores para que este “problema” seja solucionado da melhor forma possível, no prazo e custo estipulado.

A pergunta de US$ 1 milhão é: “Por que, de acordo com o Standish Group, apenas 17% dos projetos finalizaram dentro das metas acordadas?” (dados do mercado americano). Algumas dicas:

  • Ninguém é perfeito: se a premissa fosse verdadeira todos os projetos seriam um sucesso, entregues no prazo, custo e escopo solicitado. Os líderes do projeto, em especial o GP, precisam saber motivar os participantes, manter todos alinhados e identificar (e extrair) o que de melhor cada indivíduo tem. Parece fácil mas, acredite, não é.
  • Controle das Mudanças: change is the only constant in life… …dito isto, cabe ao GP negociar as mudanças da melhor forma possível e, na minha opinião, alertar os stakeholders o mais cedo possível. O GP não muda requisitos, funcionalidades, não tira/coloca recursos dos projetos de forma desorganizada. O seu papel é garantir o cumprimento das metas do projeto com as premissas acordadas. Se as premissas se alteram, o prazo idem. É matemática: AlteraçõesNoPrazoDoProjeto(MudançaNosRequisitos, MudançaDasPessoas, MudançaOrçamento)
  • Comunicação é um problema sempre presente: outra “regra de tumba”; é responsabilidade do GP manter todos alinhados e, mais importante, detectar os “ruídos” inevitáveis que só geram mais atrasos e conflitos desnecessários
  • Processo não são perfeitos: processos são definidos por pessoas, pessoas não são perfeitas, logo, processos não são perfeitos. O GP e a equipe devem concordar quais ítens do processo são aplicáveis e quais não irão trazer nenhum ganho adicional
  • Processo não são implementados corretamente: cabe ao GP trazer a turma “de volta aos trilhos”, uma vez que já ocorreu uma negociação antes de como o processo deveriar ser coberto (negociar, negociar e negociar)

Como a Metodologia Ágil ajuda nestes problemas

Abaixo vamos resumir como Agile pode auxiliar em cada um dos pontos acima:

agile-table.png

Por fim, uma observação muito importante. Um grande erro de algumas empresas é achar que Agile pode ser corretamente aplicado em qualquer projeto. Na minha opinião isto é uma premissa errada. Como toda metodologia, tem seus problemas. Cabe a nós conhecermos um pouco mais e criarmos nosso “arsenal de guerra” para, no momento adequado, utilizarmos a “arma” apropriada.

10 Princípios de Gerenciamento de Tempo (Projetos Ágeis)

Jurgen Appelo é o CIO de uma empresa da Holanda que já foi classificada como a #1 entre empresas que mais se destacaram em inovações tecnológicas. Ele mantém um blog onde escreve sobre tópicos relacionados desde conteúdo para a Internet até a metodologias e gerenciamento de projetos que utilizam metodologia ágeis.

Neste post, Appelo faz uma compilação bastante interessante de 10 princípios que devem guiar todo líder ou gerente de projeto que utiliza as práticas recomendas pelas metodologia ágeis. Discussões à parte sobre a eficácia destas metodologias, o ponto aqui é a discussão do tópico “Gerenciamento de Tempo”, uma das áreas de conhecimento do PMBoK, e um ativo altamente valioso nestes dias.

Vamos ao que interessa:

1. Use uma Definição de “Feito”

Eu poderia traduzir este princípio como “defina a tarefa como concluida se, de fato, ele estiver”. Se couber a palavras “mas” no final do seu discusso, esqueça, a atividade não foi feita, incluindo toda parte burocrática da atividade (apontamento de horas, levantamento de custos etc

Ele recomenda a leitura do artigoThe Definition od Done“. Neste texto o auto, de forma bem humorada, conta que seu pai era contador e tinha um grande aviso na parede da sala para os engenheiros desavisados. Neste aviso, havia um desenho de um papel higiênico e o texto acima: “The Job is not done until the paperwork is done”. Ou seja, na definição dele, o trabalho não estava finalizado se a papelada não foi preenchida. Perfeito.

2. Solicite Prazos bem Definidos e Exija o Cumprimento

Parece óbvio, mas não é: uma vez definido o prazo, não permita que estes se alterem.

Minha experiência pessoal inclui um tempo trabalhando em projetos de desenvolvimento no exterior, morando lá por algumas temporadas. Pelo menos nos EUA, nas empresas onde passei, isto é levado muito a sério. Você passou o prazo? Ok. Então você vai cumprir, “no matter what happens…“, é uma questão que remota a princípios culturais difícieis de explicar neste post, mas é assim que funciona.

Leitura recomendada: “Time Boxing is an Effective Getting Things Done Strategy

3. Não Adicione “buffers” nas Tarefas

9 entre 10 líderes de equipe fazem isto (I Know!). É uma “praga” e, infelizmente, associa-se esta prática aos prazos de TI, que são sempre classificados como “não condizentes com a velocidade do negócio”. Quando o desenvolvedor ou o técnico passa a sua estimativa, ela(e) já informe com uma certa “margem de segurança”.

Isto nos leva ao “Paradoxo Tostines”. TI é culpada por errar estimativas, então aumentamos nossas estimativas para errar menos que, por sua vez, remete à questão de que TI demora muito para liberar as soluções… …percebeu?

(fonte: http://www.focusedperformance.com/articles/CCPM.htm)

Leitura recomendada: “Critical Chain Scheduling and Buffer Management…

4. Não Tome as Decisões antes do prazo estabelecido

Em vista de toda discussão, parece paradoxal, mas tem uma razão. Se você tem um prazo até dia “D”, o autor sugere que você responda no dia “D”.

Qual o risco de responder antes? Mudanças de última hora podem ocorrer (e ocorrem!) e você terá que refazer o planejamento que já tinha feito. A não ser que a questão não deixe nenhuma margem para mudanças, aconteça o que acontecer, conte até 10 antes de responder imediatamente a questão. Isto pode trazer mais problemas que não compensa a sua intenção de “agilizar” o processo.

Leitura recomendada: “ ‘Real Options’ Underlie Agile Practice

5. Reduza os Ciclos dos Processos

Quase um “mantra” das metodologias ágeis, nunca esqueça dos ganhos em reduzir os ciclos iterativos do processos.

Uma resposta rápida (feedback) vai retroalimentar mais cedo o processo e reduzir riscos.

Leitura recomendada: “Lean software development: Why reduce cycle-time?

6. Limite a Quantidade de Tarefas que estão “in progress”

Quanto maior o número de tarefas em andamento, maior o risco de “escorregamento” destas atividades. Não existe um número mágico. Isto depende do porte do projeto, da experiência dos participantes e da equipe que gerencia o projeto, do ferramental disponível para acompanhamento do progresso das atividades etc.

Leitura recomendada: “Managing the Pipeline

7. Mantenha a Disciplina

As regras de ouro aqui são: “resolver um problema tardiamente irá custar muito mais caro” e “começar certo, desde o início”.

Leitura recomendada: “The Power of Process” (recomendo!)

8. Limite o Intercâmbio de Tarefas

Sonho de 10 entre 10 gerentes de projeto, a mensagem aqui é evitar, a todo custo, tarefas intermediárias que farão uso “apenas por um dia, prometo….” dos recursos do projeto.

Leitura recomendada: “Human Tasks Switch Considered Hamful

9. Atenção para as Horas-extras Frequentes

Na minha opinião, se isto é rotina no projeto, ou empresa, é um forte Indicativo de que algo está muito errado. Revisite as estimativas o tamanho da equipe, as fases do projeto, a experiêcia técnica dos recursos etc. Isto, quando comum, só gera desgate na equipe e perda de produtividade.

leitura recomendada: “The Case Against Overtime

10. Separe Urgência de Importância

Atividade Urgentes e Atividades Importantes: escolha uma das duas. Realiza-las ao mesmo tempo é “embarcar em uma canoa furada”.

A prática diz que insistir em realiza-las ao mesmo tempo fará com que a tarefa Importante não será finalizada, gerado custos adicionais que poderião ter sido evitados.

Leitura recomendada: “A 10 Second Guide To Smoother Projects: Urgent vs. Important

Boa sorte! Abraços,

Davi

Projetos orientados a SOA?

Na arquitetura orientada a serviços (SOA) encontramos muitas referências sobre desenvolvimento de software mas, e quanto a metodologia dos projetos de software baseados na arquitetura SOA, será que muda algo?O responsável pela estratégia SOA do National City Bank (USA), Leo Shuster, publicou este artigo (ou versão em PDF) na SOA Magazine de Agosto/2008.Projetos ainda são a forma mais efetiva de organizar as tarefas necessárias para entregar uma solução dentro das organizações. Como SOA traz uma mudança de paradigma no software e infraestrutura de TI, certamente os projetos são impactados.

  • Alguns projetos são suportados por linhas de negócios (Lines of Business ou LoB). Lembre-se que o paradgima de sistemas em “silos” não faz mais sentido em uma arquitetura corporativa (enterprise architecture). Desta forma, podemos ter um problema em que um projeto tem um funding de uma área mas vai alterar processos e resolver problemas de outros departamentos também. É justo atribuir 100% deste custo para o departmento solicitante?
  • Reuso. Aquele serviço que você implementou para o departamento financeiro consultar o rating de crédito dos seus clientes será reutilizado no processo de validação dos clientes de um novo produto produto da área comercial. Quem vai custear este reuso? Como calcular? Como dividir os custos?

Project-oriented SOA Governance ModelO autor propõe um modelo de governaça SOA para os “projetos orientados a SOA”. Veja imagem abaixo:

 (fonte: SOA Magazine)

Veja outras dicas sobre o funding dos projetos:

There are three possible ways to address the service funding concerns.

1. Make the first project to build a service provide the complete funding

2. Establish a central funding source that will cover all service design and construction expenses

3. Provide supplementary funding to projects building services

If option 1 is selected, several strategies for recouping the initial investment can be used.

a. Do not recoup the investment

b. Place a surcharge on each instance of service leverage

c. Charge a small fee for each service call 

 

Leitura mais do que recomendada para gerentes e líderes de projeto.