Engenharia de Software | Gerenciamento de Projetos de Software | Fundamentos do Gerenciamento de Software
Conceituação
É muito comum, no meio corporativo, ouvirmos:
Próximo mês, iniciamos o Projeto XYZ (…)
Estão todos dedicados ao Projeto XYZ (…)
A definição do PMBoK®-Project Management Body of Knowledge, sobre projeto, é: “Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.”
Observe que os projetos possuem características bem significativas, como:
- Temporários, possuem um início e um fim definidos;
- Planejados, executados e controlados;
- Entregam produtos, serviços ou resultados exclusivos;
- Desenvolvidos em etapas, implementam uma elaboração progressiva; realizados por pessoas; sofrem restrições.
Análise de ambientes
No livro Management 3.0, de Jurgen Appelo, o autor procura explicar as diferenças entre os possíveis ambientes organizacionais, nos quais projetos ocorrem, utilizando duas dimensões distintas.
A primeira dimensão diz respeito à estrutura do sistema:
• Simples: fácil de entender;
• Complicado: muito difícil de entender.
A segunda dimensão diz respeito ao comportamento do sistema:
• Ordenado: totalmente previsível;
• Complexo: parcialmente previsível, mas com muitas “surpresas”;
• Caótico: imprevisível.
Teoria de Cynefin
Outra abordagem sobre os ambientes organizacionais é o Cynefin Framework, de Dave Snowden, que descreve uma perspectiva sobre a natureza evolutiva de sistemas complexos, inclui sua incerteza inerente.
O nome serve como um lembrete de que todas as interações humanas são fortemente influenciadas e, muitas vezes, determinadas por nossas experiências, tanto através da interferência direta da experiência pessoal, bem como através da experiência coletiva, tais como histórias ou música.
O Cynefin Framework tem cinco domínios. Vamos ver os quatro primeiros.
Teoria de Cynefin – Simples
No Simples, você faz X e você sempre terá Y, e não importa quantas vezes você faz X, você obterá o mesmo resultado Y. Você pode prever com confiança o resultado final da atividade. Nesses casos, a coordenação pode ser usada com grande efeito. Aqui, a relação entre causa e efeito é óbvia para todos. A abordagem é: Sentir – Categorizar – Responder e, assim, podemos aplicar as melhores práticas (Best Practice).
Por exemplo, em uma loja do McDonald’s, só existe uma melhor forma de preparar um hambúrguer (sempre a mesma temperatura e sempre a mesma duração), o procedimento já é predefinido e treinado.
Teoria de Cynefin – Complicado
Já no Complicado, existe uma relação entre causa e efeito, porém você tem que investir tempo e energia em trabalhar fora dessa relação e, muitas vezes, há uma série de possíveis respostas. Esse é o reino de especialistas que concentram tempo e energia em trabalhar tais relações de causa e efeito. Nesse caso, a cooperação é eficaz nesse domínio, porque muitas vezes há um objetivo final claro em mente, mas você precisa das forças combinadas de uma gama de pessoas para alcançá-lo. A relação entre causa e efeito requer uma análise ou alguma outra forma de investigação e / ou a aplicação de conhecimento especializado. A abordagem é sentir – analisar – responder e, nesse caso, podemos aplicar boas práticas (Good Practice).
Por exemplo, existem diversas formas de se criar a mistura do concreto em uma obra. Dependendo da temperatura, umidade, ferramenta e outros fatores, pode-se utilizar uma técnica em detrimento de outra. Por exemplo, na obra da usina de Itaipu, na mistura do concreto, foi utilizado gelo, em vez de água no estado líquido, para evitar microfissuras. Em uma construção, não é comum se utilizar gelo no processo de concretagem.
No Complexo, esse domínio é caracterizado por causas e efeitos que são tão entrelaçados e intrincados que as coisas só fazem sentido em retrospecto. Você ouve as pessoas dizerem: “Ah, este resultado aconteceu porque (…)”, mas se você voltar um pouco atrás e verificar o que aconteceu, de fato, vai obter um resultado diferente.
Retroceder e voltar a jogar, e ainda ter outro resultado. Esse fenômeno ocorre porque, em situações complexas, tudo é tão interligado que uma pequena mudança em uma parte do sistema pode ter um impacto enorme em outro lugar e vice-versa.
O sistema é imprevisível em detalhes, mais ainda podemos discernir padrões. São nessas situações complexas que a colaboração vem à tona. A colaboração funciona bem para cenários complexos, pois o estilo de trabalhar de forma colaborativa corresponde à natureza das questões que representam situações complexas.
Complexidade é imprevisível, é colaborativa, é adaptável; complexidade é confusa – é difícil trabalhar a questão, e muito menos a resposta – é colaborativa, pois envolve reunir uma diversidade de pessoas e talentos para experimentar, criar e testar possíveis abordagens para a solução de um determinado problema.
Complexidade é imprevisível, isto é, dependendo dos fatores (ex.: clima organizacional, relacionamento interpessoal, autoconhecimento da equipe, conhecimento prévio do trabalho que será realizado e outros) não temos a certeza do resultado produzido. Assim, no ambiente complexo, temos um grande esforço para desenvolver o aspecto de confiança entre os membros da equipe para que proporcione maior criatividade e, dessa forma, inovações. A relação entre causa e efeito só pode ser percebida em retrospecto, mas não com antecedência. A abordagem é probabilidade – sentir – responder e, assim, podemos aplicar a prática emergente.
Por exemplo, ao entrar em um consultório médico e relatar que está com dor no estômago (efeito), além de tratar dos efeitos, o médico irá iniciar uma série de testes até descobrir a causa.
Teoria de Cynefin – Caótico e desordem
Caótico, este é o lugar no qual é impossível discernir a relação entre causa e efeito. A melhor abordagem nesse domínio é simplesmente agir. Não há nenhuma relação entre causa e efeito no nível de sistemas, a abordagem é agir – sentir – responder e, assim, podemos descobrir novas práticas.
Desordem é o quinto domínio. É o estado de não saber que tipo de causalidade existe. Em pleno uso, a estrutura do Cynefin tem subdomínios, e o limite entre simples e caótico é visto como algo catastrófico.
Um exemplo bem interessante sobre a mudança do ambiente de simples para caótico é ilustrado no filme, Um Dia de Fúria (Falling Down, 1993), no qual o ator principal se irrita com uma regra (normal em sistemas simples) e provoca algo catastrófico.
Tolerância ao erro
Através da atividade anterior, fomos capazes de identificar cenários simples, complexos e complicados. Iremos analisar agora a tolerância ao erro (ou melhor, à possibilidade de aprender com o erro) e o tempo de resposta do sistema. Nos cenários caóticos e complexos, o erro é mais bem entendido do que nos cenários simples e complicados, já que a relação causa-efeito não existe ou é desconhecida. Essa aceitação é conhecida com “Fail Fast” ou “Learning Fast”.
Nos cenários simples e caóticos, o tempo de resposta precisa ser mais rápido do que nos cenários complexos e complicados, pois a demora pode provocar perdas significativas. Por exemplo, caso você entre em uma lanchonete do tipo ”fast food” (cenário simples) e o atendimento demore por volta de 20 minutos, você provavelmente irá procurar outro estabelecimento para fazer sua refeição ou, em um prédio incendiando (cenário caótico), você não poderá demorar muito para agir.
Cenários simples e complicados são mais comuns em projetos de construção como aviões, pontes, prédios, máquinas de café etc. Pois seguem um fluxo de construção de peça por peça, montagem, testes e estão prontos para uso, seu processo pode ser decomposto em um plano bem detalhado por etapas (ou entregas parciais) até o todo estar pronto.
Projetos complexos como softwares, desenhos e redesenhos de processos, campanhas publicitárias e outros são construídos dia a dia, etapa após etapa, assim é muito arriscado definir um plano muito detalhado, já que necessidades e prioridades mudam de acordo com o andamento do projeto (e pela própria dinâmica das organizações). Preparamos uma tabela que compara o trabalho industrial com profissionais do conhecimento. Clique aqui para ver.
Projetos direcionados a valor e projetos direcionados a planos
Cenários de projetos de construção, normalmente, seguem uma abordagem orientada a plano, já projeto complexo deve ter uma abordagem orientada a valor, visto que a entrega final tem grande probabilidade de não ser a ideia inicial do projeto.
Em projetos direcionados a plano, como o próprio nome sugere, temos um grande esforço no planejamento, pois um bom plano aumenta as chances de uma boa execução. O guia de boas práticas PMBok® define 47 processos, em 10 áreas de conhecimento, que aumentam as chances de sucesso de um projeto.
Projetos orientados a valor
Em projetos orientados a valor, quando se investe muito no planejamento, é gerado um risco muito grande ao projeto, já em cenários de grande incerteza, o planejamento precisará ser baseado em muitas premissas (eventos incertos que definimos como verdade para fins de planejamento) que serão falsas, o que pode gerar tantas mudanças no plano original que o esforço de adaptação não compensaria a energia gasta no desenvolvimento do plano original.
Outro ponto importante é que técnicas de gerenciamento de projetos complicados, como as boas práticas do PMBoK® (ex.: plano de comunicações, estimativas de custo, declarações de trabalho de aquisição etc.), podem ser aplicadas em projetos complexos, assim como técnicas de agilidade (ex.: reunião de retrospectiva, reunião de planejamento da interação, definição de visão do produto, planejamento de release etc.), de projetos complexos, podem ser aplicadas em cenários complicados e simples, tudo depende da análise do gerente do projeto.
Perguntar qual a melhor forma de gerenciar um projeto sem conhecer o projeto em si, ambiente organizacional e o produto do projeto equivale a perguntar “o que é melhor, o martelo ou o alicate? A resposta depende se você deseja pendurar um quadro ou fazer uma instalação elétrica”. Podemos concluir que não existe uma “bala de prata” em gerenciamento de projetos. Assim, o entendimento dos possíveis cenários e o conhecimento das diversas técnicas e ferramentas de gerenciamento são essenciais para o gestor de projetos.
Projeto e programa
Conforme vimos no início desta aula, um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. E possui algumas características, como:
- Feito por pessoas;
- Elaborado progressivamente;
- Sofre restrições;
- Tem início e fim (esforço temporário);
- Cria um resultado único (criar um produto, serviço ou resultado exclusivo).
Já sobre programa, o PMI (Project Management Institute) o define como: um grupo de projetos relacionados gerenciados de modo coordenado para a obtenção de benefícios e controle que não estariam disponíveis se eles fossem gerenciados individualmente.
O PMI (Project Management Institute) define portfólio como: um conjunto de projetos, programas ou outros trabalhos agrupados para facilitar o gerenciamento eficaz desse trabalho, a fim de atingir os objetivos de negócios estratégicos.
Tabela com as principais considerações sobre portfólio e gerenciamento de projetos organizado:
Atividade proposta
Observe o texto abaixo para responder à questão:
Uma empresa, inicialmente, era formada por três engenheiros altamente qualificados que começaram a pesquisar sobre como fazer um carro popular para comercialização no mercado nacional. O desenvolvimento de um automóvel completo não era muito difundido na época. Assim, para se criar um protótipo, foram feitas diversas pesquisas (com erros e acertos), protótipos de suspensão, posição de chassi etc. Depois de um ano, foi criado o primeiro automóvel, porém, seu custo era elevado e o tempo de produção era impossível para atender ao objetivo de criação do carro popular.
No ano seguinte, contrataram alguns técnicos em mecânica e produziram novos veículos. Durante a produção, desenvolveu-se um guia de boas práticas, o que auxiliou muito o desenvolvimento de automóveis e reduziu o custo de produção, mas ainda era muito caro desenvolver um carro. Nos anos seguintes, os técnicos das boas práticas escolheram uma e a elegeram a melhor prática, assim foi possível decompor o trabalho em partes e criar a linha de montagem. Como o trabalho já estava planejado, a mão de obra não precisava ser de engenheiros ou técnicos, o que barateou a produção do automóvel e permitiu a produção em massa.
Com base no que estudamos até agora e em seus conhecimentos prévios, classifique cada etapa do projeto em cenário complexo, cenário complicado ou cenário simples.
Chave de resposta: No primeiro momento em que estamos descobrindo como montar o carro, testando possibilidades, errando e aprendendo, estamos em um cenário complexo. Com o passer do tempo, descobertas das relações de causa e efeito e de formas que podem provocar a transformação das entradas em saídas, estamos no cenário complicado. Após definirmos a melhor forma de montar cada compontente e definir as regras de montagem, simplificamos o processo e assim podemos trabalhar com mais velocidade, escala e com o custo mais baixo. Neste momento estamos no cenário Simples.
Referencias
BARCAUI, André B. Por que gerenciar projetos? Disponível em: <http://exame.abril.com.br/carreira/noticias/por-que-gerenciar-projetos-m0042508>. Acesso em: 25 nov. 2013.
MANRIQUE, Délcio Ferreira. Para que serve o gerenciamento de projetos?. Disponível em: <http://www.mundopm.com.br/noticia.jsp?id=251>. Acesso em: 28 nov. 2013.
Engenharia de Software | Gerenciamento de Projetos de Software | Fundamentos do Gerenciamento de Software