Você está na página 1de 60

Rodrigo Oliveira Spínola

rodrigo.devmedia@gmail.com
Doutor e Mestre em Engenharia de Software pela COPPE/UFRJ. Realizou seu Pós-Doutorado na
University of Maryland Baltimore County e Centro Fraunhofer nos Estados Unidos. Atualmente é
Professor Titular do Programa de Pós-Graduação em Sistemas e Computação da Universidade
Salvador - UNIFACS.

Marco Antônio Pereira Araújo


maraujo@devmedia.com.br
69 ª Edição - 2014
Doutor e Mestre em Engenharia de Sistemas e Computação pela COPPE/UFRJ, Especialista em
Corpo Editorial Métodos Estatísticos Computacionais e Bacharel em Matemática com Habilitação em Infor-
mática pela UFJF.
Editor
Rodrigo Oliveira Spínola Eduardo Oliveira Spínola
eduspinola@gmail.com
Colaboradores
É Colaborador das revistas Engenharia de Software Magazine, Java Magazine e SQL Magazine. É
Marco Antônio Pereira Araújo
Eduardo Oliveira Spínola bacharel em Ciência da Computação pela Universidade Salvador (UNIFACS).
Nicolli Souza Rios Alves

Consultora Técnica
Daniella Costa
Nicolli Souza Rios Alves
nicolli.devmedia@gmail.com
Jornalista Responsável Bacharel em Ciência da Computação na Universidade Salvador (UNIFACS), Mestranda em Sistemas
Kaline Dolabella - JP24185 e Computação no Programa de Pós-Graduação em Sistemas e Computação da UNIFACS na linha de
Na Web Engenharia de Software. É editora da Engenharia de Software Magazine.
http://www.devmedia.com.br/revista-engenharia-de-software-magazine

Atendimento ao Leitor Fale com o Editor!


A DevMedia conta com um departamento exclusivo para o atendimento ao leitor. É muito importante para a equipe saber o que você está achando da revista: que tipo de artigo você

Se você tiver algum problema no recebimento do seu exemplar ou precisar de algum gostaria de ler, que artigo você mais gostou e qual artigo você menos gostou. Fique a vontade para

esclarecimento sobre assinaturas, exemplares anteriores, endereço de bancas de entrar em contato com os editores e dar a sua sugestão!

jornal, entre outros, entre em contato com: Se você estiver interessado em publicar um artigo na revista ou no site ES Magazine,
entre em contato com os editores, informando o título e mini-resumo do tema que você gostaria
www.devmedia.com.br/central
(21) 3382-5038 de publicar.

Publicidade
Para informações sobre veiculação de anúncio na revista ou no site entre em
contato com:
publicidade@devmedia.com.br
Sumário
Conteúdo sobre Agilidade

06 – Scrum: uma visão prática do framework


[ Roberto Passani ]

Conteúdo sobre Boas Práticas

11 – PMBOK: Trabalhando com gerenciamento de custos


[ Fabiana de Lima ]

Conteúdo sobre Boas Práticas

18 – Riscos em projetos de software com PMBOK


[ Jhoney Lopes e José Luis Braga ]

Conteúdo sobre Boas Práticas

30 – Gerência de Projetos: Monitore e controle o desenvolvimento de software


[ Rommel Gabriel Gonçalves Ramos e Daniel Couto Gatti ]
Feedback
eu
s

Conteúdo sobre Boas Práticas

sobre e
35 – Gestão de Projetos: Usando processos de desenvolvimento
[ Rommel Gabriel Gonçalves Ramos e Daniel Couto Gatti ]
s
ta
edição

Artigo no estilo Prático


Dê seu feedback sobre esta edição!
43 – ITIL: Como implantar o gerenciamento de mudanças
[ Cristiane Aparecida Lana e Bruno Torres Satler ]
A Engenharia de Software Magazine tem que ser
feita ao seu gosto.
Para isso, precisamos saber o que você, leitor, acha
Conteúdo sobre Boas Práticas, Conteúdo sobre Arquitetura e desenvolvimento da revista!

55 – Boas práticas de programação www.devmedia.com.br/esmag/feedback


[ Leandro Tavares Siciliano ]
Edição 05 - Engenharia de Software Magazine 5
Agilidade

Nesta seção você encontra artigos voltados para as práticas e métodos ágeis.

Scrum: uma visão prática do framework

Fique por dentro:


Esse artigo se propõe a mostrar uma abordagem
prática do Scrum da forma como é aplicado em

O
Scrum é uma abordagem ágil um projeto real, detalhando os papéis e funções
que prima pela otimização e de cada participante, cada etapa do processo e
objetividade no processo e em sua importância para que o projeto e a equipe
todas suas etapas, costuma minimizar ganhem maturidade e evoluam de forma que
burocracias, documentação e módulos se obtenha um produto com qualidade e que
em relação a outros processos (como obedece às regras da plataforma utilizada.
RUP). Tudo é baseado nas reuniões do
processo (que são muitas). Entre uma
reunião e outra o trabalho é realizado. A equipe na qual este artigo foi baseado
Essas reuniões são importantes ao ponto é constituída uma Product Owner, um
de algumas empresas não usarem ne- Scrum Master (que também acumula fun-
nhuma documentação escrita, ou seja, ções de Coordenador), um Analista de Tes-
fazem Sprints semanais e reuniões às tes (o autor do artigo), uma Designer, um
segundas e sextas, de Planning e Review Analista de UX (User Experience) e quatro
respectivamente, onde fazem todo o tra- desenvolvedores, que se dividem entre as
cking das atividades e desenvolvimento plataformas iOS e Android, fora outras
do produto. pessoas que auxiliam a equipe, como ana-
Roberto Passani Neste artigo usaremos o modelo de um listas de produto, infraestrutura e outros.
robertopassani@gmail.com
Sprint de 10 dias úteis, ou aproximada- A manutenção do processo é responsabi-
Quase oito anos de experiência com testes de
software, iniciado em qualidade de sistema mente 14 dias corridos, sendo o Planning lidade do Scrum Master, ou seja, marcar
operacional de aparelhos celulares, depois no primeiro dia e o Review no último. todas as reuniões, garantir a presença de
banco de dados, sistema de investimentos, pla- Após o Review ocorre a Retrospectiva toda a equipe, comandar as reuniões em
taforma de e-commerce e atualmente atuando e no decorrer do Sprint o pré-planning. si, escrever no sistema de gerenciamento
com aplicativos móveis. Há pouco menos de um
Diariamente devem ocorrer as reuniões do processo, auxiliar no desenvolvimento
ano atuando em projeto de aplicativos móveis.
Recentemente teve a oportunidade de conhe- Diárias (Daily Meetings). Todas essas dos critérios de aceite, avaliar questões de
cer mais do processo Scrum na prática. etapas são detalhadas no artigo. serviço, backend e etc.

6 Engenharia de Software Magazine - Scrum: uma visão prática do framework


agilidade

Um Sprint nunca deve ser iniciado com a quantidade de


Definição do Projeto pontos excedida, com histórias que possuem critérios de aceite
O primeiro passo para desenvolvimento de um sistema no não definidos, sem layout ou definição de UX incompleta. Por
Scrum seria a reunião de pre-planning (pré-planejamento), onde isso, se a quantidade de pontos for excedida e não houver a
são definidos o objetivo principal do sistema, isto é, aquilo que possibilidade de troca com outra história, então os critérios de
ele deseja atingir: o mercado, o público e a/as funcionalidade(s) aceite devem ser divididos em duas histórias, sendo uma no
principal(ais) - para um aplicativo, por exemplo, seja trânsito, Sprint atual, fechando o sprint dentro da métrica de pontua-
notícias, compras ou futebol - onde são pré-planejadas as his- ção e outra como a primeira história do próximo (segundo),
tórias que iniciarão o desenvolvimento, e nelas são inseridos os abrindo o próximo sprint com os pontos e critérios de aceite
critérios de aceite ou entrega. Estes são basicamente os requisitos que restaram, devendo ser devidamente entregue cada uma
do sistema, o detalhamento de todas as funcionalidades, desde em seu sprint.
as mais simples àquelas principais. No planning, todo o layout e definições de UX já devem estar
O título das histórias devem ser escritos na perspectiva de prontos e aprovados pelo “Product Owner”, tudo já deve estar
quem desejam atingir, por exemplo: “Eu, como cliente, quero disponível para análise da equipe de testes e desenvolvimento.
que o aplicativo faça…” ou “Eu, como área de negócios da em- No caso de aplicativos móveis é necessário ter a tela completa
presa, quero inserir a logomarca de nosso patrocinador…”, ou e também cada botão separado, cada ícone, com todas as de-
ainda, “Eu, como Product Owner, quero ver uma mensagem finições de tela para iOS: retina e não-retina, e para Android:
de erro quando o usuário executar uma ação indevida…”. Isso LDPI, MDPI, HDPI, XHDPI, XXHDPI. O ideal é anexar todas
facilita analisar quem deve aprovar a história. Caso exista as imagens na história para facilitar o acesso para a equipe
alguém além do Product Owner, o Scrum Master consegue otimizando o tempo e evitando ter que buscar em Drivers,
analisar se há alguém além dos participantes diretos do projeto e-mail, e etc., ou em um sistema de pastas que nem sempre é
que deva ser convidado para os ritos, como Planning e Review, claro para todos. Portanto, para realizar o desenvolvimento,
se há alguém externo à equipe que deseja inserir histórias ou todas as histórias do sprint que está para se iniciar precisam
acrescentar algo ao sistema. ter status de definidas na ferramenta usada pela empresa, que
Todos devem participar desse processo, ajudar na definição indica que todos os dados aqui descritos já foram detalhados,
dos critérios, ajudar no levantamento de critérios de exceção, anexados à história e/ou link tenha sido disponibilizado.
mensagens de erro e possíveis cenários que faltam definição.
A equipe deve ser unida profissionalmente e ter o objetivo Iniciando o desenvolvimento
comum de entregar o melhor sistema possível. E o analista de Logo após o planning, o Scrum Master deve marcar o pré-
testes já inicia a escrita dos testes baseado nesses requisitos, planning, review e planning que estão por vir, para 10 dias
criando todos os testes de validação, exceção, carga, perfor- úteis após o primeiro planning, considerando que o planning
mance, e o que mais for necessário, muitas vezes já escrevendo já ocorre no primeiro dia do sprint e o review no último. Neste
os testes (apenas com objetivo) na própria reunião, através de cenário, se o planning ocorre em uma segunda-feira dia 01,
um bloco de notas, caderno ou qualquer outra ferramenta. Já então o pré-planning deve ser marcado para quarta-feira dia
a equipe de desenvolvimento pode começar a pensar em todo 10 (aproximadamente) e o Review exatamente para o dia 12,
o backend (serviços e servidores) necessário, e tudo que será sexta-feira. Tudo isso deve ser marcado com antecedência para
preciso para a implementação do sistema. que as datas de todos os ritos sejam de conhecimento de todos
da equipe evitando atrasos por indisponibilidade de local ou
Faça-se um sistema surpresa em sua realização.
Uma vez estruturado o backend de serviços, a equipe pode No projeto é utilizado o TDD, ou seja, Test Driven Develop-
começar a implementação do software, e para priorizar as ment, porém um TDD um pouco diferente, não baseado em
histórias e analisar quais farão parte de um primeiro sprint testes unitários ou automatizados, mas baseado nos testes
realiza-se uma primeira reunião de planning, onde as histó- funcionais escritos a partir dos critérios de aceite definidos
rias iniciais são colocadas no primeiro sprint e priorizadas na no pré-planning. Os testes da primeira história da ordem de
ordem decrescente dentro dele. Primeiramente colocam-se priorização devem ficar prontos antes do início do Sprint. O
todas as histórias que precisam ser feitas e depois elas são desenvolvedor segue os casos de testes para criar o sistema.
priorizadas. Em seguida, pontua-se cada história de acordo Portanto, o analista de testes já deve ter todos os testes escritos
com o critério utilizado no projeto (Fibonacci, por horas ou e detalhados a essa altura do processo com a maior cober-
outro), daí podemos analisar se ainda é possível inserir alguma tura possível de forma otimizada. Esses testes devem estar
história, se a meta de pontos não estiver sido atingida, ou se disponíveis na ferramenta para análise dos desenvolvedores
alguma história deverá sair se a meta estiver sido ultrapassada. evitando paradas e atrasos no desenvolvimento, pois todas as
Caso a meta tenha sido ultrapassada e a quantidade de pontos perguntas já devem ter sido levantadas e respondidas, todas
das histórias for maior do que os pontos ultrapassados, então as mensagens de erro, validação e exceção com a cobertura
a última história, segundo os critérios de priorização, poderá adequada de forma que nenhuma demanda tenha que ser
ser dividida em duas. coberta no meio processo.

Edição 69 - Engenharia de Software Magazine 7


Conforme as histórias forem sendo iniciadas, elas vão ob- para todos, de preferência no projetor, e os critérios de aceite
tendo status de progresso na ferramenta. Após isso, quando vão sendo passados ponto a ponto para análise do cliente. Ele
forem sendo completadas, já podem ser disponibilizadas para pode realizar os testes necessários e passar por seus critérios
teste. No caso de aplicativos móveis, é gerado um build que é de pronto. Quando finalizadas, as histórias obtêm status de
instalado no aparelho, e os analistas de testes podem analisar ”approved” no sistema e o cliente passa a analisar a próxima.
as funcionalidades já implementadas. Uma vez encontrados Caso a história não seja completa e os critérios de aceite não
erros, eles devem ser registrados na ferramenta e, se bloquea- sejam todos atingidos, ela deve sofrer uma split, ser dividida
rem a história e não forem recorrentes, devem ser corrigidos em duas, onde a segunda história poderá ser a primeira do
no próprio sprint. Caso sejam erros recorrentes ou que não próximo Sprint e terá os critérios de aceite que faltam para
bloqueiam a história ou seus critérios de aceite, eles podem completar. Algumas ferramentas automaticamente repassam
ser deixados no backlog para priorização posterior. as tarefas incompletas para a história do próximo sprint.
Uma vez registrados bugs que ficam no sprint, eles devem Caso os critérios de pronto do cliente é que não sejam atendi-
então ser corrigidos em um novo build do sistema, e todos os dos, ou seja, ele visualizar novos critérios de aceite que deve-
testes da nova funcionalidade devem ser reexecutados para riam ser atingidos para que a história possa receber o deploy e
garantir que a correção de um defeito não gerou erros em ficar disponível para o usuário final, o que geralmente ocorre
outras partes da nova funcionalidade. Esse processo é repe- com critérios de exceção ou mensagens de erro, então deve
tido até que todos os testes sejam executados e nenhum erro ser criada uma nova história para um sprint futuro e que será
seja encontrado. Feito isso, a história poderá obter o status de priorizada no planning. Essa deve conter os novos critérios de
completa na ferramenta e poderá ser liberada para o Review aceite que finalizam a nova funcionalidade.
que ocorrerá no último dia do sprint.
Diariamente, na rotina do projeto e com horário fixo, sempre Pré-Planning – Sprint 2
com a presença de todos ou o máximo possível de compo- Durante o Sprint, deve ser realizada a reunião pré-planning.
nentes da equipe, deve ocorrer a “Daily Meeting” (Reunião Nela devem ser enriquecidas as histórias para o Sprint 2, inserir
Diária), onde todos devem resumir suas atividades do projeto critérios de aceite e priorizar histórias de UX, design e backend;
desde a daily meeting anterior, tentando detalhar as ações para que tudo esteja pronto quando houver o planning.
e que métodos usou para atingir seus objetivos, abrindo es-
paço para que os colegas possam auxiliar em dúvidas ou se Retrospectiva do primeiro Sprint
utilizar dos dados ali compartilhados como lições aprendidas Após o planning, logo após o fim do Sprint, deve ser feita
ou melhores práticas. uma reunião de retrospectiva. Nela se deve relatar como foram
Na prática, sempre pode ocorrer de critérios de aceite ou ex- os últimos dias (do Sprint), todas as atividades de sucesso,
ceção não terem sido definidos ou algum layout ou definição boas práticas, lições aprendidas e “à melhorar” para obter um
de UX aparecer de última hora durante o Sprint. Nesse caso, processo mais sólido e rico, satisfatório para todos.
devem ser tratados com urgência, uma vez que o desenvol- Geralmente abordam-se primeiro os pontos positivos,
vimento pode ficar parado até que artefatos sejam criados. mas não é uma regra. Cada participante do projeto deve ter
O responsável pela experiência de usuário (UX) ou designer oportunidade de colocar seu post-it no quadro, falar sobre
precisam ser chamados com urgência e criar o material ne- o que desejar, geralmente são questões que deram certo nas
cessário com o menor impacto possível no sprint para evitar atividades de uma pessoa e ela deseja compartilhar com os
atrasos na entrega e remarcação do review. Caso essa solução outros membros, abrir discussão sobre o ponto apresentado e
se torne demasiadamente grande e o impacto inevitável, então detalhar melhor sobre o tópico.
a história pode ter a prioridade reduzida para o fim do Sprint, Após essa etapa discutem-se os pontos de melhoria, que cos-
quando a definição ou artefatos necessários estarão prontos. tumam gerar mais polêmica e deixar ânimos exaltados. Todos
Caso isso ainda não seja o bastante, então podemos adiantar o devem se sentir à vontade para falar de qualquer tópico: desde
fim do Sprint e essa poderá ser a primeira história do próximo, a internet no ambiente de trabalho, relacionamento com outras
porém a Review nunca deve ser adiada e o Sprint alongado, equipes, ar-condicionado, assim como questões técnicas que
pois o impacto disso a longo prazo é muito negativo, salvo em influenciam diretamente no projeto como design, UX, crité-
condições excepcionais. rios de aceite, formato de código, algoritmos, processo, links,
atuação de colegas; ou tudo aquilo que não foi satisfatório e
A entrega – Versão 1.0 pode melhorar nas etapas futuras do processo.
Após finalizado o processo de desenvolvimento, passadas Após apresentados e discutidos os dois lados do último
muitas daily meetings e muitas linhas de código, ocorre a sprint, ações de melhoria devem ser tomadas, ou seja, Product
primeira reunião de Review. A primeira versão poderá ser en- Owner, Scrum Master e Coordenador devem definir como e
tregue, as funcionalidades devem ser preparadas e o ambiente onde podem agir para tentar resolver ou, ao menos, apaziguar
todo pronto para a análise do product owner. os pontos de melhoria do projeto que dependem de ação exter-
Ao iniciar a reunião, o sistema sob análise deve estar disponí- na. Relacionamento com outras equipes, ações com a gerência
vel para o “Product Owner” e as histórias devem ser exibidas da área ou até com as diretorias da empresa com o objetivo de

8 Engenharia de Software Magazine - Scrum: uma visão prática do framework


agilidade

tornar o ambiente do projeto o melhor possível, ações internas, é realizada corretamente em cada reunião a que pertence,
como performance de um colaborador específico ou mudanças garantir que todos estão executando suas atividades no mo-
no processo devem ser resolvidas internamente e monitoradas mento certo do projeto, se o desenvolvimento segue padrões
durante as daily meetings do próximo sprint. de qualidade, testes unitários, design patterns, métricas, bus-
Muitos projetos não veem importância na retrospectiva, car novas formas de atingir metas assim como, analisar se o
principalmente com a evolução dos sprints onde o processo fica analista de testes (ou qualidade) está seguindo corretamente
mais sólido e as retrospectivas se tornam repetitivas. Porém, o processo, escrevendo os objetivos de testes no pré-planning,
só há evolução do projeto se houver reuniões de retrospectivas se os testes da primeira história já estão prontos após o plan-
bem feitas. É importante também estar atento ao fato de que ning (para iniciar o desenvolvimento), se a cobertura dos
ninguém pode levar os pontos de melhoria para o lado pes- cenários de testes está adequada, coordenar se o processo é
soal. Essa é uma reunião para um processo de maturidade e corretamente seguido, bem próximo dos analistas que fazem
o conceito é altamente profissional com objetivo de fazer um com que ele ocorra.
trabalho melhor. Seu excedente pode ser analisar o sistema e ver se há formas
diferentes e talvez melhores de fazer o mesmo, pesquisar,
Planning - Sprint #2 procurar se inteirar nos documentos sobre sistemas similares
Após a retrospectiva, analisados os pontos positivos e defi- e analisar se há novos padrões sendo adotados, procurar o
nidos os pontos de melhoria, ocorre o Planning para definir que há de mais moderno, quais os caminhos que estão sendo
o segundo sprint. As ações de melhoria já devem começar a seguidos para obter o melhor desse modelo de sistema, assim
ser adotadas imediatamente, e o processo se reinicia, histórias como também do processo. Seguir práticas, discussões em
devem ser priorizadas. Se houve história com split no sprint fóruns, ler as revistas especializadas e obter dados de como
anterior, então essas podem ser as primeiras, porém não é otimizar o processo sem denegrir a qualidade, ou seja, o
obrigatório, por isso os branches devem estar bem organizados ScrumMaster deve ser sempre muito dedicado e proativo,
para que uma história com menor prioridade possa ser conti- muito curioso e ciente das atividades diversas para ver falhas
nuada em um sprint posterior sem uma linha de aprendizado onde não estão olhando, seja no desenvolvimento ou nos testes,
muito longa. Após priorizadas as histórias, deve-se discutir a sempre com objetivo de aprimorar onde pode haver algum
pontuação, e definir as histórias que ficam no Sprint e quais tipo de evolução.
serão adiadas para os próximos sprints.
Devem ser evitadas discussões paralelas nas reuniões. No
Planning algumas pessoas tendem a sair do foco, gostam de
opinar, porém é o Product Owner quem define, as prioridades
são dele e da área de negócios. É necessário manter o objetivo
de construir o Sprint rapidamente para retornar ao desenvol-
vimento, porém sem deixar pontos indefinidos, como dito
antes, todo o design, UX, backend, serviços, etc., precisa estar
definido antes de iniciar o Sprint.

Descrição dos papéis


Para explicar melhor as atividades durante o processo de de-
senvolvimento de software, é interessante esclarecer as funções
e papéis de cada ator no processo, o que é esperado de cada um
e onde ele pode fazer algo mais, o “quilômetro extra” (versão
brasileira da “Extra Mile” americana, que é aquilo feito além do
esperado, além das responsabilidades) por onde se pode andar,
onde se pode auxiliar na melhoria do processo para obter mais
qualidade do sistema e mais satisfação do cliente. Eventual-
mente, em um processo de maturidade elevada e profissional,
as pessoas opinam na forma como os colegas atuam, ou seja, o
desenvolvedor tenta melhorar o processo de testes, o analista
de testes ajuda o Scrum Master e esse pode ajudar nas funções
do “Product Owner” ou coordenador, por exemplo.

Scrum Master
Sua função principal é definir e manter o processo sendo
seguido, marcar e manter os ritos, garantir a presença de to-
dos (ou o máximo possível) os participantes, ver se cada ação

Edição 69 - Engenharia de Software Magazine 9


Analista de Testes formulários, para descobrir quais são as funcionalidades que
É responsável por validar e garantir a qualidade do sistema, o usuário procura, e quais melhorias enriqueceriam o sistema
verificar que os critérios de aceite são devidamente atendidos, e trariam mais usuários.
nenhum bug escape ou deixe de ser registrado, que os testes
regressivos continuem aumentando, sendo atualizados, evo- Designer
luindo, sendo executados em todos os critérios corretamente, O designer de um sistema é responsável pelo layout, escolha
que o ambiente seja bem preparado para a Review, que os de cores, logomarca, por aplicar o que o analista de produto
testes sejam bem escritos e a cobertura seja adequada já no (UX) projetou.
Planning.
Outra função que o analista de testes costuma ter é for- Coordenador
necer dados para as métricas do projeto, analisar quantos É função do coordenador do projeto dar toda estrutura de
defeitos são encontrados, quantos são corrigidos e quantos qualidade para que a equipe de forma adequada. Normalmen-
novos defeitos são encontrados a partir disso. Além disso, te, associa-se ao Scrum Master para garantir a manutenção dos
deve fornecer esses dados para a equipe de qualidade que irá ritos e que o processo seja seguido. Além disso, atua no sentido
analisar o desenvolvimento do sistema e a performance dos de auxiliar na correção dos pontos de melhoria.
desenvolvedores, a evolução da equipe e se o processo está
sendo seguido corretamente. Product Owner
É o dono do projeto, o cliente. É por ele que tudo começa,
Desenvolvedor quem toma as decisões, as histórias são priorizadas com a
É responsável por criar o sistema, elaborar as funcionalida- opinião de todos mas de acordo com a vontade do PO. É ele
des, seguir corretamente os testes e critérios de aceite, analisar quem define os critérios de aceite, na função de cliente ele
pontos de exceção, levantar questões sobre o planning para utiliza todos os estudos do designer e do analista de UX para
visualizar falhas de cobertura, pontuar com critério as histórias definir quais melhor se encaixam com os objetivos de projeto,
inserindo também o tempo de testes de cada feature e o regres- e as necessidades de quem de fato utiliza o sistema. Também
sion ao final do Sprint. Precisam também seguir o processo de é função dele atuar próximo à área de negócio para ajudar a
testes unitários definido e garantir que haja sempre evolução trazer patrocinadores, verba ou investimento ao projeto.
na quantidade de testes e melhora na cobertura. No Scrum, tudo ocorre ao redor das reuniões, por isso elas
são primordiais e precisam ser muito bem feitas. Essas etapas
Analista de UX (Experiência de Usuário) precisam ser bem obedecidas para garantir a qualidade do
É responsável pelo desenho do sistema, interfaces com usu- sistema e ter evolução no processo e no produto. Sendo bem
ário, a localização das funcionalidades, o resultado esperado definidas as reuniões e ficando claras as funções e responsa-
de cada ação, que o sistema tenha a melhor usabilidade, que bilidades de cada ator, as chances de desenvolver um projeto
as funcionalidades sejam práticas, atendam padrões dos de sucesso utilizando o Scrum serão maiores.
fabricantes (no caso de aplicativos móveis, por exemplo), que
mensagens de erro sejam evitadas, mas, caso necessário, é
responsável pelo texto da mensagem, pelo nome (“label”) dos
Você gostou deste artigo?
botões.
Além disso, deve analisar estatísticas do aplicativo, uso de
funcionalidades e priorizar aquilo que é o foco e que o usuário Dê seu voto em www.devmedia.com.br/esmag/feedback
mais procura no sistema. Também é responsabilidade do ana- Ajude-nos a manter a qualidade da revista!
lista de UX pesquisar e fazer simulações com usuários, passar

10 Engenharia de Software Magazine - Scrum: uma visão prática do framework


Planejamento e Gerência
Nesta seção você encontra artigos voltados para o planejamento
e gerência de seus projetos de software.

Riscos em projetos de software com PMBOK

Fique por dentro: utilizados nos processos que o compõe, propostos


A tarefa de gerenciar os custos do projeto englo- pelo Guia PMBOK. O tema é útil, principalmente,
ba, além do minucioso processo de planejamento para gerentes de projetos que buscam aprofundar
e definição dos custos e de seu gerenciamento, seus conhecimentos no gerenciamento de custos
a definição e escolha de bons orçamentos que em projetos de desenvolvimento de software e
tragam valor agregado ao processo, e ainda, o outros relacionados à área de TI. Serve também
controle de tais recursos de forma a cumprir com para desenvolvedores de software que trabalhem
aquilo que foi definido inicialmente. Este artigo em equipes de projeto e que visem aprimorar
apresenta uma abordagem para o gerenciamento seus conhecimentos em busca de minimização
de custos em projetos da área de TI levando em de custos para suas tarefas diárias, bem como, co-
consideração os principais aspectos desse tipo de nhecer um pouco mais sobre como os recursos de
gerência e mostra quais são os conhecimentos um projeto são distribuídos e gerenciados.

A
área de TI para uma empresa definir uma variação no gerenciamento
possui orçamentos altos, a de custos do projeto. Por isso, essa é
tecnologia custa caro e os ele- uma atividade extremamente dinâmica,
mentos correspondentes também, um junto com o gerenciamento do escopo e
bom servidor, por exemplo, pode passar do tempo definem um tripé principal
da casa dos R$ 15.000,00. Muitas vezes da gerência de projetos na área de TI.
Fabiana de Lima o custo não é definido pela equipe de Ressalta-se aqui que outras áreas como a
fabianadelima@gmail.com
Mestre em Ciência da Computação na sub-
projetos e sim pelo próprio cliente ou qualidade, por exemplo, são de extrema
área de Engenharia de Software, atua como área supervisora da TI na empresa, que importância para um bom projeto.
professora e pesquisadora na área. Exerceu possui uma necessidade pulsante e esta- A tarefa de gerenciar os custos do
funções de analista de sistemas em empresas belece limites de custos para resolvê-la. projeto engloba, além do minucioso
de desenvolvimento de software e de recru- Com isso, as características do software processo de planejamento e definição
tamento e seleção. Atualmente, atua como
professora formadora também em cursos de
ou das necessidades do cliente/área su- dos custos e de seu gerenciamento, a
EAD em Maringá - PR. pervisora podem, e geralmente o fazem, definição e escolha de bons orçamentos

Edição 69 - Engenharia de Software Magazine 11


que tragam valor agregado ao processo, As entradas são mecanismos utilizados ou ainda, outras métricas como a análise
e ainda, o controle de tais recursos de em cada processo, os quais podem ofere- de pontos por função ou por casos de
forma a cumprir com aquilo que foi cer informações ou dados referentes ao uso. Esses métodos auxiliam em muito
definido inicialmente. projeto, oriundos de fatores ambientais o gerenciamento de custos, baseado no
Um projeto que envolva o desenvolvi- da empresa (determinações já estabele- escopo definido através deles.
mento de software inclui as dificuldades cidas e que devam ser observadas para Considera-se que, embora o guia traba-
em se manter os custos iniciais, baseados o trabalho), ou de fatores externos (como lhe com os processos definidos, outros
nos requisitos levantados no início do calendário dos recursos disponíveis) ou métodos próprios para projetos de TI e
projeto até o término dele. Nisso está a ainda, gerados a partir de outros proces- que não são tratados no PMBOK (já que
importância, associada ao gerenciamen- sos de gerenciamento do projeto (como o objetivo do Guia é outro), podem ser
to de custos, também do escopo e tempo a baseline do escopo do projeto, plano de manipulados em conjunto e durante o
em questão. riscos, dentre outros). próprio gerenciamento de custos, reali-
Já as ferramentas e técnicas utilizadas zado através dos processos estabelecidos
Os mecanismos necessários para o podem ser um padrão (utilizadas em no PMBOK.
gerenciamento de custos todos os projetos da empresa) ou ainda A seguir, encontram-se os processos
Segundo o Guia de conhecimento estarem sendo utilizadas pela primeira necessários para o gerenciamento de
PMBOK, são quatro os elementos neces- vez no projeto em questão. Elas podem custos, exemplificados em sua maneira
sários para o gerenciamento de custos de ser desde estimativas de três pontos e de coexistirem em projetos de desenvol-
um projeto: o plano de gerenciamento análise de reservas, passando por custos vimento de software. Esses processos
de custos, a estimativa de custos, a de- relacionados à qualidade, até uma fer- devem ocorrer pelo menos uma vez
terminação de orçamentos e o controle ramenta de software de gerenciamento em cada projeto e serem repetidos em
de custos. de projetos. cada uma das fases em que um projeto
Em pequenos projetos de desenvolvi- Por sua vez, as saídas são produtos, for dividido. De maneira diversificada,
mento, alguns desses processos podem fornecidos durante o gerenciamento eles fazem uso dos mecanismos (entra-
estar sobrepostos, sendo executados de custos, relacionados à execução de das, ferramentas e técnicas e saídas)
de uma só vez como, por exemplo, o um dos quatro processos, dentre esses apresentados.
planejamento do gerenciamento e a estão as estimativas de custos das ativi-
estimativa de custos, resultando no de- dades, previsões orçamentárias, dentre Plano de Gerenciamento de Custos
senvolvimento de orçamentos a serem outros. As saídas são elementos que O processo de Planejar o Gerencia-
feitos. Neste artigo, eles serão mostrados também podem variar muito, desde mento de Custos envolve a definição e o
isoladamente, para que um entendi- atualizações no plano de gerenciamen- destino dos recursos disponíveis para o
mento amplo de cada processo possa to de projeto, passando por medidas projeto. Em projetos de TI, normalmente
ser obtido. Ressaltamos que existem de performance de trabalho, indo até esses recursos são destinados a pessoal e
outros detalhes e ferramentas utilizadas uma baseline de custos e necessidades infraestrutura, contando algumas vezes
que são muito importantes para o bom de financiamento do projeto. com elementos de treinamento e implan-
gerenciamento. Em relação aos processos que já foram tação do produto ou serviço.
As tarefas de estimar custos e controlá- citados, devemos ressaltar que em todos A Figura 1, retirada do Guia PMBOK,
los são as que demandam maior esforço eles o gerenciamento de custos pode ser ilustra o conjunto de entradas, de ferra-
do gerente, já que, em projetos de desen- desenvolvido com métodos próprios ou mentas e técnicas e de saídas que estão
volvimento de software as medições são estabelecidos para determinada área de presentes nesse primeiro processo de
complexas de serem feitas e tornam-se aplicação de um projeto. A área de tec- gerenciamento de custos, Plano do Ge-
uma área a parte de estudos para que nologia da informação possui uma vasta renciamento de Custos.
um bom gerenciamento de custos possa gama de métodos de análise e medições, A seguir apresentam-se as entradas
ser feito. Para a execução dos processos por exemplo, estimativas utilizadas em pertencentes a esse processo, com um
referentes ao gerenciamento de custos, metodologias ágeis de desenvolvimento exemplo de como elas podem ser conse-
três itens são importantes: as entradas, as de software, como a partição de pontu- guidas em projetos de desenvolvimento
ferramentas e técnicas e as saídas. ação das estórias definidas pelo cliente, de software:
• Plano de gerenciamento de projeto: é
um documento que contém as diretrizes
iniciais para o projeto, levando em consi-
deração todas as áreas de gerenciamento.
Ele serve como entrada, pois, contém as
principais definições feitas a partir das ne-
cessidades também iniciais apresentadas
Figura 1. Entradas, ferramentas e técnicas e saídas para o Plano de Gerenciamento de custos pelo cliente/usuário no ato de contratação

12 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

do projeto. Elementos como as formas


adotadas para o trabalho, paradigmas
de desenvolvimento, possibilidades de
infraestrutura, participação do usuário
no projeto, recursos humanos disponíveis,
stakeholders, dentre outros são elementos
que podem ser definidos nesse processo
e documentados com maior precisão em
suas respectivas áreas de processo;
• Contrato do projeto: esse é um docu-
mento formal que contém uma descrição
inicial sobre os requisitos do sistema, em Figura 2. Entradas, ferramentas e técnicas e saídas para o processo Estimar os Custos
alto nível, além de recursos financeiros
disponíveis, marcos e entregas, dentre utilizadas, dentre outras. Novamente, à duração das atividades e do projeto
outros; ouvir e conhecer quais softwares e como um todo.
• Fatores ambientais da empresa: são técnicas são utilizadas no ambiente A Figura 2, retirada do Guia PMBOK,
elementos como normas, padrões ou organizacional é uma boa prática para ilustra o conjunto de entradas, de ferra-
diretrizes estabelecidos que podem vir planejar a definição de custos que serão mentas e técnicas e de saídas que estão
a influenciar nos custos de desenvolvi- produzidos no projeto; presentes nesse segundo processo de
mento do projeto; • Reuniões: a equipe de projeto deve planejamento, Estimar os Custos.
• Ativos de processo organizacional: ser reunida para planejar como o geren- A seguir apresentam-se as entradas
são elementos conseguidos a partir da ciamento e a distribuição dos recursos pertencentes a esse processo, com um
realização de outros projetos na empre- será realizada. Podem participar dessa exemplo de como elas podem ser conse-
sa, que possam vir a direcionar melhor reunião, o gerente de projetos, o patro- guidas em projetos de desenvolvimento
o gerenciamento de custos do projeto. cinador, membros da equipe seleciona- de software:
Um exemplo claro são definições ante- dos, stakeholders selecionados, enfim, • Plano de gerenciamento de custos:
riores de recursos necessários X áreas de qualquer membro do projeto que tenha produzido como saída no processo ante-
trabalho, ou ainda, recursos financeiros responsabilidade sobre a boa execução rior, tem como principal objetivo nortear
X recursos humanos em outros projetos do gerenciamento de custos do mesmo. a forma como o gerenciamento de custos
da área. será realizado no projeto;
A partir da realização dessas tarefas, • Plano de gerenciamento de recursos
De posse desses elementos de entrada, para o Planejamento do Gerenciamento humanos: produzido durante o processo
a tarefa de Planejar o Gerenciamento de de Custos, deve ser produzido como de gerenciamento de recursos humanos
custos pode ser executada. A partir do saída: traz pessoas, papéis e cargos referentes
uso das ferramentas e técnicas a seguir, • Plano de gerenciamento de custos: em ao desenvolvimento de todo o projeto.
exemplificamos de forma simples seu projetos de TI ele pode ser visto como Deve-se ressaltar que em todo o projeto
uso para o desenvolvimento de um um documento simples que contenha stakeholders das mais diferentes origens
software: as principais atividades representativas podem ter participação ativa;
• Opinião especializada: qualquer opi- do gerenciamento de custo em questão. • Linha de base do escopo: é a espe-
nião de membros técnicos pertencente ao Podendo conter uma análise referente a cificação do escopo do projeto, com as
grupo de stakeholders ou que participa- quais recursos serão destinados a pes- principais entregas e os requisitos de
ram de projetos anteriores definindo e soal, como técnicos, programadores, ge- aceitação. Os documentos que vão sendo
planejando custos destinados a ativida- rentes, possíveis serviços terceirizados, produzidos durante o planejamento do
des de projeto podem ser ouvidas, para e ainda, a forma como os recursos serão escopo fazem parte dessa base para o
que melhores estimativas dos recursos destinados à infraestrutura necessária projeto;
possam ser feitas no projeto; para o projeto, dentre outras. • Cronograma do projeto: este docu-
• Técnicas analíticas: a experiência no mento é produzido durante o processo
planejamento de quais técnicas poderão Estimativa de Custos de gerenciamento do tempo do projeto e
ser melhor aproveitadas para a defini- O processo de estimar os custos do deve conter no mínimo as datas (início e
ção e o gerenciamento de custos é um projeto envolve uma análise crítica de término) planejadas para as atividades,
importante fator para o planejamento quais serão as devidas necessidades as metas, os recursos necessários e o
de ferramentas de auxílio ao gerencia- dentro da relação espaço (atividade) X encadeamento natural das atividades de
mento de custos que se pode utilizar, tempo do projeto. Custos em relação a acordo com as restrições empregadas;
qual(is) técnica(s) de análise e estimativa mão de obra podem ser feitos, porém, • Registro de riscos: conseguidos a
de recursos para as atividades será(ão) é necessário que isto esteja alinhado partir do processo de gerenciamento de

Edição 69 - Engenharia de Software Magazine 13


riscos do projeto são eficientes para que fiquem claros quais estrutura para controle dos recursos e tempo das atividades
são os riscos de uma seleção ou de uma disponibilização de em questão. Um exemplo de software livre com essa função
determinado recurso do projeto, dentre outras; é o OpenProject citado na seção Links;
• Fatores ambientais da empresa: são elementos como normas, • Análise de proposta de fornecedor: de posse de propostas
padrões ou diretrizes estabelecidos que podem vir a influen- de fornecedores para o que é necessário para a realização do
ciar os custos de desenvolvimento do projeto; projeto, o gerente deve analisar as mesmas para adequar: ex-
• Ativos de processo organizacional: são elementos consegui- pectativas, custos necessários e valores agregados. Isso pode
dos a partir da realização de outros projetos na empresa, que levar ao resultado total de quanto o projeto custaria para ser
possam vir a direcionar melhor o gerenciamento de custos realizado. Este ainda pode ser a soma de valores de entregas
do projeto. Um exemplo claro são as linhas de base (baselines) individuais do projeto, quando subprodutos do projeto devem
do projeto, ou ainda, definição de recursos produzidos em ser desenvolvidos de forma independente;
antigos projetos. • Técnicas de tomada de decisão em grupo: nessas técni-
cas o envolvimento da equipe de projeto nas estimativas
De posse desses elementos de entrada, a tarefa de Estimati- proporcionam maior comprometimento da mesma com os
va dos Custos pode ser executada, a partir do uso das ferra- gastos previstos X realizados. Nesse contexto, técnicas como
mentas e técnicas a seguir, exemplificamos de forma simples Brainstorming ou o particionamento por pontuação de estórias
seu uso para o desenvolvimento de projetos em TI: do cliente, usados em metodologias ágeis, são boas formas de
• Opinião especializada: qualquer membro técnico perten- envolvimento da equipe nas estimativas.
cente ao grupo de stakeholders do projeto pode ser ouvido,
para que, a partir de dados e experiências em projetos ante- A partir da realização dessas tarefas para a Estimativa dos
riores, decisões possam ser tomadas com o intuito de reali- Custos deve ser produzido como saída:
zar estimativas consistentes para o projeto em questão; • Estimativas de custos das atividades: as estimativas finais
• Estimativa análoga: estimar utilizando essa técnica sig- podem ser produzidas em detalhes ou de forma geral, de
nifica ter como base projetos anteriores semelhantes para acordo com a necessidade do projeto. Essas estimativas devem
o cálculo dos recursos do atual projeto. Ela necessita de conter todos os custos necessários para o desenvolvimento do
menos custos para ser aplicada, porém, é também menos projeto, inclusive custos de possíveis distorções na própria
precisa que outras técnicas que podem ser utilizadas, como análise dos custos;
as que seguem; • Bases das estimativas: todas as suposições e critérios utili-
• Estimativa paramétrica: essa técnica se utiliza de dados zados para a estimativa dos custos devem estar claros para que
estatísticos de projetos anteriores para realizar uma estima- se possa verificar possíveis erros com facilidade. Quando do
tiva para parâmetros conhecidos. Exemplo de parâmetros uso de intervalos, do tipo valor estará entre: x-10% e x+10%)
são orçamento, duração, dentre outros; este deve estar bem especificado, não contendo somente o
• Estimativas de três pontos: se baseia em três casos para valor médio indicado. Enfim, tudo o que for considerado
estimar: a análise do melhor cenário, a do pior cenário e a deverá estar relatado nesse tópico, independente se haverá
do cenário mais realista possível, determinado a partir das uma descrição sucinta ou detalhada dos motivos pelos quais
dependências e expectativas de atividades prováveis; adotou-se tal critério;
• Análise de reservas: um esquema de identificação de • Atualização de documentos do projeto: são produzidos
percentual para reserva de trabalho, com o intuito de su- de acordo com as modificações realizadas a partir do plane-
prir incertezas do cronograma pode ser utilizado. Nessa jamento de custos do projeto. elas podem ser de melhoria ou
técnica, conforme os dados passam a ser mais reais, as adequações e podem gerar modificações em diversos docu-
reservas podem também ser melhoradas, reduzidas ou até mentos, dependendo de sua origem. Exemplo: uma definição
eliminadas; ou mudança nos custos do projeto, pode gerar mudanças de
• Custo da qualidade: englobam os custos durante toda cronograma de atividades do projeto, mudanças no planeja-
a vida do produto, como os de atendimento aos requisitos mento dos riscos do projeto, ou ainda, definição para aquisição
de qualidade, de retrabalho, ou ainda de prevenção do não ao invés de produção no projeto, dentre outros.
cumprimento dos requisitos. Como custos de atendimento
aos requisitos podemos citar: testes de aceitação do sistema; Determinar o orçamento
já os de retrabalho podem ser gerados por: falhas internas O processo de determinar o orçamento do projeto é uma
de programação ou de documentação do software; e os tarefa que depende, além dos produtos (saídas) dos processos
de prevenção: como um treinamento de usuários antes de anteriores do gerenciamento de custos, também de produtos
colocar o sistema em operação; oferecidos por outros processos de gerenciamento, como o
• Software de gerenciamento de projetos: existem diversas escopo e o tempo.
ferramentas de auxílio à definição, monitoramento e contro- A Figura 3, retirada do Guia PMBOK, ilustra o conjunto de
le de recursos para as atividades de projetos. Ferramentas entradas, de ferramentas e técnicas e de saídas que estão pre-
de controle de custos normalmente disponibilizam toda a sentes nesse terceiro processo de Determinar o orçamento.

14 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

A seguir, apresenta-se as entradas determinado recurso do projeto, dentre incertezas no orçamento pode ser utili-
pertencentes a esse processo, com um outras; zado. Nessa técnica, conforme os dados
exemplo de como elas podem ser conse- • Contratos: informações de contratos passam a ser mais reais, as reservas po-
guidas em projetos de desenvolvimento e os custos dos mesmos sejam eles para dem também ser melhoradas, reduzidas
de software: aquisições de bens ou de serviços devem ou até eliminadas;
• Plano de gerenciamento de custos: ser relatados para que os custos possam • Opinião especializada: qualquer opi-
produzido como saída no inicial, tem fazer parte do orçamento total do proje- nião de membros técnicos pertencente ao
como principal objetivo nortear a forma to. Um exemplo é o contrato de serviço grupo de stakeholders ou que participa-
como o gerenciamento de custos será para fornecimento de Internet em proje- ram de projetos anteriores definindo e
realizado no projeto; tos de desenvolvimento em TI; planejando custos destinados a ativida-
• Linha de base do escopo: é a especifica- • Fatores ambientais da empresa: são des de projeto podem ser ouvidas, para
ção do escopo do projeto, com as principais elementos como normas, padrões ou que melhores estimativas dos recursos
entregas e os requisitos de aceitação. Os diretrizes estabelecidos que podem vir possam ser feitas no projeto;
documentos que vão sendo produzidos a influenciar os custos de desenvolvi- • Relações históricas: elas podem ser
durante o planejamento do escopo fazem mento do projeto; utilizadas para a realização de análises
parte dessa base para o projeto; • Ativos de processo organizacional: paramétricas ou análogas, de forma que
• Estimativas de Custo das atividades: são elementos conseguidos a partir custos estimados em outros projetos pos-
obtida como saída do processo anterior da realização de outros projetos na sam servir de suporte para a definição
traz uma visão da relação custo X ativi- empresa, que possam vir a direcionar de custos de um novo projeto;
dades para os elementos do projeto; melhor o gerenciamento de custos do • Restrição de limites financeiros: o
• Bases de estimativas: que também são projeto. Um exemplo claro são as linhas cronograma de projeto pode auxiliar
obtidas a partir do processo anterior de de base (baselines) do projeto, ou ainda, muito na relação de definição das
forma a oferecer suporte para o orçamen- definição de recursos produzidos em restrições existentes para o projeto.
to total do projeto; antigos projetos. Tarefas em paralelo ou subsequên-
• Cronograma do projeto: este docu- ciais podem dispensar mais ou menos
mento é produzido durante o processo De posse desses elementos de entrada, recursos.
de gerenciamento do tempo do projeto e a tarefa de Determinar o Orçamento
deve conter no mínimo as datas (início e pode ser executada, a partir do uso das A partir da realização dessas tarefas
término) planejadas para as atividades, ferramentas e técnicas. A seguir, exem- para a Determinação do Orçamento as
as metas, os recursos necessários e o plificamos de forma simples seu uso seguintes saídas devem ser produzidas:
encadeamento natural das atividades de para o desenvolvimento de um software: • Linha de base de custos: relaciona-se
acordo com as restrições empregadas; • Agregação de custos: os custos devem ao orçamento total do projeto em função
• Calendár ios dos recursos: nele ser agregados de acordo com a estrutura do tempo e de pequenos orçamentos
estarão indicadas as datas em que os hierárquica da EAP. Assim, custos totais intermediários de entregas e marcos
recursos como materiais, pessoas ou de um pacote presente no nível final da particulares.
equipamentos estarão sendo usados EAP são agregados aos custos de outros • Requisitos de recursos financeiros do
por outros projetos ou ainda liberados pacotes no mesmo nível para formarem projeto: produzidos para que os recur-
para o uso. Nesse processo a obtenção o custo total do elemento presente no sos necessários para o projeto possam
desse calendário é uma condição pri- EAP no nível superior a eles, consecuti- ser adquiridos ao longo do desenvolvi-
mordial para as estimativas. Além do vamente até que o custo total do projeto mento do mesmo, sem perda de poder de
que essa informação é importante, para possa ser calculado; execução, antecipando os mesmos para
identificar a possibilidade de trabalho • Análise de reservas: um esquema de sua aplicação no tempo devido.
de determinado membro da equipe em identificação de percentual para reser- • Atualização de documentos do pro-
seu projeto; como para que o projeto es- va de custos, com o intuito de suprir jeto: são produzidos de acordo com
teja preparado para riscos de eventuais
atrasos quando se tratar de um recurso
advindo de outra região, ou que depende
de fatores ambientais ou temporais (final
de ano, recessos ou grandes feriados)
para serem adquiridos;
• Registro de riscos: conseguidos a
partir do processo de gerenciamento de
riscos do projeto são eficientes para que
fiquem claros quais são os riscos de uma
seleção ou de uma disponibilização de Figura 3. Entradas, ferramentas e técnicas e saídas para a Determinação do Orçamento

Edição 69 - Engenharia de Software Magazine 15


as modificações realizadas a partir da do usuário no projeto, recursos humanos durante a realização do mesmo, pode
determinação do projeto. elas podem disponíveis, stakeholders, dentre outros prever melhorias no próprio orçamento
ser de melhoria ou adequações e podem são elementos que podem ser definidos definido previamente, realizando, assim,
gerar modificações em diversos docu- nesse processo e documentados com também as revisões de performance;
mentos, dependendo de sua origem. maior precisão em suas respectivas áreas • Software de gerenciamento de pro-
Exemplo: uma definição ou mudança de processo; jetos: existem diversas ferramentas de
no orçamento do projeto, pode gerar • Requisitos de recursos financeiros auxílio à definição, monitoramento e
mudanças de cronograma de atividades do projeto: produzidos no processo an- controle de recursos para as atividades
do projeto, mudanças no planejamento terior para que os recursos necessários de projetos. Ferramentas de controle de
dos riscos do projeto, ou ainda, definição para o projeto possam ser adquiridos ao custos normalmente disponibilizam
para aquisição ao invés de produção no longo do desenvolvimento do mesmo, toda a estrutura para controle dos recur-
projeto, dentre outros. sem perda de poder de execução, ante- sos e tempo das atividades em questão,
cipando os mesmos para sua aplicação como citado anteriormente;
Controlar os custos no tempo devido; • Análise de reserva: um esquema
O Controle de custos do projeto deve • Dados de performance do trabalho: de identificação de percentual para
ser realizado durante todo o projeto. é a forma de medir o andamento das reserva de trabalho, com o intuito de
Assim, possíveis distorções encontradas atividades verificando, por exemplo, suprir incertezas do cronograma pode
durante a execução do projeto podem o cumprimento de tarefas e os custos ser utilizado. Nessa técnica, conforme
ser minimizadas em fases posteriores e necessários para executá-las; os dados passam a ser mais reais, as re-
antes do término para que possam ser • Ativos de processo organizacional: servas podem também ser melhoradas,
recuperadas. são elementos conseguidos a partir da reduzidas ou até eliminadas.
A Figura 4, retirada do Guia PMBOK, realização de outros projetos na empre-
ilustra o conjunto de entradas, de ferra- sa, que possam vir a direcionar melhor A partir da execução das tarefas neces-
mentas e técnicas e de saídas que estão o gerenciamento de custos do projeto. sárias para o Controle dos Custos as se-
presentes nesse último processo de Um exemplo claro são definições ante- guintes saídas devem ser produzidas:
Controlar os Custos. riores de recursos necessários X áreas de • Informação da performance do traba-
A seguir, apresenta-se as entradas trabalho, ou ainda, recursos financeiros lho: serão geradas a partir das análises
pertencentes a esse processo, com um X recursos humanos em outros projetos feitas durante todo o processo de geren-
exemplo de como elas podem ser conse- da área. ciamento e devem ser mapeadas nos seus
guidas em projetos de desenvolvimento respectivos documentos de projeto;
de software: De posse desses elementos de entrada, • Previsões de custo: os orçamentos rea-
• Plano de gerenciamento de projeto: é a tarefa de Controle dos Custos pode ser lizados devem então serem comunicados
um documento que contém as diretrizes executada, a partir do uso das ferramen- às partes necessárias para que possam
iniciais para o projeto, levando em consi- tas e técnicas a seguir, exemplificamos ser utilizados;
deração todas as áreas de gerenciamento. de forma simples seu uso para o desen- • Solicitações de mudanças: com base
Ele serve como entrada, pois, contém volvimento de um software: na performance, na definição de orça-
as principais definições feitas a partir • Gerenciamento do valor agregado: mento e ainda em mudanças de escopo
das necessidades também iniciais apre- deve ser usado, utilizando-se custos, e tempo, possíveis solicitações de mu-
sentadas pelo cliente/usuário no ato de tempo e atividades, para cálculo de danças podem vir a ocorrer de forma a
contratação do projeto. Elementos como performance do projeto; integrar novamente o projeto em suas
as formas adotadas para o trabalho, • Previsões, índice de performance áreas de gerenciamento;
paradigmas de desenvolvimento, possi- para conclusão: baseado nos índices de • Atualização do plano de gerencia-
bilidades de infraestrutura, participação desempenho de projeto a equipe, ainda mento do projeto: o plano de gerencia-
mento do projeto deve ser atualizado
para conter as definições necessárias que
estabelecidas a partir do gerenciamento
dos custos que foi realizado;
• Atualização do documento de pro-
jeto: o documento de projeto deve ser
atualizado para conter as definições
necessárias e que foram estabelecidas a
partir do gerenciamento dos custos que
foi realizado;
• Atualização dos ativos de proces-
Figura 4. Entradas, ferramentas e técnicas e saídas para o Controle dos Custos sos organizacionais: atualizações nos

16 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

documentos que contém dados, conseguidos a partir da Os processos estabelecidos devem também se relacionar
realização de outros projetos na empresa, devem ser atuali- com outras áreas de gerenciamento de projetos descritas no
zados com os dados do projeto atual para possíveis futuras PMBOK. Ora oferecendo entradas para outros processos, ora
experiências. recebendo como entrada elementos produzidos por eles e que
serão necessários para o desenvolvimento do Gerenciamento
Sabemos que o gerenciamento deve ser iniciado com um pla- dos Custos.
nejamento para o mesmo tendo como base diversos elementos
do projeto, tais como, as atividades definidas no gerenciamento Links:
do escopo e o cronograma do projeto. Essas três grandes áreas
do gerenciamento (trazidas pelo PMBOK) tempo, escopo e PMI no Brasil – a Maior Associação Mundial para Profissionais de Gerencia-
custos estão intrinsecamente relacionadas, criando-se uma mento de Projetos
dependência mútua entre as mesmas. http://brasil.pmi.org/
Os conhecimentos apresentados não fornecem um padrão, Página do projeto OpenProject
eles se traduzem por um Guia, que pode ser modificado, http://sourceforge.net/projects/openproj/
melhorado ou seguido em sua completude de acordo com o
projeto a ser gerenciado.
Ressalta-se aqui que esses processos possuem uma lógica Você gostou deste artigo?
sequencial didática, porém, sua execução pode ter atividades
sobrepostas em muitos casos, durante o Gerenciamento dos Dê seu voto em www.devmedia.com.br/esmag/feedback
Custos, como por exemplo, as atividades de estimar os custos
Ajude-nos a manter a qualidade da revista!
e definir o orçamento.

Edição 69 - Engenharia de Software Magazine 17


Planejamento e Gerência
Nesta seção você encontra artigos voltados para o planejamento
e gerência de seus projetos de software.

Riscos em projetos de software com PMBOK

Fique por dentro: O objetivo principal do artigo é apresentar fato-


A gerência de projetos é amplamente estudada e res de risco que impactam o desenvolvimento de
possui diversas ferramentas que auxiliam na efici- software, classificá-los em grupos e proporcio-
ência e eficácia da produção de software. Uma de nar uma visão dos relacionamentos entre eles e
suas atribuições é o gerenciamento de riscos, pois como essas informações auxiliam na tomada de
existem inúmeros riscos que envolvem o desen- decisões. O tema é útil para auxiliar no geren-
Jhoney Lopes volvimento de software Riscos são situações de ciamento de projetos de software, como método
jhoney.lopes@gmail.com incertezas que envolvem escolhas relacionadas de controle dos possíveis riscos que impactam
Bacharel e mestrando em Ciência da Com- com decisões que estão ligadas diretamente aos o desenvolvimento do projeto. O uso desse co-
putação pela Universidade Federal de Viçosa. nhecimento é indispensável para evitar perdas
riscos. Uma vez conhecidos os riscos, as decisões
Atua na área de Ciência da Computação, com
podem reduzir perdas, aumentar ganhos ou, o financeiras, atrasos, erros, retrabalhos e perdas
ênfase em Engenharia de Software. Desenvol-
vedor iOS, Embaixador certificado em Negócios contrário, levando a prejuízos. de outros recursos.
Sociais no Brasil e co-criador do Catálise Social
(www.catalisesocial.com). Áreas de interesse:
Engenharia de Software, Empreendedorismo,
Gerenciamento de Projetos e Risco.

R
isco é falta de informação, a tempo gasta-se de casa até o destino
incerteza é a base do risco, por final, e outros.
José Luis Braga
zeluis@dpi.ufv.br essa razão ele está no futuro. Risco não é associado com certeza,
Pós-doutoramento em Tecnologias da Infor- O passado é conhecido, logo é possí- sendo assim, quando uma ação é de ris-
mação na University of Florida (1988-1999). vel saber quais incertezas afetaram co, não se pode definir a mesma sendo
Doutor em Informática-Departamento de In- positivamente ou negativamente. Por ruim ou boa. Existem diversos esportes
formática da PUC-Rio (1990). Mestre em Ciên-
mais que cada pessoa seja única e viva de alto risco como, por exemplo, o pa-
cias da Computação-Departamento de Ciência
da Computação da UFMG (1980). Atualmente experiências individuais, o cotidiano é raquedismo. Durante um salto, o para-
é Professor Titular do Departamento de Infor- cercado de influências comuns, que for- quedas pode desdobrar no ar da melhor
mática do Centro de Ciências Exatas e Tecno- necem informações que são mapeadas e maneira possível, mas em outros casos
lógicas da Universidade Federal de Viçosa-MG. utilizadas por todos como, por exemplo, isso pode não acontecer. As pessoas não
Atua na área de Ciência da Computação, com
o melhor caminho para ir ao trabalho, deixaram de praticar o esporte por causa
ênfase em Engenharia de Software e Sistemas
de Informação. o melhor tipo de investimento, quanto desse perigo, elas mapearam as formas

18 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

indesejadas da abertura do paraquedas e desenvolveram téc- • Análise qualitativa dos riscos: processo de priorização dos
nicas para lidar com cada uma delas. riscos para análise ou ação adicional através da avaliação e
Criar soluções para lidar com as incertezas não se restringe combinação de sua probabilidade de ocorrência e impacto;
ao esporte. Inovar é assumir riscos e é necessário arriscar • Análise quantitativa dos riscos: o processo de analisar
para quebrar o “status quo”. Sejam inovações disruptivas numericamente o efeito dos riscos identificados nos objetivos
(ver BOX 1), em processos, em modelos ou outros, a intenção gerais do projeto;
é aproveitar uma oportunidade para melhorar algo. Essa • Planejamento de respostas aos riscos: processo de desen-
busca pela melhoria constante obriga a esbarrar continua- volvimento de opções e ações para aumentar oportunidades
mente com o desconhecido. Todo caminho novo tem incer- e reduzir ameaças aos objetivos do projeto;
tezas associadas, mas muitas vezes possui características • Monitoramento e controle de riscos: processo de imple-
que interceptam com outros já conhecidos. Gerenciar riscos mentação de planos de respostas aos riscos, acompanhamento
é utilizar de conhecimentos prévios para minimizar efeitos dos riscos identificados, monitoramento dos riscos residuais,
indesejados. Este artigo fornece um conjunto de informações identificação de novos riscos, e avaliação da eficácia do pro-
para auxiliar o gerente de projetos a enxergar os pontos po- cesso de risco durante todo o projeto.
sitivos e negativos das decisões em projetos de software.
Na figura são apresentadas as entradas, ferramentas técnicas
BOX 1. Inovações disruptivas e saídas dos principais processos de gerenciamento de risco.
Para obter sucesso, uma organização deve estar compromis-
Disruptivo é algo que quebra conceitos, ruptura ou rompimento de algo. Uma inovação
sada em realizar gerenciamento de risco de forma proativa e
disruptiva é um produto, serviço ou tecnologia que rompe ideias preestabelecidas, ou seja, algo
consciente. Uma escolha consciente deve ser feita em todos
que extrapola o até então conhecido.
os níveis da organização para identificar e seguir um efetivo
gerenciamento de risco durante todo o ciclo de vida de um
O risco pode ser visto de várias formas. Primeiro, risco gira projeto. O gerente de projetos pode utilizar a Figura 1 para
em torno dos acontecimentos futuros. A questão é: pode-se organizar um plano de ação de gerenciamento de risco.
mudar ações hoje, a fim de criar oportunidades para uma A gestão de riscos tornou-se uma preocupação global, os
melhor situação amanhã? Segundo, risco envolve mudanças, efeitos indesejados dos riscos se transformaram em uma
tais como mudança de mentalidade, opinião, ações, ou lugares. apreensão. Por esse motivo, em 2009, saiu a norma ISO 31000
Em um mundo estático, não existe risco, logo, esse é o terceiro e no Brasil foi lançada em 30/11/2009 a ABNT NBR ISO 31000
aspecto do risco. Risco envolve escolhas, e todas as incertezas - Gestão de Riscos, Princípios e Diretrizes. A norma ISO 31000
que essas escolhas trazem. tem reconhecimento internacional, não tem finalidade de
O gerenciamento dos riscos em áreas como administração, certificação, mas é uma ferramenta de auxílio às empresas,
economia, estatística e matemática financeira, além de ser muito trazendo uma forte vantagem competitiva.
empregado é tratado como elemento chave para tomada de de- Observa-se que os projetos de desenvolvimento de software, em
cisão. O risco envolvido em projetos é uma condição ou evento geral, apresentam atrasos de cronogramas, custos realizados além
incerto que, se ocorrer, terá um efeito positivo ou negativo. Esses do planejado e funcionalidades aquém das expectativas. Esses
efeitos podem ser no prazo, custo, esforço e qualidade. Um risco problemas, embora considerados inerentes ao desenvolvimento
pode ter diversas causas e, se ele acontecer, pode ter diversos im- de software por muitos autores, podem ser minimizados e con-
pactos. Uma causa é uma condição que favorece o acontecimento trolados pelo contínuo gerenciamento de risco em projetos.
de resultados positivos ou negativos. Por exemplo, a causa pode O tempo de reação aos riscos é um fator preponderante para a
ser uma mudança no escopo, a falta de conhecimento ou pessoas economia, como pode ser visto na Figura 2. A reação imediata,
insuficientes para executar um projeto, entre outros. feita no momento da identificação e da análise dos riscos, na
O processo de manipulação dos riscos é realizado com a análise fase inicial, é chamada de reação de prevenção, e acontece
e gerenciamento. Na análise estão as etapas de identificação, esti- antes da decisão final sobre o projeto, alterando as principais
mativa e avaliação, já o gerenciamento é entendido como controle variáveis de impacto no projeto, como escopo, qualidade,
do planejamento e o monitoramento do sucesso dos mecanismos tempo ou condições financeiras. O quanto antes ocorrerem
de controle. Esse processo tem como objetivo básico observar o a identificação, prevenção e contingência relacionadas aos
que pode dar errado e auxiliar nas tomadas decisões. riscos, menores serão os custos de impacto ao projeto. Em
A Figura 1 apresenta a visão geral do gerenciamento de riscos contraposição, a estimativa de custo do projeto possui maior
apresentado no PMBOK e possui os seguintes itens: nível de acerto com o passar do tempo.
• Planejamento do gerenciamento de risco: o processo de A Figura 3 é conhecida como Cone de incerteza, sua leitura
definição de como conduzir as atividades do gerenciamento mostra que, no início do projeto, a estimativa possui maior
de risco; taxa de erro. Estimativas realizadas na fase conceitual po-
• Identificação dos riscos: processo de determinação de dem ter um erro de quatro vezes, ou um-quarto do valor
quais riscos podem afetar o projeto e documentação de suas estimado; o erro se reduz com o aumento do conhecimento
características; sobre o projeto.

Edição 69 - Engenharia de Software Magazine 19


Figura 1. Visão geral do gerenciamento de riscos do projeto

Figura 2. Momento da reação diante dos riscos

A figura apresenta de modo simples um direcionamento


do melhor momento para a determinação do custo real do Figura 3. Cone de incerteza, melhoria da estimativa de custo ao longo do
tempo
projeto, embora seja compreensível que o erro decresce com
o tempo, esse gráfico não leva em consideração a necessidade
do cliente em saber o mais rápido possível o valor do projeto. Riscos podem ser considerados positivos ou negativos.
Essa distância entre a assertividade e os interesses do mer- Alguns são oportunidades gerenciais, assim, encontrar essas
cado, é que fazem surgir diversos riscos, e também indicam oportunidades e maximizar seus efeitos gera uma vanta-
momentos em que decisões precisam ser tomadas. gem ao gerente. Por exemplo, em uma equipe pequena de

20 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

desenvolvimento acarreta riscos a saída de um desenvolvedor, Existem diversos riscos negativos no desenvolvimento de
com grande impacto negativo no projeto mas, em contrapar- software. Estudos mostram que 25% dos sistemas de software
tida, uma equipe desse tamanho é mais fácil de ser alinhada, de larga escala em desenvolvimento são cancelados. Em média,
gerenciada e treinada; nessa situação cabe o gerenciamento projetos ultrapassam o prazo de desenvolvimento em mais
otimista para manter a equipe motivada e coibir saídas de da metade do tempo planejado, projetos maiores geralmente
colaboradores. são piores. Apenas 25% dos projetos de larga escala não são
considerados “falhas operacionais”, os outros 75%, ou não
Autores funcionam como previsto ou não são usados na íntegra.
Fatores de Risco a B c d
1. Mudança de Escopo/objetivos X X X X Riscos no desenvolvimento de software
A seguir é apresentada uma lista de riscos que impactam o
2. Falta de envolvimento adequado dos usuários X X X
desenvolvimento de software. Na Tabela 1 são listados trinta
3. Requisitos mal entendidos e/ou mal definidos X X X
e três fatores de risco, organizados por ordem de relevância.
4. Escopo/objetivos pouco claros ou equivocados X X X Essa lista é um trabalho exploratório com gerentes de projeto
5. Prazos e tempo para tarefas mal estimados X X X de software de diversas localidades no Brasil e em Hong Kong,
6. Gerenciamento impróprio de mudanças X X X Finlândia e Estados Unidos da América.
7. Volatilidade nos requisitos (falta de requisitos estáticos) X X X
Grupos de fatores de risco
8. Custos mal estimados X X X
A partir dos riscos listados na Tabela 1, é possível observar
9. Falta de poderes para o gerenciamento de projetos X que alguns possuem impactos semelhantes nos projetos de
10. Conflito entre departamentos de usuário X X software como, por exemplo, mudança de escopo/objetivos;
11. Falha em gerenciar as expectativas finais dos usuários X X escopo/objetivos pouco claros ou equivocados; requisitos mal
12. Planejamento inexistente ou inadequado X X entendidos e/ou mal definidos; volatilidade nos requisitos
(falta de requisitos estáticos). Na Tabela 2 é apresentada uma
13. Pessoal envolvido insuficiente/inapropriado X X X X
comparação entre diferentes grupos de fatores de risco.
14. Falta de conhecimento/competência dos envolvidos
X X X X
no projeto
Grupo 1 Grupo 2 Grupo 3
15. Falta de Cooperação dos usuários X X X
Novidade Tecnológica Tecnologia Conhecimento e incerteza tecnológica
16. Falta de metodologia efetiva em gerenciamento de
X X
projetos Complexidade da Aplicação Requisitos
Escopo e Requisitos
17. Controle pobre ou inexistente X X Tamanho da Aplicação Escopo
18. Adoção de novo método/tecnologia X X X Habilidades da Equipe
Equipe de desenvolvimento
Expertise Pessoas
19. Falha em obter comprometimento do cliente X X
Gestão de Projetos
20. Definição imprópria de papéis e responsabilidades X X - Financiamento
21. Falta de comprometimento da alta gerência X X X Processo de
-
22. Falta de motivação da equipe X desenvolvimento Gestão de projetos
- Planejamento
23. Falta de habilidade para o gerenciamento de projetos X X
Programação/
24. Assunto novo ou não familiar X X X -
Agendamento
25. Mudança no proprietário do projeto ou na alta - Patrocínio/Propriedade
X Relacionamento com cliente e usuário
gerência - Gestão de Relacionamentos
26. Rotatividade da equipe X Valor/importância atribuído ao
Ambiente Organizacional Ambiente Corporativo
27. Projeto com múltiplos fornecedores X projeto
28. Usar nova metodologia de desenvolvimento em Relacionamento com o ambiente
X - Dependências externas
projetos importantes externo

29. O sistema possui integração e interface com outros Tabela 2. Tabela comparativa entre os grupos de riscos propostos na
X X literatura
sistemas
30. Sistema complexo X
Tomando por base os dados apresentados na tabela anterior,
31. Tarefas complexas X X
é proposta uma nova lista de grupos de fatores de risco. Esses
32. Falta de tecnologias maduras/existentes X
conjuntos foram propostos para um melhor entendimento
33. Deficiência de execução em tempo real X acerca dos riscos. Segmentar os riscos em grupos facilita o
entendimento do gerente de projetos sobre o contexto de cada
Tabela 1. Levantamento dos fatores de risco do desenvolvimento de
software risco. Os seis grupos propostos são:

Edição 69 - Engenharia de Software Magazine 21


• Gestão de Dependências: relaciona-se com os riscos que • Gestão de Inovação e Tecnologias: é o grupo destinado
envolvem qualquer tipo de dependência, seja direta ou in- a lidar com as escolhas tomadas acerca das tecnologias e
direta com o software ou o projeto. As dependências podem inovações;
ser com relação a tecnologia, pessoas, fornecedor, outros • Gestão de Pessoas: são todos os fatores que envolverem
sistemas, etc.; pessoas no que tange conhecimentos, habilidades, capaci-
• Gestão de Escopos e Requisitos: todos os riscos que en- dades, motivação etc.;
volvem os escopos e os requisitos do projeto serão tratados • Gestão de Projetos: atributos comuns do gerenciamento
nesse grupo; como prazo, custo, esforço e outros, são inseridos nesse
grupo;
1. Gestão de Dependências • Gestão de Relacionamentos: aqui envolvem todos os
1.1. Gerenciamento impróprio de mudanças. riscos atribuídos ao relacionamento entre os envolvidos no
1.2. Falha em gerenciar as expectativas finais dos usuários. projeto, sejam pessoas internas ou externas.
1.3. O sistema possui integração e interface com outros sistemas.
1.4. Mudança no proprietário do projeto ou na alta gerência. Fatores de risco no desenvolvimento de software
1.5. Projeto com múltiplos fornecedores. Nas seções anteriores foram realizados o mapeamento
1.6. Sistemas complexos. e análise dos fatores de risco de maior impacto no desen-
volvimento de software. Em seguida, esses fatores foram
2. Gestão de Escopo e Requisito agrupados por contexto.
2.1. Mudança de Escopo/objetivos. Os trinta e três fatores de risco foram distribuídos nos
2.2. Requisitos mal entendidos e/ou mal definidos. grupos anteriormente definidos. Para a avaliação dos riscos,
2.3. Volatilidade nos requisitos (falta de requisitos estáticos). segmentá-los em grupos facilita a compreensão do contexto,
2.4. Escopo/objetivos pouco claros ou equivocados. ter os riscos distribuídos em blocos de mesmo assunto foi
importante para a realização do trabalho. No próximo tópico
3. Gestão de Inovação e Tecnologias será abordada a criação de modelos e utilização desses para
3.1. Adoção de novo método/tecnologia. a realização de simulações. A Tabela 3 apresenta os grupos
3.2. Assunto novo ou não familiar. e seus respectivos riscos associados.
3.3. Usar nova metodologia de desenvolvimento em projetos importantes. Os riscos presentes em cada grupo estão organizados
3.4. Falta de tecnologias maduras/existentes. pela ordem de impacto. O primeiro item de cada grupo é o
3.5. Deficiência de execução em tempo real. risco mais impactante daquele contexto e assim sucessiva-
mente. A Tabela 3 apresenta os grupos sugeridos com os
4. Gestão de Pessoas respectivos riscos. Como dito anteriormente, esses grupos
4.1. Pessoal envolvido insuficiente/inapropriado. representam contextos e esses contextos foram utilizados
4.2. Falta de conhecimento/competência dos envolvidos no projeto. para simular a dinâmica entre os riscos.
4.3. Falta de habilidade para o gerenciamento de projetos.
4.4. Falta de motivação da equipe. Dinâmica entre riscos
4.5. Rotatividade da equipe. O mundo é composto por variáveis e essas estão presentes
em todos os ciclos dos processos dos homens e da natureza.
5. Gestão de Projetos O pensamento sistêmico é um conjunto de conhecimentos
5.1. Prazos e tempo para tarefas mal estimados. e ferramentas desenvolvido nos últimos cinquenta anos
5.2. Custos mal estimados. que visa nos auxiliar a reconhecer padrões e fornecer me-
5.3. Planejamento inexistente ou inadequado. canismos para modificá-los efetivamente. Ele é livre, não
5.4. Falta de metodologia efetiva em gerenciamento de projetos. possui uma tecnologia associada obrigatória e tem como
5.5. Controle pobre ou inexistente. objetivo enxergar o todo, observar padrões, estruturas,
5.6. Definição imprópria de papéis e responsabilidades. conexões e realizar uma reestruturação das inter-relações
5.7. Tarefas complexas. de forma mais harmoniosa. É possível conectar variáveis
e analisar suas interferências através de um diagrama de
6. Gestão de Relacionamentos causalidade.
6.1. Falta de envolvimento adequado dos usuários. Os diagramas de causalidade, também conhecidos como
6.2. Falta de comprometimento da alta gerência. diagramas de influência, constituem a ferramenta princi-
6.3. Falta de Cooperação dos usuários. pal do pensamento sistêmico. De acordo com esta visão, o
6.4. Conflito entre departamentos de usuário. mundo opera em circuitos de retroalimentação de reforço
6.5. Falha em obter comprometimento do cliente. e balanceamento. O movimento desses ciclos em conjunto é
6.6. Falta de poderes para o gerenciamento de projetos. considerado o comportamento geral do fenômeno ou evento
sendo investigado. Na Figura 4 pode ser visto um exemplo
Tabela 3. Grupos propostos dos fatores de risco avaliados e selecionados
da literatura de diagrama de causalidade.

22 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

Saindo dos detalhes da ferramenta e observando as relações


entre os itens do diagrama, pode-se produzir várias infe-
rências. Primeiramente, para facilitar o entendimento, cada
variável considerada será explicada:
• Capacidade produtiva: é a capacidade de produzir o proje-
to, no caso, pode ser entendido como sendo a quantidade de
pontos de função que são produzidos;
• Software desenvolvido: é a quantidade de software que já
foi produzido;
• Tempo de entrega: esse item se refere ao tempo gasto para
desenvolver o projeto, ou seja, o tempo que é gasto para que o
software esteja completamente desenvolvido;
• Erro: quantidade de erro produzido;
• Retrabalho: quantidade de retrabalho que é gerado a partir
Figura 4. Esta figura é um exemplo de diagrama de causalidade dos erros.

Os símbolos “+ e -”, simbolizam que, quando se altera deter- Pode ser iniciada uma leitura do diagrama a partir de qual-
minada variável, essa causa um impacto na variável adjacente quer item, por exemplo tomando como ponto inicial a capacidade
(ligada a ela) no mesmo sentido (sinal de mais) ou em sentido produtiva, quanto mais código é produzido, tem-se mais software
oposto (sinal de menos). Na modelagem anterior, quando se desenvolvido, e maior é a quantidade de erro gerado, em conse-
aumenta solução sintomática, seta com “+”, aumenta-se o efeito quência cresce também a quantidade de retrabalho que a equipe
de consequências não-intencionais e diminui-se, seta com terá que realizar e, com isso, menos software desenvolvido, uma vez
“-”, sintoma do problema. As consequências não-intencionais que retrabalho é refazer algo que a princípio já estava pronto. A
quando crescem, aumentam os efeitos de sintoma do problema. quantidade de software produzido é afetada tanto pela capacidade
O arco cortado por duas linhas paralelas tem o significado de produtiva quanto pelo retrabalho, e por sua vez, ele impacta o tempo
que o efeito produzido não é imediato, ou seja, demanda um de entrega, que significa o tempo necessário para entregar o proje-
tempo até ocorrer, possui um “delay”. As letras “R” e “E” sig- to, ou seja, se existe muito software pronto, precisa-se de menos
nificam, respectivamente, que o caminho fechado tende a um tempo para entregá-lo, de outro modo, se o desenvolvimento não
reforço ou equilíbrio, ou seja, sintoma do problema estimula foi satisfatório o prazo de entrega cresce. O tempo de entrega afeta
solução sintomática e solução sintomática desestimula sintoma diretamente a capacidade produtiva, quanto mais tempo é gasto
do problema, com isso tem-se um equilíbrio entre eles. desenvolvendo algo, cresce também o conhecimento da equipe,
A Figura 5 apresenta um exemplo de diagrama de causalida- tanto na tecnologia utilizada para desenvolver o projeto, quanto
de utilizando as variáveis de risco citadas neste artigo. no projeto em si, com isso, a produção aumenta.
Uma nota importante: por mais que a produção aumente com
o passar do tempo, esse fator não infere em um crescimento
constante, a tendência é um aumento produtivo nos primeiros
meses e posteriormente uma estabilidade, sendo assim, tem-se
um estado de equilíbrio com o tempo. Esse equilíbrio pode
ser quebrado aumentando a equipe, melhorando os treina-
mentos, técnicas motivacionais e outros. Esses fatores podem
ser testados a partir de simulações, diagramas de causalidade
são convertidos em diagramas matemáticos que suportam
simulações de cenários.
A simulação é a avaliação numérica de um modelo mate-
mático que descreve um sistema. Muitos sistemas são muito
complexos para soluções analíticas fechadas, ou seja, planilhas,
fluxogramas, entre outros. Portanto, a simulação é usada
para exercitar modelos com entradas dadas para ver como o
sistema executa.
Existem diversas técnicas para realizar simulações com vari-
áveis dinâmicas. Uma dessas é conhecida como Dinâmica de
Sistemas – DS. Com a DS é possível analisar o comportamento
dinâmico dos riscos. Utilizando os contextos dos grupos de
Figura 5. Esta figura é um exemplo de diagrama de causalidade no
riscos listados neste artigo, foram realizadas análises com
desenvolvimento de software base em simulações.

Edição 69 - Engenharia de Software Magazine 23


Para validar e produzir valores iniciais para as simulações, atribuídos aos três projetos de tamanhos diferentes os mesmos
foram utilizados os dados de uma pesquisa que adquiriu uma valores nos fatores de risco, permanecendo intacto somente o
base de dados de projetos de software do Grupo Internacio- tamanho do projeto e tamanho da equipe. A intenção dessa
nal de Padrões de Benchmarking em Software (International abordagem é apresentar o impacto da variação dos fatores de
Software Benchmarking Standards Group - ISBSG). Na Tabela 4 risco na mudança do tamanho do projeto, e o que ocorreria,
podem ser vistas algumas das informações. se os projetos tivessem atributos de risco iguais.
O primeiro retângulo da esquerda para a direita representa
Variáveis Média Mínimo Máximo um projeto pequeno, o segundo um projeto médio e o terceiro
Pontos de Função – PF 521,04 PF 11 9803 um projeto grande. No caso 1, os prazos de desenvolvimento
Esforço 5217,7 homem-horas 17,0 150.040,0 respectivamente foram: três, cinco e quatorze meses; no caso 2:
três, dois e quatro. Essa sequência é mantida para os dois
Tamanho da Equipe 8 pessoas 1 77
exemplos: “Caso 1” e “Caso 2”.
Tabela 4. Pontos de Função – PF (ver BOX 2)

BOX 2. Análise de Pontos de Função

Análise de Pontos de Função – APF, é uma técnica que visa medir o tamanho funcional de um
software, para, a partir desses dados, oferecer mecanismos para estimar esforço, prazo e custo.
Na edição de número 44 da Engenharia de Software Magazine é possível ter uma visão geral
acerca dessa técnica. Na tabela o esforço é dado na unidade de homem-horas, uma medida
que significa a quantidade de horas que um homem teria que trabalhar para realizar o projeto.
Tamanho da equipe é o número de pessoas envolvidas na realização do projeto.

Além desses dados, foram obtidos com uma microempresa


de software que utiliza a métrica em pontos de função, os da-
dos de um projeto da empresa. Para um projeto de duzentos
e setenta pontos de função realizado por uma equipe de três Figura 6. Impacto da variação dos fatores de risco
pessoas, foi fornecida a informação de que a empresa gasta o
prazo de três meses para o desenvolvimento. Com as informações apresentadas, pode ser observado que se
Com esses números em mãos, foi possível validar os testes. os impactos dos riscos fossem mantidos em qualquer tamanho
Na Tabela 5 podem ser vistos os valores dos fatores de risco de projeto, a dificuldade em executar um projeto grande ou
com os respectivos tamanhos dos projetos. pequeno seria praticamente a mesma. Os dados presentes na
figura e nas tabelas anteriores fornecem informações valiosas,
Tamanho Aproximado dos Projetos que serão tratadas a seguir.
270 PF 520 PF 9800 PF Algumas das variáveis apresentadas tiveram seus valores
Tamanho da equipe 3 pessoas 8 pessoas 77 pessoas retirados da literatura, essas foram: tamanho aproximado dos
Prazo de desenvolvimento 3 meses 5 meses 14 meses projetos, tamanho da equipe, prazo de desenvolvimento e porcen-
Conhecimento inicial sobre linguagem e projeto Alto Médio Baixo tagem de retrabalho. As demais variáveis foram ajustadas com
Porcentagem de erros encontrados 30% 50% 63% as simulações e utilizaram os seguintes parâmetros para
Porcentagem de erros eliminados com teste 20% 20% 20% ajustes, a quantidade de pessoas necessárias (tamanho da
Porcentagem de retrabalho 24% 40% 50,4% equipe) para realizar um projeto de um determinado tama-
Porcentagem de apoio do cliente 95% 90% 75% nho (tamanho do projeto) em um prazo determinado (prazo
Tabela 5. Variação de alguns fatores de risco para cada tamanho de de desenvolvimento).
projeto de software Cerca de 80% do sucesso do projeto está relacionado com 20%
do esforço (seguindo a conhecida relação “regra de Pareto”),
A seguir, uma discussão sobre os dados apresentados na tabe- aproximadamente 80% dos erros estão em 20% dos módulos
la é apresentada. Alguns dos valores representados na Tabela 5 do projeto. Para lidar com os valores médios de retrabalho,
foram retirados da literatura, outros foram obtidos através sem diferenciar a qualidade da equipe que executa o projeto,
de ajustes. Os ajustes realizados demonstram a existência do definiu-se um valor padrão para a capacidade de correções de
impacto dos riscos no tamanho dos projetos de software. erros (i.e., 20%). Como o retrabalho ocorre para corrigir os erros
A Figura 6 apresenta dois casos. No primeiro caso, foram que não foram capturados, foi observado que a quantidade de
realizadas simulações com os dados presentes na tabela ante- erros realmente cresce com o aumento do tamanho do proje-
rior. Como pode ser visto, cada projeto possui características to. Caso não houvesse o aumento do número de erros com a
diferentes como, por exemplo, a porcentagem de erros encontrados, elevação do tamanho do projeto, o prazo de desenvolvimento
porcentagem de apoio do cliente, e outros. No segundo caso, foram seria reduzido, como pode ser visto na Figura 7.

24 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

dados estimados. O tamanho da equipe no projeto pequeno


se manteve e com isso o prazo também ficou igual, no projeto
de tamanho médio houve uma redução de duas pessoas e um
aumento de um mês no prazo de desenvolvimento e no projeto
de larga escala, houve um aumento de trinta e uma pessoas na
equipe e uma redução de dois meses no desenvolvimento.

Tamanho Aproximado dos Projetos


270 PF 520 PF 9800 PF
Tamanho Equipe (a) 3 pessoas 8 pessoas 77 pessoas
Prazo de Desenvolvimento (a) 3 meses 5 meses 14 meses
Tamanho Equipe (b) 3 Pessoas 6 pessoas 108 pessoas
Prazo de Desenvolvimento (b) 3 meses 6 meses 12 meses
Figura 7. Queda no prazo de desenvolvimento com a redução da Tabela 6. Dados reais X Dados estimados
porcentagem de retrabalho
O valor estimado são de noventa pontos função por pes-
A figura apresenta o impacto do retrabalho em um projeto. soa. Esse valor foi estimado a partir da média entre a menor
De acordo com a literatura, em torno de 40% a 50% do esforço produtividade por pessoa, quinhentos e vinte dividido por
no desenvolvimento de software é gasto em retrabalho. Esses oito (sessenta e cinco) e a maior produtividade, nove mil e
dados mostram como o retrabalho está altamente ligado ao oitocentos dividido por setenta e sete (cento e vinte e sete).
desenvolvimento de software, por mais que a redução do re- O valor obtido foi de noventa e seis, o qual foi ajustado para
trabalho a zero não seja uma realidade, a Figura 7 expõe como noventa pontos função utilizando as simulações. A fórmula a
a redução desse fator pode diminuir o prazo de desenvolvi- seguir foi gerada a partir das simulações realizadas para este
mento e fortalece a relevância da realização de testes e uma trabalho e apresenta um cálculo simples que o gerente pode
ótima análise de requisitos, para capturar e impedir erros no fazer para estimar a equipe:
software. Outras duas variáveis muito importantes estimadas
com as simulações foram: conhecimento inicial sobre a linguagem tamanho equipe = tamanho projeto (PF) / 90 (PF)
e o projeto; porcentagem de apoio do cliente.
Quanto maior a equipe de trabalho, ter um conhecimento Essa fórmula pode ser usada para estimar o tamanho da equi-
inicial intensifica a produtividade (conhecimento inicial sobre pe quando o gerente não possui um histórico de desenvolvi-
a linguagem e o projeto); com as simulações foi observado que, mento, no caso de haver histórico, o ideal é seguir a capacidade
com um conhecimento médio acerca de um projeto amplo, produtiva da equipe. O erro da fórmula cresce com o aumento
pode-se reduzir em até 25% o prazo de desenvolvimento, de tamanho do projeto, como pode ser observado na Tabela 6.
mas juntamente com o tamanho do projeto, cresce também a Cada equipe e projeto possuem características intrínsecas, mas
dificuldade em possuir um conhecimento inicial. Embora essa esses atributos não diminuem a utilização de fórmulas para
dificuldade exista, ela não exclui a possibilidade de utilizar um estimar dados que auxiliam nas tomadas de decisões. Cabe ao
conhecimento inicial maior, para aumentar a produtividade. gerente de projetos avaliar e criar mecanismos para lidar com
O suporte do cliente (porcentagem de apoio do cliente) não esses resultados obtidos.
aumenta a produtividade, mas reduz possíveis atrasos, uma
vez que cabe ao cliente aprovar as etapas do desenvolvimento. Processo de qualidade e risco calculado
Se em alguma etapa o cliente atrasar para confirmar algum É necessário medir o preço que se paga por não realizar ge-
requisito, o projeto é afetado. Durante a pesquisa foi captura- renciamento de riscos. Na maioria dos casos esses preços vão
do o risco da falta de apoio do cliente, o qual impactava apenas além de fatores financeiros, estão também relacionados com
quando não havia o suporte dos clientes. Nos projetos maiores orgulho, prestígio, reputação, relacionamentos e outros.
foi necessário diminuir a porcentagem do apoio do cliente nas Durante a pesquisa, foi observado que normalmente os
simulações. Uma conclusão importante, não é que os clientes gerentes de projetos visualizam a necessidade do gerencia-
ficam menos solícitos em grandes projetos, mas que o número mento de riscos somente em projetos de larga escala, riscos
de processos que deverão ser aprovados aumenta, e com isso são vistos como algo extra e não como uma tarefa prioritária
aumenta o risco de o cliente falhar com o suporte necessário. em projetos menores.
Após o modelo ter sido ajustado, foi possível estimar um A Melhoria de Processo do Software Brasileiro - MPS.BR
tamanho médio de equipe por tamanho de projeto de softwa- fornece um conhecimento acerca do gerenciamento de riscos,
re em ponto função. Com essa informação é possibilitado ao e essa gestão pode ser realizada por empresas pequenas e em
gerente saber quantas pessoas ele necessita para realizar um crescimento. O MPS.BR possui um nível de maturidade (i.e.,
projeto. Os valores estimados foram colocados em comparação nível C) que exige lidar completamente com o gerenciamento
com dados reais na Tabela 6. Sendo (a) os dados reais e (b) os de riscos, mas já no nível G, nível inicial do programa de

Edição 69 - Engenharia de Software Magazine 25


qualidade, é requerido a utilização de mecanismos simples variação no tamanho da equipe em 50%, a Figura 8 apresenta
para lidar com os riscos. os resultados obtidos no prazo de desenvolvimento.
O nível parcialmente gerenciado (i.e., nível G) do guia geral
MPS.BR, possui como resultados esperados os seguintes itens
relativos a identificação e gerenciamento de riscos: os riscos do
projeto são identificados e o seu impacto, probabilidade de ocorrência e
prioridade de tratamento são determinados e documentados; os riscos
são monitorados em relação ao planejado. Esses itens articulam
ações iniciais na análise e gerenciamento de riscos.

Apoio à tomada de decisão


A tomada de decisão é envolvida por problemas classifica-
dos em: estruturados, semi-estruturados e não-estruturados
(desestruturados). Estruturados são aqueles que podem ser
completamente determinados, porque possuem soluções am-
plamente conhecidas. Para lidar com problemas estruturados,
é possível utilizar listas predefinidas como, por exemplo, ações Figura 8. Variação no prazo provocado a partir da alteração do tamanho
operacionais padronizadas, em que qualquer funcionário ou de uma equipe em um projeto de quinhentos e vinte pontos função
máquina pode tomar decisões seguindo um fluxograma. Semi-
estruturados estão em uma posição intermediária, possuem A figura apresenta uma visão do prazo de desenvolvimento
interseções com problemas estruturados, mas alguns pontos do considerando equipes com capacidades produtivas idênticas.
problema não são bem conhecidos. São desafios que necessitam Para os três casos apresentados anteriormente, o único fator
de um nível médio de julgamento humano e experiência para que foi alterado nas simulações de um caso para outro, foi o
serem solucionados. Já problemas desestruturados, são mais tamanho da equipe, todos os demais dados foram mantidos,
complexos, porque ocorrem ocasionalmente, suas estruturas com isso é possível comparar o efeito de alterar o tamanho da
não são bem definidas e exigem maior julgamento e experiên- equipe. Com as simulações foi observado que reduzir a equipe
cia para solucioná-los. Ou seja, não existem soluções prontas em 50% gerou mais impacto do que aumentá-la na mesma
para esse tipo de problema; experiências acumuladas com proporção, essa diferença será discutida juntamente com os
problemas similares, conhecimentos e ferramentas de apoio dados da Figura 9.
à decisão são utilizadas para esse tipo de desafio. No cenário anterior, as equipes possuíam um conhecimento
O gerente de projetos precisa descobrir quais tipos de desa- médio sobre a linguagem e o projeto. Na Figura 9 é exposta
fios está enfrentando. Modelos, tabelas e planilhas são ótimas uma comparação entre os tamanhos das equipes variando
ferramentas para problemas estruturados, para os demais não também o nível de conhecimento. A variação do conhecimento
é possível usar ferramentas que forneçam soluções diretas. foi de 60% para mais e para menos, variando-o de baixo a alto,
São necessárias tecnologias que auxiliem à tomada de deci- passando por médio.
são, como sistemas de apoio à decisão, simuladores, modelos
dinâmicos entre outros.
O impacto mais óbvio da utilização de ferramentas de apoio
à decisão é a melhoria da tomada de decisão. Informações e
ferramentas de apoio à decisão podem trazer diversos be-
nefícios: fornecer uma visão dos diversos cenários possíveis;
munir os gerentes de alternativas para lidar com os riscos do
projeto; aumentar a confiança nas tomadas de decisões; por
fim e não menos importante, intensificar a velocidade com
que as decisões são tomadas.
Nesta parte do artigo serão apresentados cenários de desafios
que o gerente de projetos de software pode enfrentar. Foram
realizadas diversas simulações e comparações, a fim de que
esses cenários auxiliem o gerente nas tomadas de decisões.
Foi utilizado como cenário base, o projeto de médio porte
Figura 9. Impacto no prazo gerado pela variação do conhecimento em
(i.e., 520 PF) descrito na Tabela 5, e levou-se em consideração equipes de desenvolvimento de software. Dados gerados a partir de
todos os valores dos atributos listados na tabela para o projeto simulações
desse porte.
Um desafio comum de um gerente de projetos é o tamanho da Podemos observar que o conhecimento gera maior resultado
equipe à sua disposição. Foram geradas simulações com uma na menor equipe, a diferença entre o pior caso e o melhor

26 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

nessa equipe, são de seis meses. Uma equipe menor bem


treinada consegue ter um rendimento melhor ou igual a
uma equipe de tamanho três vezes maior com conhecimento
baixo ou médio.
O impacto do conhecimento não é linear, ou seja, ele não
decresce ou aumenta na mesma proporção nos três casos, isto
é, nas equipes de quatro, oito e doze pessoas. Quanto maior
o número de pessoas, a comunicação interna acaba sendo
reduzida e os conflitos aumentados. Esses são alguns dos fa-
tores que não permitem que a expressão do conhecimento dos
desenvolvedores, sejam iguais independente da quantidade
de pessoas envolvidas.
Na próxima análise o tamanho do projeto será o foco, foi
mantida a variação do tamanho da equipe em 50% para mais
e menos, nas simulações o conhecimento inicial foi deixado Figura 10. Impacto da variação do tamanho do projeto no prazo de
médio para todas as equipes. Na Figura 10 é apresentado como desenvolvimento. Dados gerados a partir de simulações
o prazo de desenvolvimento de cada equipe variou reduzindo
e aumentando o tamanho do projeto em 50%. Veja que foi levantada no parágrafo anterior a questão da
A Figura 10 gera alguns questionamentos. Avaliando o equipe de doze pessoas reduzir apenas um mês do projeto
comportamento do gráfico, fica nítido o impacto do tamanho médio para o menor, e quando compara-se o prazo de desen-
do projeto em cada equipe, o questionamento gira em torno volvimento dela com a equipe de oito desenvolvedores, o prazo
do motivo de o comportamento ser diferente. Nos projetos de do projeto de duzentos e sessenta pontos função é igual.
quatro e oito pessoas, a diferença entre o projeto menor com As simulações deixam claro que aumentar o tamanho
o médio é de dois meses e, para a equipe de doze pessoas, a da equipe nem sempre é uma vantagem de produção.
diferença é de apenas um mês. Nas equações utilizadas para Sendo assim, o gerente precisa tomar cuidado para não colo-
realizar as simulações, quanto mais tempo uma equipe passa car menos pessoas que o necessário para realizar um projeto
desenvolvendo um projeto, melhor ela fica, uma vez que e nem ultrapassar demais o valor ideal. Em um dos casos da
o conhecimento aumenta com o passar do tempo, projetos Figura 10 isso ocorreu, doze desenvolvedores para realizar um
maiores dão mais tempo para a equipe melhorar e aumentar projeto de duzentos e sessenta pontos função mostrou-se uma
o alinhamento entre seus integrantes. decisão ruim, o número de processos concorrentes em projetos

Edição 69 - Engenharia de Software Magazine 27


pequenos são poucos, isso faz com que em certos momentos se inviável para um projeto desse porte, principalmente por
desenvolvedores fiquem ociosos. Para fim de conhecimento, questões orçamentárias.
para reduzir mais um mês no projeto de duzentos e sessenta A seguir, serão apresentadas as Figuras 11 a 13, que re-
pontos função, foi necessário nas simulações colocar uma equi- presentam o impacto da variação do conhecimento em cada
pe de quinze pessoas, uma equipe desse tamanho apresenta- tamanho de projeto de software, os dados foram gerados com
simulações, cada barra do gráfico representa respectivamente
conhecimento baixo, médio e alto.
Na discussão da Figura 10 questionou-se o fato de um grupo
de oito e doze desenvolvedores obterem o mesmo desempe-
nho para um projeto de duzentos e sessenta pontos função.
Observando a Figura 11, pode ser visto que essas equipes
continuam obtendo resultados semelhantes mesmo quando
se aumenta o conhecimento de ambas. Todavia, quando o
projeto aumenta de tamanho, os resultados não permanecem
iguais, principalmente pelo já citado argumento de que proje-
tos maiores oferecem mais tempo para os desenvolvedores se
aperfeiçoarem e, quanto mais desenvolvedores, mais pessoas
estão se aperfeiçoando.
Observando os dados apresentados, pode-se concluir que
Figura 11. Impacto gerado no prazo, a partir da variação do uma equipe pequena competente e bem treinada, em projetos
conhecimento da equipe de desenvolvimento, em projetos de duzentos e pequenos e médios, consegue obter resultados satisfatórios
sessenta pontos função quando comparados com uma equipe três vezes maior e de
mesma competência. Ter uma equipe menor e qualificada
mostrou-se, em alguns dos casos, uma decisão melhor do que
optar por uma equipe ampla.
Para finalizar esta seção, será apresentado um gráfico que
representa o ponto de equilíbrio entre os gráficos dos custos
aqui apresentados. O ponto de equilíbrio (do inglês, break even
point) é o ponto onde o cone de incerteza (Figura 3) intercepta
o momento da reação diante dos riscos (Figura 2). Conside-
rando que o comportamento dos dois gráficos sejam iguais, o
ponto de equilíbrio fornece o momento em que não vale mais
a pena esperar para estimar o custo e o ponto final para reagir
diante dos riscos.
Avaliando a Figura 14 fica claro que não vale a pena realizar
estimativas de custo após o ponto de cruzamento, porque é o
momento em que fica mais caro o preço que se paga por reagir
Figura 12. Impacto gerado no prazo, a partir da variação do tarde demais aos riscos. A decisão do gerente sobre os custos
conhecimento da equipe de desenvolvimento, em projetos de
quinhentos e vinte pontos função do projeto deve ocorrer entre o fim da fase inicial e o início da
fase intermediária do desenvolvimento.

Figura 14. Momento do ponto de equilíbrio entre o cone de incerteza e


momento de reação diante dos riscos

As informações apresentadas nessa seção foram organizadas para


Figura 13. Impacto gerado no prazo, a partir da variação do
prover aos gerentes de softwares, conhecimentos que possam lhes
conhecimento da equipe de desenvolvimento, em projetos de setecentos
e oitenta pontos função auxiliar nas tomadas de decisões de projetos de softwares.

28 Engenharia de Software Magazine - Riscos em projetos de software com PMBOK


planejamento

Como foi visto, os trinta e três fatores de risco agrupados


Links:
em seis conjuntos, formam uma base de conhecimento para
o gerente de projetos, que pode usar dessa ferramenta para 1. Barki, H., Rivard, S., Talbot, J.: Toward an Assessment of Software De-
auxiliar em suas decisões. Além dessa base, é apresentada velopment Risk, J. Management Information Systems, Vol. 10, No. 2, pp.
uma tabela comparativa entre projetos de pequeno, médio e 203-225 (1993)
grande porte e resultados gerados a partir de simulações para
2. Boehm, B. W.: Software Engineering Economics, IEEE Transactions on
fornecer aos gerentes de projetos de software, conhecimentos
Software Engineering, Vol. SE-10, No. 1, January, pp. 4-21 (1984)
para lhes auxiliar nas tomadas de decisões.
No gerenciamento de riscos deseja-se diminuir as incertezas. 3. Boehm, B. W.: Software Risk Management: principles and practices, IEEE
Esse processo pode ser elaborado com um grande planejamen- Software, Vol. 8, No. 1, pp. 32-40 (1991)
to de ações para lidar com cada situação adversa, ou pode ser
4. Charette, R.N.: Software Engineering Risk Analysis and Management.
algo simples como, por exemplo, ter conhecimento dos proble- McGraw-Hill, New York (1989)
mas que podem atrapalhar o fluxo desejado do projeto.
Gerenciar risco não é uma tarefa que deve ser executada ape- 5. Leopoldino, C. B. Avaliação de Risco em Desenvolvimento de Software.
nas em grandes projetos, mas sim uma atividade que deve ser Dissertação de Mestrado – Escola de Administração do Rio Grande do Sul,
incorporada ao cotidiano do gerenciamento de projetos. Porto Alegre (2004)
Existem inúmeros outros instrumentos que auxiliam na aná- 6. Madachy, R.: Software Process Dynamics, Wiley-IEEE Press, Washington
lise e gerenciamento dos riscos, uma dessas outras ferramentas, D.C. (2007)
a qual os resultados foram apresentados no artigo, é o uso de
7. Schimidt, R., Lyytinen, K., Keil, M., Cule, P.: Identifying Software Project
simulações para estimar o impacto e relacionamento entre os
Risks: An International Delphi Study. Journal of Management Information
fatores de risco. Este artigo não visa ser um arcabouço completo
System. Vol. 17, No. 4, pp. 5-36 (2001)
de conhecimento sobre o tema, mas sim uma estrutura inicial
para pesquisas posteriores sobre o assunto.
Você gostou deste artigo?

Dê seu voto em www.devmedia.com.br/esmag/feedback


Ajude-nos a manter a qualidade da revista!

Edição 69 - Engenharia de Software Magazine 29


Planejamento e Gerência
Nesta seção você encontra artigos voltados para o planejamento
e gerência de seus projetos de software.

Gerência de Projetos: Monitore e controle o


desenvolvimento de software

Fique por dentro:

A
gestão de projetos de software Este artigo descreve a dificuldade existente
tem se fortalecido ao longo dos da aplicação da atividade de monitoramento
anos em razão da necessidade e controle nos processos de desenvolvimento
de garantir a qualidade e o sucesso de software, apresentando como ferramentas
dos projetos de software. Aliada aos e indicadores podem auxiliar a sua utilização
Rommel Gabriel Gonçalves Ramos conceitos clássicos da área da adminis- constante em uma organização. Apesar dos
Possui Graduação em Administração de Siste-
mas de Informação pelo Centro Universitário tração, tais como planejar, coordenar e processos de desenvolvimentos de software in-
Una (2004). Pós-graduação (especialização) em controlar, com os elementos específicos dicarem atividades ligadas ao monitoramento
Melhoria de Processo de Software pela Univer- da engenharia de software em relação e controle, na gestão de projetos ainda há uma
sidade Federal de Lavras (2007). Mestrado em aos processos de software consegue in- carência no uso efetivo dessas atividades.
Tecnologias da Inteligência e Design Digital
tegrar os aspectos tanto organizacionais
(TIDD) na PUC/SP. (2013). Atualmente e Consul-
tor de TI na Caixa Econômica Federal. Professor quanto técnicos.
do SENAC/SP do Curso de Pós-Graduação (Espe- As atividades organizacionais atribuí- acrescentam o aperfeiçoamento dos pro-
cialização) em Gestão e Governança de Tecnolo- das à gestão de projetos de software vão cessos, mas existem fatores que devem
gia da Informação). desde o atendimento às necessidades ser observados.
do cliente em relação a um produto e/ O trabalho da gestão de projetos de
ou serviço, até o relacionamento com software é tentar cumprir o que foi
Daniel Couto Gatti
Possui graduação em Ciência da Computação os envolvidos em todo o ciclo de vida planejado. Muitos projetos fracassam
pela Pontifícia Universidade Católica de São do projeto, já que as atividades técnicas em seus objetivos ou não os alcançam
Paulo (1995), Mestrado em Comunicação e englobam desde as metodologias de de- plenamente devido a diversos desvios
Semiótica pela Pontifícia Universidade Católica senvolvimento de software até a implan- ou falhas que não foram identificados
de São Paulo (2002) e Doutorado em Educação
tação propriamente dita do software. no seu planejamento. Para obter mais
Matemática pela Pontifícia Universidade Cató-
lica de São Paulo (2009). Atualmente é Diretor Decidir sobre a utilização de um qualidade, não só no software, mas em
da Faculdade de Ciências Exatas e Tecnologia instrumento para aplicar as práticas todo o seu processo, deve-se realizar um
da PUC/SP, professor da Faculdade de Tecnolo- administrativas principalmente em planejamento minucioso.
gia Bandeirantes, professor titular do Instituto relação à gestão projetos de software O planejamento diz como e onde a
Brasileiro de Tecnologia Avançada e assistente
torna-se adequado, pois, os ganhos equipe deveria estar em determinado
mestre da Pontifícia Universidade Católica de
São Paulo. que são obtidos com essa iniciativa momento. O monitoramento e controle,

30 Engenharia de Software Magazine - Gerência de Projetos: Monitore e controle o desenvolvimento de software


planejamento

por sua vez, consistem em acompanhar as atividades plane- • A tomada de decisão da gestão de projetos sem considerar
jadas com a finalidade de identificar possíveis problemas ou os indicadores e relatórios de produtividade fornecidos pelo
desvios e deflagrar eventuais ajustes que possam ser necessá- monitoramento e controle nos processos de desenvolvimento
rios para fazer o projeto de volta ao seu caminho original. de software: os relatórios de desempenho extraídos dos indi-
Monitorar e Controlar é definido pelo o PMI (Instituto de cadores devem estar alinhados ao monitoramento e controle
Gerenciamento de Projetos) como “coletar os dados do projeto sendo uma maneira de trazer mais visibilidade aos gestores
referente ao plano de gerenciamento, produzindo medições de projetos. Ainda que eles não sejam utilizados na sua totali-
de desempenho e divulgando essas informações por meio de dade, devem ser considerados em ações a serem tomadas não
relatórios”. Dessa forma, podem ser tomadas ações corretivas somente pelo conhecimento empírico, mas em informações
quando desvios forem identificados, garantindo o atendimento consolidadas e confiáveis em relação aos problemas identifi-
dos objetivos do projeto. cados nos processos de desenvolvimento de software.
Analisando o monitoramento e o controle, pode-se dizer que
enquanto no monitoramento estão às atividades envolvendo o Monitoramento e controle
acompanhamento e a coleta de dados a respeito do andamento, Uma pesquisa do PMI realizada em 2012 revelou a frequência
o controle consiste na tomada de ações frente aos desvios en- com que as empresas brasileiras adotam atividades de mo-
contrados no monitoramento, e por isso é necessário que haja nitoramento e controle em seus projetos. Nesta pesquisa
uma medição e a apuração de indicadores com as informações identificou-se que:
que serão reportadas à gestão de projetos de software. • 22% sempre adotam;
O problema em realizar o monitoramento e controle nos pro- • 54% adotam na maioria das vezes;
cessos de desenvolvimento de software, pode estar relacionado • 24% nunca adotaram.
com as seguintes situações:
• A forma de utilização do monitoramento e controle nos Com a análise desses dados, identificamos que 76% das
processos de desenvolvimento de software: nem sempre os empresas de certa forma adotam alguma forma de acompa-
processos e metodologias de desenvolvimento de software nhamento das fases e/ou atividades dos projetos porém, 24%
deixam explícito como deve ser feito o monitoramento e con- das empresas não se preocupam em fazer nenhum monitora-
trole. E normalmente cada metodologia aborda o processo de mento e controle.
software buscando a execução das suas fases e atividades sem Esses dados não diferem do cenário quanto aos problemas
nenhum tipo de monitoramento e controle; mais frequentes enfrentados pelas empresas em relação aos
• As ferramentas não são suficientes para o suporte das seus projetos atribuídos a prazo (65,7%), escopo (61,7%) e custo
atividades de monitoramento e controle nos processos de (41,3%).
desenvolvimento de software: algumas ferramentas dispo- Neste estudo, 18,4% dos problemas está relacionado à falta de
níveis no mercado que são utilizadas como apoio à gestão de uma ferramenta para o monitoramento e controle, indicando
projetos de software não oferecem opções suficientes para que 24,5% dos softwares mais utilizados são desenvolvidos
realizar o monitoramento e controle no acompanhamento internamente por opção da empresa, o que mostra que as em-
das fases e/ou atividades no processo de desenvolvimento de presas não conseguem encontrar uma ferramenta adequada
software, pois devem apresentar alguns pontos e ter opções devido às necessidades e particularidades internas.
que permitam: Cabe destacar que, habitualmente, o monitoramento e contro-
- selecionar projetos de software com alinhamento às estra- le é considerado pelo nível operacional como uma ação de audi-
tégias corporativas, analisando os seus impactos e riscos; toria em que são tratadas as inconformidades das atividades e
- gerenciar os recursos envolvidos em vários projetos de dos processos. Esse pensamento dificulta a sua abordagem do
software, compartilhando as suas informações de tempo, que deve ser entendido, pois não é apenas uma tarefa externa
custo e qualidade; que verifica como o processo está sendo conduzido, mas se ele
- gerenciar o retorno de investimento em pequenos, grandes é realmente entendido pela equipe e principalmente se gera
e complexos projetos de software; valor aos envolvidos e responsáveis pelo processo.
- gerenciar o ciclo de vida dos projetos promovendo melho- O monitoramento e controle nos projetos de software busca
rias contínuas no processo de software; garantir a verificação do que deve ser realizado no projeto,
• Existem falhas no papel dos gerentes de projetos em relação ou seja, acompanhar os processos que são executados com as
ao monitoramento e controle nos processos de desenvolvi- suas atividades, identificando ações corretivas e preventivas,
mento de software: o monitoramento e controle fornecem estabelecendo assim maneiras de tomada de decisão na gestão
insumos importantes para que o processo de desenvolvimento de projetos de software.
de software possa ser melhorado nas suas fases e/ou ativida- Se a execução do projeto tem como objetivo entregar produtos
des, mas a atuação gerencial precisa ser mais eficaz e eficiente e/ou serviços planejados, o monitoramento e controle envol-
em relação às ações preventivas e/ou corretivas, pois de nada vem o acompanhamento destes resultados para garantir que
adianta ter instrumentos que auxiliam este processo se não estejam de acordo com o planejado e que o projeto continue
existe uma atuação assertiva; seguindo o plano de gerenciamento do projeto.

Edição 69 - Engenharia de Software Magazine 31


O monitoramento e controle fornecem subsídios para as processos que serão utilizados para monitorar e controlar o
atividades nos processos de software. Com essas informações progresso, a qualidade e os riscos do projeto.
disponíveis aos gerentes de projetos, tem-se a possibilidade de Uma outra tarefa referente ao gerenciamento de projetos é
atuação constante ao que deve ser desenvolvido e entregue por “monitorar status do projeto” que captura o trabalho diário
sua equipe, proporcionando melhorias em relação à condução e contínuo, incluindo monitoramento de status do projeto,
do projeto de forma assertiva. relatório para envolvidos lidando com as situações atuais e
A finalidade do monitoramento e controle é determinar se os problemas detectados.
o projeto está prosseguindo conforme planejado. Essa fase No RUP, o monitorar e controlar o projeto permeiam todas as
consiste em três etapas: tarefas essenciais até a finalização do projeto conforme pode
1. Monitoramento das atividades contínuas do projeto (onde ser observado na Figura 1.
estamos); Com a utilização do RUP nas suas etapas e atividades, pode-
2. Comparação das variáveis do projeto (custo, esforço, tempo, mos aplicar o monitoramento e controle para que o projeto te-
recursos, etc.) com o plano real (onde deveríamos estar); nha os resultados esperados e definidos desde a sua concepção
3. Identificação de ações corretivas (como voltamos ao cami- até a transição, buscando abordar todas as suas disciplinas e
nho certo). aplicando indicadores que possam ajudar a gestão de projetos
de software por meio de ações corretivas e preventivas.
Monitoramento e controle no RUP (Rational Unified
Process) Monitoramento e controle no PMBOK
Na disciplina de gerenciamento de projetos do RUP, encon- O monitoramento e controle de projetos segundo o PMBOK
tramos uma tarefa “definir monitoramento e processos de têm o benefício de observar e mensurar o desempenho do pro-
controle”, que tem o objetivo de definir as informações e os jeto de forma periódica e uniforme para identificar variações

Figura 1. Monitoramento e Controle no RUP

32 Engenharia de Software Magazine - Gerência de Projetos: Monitore e controle o desenvolvimento de software


planejamento

em relação ao plano de gerenciamento do projeto definido dos riscos residuais, identificação de novos riscos e avaliação
que inclui: do processo de risco durante todo o projeto.
• Controlar as mudanças e recomendar ações preventivas em • Administrar as requisições: gerenciamento das aquisições
antecipação a possíveis problemas; e monitoramento dos desempenhos dos contratos, fazendo
• Monitorar as atividades do projeto em relação ao plano de mudanças e correções conforme necessário.
gerenciamento e a linha de base de desempenho do mesmo;
• Influenciar os fatores que poderiam impedir o controle inte- A utilização do PMBOK no monitoramento e controle nos
grado de mudanças, para que somente as mudanças aprovadas processos de software explicita uma documentação em todas
sejam implementadas. as áreas, tornando esta atividade aderente ao que deseja a
gestão de projetos de software.
Este monitoramento contínuo oferece à equipe do projeto uma
visão melhor sobre a saúde do mesmo e identifica quaisquer Ferramentas para monitoramento e controle
áreas que requeiram atenção adicional. Não apenas monitora e Os softwares para o gerenciamento de projetos são usados
controla o trabalho que está sendo feito durante um grupo de com diversos fins como: planejar, monitorar, controlar, relatar
processos, mas também monitora e controla o projeto inteiro, e comunicar a situação dos projetos.
incluindo os seguintes processos (apresentados na Figura 2): Um software de monitoramento e controle implica em deter-
• Monitorar e controlar o trabalho no projeto: acompanhamento, minar quais dados coletar, como, quando e quem irá coletá-los,
avaliação e regulação do progresso para atender aos objetivos de analisa-los e relatar o progresso alcançado:
desempenho definidos no plano de gerenciamento do projeto; • Quais dados são coletados: dados coletados são determina-
• Realizar o controle integrado de mudanças: avaliação de dos por qual sistema de medição será usado para o controle
todas as solicitações de mudanças, aprovação de mudanças e do projeto.
gerenciamento das mesmas em entregas, ativos de processos • Coletar dados e fazer análise: com a definição de quais
organizacionais, documentos e plano de gerenciamento do dados são coletados, o próximo passo é estabelecer por quem,
projeto; quando e como os dados serão agregados;
• Verificar o escopo: formalização da aceitação das entregas • Relatórios e o modo de reportar: quem recebe os relatórios
terminadas no projeto; de desempenho? As partes interessadas e gerentes necessitam
• Controlar o escopo: monitoramento do andamento do escopo de diferentes tipos de informação relacionadas ao projeto.
do projeto e do produto e gerencia-
mento das mudanças feitas na linha
de base do escopo;
• Controlar o cronograma: monito-
ramento do andamento do projeto
para atualização do seu progresso e
gerenciamento de mudanças feitas na
linha de base do cronograma;
• Controlar os custos: monitoramen-
to do andamento do projeto para
a atualização do seu orçamento e
gerenciamento de mudanças feitas
na linha de base dos custos;
• Realizar o controle da qualidade:
monitoramento e registro dos re-
sultados da execução das atividades
de qualidade para avaliar o desem-
penho e recomendar as mudanças
necessárias;
• Reportar o desempenho: coleta e
distribuição de informações sobre o
desempenho, inclusive relatórios de
andamento, medições do progresso
e previsões;
• Monitorar e controlar os riscos:
implementação de planos de respos-
tas aos riscos, acompanhamento dos
riscos identificados, monitoramento Figura 2. Monitoramento e Controle no PMBOK

Edição 69 - Engenharia de Software Magazine 33


A importância dos softwares no monitoramento e controle Benefícios do monitoramento e controle
de projetos é de fornecer insumos essenciais para o processo A aplicação do monitoramento e controle no processo de
de desenvolvimento de software dos projetos desenvolvidos desenvolvimento de software contribui e serve como um me-
e, portanto, as informações que são coletadas, analisadas e canismo de aproximação entre as áreas gerenciais e técnicas,
disponibilizadas ajudam na tomada de decisão quanto ao que gerando dados e indicadores que tornam mais previsíveis e
precisa ser apurado durante as etapas e atividades previstas e assertivos os planejamentos para a tomada de decisão na gestão
concluídas em um projeto. de projetos de software.
Podemos levar em consideração os processos de desenvolvi-
Indicadores para o monitoramento e controle mento de software para o monitoramento e controle no aspecto
Podemos perceber certa resistência em se medir os processos da gestão de projetos, as seguintes contribuições:
de desenvolvimento de software através de indicadores de de- • A atividade de monitoramento e controle quando realizada
sempenho. Um dos motivos dessa resistência é a dificuldade de nos processos de software deve estabelecer processos, ativida-
se identificar indicadores que realmente ajudem na produção des e tarefas que possam direcionar a sua utilização;
de informações importantes. • As ferramentas que o monitoramento e controle utilizam para
Apesar de termos a possibilidade de utilizar estes indicado- o processo de software podem direcionar ações corretivas e
res de forma favorável em ações para melhorar os processos preventivas, que devem ser informadas à gestão de projetos
de desenvolvimento de software, a gestão de projetos conti- para que as devidas providências necessárias ao trabalho rea-
nua no “achismo” e no seu “feeling”, mas isso não é o ideal, lizado pelo gerente de projetos e sua equipe sejam tomadas;
pois existem métricas e informações que não estão sendo • A atuação gerencial tendo como uma das suas premissas a
consideradas. execução da atividade de monitoramento e controle nos pro-
No desenvolvimento de software podemos aplicar três tipos cessos de software como ferramenta diária de trabalho para
de indicadores que são os mais utilizados para medir o desem- acompanhar os projetos e sistemas de uma organização;
penho dos processos organizacionais:
• Indicador de qualidade: relação entre o que é produzido Por fim, vale destacar que os indicadores de produtivida-
(certo ou errado) pelo total produzido; de atrelados ao monitoramento e controle nos processos de
• Indicador de produtividade: relação entre o total produzido desenvolvimento de software são subsídios fornecidos que
sobre os recursos consumidos; podem ter dados, informações atualizadas e consistentes
• Indicador de capacidade: mede a produção em um espaço para a tomada de decisão na gestão de projetos. Portanto, é
de tempo (capacidade da produção). necessário que possam ser diversificados de acordo com a
realidade da organização.
A utilização desses indicadores no monitoramento e controle,
considerando a sua documentação como os artefatos requeri- Links:
dos, deve atentar para:
• Indicador de qualidade: total de artefatos que voltaram para GRAY, Clifford F., Erik W. Larson: Gerenciamento de Projetos: O Processo
o retrabalho dividido pelo total de artefatos entregues; Gerencial; Tradução Dulce Cattunda, Frederico Fernandes – 4 ed. Porto
• Indicador de produtividade: total de artefatos entregues Alegre: AMGH, 2010.
dividido pelo total de funcionários trabalhando no projeto; KERZNER, H. Project Management - A System Approach to Planning,Scheduling,
• Indicador de capacidade: total de artefatos entregues divi- and Controlling, 7º ed., New York, John Wiley & Sons Inc.,2001.
dido pelo tempo total do projeto.
MENDONÇA, Mauro. TAM – Técnicas para Análise e Melhoria de Processos.
Curso em Fita de Vídeo, LinkQuality, 2002.
Em projetos, devemos contextualizar a utilização dos indi-
cadores como se fossem fotografias instantâneas, mas que PMI-Project Management Institute. Pesquisa PMSURVEY.ORG 2012: PMI. 2012.
indicam tendências. Aconselha-se utilizar aqueles que con- http://www.pmsurvey.org/
siderarem os mais adequados ao contexto que foram criados
PMBOK. A Guide to the Proiject Management Body of Knowledge, PMI-Project
na própria empresa, ou os mais usuais do mercado. Ter estes
Management Institute, Newtown Square, Pennsylvania, USA, 2008.
indicadores atribuídos à gestão de projetos nos ajuda a:
• Ter uma visão melhor do processo de desenvolvimento de
software; Você gostou deste artigo?
• Identificar os riscos;
• Identificar e resolver os problemas antes que se tornem Dê seu voto em www.devmedia.com.br/esmag/feedback
críticos;
Ajude-nos a manter a qualidade da revista!
• Melhorar a comunicação da equipe com a organização
• Avaliar o desempenho do projeto.

34 Engenharia de Software Magazine - Gerência de Projetos: Monitore e controle o desenvolvimento de software


Engenharia
Nesta seção você encontra artigos voltados para testes, processo,
modelos, documentação, entre outros

Gestão de Projetos: Usando processos de


desenvolvimento

Fique por dentro: que não possui como atividade final o desenvol-
Este artigo descreve como a gestão de projetos uti- vimento de software, mas que necessita ter a vi-
Rommel Gabriel Gonçalves Ramos liza a engenharia de software para a modelagem sibilidade para as suas áreas gestoras de projetos
rommel.gabriel@gmail.com
de produtos de software e, consequentemente, e negócios, verificando e acompanhando as fases,
Possui Graduação em Administração de Siste-
as atribuições requeridas no gerenciamento de etapas e atividades previstas nos processos de de-
mas de Informação pelo Centro Universitário
Una (2004). Pós-graduação (especialização) em projetos. O objetivo principal é apresentar a apli- senvolvimento, comumente utilizados em várias
Melhoria de Processo de Software pela Univer- cação quanto às técnicas, modelos, metodologias empresas de desenvolvimento de software, ten-
sidade Federal de Lavras (2007). Mestrado em e ferramentas para a construção do produto de do como premissa a construção e a manutenção
Tecnologias da Inteligência e Design Digital software em um determinado cenário. O mode- de produtos e serviços que são documentados e
(TIDD) na PUC/SP. (2013). Atualmente e consul-
lo de desenvolvimento utilizado na empresa é aderentes aos normativos internos desta empre-
tor de TI na Caixa Econômica Federal. Professor
do SENAC/SP do Curso de Pós-Graduação (Espe- baseado em controles institucionais. Os cenários sa, estipulados pelas áreas gestoras de tecnologia
cialização) em Gestão e Governança de Tecnolo- apresentados neste artigo são os mais usados da informação.
gia da Informação). Professor Assistente da FMU atualmente em uma empresa de grande porte,
- Faculdades Metropolitanas Unidas do Curso de
Análise e Desenvolvimento de Sistemas.

A
s empresas de desenvolvimento precisam vencer o seu buraco negro que
Daniel Couto Gatti
daniel@pucsp.br
de software buscam alguma é o seu estilo de gerenciar de maneira
Possui graduação em Ciência da Computação forma de gerenciar os seus informal, sem métodos e sem técnicas.
pela Pontifícia Universidade Católica de São projetos de software, desejando ter um Constantemente são oferecidas em
Paulo (1995), Mestrado em Comunicação e modelo e/ou processo de “sucesso” que diversos eventos de tecnologia da infor-
Semiótica pela Pontifícia Universidade Católica
possa atender todas as etapas, fases e ati- mação voltados para o gerenciamento
de São Paulo (2002) e Doutorado em Educação
Matemática pela Pontifícia Universidade Cató- vidades na produção do software. Entre- de projetos: ferramentas, metodologias,
lica de São Paulo (2009). Atualmente é Diretor tanto, não existe uma receita que garanta modelos e melhores práticas que possam
da Faculdade de Ciências Exatas e Tecnologia à empresa alcançar este objetivo. tornar o desenvolvimento de software
da PUC/SP, professor da Faculdade de Tecnolo- O SEI - Software Engineering Institute mais eficaz e eficiente, tendo em vista
gia Bandeirantes, professor titular do Instituto
constatou que o principal problema que que hoje somos muito dependentes da
Brasileiro de Tecnologia Avançada e assistente
mestre da Pontifícia Universidade Católica de aflige as organizações de software é ge- mão-de-obra técnica especializada para
São Paulo. rencial e preconizou que as organizações o processo de produção de software.

Edição 69 - Engenharia de Software Magazine 35


A gestão de projetos de software enfatiza e deixa evidente outra pessoa e até mesmo pela ausência/deficiência de docu-
que o gerenciamento de projetos deve ser melhorado, e por mentação das rotinas e dos procedimentos já construídos.
isso, modelos e normas evoluíram principalmente com a
inclusão de práticas gerenciais para os projetos de software Para solucionar alguns destes problemas, muitas empresas
como, por exemplo: o CMM para CMMI e a ISO 12207 para a de software têm adotado processos de desenvolvimento de
ISO 15504. software. Todavia, os paradigmas metodológicos para desen-
O problema da indústria de software é mais gerencial do volvimento de software têm sido considerados somente em
que técnico, todavia, o gerenciamento do projeto não está termos de “um método” de análise/projeto/implementação,
sendo considerado como deveria. 75% de todos os sistemas de isto é, um conjunto de conceitos, técnicas e notações.
software falham e a causa principal é o pobre gerenciamento Contudo, a grande maioria das organizações que desen-
por parte do desenvolvedor e adquirente, deixando claro que volvem software sente muita dificuldade em entender, de-
o problema não é de desempenho técnico. finir e gerenciar estes processos. As empresas de software
Portanto, um fator preponderante ao processo de desen- devem buscar os seus próprios ambientes para existirem
volvimento de software é a gestão, pois precisamos de mais e operarem. Abordagens da indústria manufatureira, por
gerentes de projetos que possuam além da experiência técni- exemplo, não têm demonstrado serem adequadas à indústria
ca, uma fundamentação teórica e prática maior na parte de de software.
gerenciamento. Ou seja, para alcançar alguns resultados em A utilização mais sistemática de processos foi iniciada nos
um determinado projeto são necessárias algumas habilidades anos 30. Nesta época, iniciou-se um trabalho em melhoria de
essenciais e decisivas. Uma empresa que desenvolve software processo com os princípios do controle estatístico. Nos anos
precisa ter além de bons profissionais, ferramentas, modelos, 70, notou-se que as organizações de manufatura poderiam
técnicas e processos. ser estudadas de acordo com a qualidade de sua produção
Toda empresa que desenvolve um software precisa de pro- e definiu-se cinco estágios sequenciais e cumulativos do
cessos que possam ser seguidos, acompanhados, monitorados processo de produção, baseados principalmente nas atitudes
e controlados, como já preconiza algumas técnicas do gerencia- gerenciais encontradas em cada estágio. Estes estágios indi-
mento de projetos e a própria gestão de processos. Os processos cam a qualidade do processo de produção.
devem ser utilizados por nossas equipes de projetos, sendo Nos anos 80, começou-se a aplicar estes princípios de con-
essencial para alcançar aquilo que se espera de todo o produto troles estatísticos e os estágios de qualidade para software. Os
de software que é atender as necessidades dos usuários. princípios e conceitos básicos que fundamentaram os modelos
de maturidade da capacidade foram descritos nesta época.
Engenharia de software na gestão de projetos Pesquisas e estudos que foram realizados nos anos 90
A engenharia de software tem por finalidade auxiliar na demonstraram que o gerenciamento de projeto é a causa
construção de software da melhor maneira possível. Desde os mais evidente das falhas na execução e entrega de produtos
anos 1960, quando a frase “a crise de software” foi pronuncia- e serviços de software. Isso demonstra que a engenharia
da, muitos problemas desta área foram identificados, e muitos de software torna-se essencial, pois busca a utilização dos
deles ainda persistem, tais como: modelos que permitem especificar, projetar, implementar e
• Previsão pobre - desenvolvedores não prevêem adequada- manter os softwares, aplicando as práticas de gerência de
mente quanto tempo e esforço serão necessários para produzir projeto e demais disciplinas, com o objetivo de trazer para
um sistema de software que satisfaça às necessidades (requisi- as empresas produtividade e qualidade.
tos) dos clientes/usuários. Sistemas de software são geralmente
entregues muito tempo depois do que foram planejados; Gerenciamento de projetos
• Programas de baixa qualidade - programas de software não A gerência de projetos é a primeira camada do processo de
executam o que o cliente deseja como consequência, talvez, engenharia de software. O termo “camada” em vez de etapa,
da pressa para se entregar o produto. Os requisitos originais fase ou atividade, é porque ela abrange todo o processo de
podem não ter sido completamente especificados ou podem desenvolvimento do início ao fim.
apresentar contradições e isto pode ser descoberto muito tarde Uma das tentativas iniciais de resolver falhas em projetos
durante o processo de desenvolvimento; foi incentivada e financiada pelo DOD (Departamento de
• Alto custo para manutenção - a manutenção pode ser cor- Defesa Americano). O Software Engineering Institute (SEI)
retiva, quando ocorrem enganos (erros, falhas) no sistema da Universidade Carnegie Mellon desenvolveu um modelo
já entregue, ou evolutiva quando novas características são de maturidade de desenvolvimento de software, o CMM
adicionadas ao sistema de software. Ambas são caras quando (Capability Maturity Model).
o sistema original foi construído sem uma arquitetura clara O CMM (Capability Model Maturity) indica que uma or-
e visível; ganização pode ser aferida ou avaliada comparando-se suas
• Duplicação de esforços - é difícil compartilhar soluções ou práticas reais com aquelas que o modelo de maturidade de
reusar códigos em função das características de algumas lin- capacitação prescreve ou recomenda. Essa aferição produz um
guagens adotadas, por falta de confiança no código feito por diagnóstico da organização quanto aos seus processos.

36 Engenharia de Software Magazine - Gestão de Projetos: Usando processos de desenvolvimento


en gen haria

O diagnóstico serve de base para recomendações de melhoria Estes fatores dificultam o trabalho das equipes de desenvolvi-
de processos, e estas recomendações podem ser consolidadas mento na medição do desempenho dos projetos, na verificação
em um plano de melhoria. Além dos benefícios naturais, como de pontos falhos, no registro de problemas, na realização de
produtividade e qualidade, acredita-se que em curto prazo as estimativas e planejamentos adequados.
certificações dos processos fabris será um pré-requisito básico De acordo com o PMBOK, “as atividades da organização
para contratações de produtos de software. executora é que determinam as responsabilidades, os objetivos
Por esses motivos, o CMM (Modelo de Capacidade e Maturida- e as políticas, de modo que o projeto atenda às necessidades
de) tornou-se ao longo de uma década o mais conhecido, usado que motivaram sua realização, com as atividades dos processos
e respeitado pela comunidade de engenharia de software, com o conduzidos do início ao fim, conforme adequado”.
objetivo principal de estabelecer um padrão de qualidade para
software desenvolvido para as forças armadas. Atualmente, o Aplicação da gestão de projetos nas empresas de
modelo de referência é o Capability Maturity Model Integration software
- CMMI v1.3, lançado em 2002 como evolução do CMM. As organizações devem buscar alternativas sobre como fazer
As empresas de software que alcançam níveis de maturi- a gestão de seus projetos de software, visando a diminuição
dade mais elevados possuem processos capazes de produzir dos fracassos e a melhoria na qualidade de seus produtos e
produtos extremamente confiáveis dentro de limite de custo e serviços. Os processos tradicionais de desenvolvimento e a
cronograma previsível. À medida que cresce o entendimento gerência de projetos têm sido caracterizados como uma des-
dos níveis de maturidade mais elevados, as áreas de processos crição linear de um processo sequencial.
existentes vão sendo redefinidas e outras ainda podem ser Qualquer projeto de software será beneficiado pelo uso de
adicionadas ao modelo. algum tipo de modelo, inclusive no setor comercial, em que às
Além dos modelos CMM/CMMI, outra publicação que in- vezes é mais comum distribuir softwares inadequados devido
fluencia a abordagem de desenvolvimento de software é o Cor- à produtividade oferecida pelas linguagens de programação
po de Conhecimentos em Gerência de Projetos - PMBOK. visual. A modelagem poderá auxiliar a equipe de desenvol-
O PMBOK descreve os conhecimentos necessários para uma vimento a visualizar melhor o planejamento do sistema e
gerência de projetos não apenas de software, mas de outras permitir que o desenvolvedor seja mais rápido ajudando a
áreas de conhecimento, definindo como aplicar os conheci- construir o item correto.
mentos, habilidades, ferramentas e técnicas às atividades do No desenvolvimento de um software, podemos utilizar
projeto a fim de atender aos seus requisitos. Dentre algumas modelos existentes no mercado como referência de forma que
das atividades de um gerente de projeto estão: seja uma metodologia de sucesso.
• Identificar as necessidades do projeto; Neste contexto, é essencial o uso da gestão de projetos para
• Estabelecer objetivos claros e alcançáveis; descrever como um software deva ser construído e modelado
• Equilibrar as demandas conflitantes de qualidade, escopo, utilizando ferramentas, padrões e normas baseados em pro-
tempo e custo; cessos e como eles serão aplicados em quem desenvolve e/ou
• Adaptar as especificações, planos e a abordagem às diferentes adquire soluções para conduzir o seu negócio no dia a dia.
preocupações e expectativas das diversas partes interessadas; e; Isto deve ser uma meta a se alcançar nas empresas que estão
• Minimizar os impactos negativos das incertezas dos em busca de benefícios e resultados, principalmente para esta-
projetos. belecer melhorias contínuas na mudança de paradigmas, e na
maneira de introduzir inovações tecnológicas para a resolução
Além da questão de conhecimentos em gerência de projetos, de problemas rotineiros e complexos.
a utilização de alguma ferramenta apropriada facilita o acom- Contudo, as organizações precisam adaptar suas estruturas,
panhamento e o controle do projeto no sentido de atender as estratégias e políticas para satisfazerem os novos ambientes e a
demandas de desenvolvimento de software da área de negócio crescente demanda da sociedade contemporânea por sistemas
de um determinado sistema dentro da organização, classifi- de informação que são construídos a partir da iniciativa da
cando assim as suas prioridades no seu atendimento. gestão de projetos.
Um processo de gerenciamento de projeto deve: identificar, A falha nos projetos é discutida em algumas pesquisas. Em uma
estabelecer, coordenar e monitorar as atividades, as tarefas e delas, realizada nos anos de 1992 e 1993, mais de 60% dos projetos
os recursos necessários para um projeto produzir um produto pesquisados nos Estados Unidos estavam atrasados e mais da
e/ou serviço, de acordo com seus requisitos. Todavia, gerenciar metade ultrapassava em 50% o prazo planejado. Um outro estudo
projetos de software é uma atividade complexa devido a uma conduzido em 1999 indicou que somente 37% dos sistemas de
série de fatores, tais como: informação foram finalizados no prazo estipulado.
• Dinamicidade do processo; Adicionalmente, dos 63% dos projetos que atrasaram 42%
• Grande número de variáveis envolvidas; seriam finalizados acima do orçamento. O Standish Group,
• Exigência de adaptabilidade ao ambiente de desenvol- através de um estudo chamado de relatório do “Chaos”, iden-
vimento; tificou que as empresas dos Estados Unidos gastaram US$81
• Constantes alterações no que foi planejado. milhões em projetos de software, sendo que 31% dos projetos

Edição 69 - Engenharia de Software Magazine 37


de software estudados foram cancelados antes de estarem con- na verdade já se beneficiam dos avanços das tecnologias de in-
cluídos, 53% excederam mais do que 50% a sua estimativa de formação e comunicação (TICs), que também poderão sofrer as
custo e somente 9% dos projetos, em grandes empresas, foram consequências de um erro, defeito ou falha de um software.
entregues no tempo e orçamento previstos; para empresas de As empresas que utilizam modelos apropriados para a
pequeno e médio porte, os números melhoraram de 50% para construção e manutenção de um software demonstram ter um
28% e de 9% para 16%. nível de maturidade, adicionando mais produtividade com
Tem-se tentado resolver essas falhas através de modelos de competência técnica, operacional e gerencial, o que requer
melhoria e processo que estão baseados no Triângulo Mágico delas o controle sobre seus processos imaturos, maduros e
da Força do Desenvolvimento de Software (Magic Triangle of institucionalizados.
Software Development Greatness). Qualquer deficiência em Já em 1989, foi constatado que a ausência de práticas adminis-
alguma área do triângulo se manifestará em riscos de falha trativas no desenvolvimento de software é a principal causa de
dos projetos (ver Figura 1). sérios problemas enfrentados pelas organizações, tais como:
Então, é evidente que temos que trabalhar em todos os atrasos em cronogramas, custo maior do que o esperado e pre-
seus aspectos, sendo que uma força influencia na outra. Por sença de defeitos, ocasionando uma série de inconveniências
exemplo, processos imaturos fazem com que tenhamos uma para os usuários e enorme perda de tempo e de recursos.
deficiência no estabelecimento do perfil técnico requerido A meta da gestão de projetos é conseguir exceder as necessi-
para exercer uma atividade e não se consiga obter o melhor dades e expectativas dos stakeholders. Todavia, satisfazer ou
da tecnologia oferecida. exceder estas necessidades envolve um balanceamento entre as
várias demandas concorrentes em relação aos itens abaixo:
• escopo, tempo, custo e qualidade (objetivos do projeto);
• stakeholders com necessidades e expectativas diferenciadas; e
• requisitos identificados (necessidades) e requisitos não iden-
tificados (expectativas).

A gestão de projetos sendo conduzida pela gestão de proces-


sos pode trazer diversos benefícios à organização, tais como:
• Descrição precisa e não ambígua dos processos de negócio
existentes;
• Melhoria na definição de novos processos;
• Maior eficácia na coordenação do trabalho entre diferentes
Figura 1. Triângulo Mágico da Força de Desenvolvimento de Software agentes;
• Obtenção, em tempo real, de informações precisas sobre o
O processo de software, portanto, é essencial para que tenha- andamento dos processos e;
mos qualidade no produto de software e consigamos atender a • Padronização dos processos executados, de forma manual
qualidade, orçamento, prazos e recursos definidos no projeto. ou automatizados, pela organização.
Organizações que sejam capazes de integrar, harmonizar e
acelerar seus processos de desenvolvimento e manutenção de Desde o começo da década de 1990, a corrida pela excelência
software tendem a ser mais bem sucedidas no mercado. na gestão de projetos tem assumido uma importância cada vez
Geralmente um projeto de software requer a participação maior. Os benefícios da gestão de projetos são óbvios hoje tanto
de uma ou mais equipes, cooperando para a construção de para os clientes quanto para os fornecedores. De fato, a exce-
determinado produto de software. É necessário que exista lência em gestão de projetos se tornou uma arma competitiva
consenso sobre o processo a ser seguido desde a concepção até que atrai novos negócios e mantém os clientes tradicionais.
a implantação do produto de software, para que interpretações Para atender a demanda de maneira eficaz em um ambiente
pessoais não desviem o foco do trabalho ou introduzam erros caracterizado pela velocidade das mudanças, torna-se indis-
durante o desenvolvimento. pensável um modelo de gerenciamento baseado no foco em
Todos estes fatores levam as organizações desenvolvedoras de prioridades e objetivos. Por essa razão, o gerenciamento de
softwares a atuar fortemente na qualidade de seus produtos, projetos tem crescido de maneira tão acentuada no mundo
que é um dos principais objetivos da engenharia de software. nos últimos anos.
Contudo, a qualidade dos produtos de software, que também Outro fator que impulsionou o gerenciamento de projetos
ficou evidente para a evolução da qualidade dos produtos é o crescimento da competitividade. Quem for mais rápido e
das indústrias, está fortemente relacionada à qualidade do competente certamente conseguirá melhores resultados.
processo de software. Ainda hoje, esta afirmação tem sido confirmada por diversos
A utilização de software já faz parte do cotidiano de prati- autores. Na atual cultura das organizações de software, o pla-
camente todas as pessoas. Mesmo aquelas que pensam que nejamento, quando ocorre, é feito de forma superficial. Muitos
nunca utilizaram um software, internet, ou um computador, projetos de software são realizados sem um planejamento de

38 Engenharia de Software Magazine - Gestão de Projetos: Usando processos de desenvolvimento


en gen haria

como a ideia modelada pelo levantamento de requisitos e ne- também a sua manutenção com uma modelagem adequada.
cessidades dos clientes pode ser transformada em produto. O processo padrão estabelece o conjunto de elementos fun-
Os gerentes de projeto de software estão desacostumados a damentais que guia o desenvolvimento e a manutenção de
estimar. Quando estimam, costumam basear-se em estimativas sistemas. Ele define uma estrutura única a ser seguida por
passadas, mesmo sabendo que elas podem estar incorretas toda a equipe envolvida em projetos de software, independen-
(não sabem também precisar o quanto elas estão incorretas). temente das características do software a ser desenvolvido e
Há gerentes que se recusam a estimar somente por julgarem das técnicas a serem utilizadas.  
perda de tempo, uma vez que correm o risco de obter resultados Essas técnicas são definidas de acordo com as necessidades
incorretos e, portanto, estarem desperdiçando tempo. do projeto, ambiente, a preferência e competência da equipe
Boas estimativas de custo, esforço e prazo de software reque- multidisciplinar envolvida. A inovação tecnológica é um di-
rem um processo ordenado que defina a utilização de métricas ferencial que deve ser incentivado. É o ponto de partida para
de software, método e ferramenta de estimativa. As empresas a instanciação dos processos de software adequados às dife-
de software, de forma geral, não detêm conhecimentos e re- rentes características de cada projeto, permitindo economia de
cursos para isso. tempo e esforço na definição do processo a ser seguido.
Estimar, medir e controlar um projeto de software são tarefas As orientações sobre as técnicas mais utilizadas são apresen-
difíceis, pois o desenvolvimento de software é uma atividade tadas como cenários e também compõem a metodologia de
criativa e intelectual, com muitas variáveis envolvidas (como sistemas que deu suporte à construção de grande parte dos sis-
metodologias, modelos, técnicas, ferramentas, tecnologias, temas. Os modelos instanciam os processos de desenvolvimen-
recursos e atividades diversas). Os gerentes inexperientes to que são associados a estas técnicas e são disponibilizados
tentam cumprir prazos dando a máxima velocidade na fase dentro dos cenários através de casos de desenvolvimento.
inicial e estão despreparados para os momentos de impasse, Observe a Figura 2. Este modelo exemplifica a estrutura do
quando os ajustes são inevitáveis. modelo de desenvolvimento dos sistemas. O processo padrão
A dinamicidade do processo de software dificulta também está normatizado e estabelece controles rigorosos com o foco
o gerenciamento efetivo de projetos de software, devido às na preservação institucional. Adicionalmente, a título de
alterações constantes nos planos de projetos, redistribuição orientação, são apresentados cenários direcionados a técni-
de atividades, inclusão/exclusão de atividades, adaptação de cas específicas, de acordo com a experiência anteriormente
cronogramas, realocação de recursos, novos acordos com os adquirida (o conhecimento acumulado no desenvolvimento
clientes, entregas intermediárias não previstas etc. Um projeto de sistemas, cujo registro foi apropriado através do grupo
de software também deve se adaptar ao ambiente, dependendo de trabalho).
da disponibilidade de recursos, ferramentas e habilidades do O uso de abordagens como o RUP, conforme Figura 3, con-
pessoal ou equipe. templará atividades e artefatos efetivamente indispensáveis à
Outros fatores ainda agravam os problemas da gestão de pro- instituição, incluindo os controles institucionais, e que deverá
jetos de software em empresas, tais como: inexistência de um ser flexível o suficiente para atender às diversas situações co-
processo definido, recursos pessoais e financeiros limitados, muns ao desenvolvimento, em qualquer tipo de projeto.
falta e/ou pouca cultura em processos, pouco treinamento em Se você depende de sua capacidade para desenvolver e im-
engenharia de software, imaturidade metodológica, cresci- plantar software, que é essencial para o sucesso da instituição,
mento ocorrido por demanda, falta de experiência adminis- ele irá ajudá-lo, pois foi desenvolvido visando dois grupos
trativa por parte dos gerentes e diretores e falta de definição primários de usuários:
das metas organizacionais. • Profissionais de desenvolvimento de software que trabalham
Tem-se também a persistência de um conhecido problema no como parte de uma equipe de projeto, incluindo os investidores
desenvolvimento de software: muitos projetos consomem mais desses projetos de desenvolvimento de software;
recursos do que o planejado e demoram mais tempo para serem • Profissionais de engenharia de processo, especificamente
realizados, possuem menos funções e menor qualidade do que engenheiros de processo de software e gerentes.
o esperado. Relatos de insucesso na produção de sistemas de
software podem ser encontrados em diversos estudos de casos Os profissionais de desenvolvimento de software podem
e experimentos documentados ao longo dos últimos anos. encontrar orientação sobre o que é exigido deles nas funções
definidas. Um profissional que trabalha em um projeto de
O modelo de desenvolvimento para a gestão de engenharia de software é designado a uma ou mais funções
projetos definidas, e em que cada função particiona um conjunto
Partindo do pressuposto de que uma organização de grande de tarefas e produtos de trabalho pelos quais essa função é
porte utiliza um processo padrão de desenvolvimento de soft- responsável.
ware, e que nele são apresentados os controles institucionali- Também é fornecida orientação sobre como essas funções
zados com seus cenários, é possível ter a visão compartilhada trabalham em conjunto, em termos das atividades requeridas
sobre como a gestão de projetos percebe os marcos que são para representar o processo configurado, referenciado como
desenvolvidos para um novo produto de software, aferindo o processo de entrega. Além disso, são fornecidas várias

Edição 69 - Engenharia de Software Magazine 39


visualizações com o produto que são Isso ajuda você a desempenhar a de fluxos de informação. Através do
focalizadas em diferentes grupos de pro- sua parte esperada na equipe de pro- Diagrama de Entidade e Relacionamen-
fissionais de engenharia de software. jeto, tornando claro quais são as suas to (DER) são enfatizados os dados e os
Para  um  profissional de desenvolvi- responsabilidades. relacionamentos entre eles.
mento de software, este ambiente forne- A técnica de análise estruturada baseia- Na análise estruturada os processos
ce uma definição de processo comum e se na decomposição funcional estrutura- mais complexos são decompostos em
central, que todos os membros da equipe da de sistemas através de Diagramas de subprocessos constituintes e seus fluxos
de desenvolvimento de software podem Fluxo de Dados (DFDs)  que descrevem o de informação, formando-se uma estru-
compartilhar, ajudando a assegurar uma sistema como um conjunto de processos tura hierárquica de processos.  Esta me-
comunicação clara e sem ambiguidade funcionais que realizam transformações todologia fornece um conjunto coerente
entre os membros da equipe. de informação e comunicam-se através e integrado de métodos e regras, que no
seu conjunto formam uma técnica estru-
turada de análise e projeto de sistemas
baseada nos seguintes conceitos: aborda-
gem top-down, modelagem funcional,
representação gráfica do modelo, dicio-
nário de dados e a descrição de processos
e procedimentos, além de trabalho em
equipe e documentação.
 Assim, o processo de desenvolvimento
de sistemas na análise e projeto estrutu-
rados baseia-se em (ver Figura 4):
• Definir os fluxos de dados recebidos
pelo sistema, entradas;
• Definir os fluxos de dados fornecidos
pelo sistema,  saídas; e
• Definir os dados que devem ser arma-
zenados e os processos que devem ser
executados para transformar os fluxos
de entrada nos fluxos de saída.

Figura 2. Modelo de Desenvolvimento de Sistemas de Software A exibição de dados, composto de


diagramas de entidade relacionamento,
é um registro do que está no sistema, ou
o que está fora do sistema que está sendo
monitorado. É a visão estática estrutural.
Sob o ponto de vista dinâmico, o diagra-
ma de transição de estado define quando
as coisas acontecem e as condições em
que eles acontecem.
A análise estruturada, de maneira
geral, compreende os processos: Levan-
tamento, Análise, Projeto, Codificação,
Teste, Implantação e Manutenção. Usu-
almente adota-se uma abordagem em
cascata. Esta abordagem é caracterizada
pela existência de um início e fim de
cada fase do processo de desenvolvimen-
to, sendo a formalização do término de
uma fase requerida  antes que se inicie
a próxima.
Pode ser utilizada quando for possível
adotar seus métodos, técnicas e ferra-
mentas, pelas equipes de desenvolvi-
Figura 3. Rational Unified Process mento, garantindo-se o rigor dos seus

40 Engenharia de Software Magazine - Gestão de Projetos: Usando processos de desenvolvimento


en gen haria

resultados. Além disso, é recomendada quando for possível a Os controles institucionais definidos pela empresa que
comunicação entre clientes e usuários e a equipe de desenvol- tem como premissa a utilização de modelos de software são
vimento de forma a se garantir a clareza de ideias e o rigor da eventos fundamentais para o processo de desenvolvimento,
especificação.  Isso pressupõe uma equipe de desenvolvimento e exigem algum tipo de aprovação de produto ou servem de
capaz, com expertise técnica e habilidade de comunicação. insumo para uma etapa seguinte e se não realizados, impedem
 Deve ser aplicada preferencialmente na construção/manu- a continuidade do processo (ver Figura 5).
tenção de sistemas de médio e grande porte, cujos requisitos se- Esses controles podem significar ainda a geração de produto
jam relativamente estáveis. A metodologia poderá ser utilizada explicitamente recomendado, normalmente ligados à política
no início de um novo projeto de desenvolvimento de software de segurança da informação ou à gestão de conhecimento. Os
e também em manutenções e em ciclos de desenvolvimento controles institucionais sempre necessitam de uma evidência
subsequentes após a implantação do sistema em produção. de sua realização.
Além dos controles instituições, no modelo de desenvol-
vimento existem guias de utilização padronizados por um
comitê de melhoria de processo voltadas para os gestores,
gerentes, desenvolvedores, usuários e demais envolvidos
no processo, trazendo diversas orientações da estrutura
que podem ser usadas em detrimento de um projeto e/ou
manutenção.
Toda documentação técnica e gerencial de um projeto e/ou
manutenção produzida durante o processo de desenvolvimen-
to é mantida pelas áreas de desenvolvimento em repositório
oficial. Os artefatos técnicos dos sistemas (ATS) são mantidos
durante todo o ciclo de vida, pois registram a inteligência do
sistema e serão utilizados e atualizados em todas as manuten-
Figura 4. Analise estruturada ções e evoluções futuras.  

Figura 5. Fluxo dos Controles Institucionais

Edição 69 - Engenharia de Software Magazine 41


Para a construção são utilizadas ferramentas homologadas
Referências:
pela empresa, a fim de possibilitar a integração dos modelos e a
visão sistêmica dos negócios. Ao longo do projeto/serviço, sem- 1. AUGUSTINE, S.; PAYNE, B.; SENCINDIVER, F.; WOODCOCK, S. (2005). Agile
pre que necessário, é refinado e validado junto às equipes. Project Management: Steering from the Edges. Communications of the
A integridade dos artefatos técnicos de sistema com os ACM, v. 48, n. 12, pp. 85 - 89.
requisitos é sempre mantida. Todo projeto/manutenção tem
2. Mary Beth Chrissis, Mike Konrad and Sandy Shrum, CMMI: Guidelines
um responsável pela gerência das diversas disciplinas/áreas
for Process Integration and Product Improvement, Addison-Wesley Pub
envolvidas, a fim de estabelecer e manter a integridade dos
co, 2003.
produtos ao longo do ciclo de vida. Além disso, deve-se pro-
mover a prática do paralelismo de atividades. 3. CMMI Model Componentes Derived from CMMI – SE/SW, Version 1.0
Ao longo do projeto e/ou manutenção compete ao líder de Technical report CMU/SEI-00-TR24. Pittsburgh, PA: Software Engineering
projeto, ou a quem ele delegar, acompanhar e revisar os re- Institute, Carnegie Mellon University, 2000.
sultados e as realizações do projeto, comparando o realizado 4. CURTIS, Bill; STATZ, Joyce. Building the case for software process impro-
com o previsto nos planos, acordos e estimativas documenta- vement. In: SEI NATIONAL CONFERENCE SOFTWARE ENGINEERING PROCESS
das. Nesse acompanhamento, todos os planos do projeto são GROUP, 1996, Atlanta. Proceeding…Atlanta, 1996.
atualizados e os compromissos assumidos revisados, sempre
5. DeMarco, T. Structured Analysis and System Specification. Prentice-Hall,
que necessário independente da atividade.
1979.
O objetivo é possibilitar que ações efetivas sejam tomados
para evitar que o projeto desvie significativamente dos pla-
nos ou que os planos se tornem obsoletos. Em qualquer etapa Você gostou deste artigo?
ocorrem novas validações/aprovações sempre que algum
produto, para o qual existam validações/aprovações previs- Dê seu voto em www.devmedia.com.br/esmag/feedback
tas, for atualizado. Os parceiros e o gestor da informação são
Ajude-nos a manter a qualidade da revista!
informados sobre a situação do projeto e/ou sua manutenção,
por meio de pontos de controle estabelecidos em cronograma,
independente da ocorrência de alterações.
A gestão de projetos de software tem buscado, através de
indicadores de desempenho estipulados pela instituição, a
constante melhoria em seus processos, principalmente os
associados às entregas dentro do prazo estipulado.

42 Engenharia de Software Magazine - Gestão de Projetos: Usando processos de desenvolvimento


Engenharia
Nesta seção você encontra artigos voltados para testes, processo,
modelos, documentação, entre outros

ITIL: Como implantar o gerenciamento de


mudanças

Fique por dentro:


Este artigo analisa o processo de Gerenciamen-
Cristiane Aparecida Lana
to de mudança da biblioteca ITIL (Information
cristiane.lana@ufv.br
Mestranda em Ciência da Computação pela Technology Infrastructure Library), elencando
Universidade Federal de Viçosa (UFV). Espe- os impactos e benefícios de sua implantação
cialista em Gestão Estratégica de Pessoas pela em Microempresas e Empresas de Pequeno

A
FACISA - UNIVIÇOSA (2012) e Bacharel em Sis- complexidade dentro da área Porte de Tecnologia da Informação. A ITIL for-
temas de Informação pela Faculdade de Viçosa
de Tecnologia da Informação nece um conjunto coerente e compreensivo de
(2008). Atualmente atua como orientadora de
trabalhos de Graduação na Faculdade de Viçosa (TI) é crescente. Juntamente, melhores práticas para gestão de serviços de
e pós-graduação Lato Senso pela FACISA - UNI- os números de mudanças oriundos das TI, provendo qualidade técnica para realizar
VIÇOSA. Tem experiência na área de Sistemas alterações do mercado, das tecnologias negócios com eficiência e efetividade no uso
de Informação com ênfase em Engenharia de e das necessidades dos próprios clientes de sistemas da informação. Este artigo é útil
Software, Engenharia de Requisitos e Repre-
e até mesmo da organização, vem au- para organizações que desejam implantar ou
sentação do Conhecimento, Sistemas de Apoio
à Decisão e Gestão de Pessoas. mentando proporcionalmente. Com essa aprimorar o processo de gerenciamento de mu-
constante transformação a TI precisa ser danças utilizando as boas práticas da biblioteca
dinâmica, eficaz e eficiente e os serviços ITIL. Sua utilização irá assegurar que os proces-
Bruno Torres Satler relacionados precisam ser oferecidos sos sofram modificações planejadas, garantin-
bruno@cientec.net
com qualidade, de forma estável e con- do menor impacto nos serviços/processos que
Mestre em Ciência da Computação - Engenha-
ria de Software pela Universidade Federal de fiável. Porém, o conhecimento detalhado passarão por modificações.
Viçosa (2010). Bacharel em Ciência da Com- e a identificação das mudanças não é
putação pela Universidade Federal de Viçosa uma tarefa simples de ser executada por
(2007). Consultor implementador Melhoria Microempresas e Empresas de Pequeno objetivo é satisfazer uma ou mais neces-
de Processo de Software - MPS-Br. Professor
Porte, que muitas vezes demonstram sidades da área de negócio e suportar
Assistente - FDV Faculdade de Viçosa. Professor
Assistente - FACISA Univiçosa. Gerente de Proje- falta de estruturação dos processos e os objetivos estratégicos do negócio da
tos e Analista de Processos - Cientec Consultoria pouco conhecimento de metodologias organização e do cliente.
e Desenvolvimento de Sistemas. Professor da de governança de TI. Porém, para que a TI satisfaça as ne-
pós-graduação Lato Sensu em Sistemas de Os serviços de TI podem ser vistos cessidades da organização é preciso
Informação - FACISA-Univiçosa. Professor da
como um conjunto de recursos, TI e não que ocorra um alinhamento entre os
pós-graduação Lato Sensu Especialização em
Sistemas para Internet - UFV. TI, mantidos por um provedor de TI, cujo recursos tecnológicos da TI com os

Edição 69 - Engenharia de Software Magazine 43


interesses da organização, onde um complemente o outro no
Cenário Anterior Cenário Atual
alcance de seus objetivos e principalmente no comprimento da
sua missão da organização. Para que este alinhamento ocorra Atendimento do usuário Atendimento ao cliente
é necessário que a TI forneça serviços que estejam de acordo Perspectiva interna Perspectiva externa
com as necessidades estratégicas do negócio. Com isso, a TI Esforço pessoal Esforço repetitivo e medido
confronta as limitações ligadas às próprias operações do negó-
Foco na tecnologia Foco no processo
cio e respondendo com inovações que sejam ao mesmo tempo
eficientes e estratégicas. Com esse alinhamento, a TI passa a ser Processos ad-hoc Processos racionalizados
considerado um parceiro estratégico dentro da organização, se Recursos internos Recursos racionalizados
tornando um diferencial competitivo da empresa. Comportamento reativo Comportamento proativo
Assim, a governança de TI deixa a condição de desejável
Visão fragmentada Visão integrada
para o status de essencial aos negócios da empresa. Devido
a isto, os auditores das corporações passaram a adotar algu- Sistema manual Sistema automatizado
mas metodologias de governança de TI, como a metodologia Gestor de operações Gestor de serviços
ITIL – Information Technology Infrastructure Library, com a
finalidade de melhorar o desempenho desta área. Tabela 1. Modificações entre o cenário anterior versus o atual
O ITIL foi desenvolvido na década de 1980, pelo Office Go-
vernment of Commerce Britsh - OGC, inicialmente como um Para que as modificações dos cenários ocorram com sucesso é
guia do governo britânico para gestão de serviços. Com suas necessário que aconteça uma modificação, uma transformação
evoluções, atualmente a ITIL é parte da norma ISO 20000 (in- das convicções, do conhecimento e até mesmo da expectativa
ternational Organization for Standardization, ou Organização do profissional de TI, o que pode proporcionar uma mudança
Internacional para Padronização), um padrão internacional de comportamento e maior comprometimento.
para gestão de serviços de TI. O Gerenciamento de serviços de TI é uma série de conceitos
A ITIL fornece um conjunto coerente e compreensivo de que identificam e inter-relacionam as várias atividades envolvi-
melhores práticas para gestão de serviços de TI, provendo das no desenvolvimento de um ambiente que produz melhoria,
qualidade técnica para realizar negócios com eficiência e métricas e entrega de serviços de TI para os clientes e para a
efetividade no uso de sistemas da informação. As práticas comunidade de usuários de TI. Ele integra pessoas, processos
desta metodologia são baseadas na experiência de empresas e tecnologias necessárias na busca de viabilizar a entrega do
comerciais e governamentais de todo o mundo, as quais têm serviço de TI garantindo o alinhamento estratégico de negócio
se tornado cada vez mais dependente de TI. da organização. Contudo, é de extrema importância para as
Uma mudança pode aparecer devido a um incidente organizações saber de onde estão saindo e onde querem che-
ou devido a ações proativas para beneficiar o negócio da gar e como chegar. A Figura 1, conhecida como “Fronteira da
organização, como a redução de custos ou a melhoria dos Eficiência”, mostra o curso do processo onde existe um ponto
serviços. Seu gerenciamento procura minimizar o impacto de saída (ponto A) e um ponto de chagada desejado (ponto A),
das mudanças causadas por incidentes e melhorar as opera- para se locomover de um para o outro de forma apositiva é
ções da organização através das mudanças proativas. Para necessário manter a prestação de serviço em um nível elevado
isso, padroniza métodos e procedimentos para um controle com um baixo custo. É esse equilíbrio aliada as estratégias e
eficiente das mudanças. metas que fará com que a organização saía de um gerencia-
mento de serviços caótico para um equilibrado.
Gerenciamento de Serviços de TI
Antes de iniciar o processo de gerenciamento de serviços
de TI é preciso garantir o alinhamento entre o que será ofe-
recido pela TI com o negócio da organização. Essa tarefa não
é simples, pois é necessário garantir alinhamento estratégico
visando a geração de valor para a organização, maximizando
o aproveitamento de novas oportunidades e a redução dos
custos. Diante dessa necessidade, a área de TI precisa entender
que os clientes atuais querem mais que produtos, eles querem
serviços que agregam valor. Sendo assim, a área de TI precisa
ir além de prestação de serviço entregue às organizações, ela
precisa determinar qual o valor do serviço perante a estratégia
de negócio, garantir que os serviços serão entregues dentro do
padrão de qualidade exigido pelos clientes e pelos usuários.
A Tabela 1 mostra os principais conceitos que foram modifi-
cados e quais estão vigentes no cenário atual. Figura 1. Fronteira de Eficiência

44 Engenharia de Software Magazine - ITIL: Como implantar o gerenciamento de mudanças


en gen haria

O gerenciamento de mudanças pode


ser aplicado a qualquer tipo de orga-
nização, pequena ou grande, pública
ou privada, com serviços de TI, cen-
tralizado ou descentralizado, interno
ou outsourced, permitindo coordenar
o fornecimento e suporte de serviços
de TI destinados a preencher as neces-
sidades da organização. Além disso, a
abordagem mais conhecida para se fazer
o gerenciamento de serviços em TI é a
ITIL, pois esta explora as relações entre
as atividades nos processos pertinentes
a qualquer organização.

Information Technology
Infraestructure Library - ITIL
A ITIL (Information Technology In-
frastructure Library) é um conjunto de
padrões de melhores práticas para o Figura 2. Processo do ITIL
gerenciamento de serviços de Tecnologia
da Informação. Esta metodologia oferece os processos do ITIL subdivididos em: 3. Gerenciamento de Configuração:
uma descrição detalhada das importan- Gerenciamento de Aplicações, Gerencia- responsável por fornecer à organização
tes práticas de TI, incluindo checklists, mento de Serviços, Gerenciamento da de TI um controle maior sobre todos os
tarefas, procedimentos e responsabi- Infraestrutura, Gerenciamento de Ca- seus ativos;
lidades. Estas práticas são definidas nais de Suprimento, Gerenciamento de 4. Gerenciamento de Incidente: seu foco
como processos e podem ser adaptadas Segurança e Gerenciamento de Infraes- principal é restabelecer o serviço o mais
a qualquer organização de TI cobrindo trutura de Tecnologia de Comunicações rápido possível, minimizando o impacto
a maioria de suas atividades. e de Informação (TCI). negativo no negócio;
Criada na década de 80 pelo Centro Como pode ser visto na figura, além da 5. Gerenciamento de Liberação: respon-
de Computadores e Agência de Teleco- definição do negócio, dos parceiros e da sável pela implementação das mudanças
municações – CCTA do Reino Unido, tecnologia a ser usada ou implementada, no ambiente de infraestrutura de TI;
atualmente conhecido como Office of existem diversos processos que devem 6. Gerenciamento do Nível de Serviço:
Governamment Commerce – OGC, teve ser analisados e implementados que é responsável por gerenciar o nível dos
por objetivo padronizar e comparar as são indispensáveis para o sucesso do serviços prestados pela equipe de TI,
diversas propostas de prestadores de processo. com o objetivo de definir o tempo de
serviços de TI ao governo Britânico. A Além do processo de Gerenciamento de resolução para cada solicitação realizada
metodologia foi desenvolvida a partir Mudanças, que abordaremos neste arti- pelos clientes e tempo para restabeleci-
de pesquisas realizadas por consultores, go, a ITIL conta com mais dez processos mento de cada indisponibilidade ocor-
especialistas e doutores na área, para que podem ser implementados de forma rida na operação;
desenvolver as melhores práticas para isolada nas organizações, são eles: 7. Gerenciamento de Capacidades: dese-
a gestão de TI nas empresas públicas e 1. Service Desk: ponto único de contato nhado para assegurar que a capacidade
privadas. Seu foco está na descrição dos entre usuários/clientes e o departamento da infraestrutura de TI esteja alinhada
processos necessários para gerenciar de TI; com as necessidades do negócio;
eficientemente e eficazmente a infra- 2. Gerenciamento de Problemas: res- 8. Gerenciamento de Disponibilidade:
estrutura de TI garantindo os níveis ponsável por minimizar a interrupção visa otimizar a capacidade da infraestru-
de serviço acordados com os clientes nos serviços de TI por meio da organi- tura de TI ajudando a organização a en-
internos e externos. zação dos recursos para solucionar pro- tregar um nível sustentado de disponibi-
Na década de 90, a ISO 9000 e o modelo blemas de acordo com as necessidades lidade a um custo aceitável, garantindo
de referência da EFQM (European Foun- de negócio, prevenindo a recorrência e que os serviços estarão à disposição dos
tation for Quality Management) passam garantindo o registro de informações clientes e usuários sempre que for preci-
a adotar as melhores práticas da ITIL que melhore a maneira pela qual a so e permitindo assim que os objetivos
tornando-a um padrão mundialmente organização de TI trata os problemas, do negócio sejam alcançados;
conhecido e a metodologia de serviços de resultando em níveis mais altos de dis- 9. Gerenciamento da Continuidade
TI mais utilizada. A Figura 2 apresenta ponibilidade e produtividade; dos Serviços de TI: tem por objetivo

Edição 69 - Engenharia de Software Magazine 45


suportar de forma geral o Gerenciamento de Negócios, as- • Garantir a utilização dos métodos padronizados para o
segurando que os requisitos técnicos da TI e facilidades de tratamento eficiente de todas as mudanças, reduzindo seus
determinados serviços possam ser recuperados dentro de riscos e impactos;
escalas de tempo requeridas e acordadas; e • Minimizar o surgimento de incidentes que tenham relação
10. Gerenciamento Financeiro: é responsável por determinar com alguma mudança;
o verdadeiro custo de todos os serviços de TI e demonstrá-lo • Realizar o balanço entre a necessidade e o impacto.
de maneira que a organização possa entendê-lo e utilizá-lo
para o processo de tomada de decisão. Segundo a própria OGC, este processo tem foco nas mu-
danças que afetam Hardware, Software, Equipamentos e
Fica fácil entender que as melhores práticas adotadas pelo Software de Comunicação; aplicações em produção e toda
ITIL abrangem todas as atividades da área de TI. Usando documentação e procedimentos associados com a operação,
uma abordagem de processo, a ITIL define principalmente suporte e manutenção da Infraestrutura de TI. Além disso,
o que deve ser incluído no Gerenciamento em Serviços ficam fora do escopo do gerenciamento, mas relacionados com
em TI para que se ofereça um serviço de qualidade (veja a este as mudanças em projetos; a identificação de componentes
seção Links). afetados na mudança ou atualização de registro (Gerencia-
mento de Configuração) e a liberação de novos componentes
Gerenciamento de Mudanças (Gerenciamento de Liberações).
Comumente, as mudanças surgem como resultado para os A Solicitação de Mudança (Request for Change – RFCs) é
problemas, embora muitas mudanças possam ser efetivadas o ponto de partida de todo o processo de Gerenciamento de
com o objetivo de trazer benefícios empresariais ou melhorar Mudança. Ela consiste da solicitação inicial da mudança,
os serviços oferecidos. A finalidade da realização do processo por parte dos usuários, áreas de negócio e membros das
de Gerenciamento de Mudanças é alcançar esses objetivos uni- equipes dos processos de Gerenciamento de Incidente e de
ficando métodos e procedimentos com o intuito de controlar Gerenciamento de Problema, sendo estes dois últimos os
e manipular de forma eficiente todas as mudanças, minimi- principais promotores de mudanças em um ambiente de
zando o impacto de incidentes que já tenham sido vivenciados infraestrutura de TI.
anteriormente, e consequentemente melhorar as operações do Todas as mudanças devem ser revistas após um período
dia a dia da organização. pré-estabelecido a fim de garantir que os resultados foram
O aumento da importância da área de TI vem crescendo alcançados e analisar o grau de eficiência na estimativa de
aceleradamente e junto com ela as exigências de qualidade, recursos utilizados.
redução de tempo de atendimento e custo, etc. visando alcan-
çar os objetivos do negócio. Dentro deste contexto, é preciso Benefícios do sistema de Gerenciamento de Mudanças
vislumbrar uma forma de acompanhar as mudanças da área Os benefícios específicos do processo de Gerenciamento de
de TI e a evolução do cenário de negócios. Mudanças descritos pela ITIL são:
Todas as mudanças, incluindo as de emergência e aplicação • Melhor alinhamento dos serviços de TI com os negócios.
de patches, relacionadas à infraestrutura e aplicações dentro • Aumento da visibilidade e comunicação das mudanças entre
do ambiente de produção, devem ser gerenciadas formal- seus atores.
mente de maneira controlada. Estas mudanças (incluindo • Melhoria no processo de avaliação de riscos, reduzindo o
procedimentos, processos, sistemas e parâmetros de servi- impacto negativo da mudança.
ço) devem ser registradas, avaliadas e autorizadas antes da • Melhor avaliação de custos das mudanças.
implementação. • Redução do número de mudanças que necessitem da execu-
O Gerenciamento de Mudanças é considerado um tanto ção dos seus planos de retorno ao original (backout).
quanto burocrático. Isso se deve a exigência de todos os in- • Melhor identificação dos problemas.
cidentes ser identificados, antes de serem corrigidos, devem • Aumento na produtividade dos usuários, com a redução das
ser filtrados, analisados e testados para depois ser implemen- paradas de serviços de TI.
tada as correções no ambiente de produção. Para isso, se faz • Aumento de produtividade de pessoal da área de TI, pela
necessário uma mudança de cultura e um comprometimento maior fidelidade às ações que são planejadas.
de todos para o processo lograr êxito. • Habilidade de absorver um grande volume de mudanças.
Sua missão é gerenciar todas as mudanças que de alguma • Um aumento da percepção dos valores do negócio, por parte
forma possam causar impacto na entrega de serviços pela da equipe de TI, resultando em melhoria na qualidade dos
área de TI, através de um processo único e centralizado de serviços de TI.
aprovação, programação e controle da mudança, assegurando
que a infraestrutura e a área de TI permaneçam alinhadas aos Detalhamento do Processo
requisitos do negócio, com o menor risco possível. O processo de Gerenciamento de Mudanças é responsável por
A seguir estão listados os principais objetivos do Gerencia- decidir e coordenar as mudanças não tendo como objetivo dire-
mento de Mudanças, de acordo: to executar a implementação. A implementação será realizada

46 Engenharia de Software Magazine - ITIL: Como implantar o gerenciamento de mudanças


en gen haria

por uma equipe técnica responsável pela


área de mudança, como a área de redes,
sistemas, hardware.
Este processo controlará as mudanças
para que elas sejam implementadas de
forma eficaz, no que se refere ao custo,
com um mínimo de riscos para os servi-
ços mantidos. Para a elaboração de uma
análise de riscos adequada é importante
o uso de uma Base de Dados do Geren-
ciamento de Configuração, pois este irá
fornecer todos os serviços e recursos
relacionados ao item de configuração
que sofrerá a mudança.
As principais entradas e saídas do pro-
cesso de Gerenciamento de Mudanças
são mostradas na Figura 3.
Como pode ser visto na figura, as Figura 3. Entradas e Saídas do Processo de Gerenciamento de Mudanças
principais entradas dos processos RFCs
(Request for Change) é o Requisições de
Mudanças - RDM, FSC (Forward Sche-
dule of Changes) é a Programação Futura
de Mudanças - PFM, o agendamento das
próximas mudanças; e por fim o CMDB
que recebe informações do processo de
Gerenciamento de Capacidade, Con-
figuração e Liberações para realizar a
análise de riscos, planejamento e custos.
No que tange às saídas tem-se a PFM –
Programação Futura de Mudanças, RDM
– Requisições de Mudanças Aprovadas
e Atas da Reunião do CCM – Conselho
de Controle de Mudanças.
Apesar do Gerenciamento de Mudan-
ça possuir uma estrutura sólida, não é
possível que ele seja implementado sem
considerar o entorno, principalmente os
projetos que podem sofrer alterações ao Figura 4. Integração dos Processos de Gerenciamento de Mudanças e Gerenciamento de Projetos
longo de seu percurso. Sendo assim, a
Figura 4 mostra como ocorre a interação
entre o Gerenciamento de Mudanças e o em processos anteriores, como o Geren- • Aprovação
de Projetos. ciamento de Problemas, por exemplo. Todos os RDMs devem ser filtrados e
É possível perceber que em todas as fa- A RDM poderá ser em papel ou ele- aprovados mas alguns fatores podem
ses do projeto podem ocorrer mudanças trônica através de algum software de determinar que uma mudança seja
e que o gerenciamento intervém de for- Gerenciamento de Serviços. recusada, por exemplo, se o custo da
ma a minimizar os impactos e controlar mudança é mais alto que o benefício que
os pontos de mudanças existentes que • Registro e Classificação ela pode oferecer.
modificaram o projeto original. Diversas informações para a tomada
de decisão devem estar contidas em • Coordenação do Desenvolvimento
Registro de Requisição de um RDM, tais como categoria, impacto Após aprovada a mudança, a RDM
Mudança – RDM e custo. A partir destas será elaborado deve ser passada a um grupo técnico
O Registro de Requisição de Mudanças o relatório gerencial e a cada mudança que será responsável pelo desenvolvi-
(RDM) pode ser levantado a partir de deve ser associada ou alocada sua priori- mento da mudança. O Gerenciamento
uma necessidade do setor de TI, ou sur- dade para definir a agenda de mudanças de Mudanças deve coordenar todo este
gir em virtude de um erro identificado programadas. processo, garantindo assim, a existência

Edição 69 - Engenharia de Software Magazine 47


dos recursos necessários, monitorando os riscos e acompa- de Problemas também pode vir a acompanhar este processo.
nhando os testes. Esta revisão se destina a verificar se a mudança trouxe os resul-
tados esperados, ou caso haja algum problema ou ineficiência,
• Autorização e Implementação ações devem ser tomadas para a sua correção.
Após passar pela fase de desenvolvimento, as mudanças A Figura 5 mostra o fluxograma que explica o que ocorre
devem ser testadas antes de ir para o ambiente de produção. numa RDM, mostrando o inicio da requisição ate a avaliação
É aconselhável que exista um grupo de testes independente final fechando a mudança requisitada.
neste processo, que tenha condições técnicas para elaborar o
plano de testes avaliando todos os requisitos para o funcio- Comitê de Controle de Mudança – CCM
namento da mudança no ambiente de produção e só após o O Comitê de Controle de Mudança (CCM) é responsável pela
resultado dos testes que a mudança será autorizada para ser avaliação do impacto das mudanças. Este grupo será compos-
implementada. to de pessoas técnicas e até mesmo clientes, que fornecerão
assessoria ao Gerente de Mudanças sobre quais mudanças
• Implementação devem ser aprovadas e auxiliarão na programação das mu-
O Gerenciamento de Mudanças deve garantir que as mudan- danças. Normalmente, o CCM se reúne com uma determina
ças sejam implementadas seguindo um programa definido. A frequência para discutir todas as mudanças novas e que ainda
execução da implementação não é de responsabilidade deste estão em andamento.
processo, ficando o seu cargo apenas a coordenação. O processo
de Gerenciamento de Liberações poderá ser coordenado pelo Comitê de Emergência – CCM/CE
processo de Gerenciamento de Mudanças, pois as mudanças Quando surgem problemas mais graves é necessário iden-
de fato acabam gerando novas liberações de software ou de tificar uma configuração menor com autoridade para tomar
hardware. decisões emergenciais, pois pode não haver tempo para se
criar um CCM completo, sendo o presidente deste comitê o
• Avaliação Gerente de Mudanças, que são os técnicos responsáveis pela
O Gerenciamento de Mudanças deve avaliar todas as mudan- implementação da mudança. Dependendo da criticidade da
ças implementadas depois de determinado período, chamada mudança, é determinada por essa equipe uma rápida alteração
de Revisão Pós-Implementação. O processo de Gerenciamento no ambiente para que a solução seja imediata.

Figura 5. Exemplo do processo de Gerenciamento de Mudança

48 Engenharia de Software Magazine - ITIL: Como implantar o gerenciamento de mudanças


en gen haria

Programação de Futuras Mudanças


– FPM
A Programação Futura de Mudanças
(FPM) é responsável por manter atu-
alizados os detalhes de todas as mu-
danças que têm sido autorizadas para
implementação dentro de um período
previamente estabelecido, ou seja, o
cronograma para alteração no ambiente
equivale ao grau de risco que a mudança
pode oferecer. Se a mudança tiver um ní-
vel crítico muito alto, o tempo para pla-
nejamento será maior. Um bom exemplo
seria uma empresa que por problemas
técnicos precisa trocar o seu servidor, e Figura 6. Relacionamento do processo de Gerenciamento de Mudança com outros processos da ITIL
no momento da troca serão desligados
todos os computadores, neste caso, serão envolvidas várias garantir que ele reflita os objetivos organizacionais, além de
áreas da empresa, tais como: infraestrutura e TI. Haverá um serem quantificáveis (veja a seção Links).
tempo para cada área planejar sua execução, no entanto um
tempo maior é exigido para execução da Mudança. Problemas Potenciais do Gerenciamento de Mudanças
A seguir, estão descritos possíveis problemas que podem ser
Relacionamento com outros Processos enfrentados pelo processo de Gerenciamento de Mudança:
O processo de Gerenciamento de Mudanças está relacio- • O escopo de uma mudança pode ser muito grande para os
nado com outros processos da ITIL, como pode ser visto na recursos disponíveis, pode sobrecarregar os recursos e gerar
dependência da precisão dos dados de configuração com a atrasos;
precisão do processo de Gerenciamento de Liberação para • Falta de clareza nas propriedades dos sistemas impac-
assegurar o conhecimento sobre o impacto completo em se tados;
aplicar a mudança no ambiente de trabalho. • Caso o processo de Gerenciamento de Mudanças seja imple-
Outros processos podem relacionar-se com o Gerenciamento mentado sem o processo de Gerenciamento de Configuração,
de Mudanças, pois eles podem requisitar também mudanças possivelmente a solução será menos efetiva;
(Gerenciamento de Disponibilidade) ou podem ser consulta- • A burocratização do processo, fazendo com que não seja
dos para determinar o impacto da mudança (Gerenciamento seguido;
da Continuidade dos Serviços de TI, Gerenciamento do Nível • Dados sobre os CIs (Itens de configurações) incorretos podem
de Serviço e Gerenciamento da Capacidade - Figura 6). resultar em avaliação de impacto incorreta;
A Figura 6 mostra que o processo de mudança ocorre de • Deficiência na atualização entre plataformas e localidades faz
forma interativa, sendo que a qualquer momento pode surgir com que seja difícil ou quase impossível agendar mudanças;
uma necessidade específica nos mais diferentes módulos do • Procedimentos de contingência que não existem ou não
processo geral do ITIL e este deve ser analisado e suprido de foram testados;
acordo com as diretrizes aprovadas pela organização. • O acompanhamento de progresso das mudanças é manual,
o que gera sobrecarga em quem o executa;
Indicadores de Desempenho – KIP (Key Performance • As faltas de acompanhamento da alta e média gerência fazem
Indicator) os tempos de implementação crescer, e há uma resistência
O processo de Gerenciamento de Mudanças deve conter aos novos controles, a menos que veja comprometimento dos
mecanismos de controle que permitam avaliar sua eficiência, gerentes;
eficácia, efetividade e economicidade. Para isso, são utilizados • Mudanças de emergência frequentemente provocam a falha
os Indicadores de desempenho, também chamados de Indica- do processo
dores Chave de Desempenho (ou Key Performance Indicator
– KPI – em inglês) que servem para avaliar e medir o nível de Detalhamento das Fases
desempenho de processos chaves para a empresa. As  mudanças podem ocorrer de forma  programada, ace-
O KIP é uma medida quantificável que tem como função lerada ou emergencial. Para efeito de definição, mudanças
refletir os fatores críticos de sucesso da organização que varia “Programadas”, “Aceleradas” ou “Emergenciais” seguem o
de uma organização para outra. Uma empresa pode ter como mesmo procedimento, sendo que, os parâmetros de tempo
KIP os percentuais de sua receita que vem do retorno dos devem atender as necessidades específicas de cada tipo.
clientes, uma escola pode set seu KIP no número de alunos A programada exige um conhecimento prévio da necessidade
graduados, etc. Independente do KIP selecionado é preciso não exigindo urgência para sua execução.

Edição 69 - Engenharia de Software Magazine 49


Portanto, segue o processo normal de Gerência de Mudanças. com parcerias para distribuição nacional e internacional. Após
Aceleradas, as mudanças que necessitam ser executadas o mais 15 anos de existência, a empresa vem fidelizando, de forma
rápido possível seguindo o processo normal da solicitação, por progressiva, seu mercado consumidor e sua linha de produtos,
necessidade técnica ou de negócios da empresa estudada. oferecendo sempre aos seus clientes produtos de qualidade e
Emergencial, a mudança vital para atender uma necessida- que os auxiliem em sua trajetória de sucesso.
de de negócio, normalmente para correção de um problema,
e que não pode aguardar o processo normal de mudanças, Cenário Atual
particularmente na revisão e fase de aprovação, onde existe Atualmente a empresa possui um gerente para cada setor
o risco iminente para os negócios, ativo ou processos da em- (administrativo, vendas, suporte pós-vendas, departamento
presa estudada de TI e nutricional) e um gerente geral.
Qualquer evento que ocorra no ambiente de tecnologia e que Toda e qualquer solicitação de mudanças é feita sem passar
não possua uma “Mudança” registrada deve ser enquadrado por qualquer processo. O solicitante interessado em uma mu-
como “Incidente Técnico” não controlado e o processo de dança entra em contato com o membro da equipe de TI e infor-
comunicação devem abranger as áreas de negócio de toda a ma seu interesse solicitando sua execução. Este procedimento
empresa estudada. em sua maioria das vezes acarreta a realização de mudanças
A metodologia recomentada pela ITIL para realização do pro- sem retorno e com altos índices de impactos negativos.
cesso de melhoria contínua dos serviços de TI é PDCA ((P(Plan Tais solicitações por serem feitas sem nenhum monitoramen-
= Planejar) D(Do = Executar) C(Check = Verificar) A (Action to, podem propiciar o não atendimento de uma mudança que
= Agir)) que se baseia no controle de processos. Desenvolvido seja prioritária para a organização, por exemplo, para a organi-
na década de 30 e utilizado pela indústria manufatureira, zação em análise todas as aplicações web são de fundamental
o PDCA é composto por quatro passos: 1) Plan – Planeja as importância, tais como: instabilidade do servidor, necessidade
ações a serem executadas; 2) Do – realiza as ações que foram de melhoria de uma aplicação para atendimento de um dado
planejadas; 3) Check – Verifica se o que foi feito esta de acordo setor, como busca e listagem de cursos no sistema. Contudo,
com o planejado; e por fim 4) Act – que Atua corretivamente por não possuírem um sistema de gerenciamento de mudanças
sobre a diferença identificada. Seu maior objetivo é manter os a aplicação web pode deixar de ser atendida em detrimento de
clientes e mantê-los satisfeitos. outra solicitação de menor importância. Isso ocorre porque não
existe nenhum software de controle de solicitações implantado.
Descrição do Estudo de Caso : A organização Assim, as solicitações de mudança chegam por e-mail, telefone
Para análise do processo de gerenciamento de mudanças, ou por meio do famoso “boca a boca”, que na maioria não ficam
buscou-se um estudo de caso: uma Empresa de Pequeno Porte registrados, afetando o planejamento do gerente de projetos,
do ramo de tecnologia de informação situada na Zona da Mata gerente de TI que somente fica sabendo que a solicitação existe
Mineira. Sua missão é Transformar conhecimentos gerados após a sua execução. Desta forma, os problemas que existem
em universidades e centros de pesquisas em soluções para a no cenário atual são:
sociedade e assim busca ser reconhecida pelo mercado como • Ausência de documentação para formalizar uma solicitação
empresa inovadora que desenvolve produtos e soluções com de mudança;
qualidade mundial. • Descentralização das solicitações de mudanças;
Fundada em 1997 na incubadora da base tecnológica do • Ausência de filtro de prioridade para execução de
CENTEV da Universidade Federal de Viçosa (MG), a empresa mudanças;
se posiciona no mercado como um elo importante entre a pes- • Falta de prazo limite para aprovação da solicitação.
quisa científica e a sociedade, buscando propor soluções para
o gerenciamento de informações para diversos profissionais Gerenciamento de Mudança na Organização
que buscam a otimização do tempo e capacitação profissional O processo de Gerenciamento de Mudança na organização
de qualidade. tem por objetivo manter o controle das mudanças na área de TI,
Na busca de melhorar a qualidade de seus produtos e serviços de uma forma documentada, processual e controlada, visando
e desejando aprimorar, a cada dia seus conhecimentos, a em- minimizar ao máximo os impactos negativos. Com isso, faz-se
presa implantou o programa “SEBRAE de Gestão da Qualidade necessário o apoio de um processo de Gerenciamento de Con-
(PSGQ)”, processo no qual obteve 100% de aprovação. figuração eficiente, que ofereça uma CMDB (Banco de Dados
Em 2010, a empresa passou por novas expansões, iniciando o do Gerenciamento da Configuração) atualizada, uma vez que
desenvolvimento de cursos online para capacitação profissio- o registro dos CIs (Item de Configuração) compõem quais ser-
nal em diversas áreas de atuação, aplicativos móveis e forman- viços de TI são de responsabilidade daquele processo.
do uma importante parceria com a empresa Aoki Sistemas para Analisando a empresa, verificou-se que a mesma possui
a comercialização do E2corp, que é um promissor Sistema de um software para a realização das interações pertinentes aos
Gestão Empresarial (ERP - Enterprise Resource Planning). processos, chamado de Help Desk. Todos os setores da em-
Com o sucesso dos cursos online, a empresa iniciou, em 2012, presa podem se comunicar através desse software com envio
o desenvolvimento e comercialização de e-books, contando de chamados específico para cada setor. Porém, atualmente a

50 Engenharia de Software Magazine - ITIL: Como implantar o gerenciamento de mudanças


en gen haria

organização não possui um Service Desk estruturado, ficando requisição de mudanças, agora aprovada, chega novamente às
sem um ponto central de contato entre os usuários e a área mãos do gerente de mudanças que inicia a fase de coordenação
de TI. e desenvolvimento.
O objetivo do processo é definir os papéis e responsabilida- Na fase inicial de coordenação e desenvolvimento, deve-se
des, processos e o fluxo padrão a serem utilizados para todas identificar se a RDM tem urgência alta ou impacto mínimo.
as solicitações, para que haja o controle integrado de mudanças. Caso a RDM se enquadre em uma destas duas formas, a fase
O controle integrado de mudanças compreenderá a identifi- de autorização pode ser deixada de lado e passar direto para
cação, documentação, análise e autorização das mudanças, a fase de implementação.
tendo como critérios de avaliação para aprovação o escopo, Toda mudança deve ser testada nas atividades ao final da fase
custo de execução e prazo previamente autorizados para cada de autorização e na atividade de avaliação, antes de ser enviada
solicitação de mudanças, sendo classificadas em três tipos de para o ambiente de produção. É importante que exista uma
mudanças, normal, padrão e emergencial. equipe de testes para elaboração do plano de testes avaliando
A normal é a mudança planejada com antecedência. A padrão o funcionamento após realização da mudança.
por sua vez é uma mudança rotineira e de baixo impacto, por Na fase de autorização a equipe de testes irá acompanhar
exemplo, a mudança de senhas, alteração de cursos, modifi- como está o planejamento de execução das mudanças e, ao
cação de arquivos para licitação. Já a emergencial, é aquela obter resultados satisfatórios por meio de testes, a mudança
mudança vital que surge para atender uma necessidade ou será autorizada a passar para a fase de implementação que
sanar um incidente ocorrido. Esse tipo de mudança não ne- tem como objetivo apenas executar a solicitação de mudanças
cessita passar pela fase de autorização indo direto para a fase conforme a coordenação do gerente de mudanças. Nesta fase
de implementação. são gerados os relatórios de testes realizados.
O enquadramento de cada solicitação de mudanças auxilia O gerente de mudanças irá coordenar a execução durante a
na coordenação da implementação. O plano de gerenciamento fase de implementação, ficando a cargo da equipe de desen-
de mudanças não tem como objetivo executar a implementa- volvimento executar o plano de desenvolvimento informar se
ção das mudanças sendo apenas responsável por decidir e existem alterações críticas para que elas sejam autorizadas e
coordenar o processo de mudanças. A implementação será novamente implementadas. Não havendo alterações inicia-se
realizada pela equipe de desenvolvimento. Assim, é necessário a fase de avaliação.
a definição dos papéis e responsabilidades de cada participante A fase de avaliação tem como objetivo, revisar todo o escopo
da equipe. de acordo com o que foi implementado. Assim, será possível
As solicitações de mudanças devem seguir um roteiro padrão, verificar se a mudança foi realizada como esperado ou se re-
onde cada solicitante deve registrar sua solicitação por meio de sultou outros erros inesperados e quais ações a serem tomadas
um formulário que por sua vez deve ser enviado ao gerente de para a correção. Não ocorrendo a rejeição, a mudança entra em
mudanças. Neste momento cria-se o registro de solicitação de produção e é formalizada a entrega da solicitação de mudança
mudanças – RDM, o qual fica a cargo do gerente de mudanças, como executada e aprovada para o solicitante.
atribuir uma identificação única para cada solicitação. O ideal
é que esses registros sejam individuais evitando a sobreposição Planejamento de Mudança
de registros. O primeiro passo do planejamento para implantação do
Na fase de registro e classificação várias informações serão processo de Gerenciamento de Mudanças da ITIL é escrever
utilizadas para a tomada de decisão, tais como categoria, im- o documento da metodologia no qual será formalizado: Solici-
pacto, custo. Estas informações também serão utilizadas para tações de Mudanças, Planejamento das Atividades, Avaliação
produzir relatórios gerenciais, onde a RDM será classificada de Riscos, Avaliação de Impacto, Registro de Envolvidos, Fluxo
de acordo com a prioridade para cada mudança para definir de Comunicação, Definição e Homologação das Contingências,
o tipo de mudança a qual se encaixa. Definição e Homologação de Planos de Retorno entre outros.
O comitê, por meio do relatório gerencial, deve filtrar a soli- Esse documento terá que ser escrito pelo gerente responsável
citação no início da atividade de classificação, para saber se a pelas mudanças, juntamente com outros gerentes de outros
solicitação é pertinente. Caso não seja, será encaminhada para setores da empresa.
o gerente de mudanças para que possa informar a recusa da Para implantar o plano de gerenciamento, a fase inicial será
solicitação ao solicitante por meio do documento de registro de composta de reuniões com todos os membros para explicar
encerramento da solicitação. Caso a solicitação seja pertinente, os objetivos esperados, quais serão os papéis de cada um e
o comitê deve classificá-la em um dos três tipos de mudanças: suas respectivas responsabilidades, além de inserir o fluxo de
normal, padrão ou emergencial. gerenciamento de mudanças. Após as definições iniciais, será
Após as RDMs serem classificadas e filtradas, elas devem disponibilizado o treinamento sobre a nova forma de gestão
ser aprovadas. Na fase de aprovação o comitê se reúne com o de mudanças, detalhando o objetivo e execução das fases que
gerente de mudanças para avaliar os possíveis impactos, que compõem cada solicitação de mudanças.
podem ser gerados pela solicitação de mudança, baseados em O treinamento é importante para que a equipe esteja pre-
custo, cronograma e escopo para sua realização. Em seguida, a parada para receber, registrar e dar prioridade a todas as

Edição 69 - Engenharia de Software Magazine 51


requisições de mudanças (RDMs), criar uma agenda de ativi- Fases Período
dades e publicar RDMs para o comitê de controle de mudanças, 1- Inserção da cultura organizacional por meio de reuniões diárias. 4 semanas
convocar reuniões de emergência, coordenar a construção, o
2- Treinamento da equipe de acordo o plano de execução de mudanças. 3 semanas
teste e a implementação das mudanças, manter os registros
de mudanças atualizados com o progresso, revisar todas as 3- Execução da nova gestão de mudanças em estado experimental. 12 semanas
mudanças implementadas para garantir que tenham atingido Cada solicitação de mudanças percorre as próximas sete atividades
seu objetivo, revisar RDMs pendentes para depois fechá-las e 3.1- Registro de Requisição de Mudanças – RDM Início
finalmente fazer relatórios gerenciais. 3.2- Registro e Classificação 3hs
A ferramenta Help Desk passa a ser utilizada para realizar
3.3- Aprovação 3hs
solicitações de mudanças e planejamento das atividades
3.4- Coordenação do Desenvolvimento 3h
necessárias para a implementação. É preciso manter de for-
ma controlada todos os registros do planejamento inicial, 3.5- Autorização 3h
das dificuldades encontradas, das mudanças de rota e das Depende de
3.6- Implementação
decisões tomadas (quem, quando, por que). Quanto melhor cada tipo de solicitação
planejado o projeto, menos problemas e necessidades de re- 3.7- Avaliação 24h
visões futuras, porém dificilmente o projeto será cumprido
Tabela 2. Cronograma de Implantação do Gerenciamento de Mudanças
do início ao fim sem qualquer mudança ou adaptação e por
mais insignificantes que pareçam, essas mudanças devem
ser documentadas. Assim, após deixar o ambiente estável, pode-se iniciar o
Definido os papéis de cada integrante da equipe, o plano de segundo passo que poderá ser a implantação do processo de
gerenciamento de mudanças entra em estado experimental. Gestão de Incidente. Depois poderão vir outros processos:
Neste estado uma grande porcentagem da equipe de TI deverá Gerenciamento de Problemas, Gestão de Nível de Serviço,
estar operando de acordo com o novo fluxo de trabalho e a Gestão de Configuração, Gestão de Capacidade, Gestão de
outra porcentagem restante estará executando as atividades Disponibilidade, Gerenciamento Financeiro e Gestão de Con-
remanescentes. O estado experimental irá perdurar até que tinuidade dos Serviços de TI.
toda a equipe esteja totalmente alinhada com a nova forma de Com a proposta de implantação do gerenciamento de mu-
gestão e os solicitantes já estiverem em um nível de maturida- danças estima-se como principais benefícios uma melhora
de suficiente para centralizar suas solicitações apenas para o no alinhamento das solicitações com o negócio, maior índice
gerente de mudanças. de assertividade, maior disponibilidade do tempo da equipe
O risco envolvido no processo de  forma geral é uma análise de desenvolvimento, melhora na produtividade, redução de
de fundamental importância, onde deve existir um mapeamen- transtornos e serviços de alta qualidade. Estes benefícios
to de  todas as possibilidades de insucesso, pois este documento podem ser alcançados, desde que sua equipe seja capaz de
será utilizado como  referência para determinação das contin- filtrar e priorizar as mudanças, ocasionando na redução da
gências necessárias, quanto mais detalhes (sob   a   perspectiva quantidade de solicitações a serem realizadas. Deste modo
do negócio) forem catalogados, mais fácil será determinar os estima-se que a disponibilidade da equipe de desenvolvimento
riscos envolvidos na operação. irá ser maior possibilitando uma melhora na qualidade dos
A implantação do gerenciamento de mudanças deverá ocorrer serviços prestados.
em três passos sendo eles:
1. Inserção da cultura organizacional por meio de reuniões; Plano de Reversão
2. Disponibilizar um treinamento para toda a equipe de acordo Esta atividade deve prever quais passos, se possível, devem
o plano de execução de mudanças; e ser aplicados para que mudança retorne ao seu estado de ori-
3. Execução da nova gestão de mudanças em estado experimen- gem, ou seja, em uma situação limite onde o procedimento deve
tal com uma parte da equipe até chegar à maturidade suficiente ser abortado, o que se deve fazer para minimizar os impactos
para que toda a equipe esteja alinhada com o gerenciamento e “voltar” na situação pré-mudança.
de mudanças.
Estimativa de Custos Operacionais
A Tabela 2 apresenta o cronograma de atividades de implan- A estimativa de custo tem como objetivo mensurar quais
tação do Gerenciamento de Mudanças na empresa estudada. custos diretos está envolvido na mudança e os ganhos finan-
Para executar cada solicitação de mudanças é necessário ceiros, se existirem.
seguir os prazos do fluxo de atividades que compõem a ter-
ceira fase. Classificação dos Resultados
A implantação irá ocorrer em três fases, onde o término Quanto aos resultados, o gerenciamento da mudança pode
de uma é o início da outra. Na terceira fase a execução das ser classificada em:
mudanças irá acontecer em estado experimental durante um • Sucesso: Quando a mudança foi bem sucedida, ou seja, o
tempo pré-determinado. objetivo proposto foi alcançado dentro do tempo planejado.

52 Engenharia de Software Magazine - ITIL: Como implantar o gerenciamento de mudanças


en gen haria

• Impacto: Quando a mudança foi realizada, no entanto, ultra- discutidas com mais detalhes. Estando a mudança acordada
passou o tempo planejado, causando impacto para o mesmo. na reunião, será buscada a aprovação formal dos coordena-
• Falha: Quando a mudança não pôde ser concluída devido dores. Essa aprovação significa que a mudança foi negociada
a algum problema durante sua execução e que a mudança foi e autorizada, sendo assim cabe ao Coordenador de Mudanças
abortada, porém dentro da janela acordada com o cliente. da empresa que será o gerente de Projetos que também é o
gerente de TI, aprovar somente as mudanças requisitadas
Prevenção pelos analistas e/ou outros solicitantes e ao Coordenador
As prevenções que seguem são fundamentais para a definição Geral da empresa que será o gerente geral, sinalizar que a
do escopo do Processo Gerência de Mudanças: mudança foi negociada.
• Cabe ao Solicitante da mudança fazer seu planejamento
técnico. Mudanças Emergenciais
• Quando um pedido de mudança é feito, todas as informações Desde que sejam registradas adequadamente e negociadas
técnicas e de planejamento devem ser acompanhadas desde com a Gerência de Mudanças, mudanças de emergência
o início do pedido. poderão ocorrer a qualquer momento, passando antes por
• O processo de Gerência de Mudanças não possui envolvi- uma triagem onde deverá ser comunicado e esclarecido o
mento direto com a fase de implementação da mudança, porém motivo da emergência, cabendo ao coordenador avaliar a real
deverá monitorá-la e registrar sua implementação necessidade.
As responsabilidades do setor responsável pelas mudanças
Aprovação: Processo e responsável são:
Durante a Reunião de mudanças, todas as mudanças • Coordenar todas as mudanças solicitadas;
apresentadas serão aprovadas ou não pelo grupo técnico • Garantir a existência de planos de retorno para as mudan-
participante da reunião. Se não houver o consenso do grupo ças;
para sua aprovação, essa mudança será levada para outra reu- • Em caso de falhas, garantir a implementação do plano de
nião mais técnica e específica (mudança crítica), onde serão retorno para as mudanças executadas pela empresa;

Edição 69 - Engenharia de Software Magazine 53


• Aprovar ou rejeitar as mudanças apresentadas que tenham de mudança, fazendo com que a equipe da área de TI adote
impacto no negócio, custo ou afetem o ambiente de TI da um novo comportamento. Assim, a governança de TI serve
empresa; para controlar os objetivos da área de tecnologia, alinhar as
• Identificar e informar as mudanças e apresentar as informa- estratégias, definir expectativas e medidas de desempenho,
ções necessárias para o seu perfeito entendimento; viabilizando e gerenciando recursos, definindo prioridades,
• Detalhar o cronograma e o planejamento das mudanças; direcionando as atividades de TI e gerenciando riscos.
• Produzir toda a documentação necessária para a mudança; Para uma implementação eficaz de ITIL, não basta conhecer
• Cancelar ou reprogramar as mudanças quando necessário, as melhores práticas, especialmente no que se refere aos
justificando motivo da ação; benefícios de longo prazo para o negócio e o alcance de uma
• Avaliar os impactos das mudanças planejadas junto aos soli- situação de excelência dentro da organização de TI. Ideal-
citantes e representantes técnicos das várias áreas envolvidas, mente, uma implementação de ITIL com sucesso significa
garantindo que todos estejam cientes e em concordância com que as pessoas da organização assimilaram na sua cultura,
a mudança; os processos e procedimentos da ITIL. O fundamental é
• Executar as mudanças conforme o cronograma e atividades que a adoção da ITIL permitirá a adoção de uma cultura
definidas pelo solicitante das mudanças; de melhoria contínua de qualidade dos serviços prestados
• Fornecer informações sobre qualquer problema ocorrido pela área de TI que, no mínimo, garantirá a manutenção
durante a execução das mudanças; dos ganhos já obtidos.
• Interagir com o “Solicitante” para garantir que o requeri-
mento de mudança foi atendido, informando-lhe o status final
e os detalhes da execução;
Referências e Links:
Investimento de Implantação
A implantação da metodologia na empresa não terá muitos [1] MAGALHAES, Ivan Luizio; PINHEIRO, Walfrido Brito. Gerenciamento de
investimentos financeiros, somente o de implementação e Serviços de TI na Prática: Uma abordagem com base na ITIL. São Paulo.
documentação. Os funcionários que irão atuar diretamente na Novatec, 2007.
implantação da mudança terão que realizar cursos de certifi- [2] MANSUR, Ricardo. Governança de TI. 2004
cação ITIL. Esses cursos podem ser feitos online. A empresa http://www.profissionaisdetecnologia.com.br/modules. php?name=News&file=art
pode comprar apenas um pacote de cursos que tem um custo icle&sid=63
aproximado de R$ 600,00 e colocar os funcionários para realizar
Para mais informações sobre o ITIL
os cursos numa sala usando um Datashow, assim, o gasto será
http://www.itil-officialsite.com/
menor. Caso a empresa queira que os funcionários envolvidos
tenham a certificação ITIL, terá um gasto de aproximadamente Key Performance Indicators
R$370,00 para cada diploma, ou seja, por cada funcionário que http://management.about.com/cs/generalmanagement/a/keyperfindic.htm
realizar a prova de certificação.
Observando a grande dificuldade de obtenção de ferramentas
e informações para melhor gerir uma organização da área de Você gostou deste artigo?
TI, observa-se a grande importância de se ter um mecanismo
eficaz para gerenciar e auxiliar os processos de tomada de
Dê seu voto em www.devmedia.com.br/esmag/feedback
decisão.
A implementação dos processos baseados na ITIL está re- Ajude-nos a manter a qualidade da revista!
lacionada diretamente a um profundo e extenso programa

54 Engenharia de Software Magazine - ITIL: Como implantar o gerenciamento de mudanças


Desenvolvimento
Nesta seção você encontra artigos voltados para diferentes
abordagens de apoio ao desenvolvimento de projetos de software

Boas práticas de programação

Fique por dentro:


Este artigo apresenta um conjunto de boas prá-
ticas de programação com o objetivo de mostrar
como pequenas modificações podem ajudar no
dia a dia dos programadores e profissionais de
TI. As boas práticas aqui apresentadas podem
ajudar no desenvolvimento profissional daque-

A
vida de um programador não les que trabalham envolvidos em atividades de
é fácil. A tecnologia é algo programação.
que não para de evoluir e a
cada dia surge uma forma diferente de
escrever um código. A carreira de um • Eficiente: código que faz o que é
profissional de informática é algo de sua proposto;
responsabilidade. O código produzido • Sem duplicidade: não faz o que outra
por esse profissional também é de sua parte do código já faz;
responsabilidade. Um bom código não • Elegante: porque é diferente dos outros
é somente aquele que é funcional, mas códigos;
também aquele que não tem valores • Feito com cuidado: quem fez teve preo-
exorbitantes para ser mantido. A maior cupação em produzir aquele código.
parte dos programadores não gostam de
alterar códigos mal escritos. Isso é algo Antes de falarmos sobre como fazer
que traz muita frustração e muitas vezes para atingir esse nível de qualidade,
um retrabalho desnecessário. vamos falar um pouco sobre testes.
Leandro Tavares Siciliano
ltsiciliano@gmail.com Clean Code Importância dos testes
Formado em Análise de Sistemas UNESA com Um código limpo deve ser: Construir um software não é somente
MBA na UFRJ. Experiência de 17 anos de mer-
• Simples: código fácil de entender; escrever código e vê-lo funcionar, é você
cado. Atualmente atuando como desenvolvedor
desenvolvedor Java e Lotus Notes. Certificações: • Direto: vai direto ao ponto, não dá saber que aquele código será manutení-
Certified Lotus Professional e Scrum Master. “voltas” para atingir seu objetivo; vel e que outras pessoas vão alterá-lo.

Edição 69 - Engenharia de Software Magazine 55


Para isso, teste é fundamental! Você tem que ser responsável
Listagem 2. Exemplo de declaração considerando boas práticas
por aquilo que escreve e saber que seu sistema tem que con-
tinuar funcionando. Neste contexto, temos a primeira dica public class NotaFiscal {
sobre um código limpo: “Toda linha que você escrever deve estar
private Date dataCompra;
testada e ponto final !” private Date dataVencimento;
Muitas empresas veem testes como gastos maiores no pro- private boolean isDataVencimentoMaiorDataCompra(){
jeto, o que de fato acontece, porém a qualidade do software
return dataCompra.after(dataVencimento);
produzido é algo significante. Quando não se produz teste
automatizado, a quantidade de testes manuais são maiores e }
muitas vezes o custo desses testes também é maior.
//getters e setters
}
Nomes significativos
Métodos, nomes de variáveis e etc. devem possuir nomes que
significam alguma coisa em relação ao seu objetivo. Os nomes Evite notação húngara
utilizados devem responder todas as questões a seguir: A notação Húngara visa facilitar o reconhecimento do tipo
• Porque existem? de variável em um programa colocando em seu nome um su-
• O que fazem? fixo descrevendo seu tipo (ver Listagem 3). Entretanto, com o
• Como são usadas? advento de novas linguagens, técnicas mostradas aqui e testes
automatizados, a notação húngara se mostra desnecessária.
Vamos imaginar que um sistema de um motor de um carro Existe uma certa tendência para a criação de classes e méto-
tenha um método com o nome de “run” ao invés de “acelerar”. dos menores de modo que as pessoas possam ver onde cada
Se você pegar um código com esse nome você terá que estudar variável que estão usando foi declarada. Além disso, os testes
todo o método para saber o que ele faz. indicam os tipos e maneiras de usar, validando o comporta-
Algo muito comum encontrado nos códigos é o tipo de de- mento esperado do método.
claração apresentado na Listagem 1.
Se um nome de classe, método ou atributo requer um comen- Listagem 3. Exemplo de uso de notação húngara
tário, ele não está revelando sua real intenção.
public class Pessoa {

private String nomeString;


Listagem 1. Exemplo de declaração
// Não existe aqui a necessidade de se colocar a palavra ‘String’,
public class NotaFiscal { // pode-se somente ficar ‘nome’
private Date d1;//Data da compra //getters e setters
private Date d2;//Data de vencimento }
private boolean validaDatas(){

//Valida se data do vencimento é maior que a data de compra


Classes e métodos
Nome de classes devem ser substantivos e não conter verbos.
if(d1.after(d2))){
Já nomes de métodos devem conter verbos, pois eles indicam
return true; ações.
} A regra para métodos é: “A primeira regra dos métodos é que
return false; eles devem ser pequenos. A segunda regra é que eles devem
} ser menores ainda.”
//getters e setters
Métodos e classes menores são mais fáceis de ler e entender,
}
além de manter é claro. Segundo o livro, podemos considerar
as seguintes métricas:
• Métodos <= 20 linhas;
Quando colocamos uma linha em nosso código com um co- • Linha <= 100 caracteres;
mentário ao lado não estamos dando o nome correto ao atributo • Classe = 200 a 500 linhas.
ou método. O código quando bem escrito deve ser algo que
seja de fácil leitura, algo que uma pessoa leiga conseguiria ao Claro que toda regra tem sua exceção. Se você tem uma clas-
menos saber o que o mesmo faz. Os nomes utilizados devem se que vai precisar de mais linhas, um método que também
ser pronunciáveis, algo que você entenda. precise de mais linhas, isso não é um problema.
Observe no exemplo da Listagem 2 como essa prática torna “Métodos e funções devem fazer somente uma coisa, fazê-la
o código mais fácil de ser entendido. certa e somente fazê-la”.

56 Engenharia de Software Magazine - Boas práticas de programação


desen volvimento

Poderíamos analisar essa frase como um princípio da coesão com vários comentários que não serviam para nada e, pior,
no seu código. Muitas vezes não é fácil saber se aquele método confundiam. Se um método ou uma classe estiver bem escrito,
está fazendo somente uma coisa. Uma dica para isso é: você a importância do comentário é minimizada.
deve tentar extrair parte do seu código para um método, se
você conseguir é porque aquele seu método realmente não
Listagem 5. Métodos com objetivos mal definidos
está tendo uma função apenas.
Imagine que você tenha um método onde quiséssemos mos- public boolean verificarSenha(String senha){
if(senha.equals(“zzz”)){
trar os detalhes de um usuário:
Session.initialize();
return true;
private void mostrarDadosUsuario(Usuario usuario){ }
return false;
mostrarCabecalhoUsuario();
}
System.out.print(“Nome: “, usuario.getNome());
S ystem.out.print(“Sobrenome: “, usuario.getSobrenome()); Listagem 6. Ajuste do objetivo do método
}
if(verificaSenha(“zzz”){
Session.initialize();
Neste exemplo, as linhas do System.out.print são os detalhes }
do usuário. Mas será que isso não ficaria melhor escrito se
public boolean verificarSenha(String senha){
estivesse de acordo com o código da Listagem 4?
if(senha.equals(“zzz”)){
return true;
Listagem 4. Separando métodos }
return false;
private void mostrarDadosUsuario(Usuario usuario){ }
mostrarCabecalhoUsuario();
mostrarDetalhesUsuario();
}

private void mostrarDetalhesUsuario{


Outro ponto importante, um comentário não irá esconder
um código ruim. Observe o exemplo a seguir:
System.out.print(“Nome: “, usuario.getNome());
System.out.print(“Sobrenome: “, usuario.getSobrenome());
Date d1;
}
Esse código já está ruim, de nada adianta mudarmos para:

Se um dia você quiser apenas listar os dados de um usuário Date d1; //dia da semana
ficará mais fácil. Agora temos os métodos separados. Essa
prática também é um bom exemplo do tipo de refatoração Esse comentário não irá se propagar para todo o código e sem-
chamada “Extract Method”. pre que você se deparar com uma linha como “d1.after(d2);”
Um outro item que deve ser observado é a quantidade de pa- você vai continuar não entendendo o propósito do código.
râmetros de um método. Você deve ter uma justificativa muito Podemos tentar colocar uma regra nisso. Muitas vezes quan-
boa para ter uma quantidade tão grande de parâmetros em um do se comenta um código, pode ser que o mesmo precise ser
método. Um agravante de um método com vários parâmetros refatorado. Lembra dos exemplos anteriores onde “d1” passou
é a dificuldade de se testar uma vez que você deverá testar a ser “dataCompra”? Com essa mudança seu código pode ser
todas as combinações possíveis. entendido por todos e se fizermos essa refatoração o código
Outra situação a que você deve estar atento é com um método passa a não precisar mais de comentário.
que informa que irá fazer uma determinada ação e faz outra. Observe agora o exemplo a seguir:
Observe a Listagem 5.
O objetivo do método é verificar a senha, porém, se a //Verifica se o usuário tem direito ao benefício
senha estiver correta o mesmo inicia uma sessão, ou seja, if(usuario.getIdade() > 10 && usuario.getIdade() < 20){
o método já não tem a coesão esperada, pois possui duas ….
responsabilidades. }
Uma solução melhor para esse cenário pode ser observada
na Listagem 6. Observe agora o exemplo ajustado na Listagem 7.
Note que tiramos o comentário, melhoramos o código e o
Comentários nos códigos tornamos mais legível. Agora a leitura do código é suficiente
Comentários, apesar de importantes, podem trazer desin- para saber o que ele realmente faz.
formação. Por que podemos afirmar isso? Alguém conhece Outro tipo de comentário que deve ser evitado é apresentado
programadores que atualizam comentários? Há vários códigos no exemplo a seguir:

Edição 69 - Engenharia de Software Magazine 57


private boolean isUsuarioTemDireitoAoBeneficio(Usuario usuario){ código que vai demandar um tempo de processamento alto
if(usuario.getIdade() > 10 && usuario.getIdade() < 20){ ou a disponibilidade de um recurso. Nesses casos, comen-
return true; //Retorna verdadeiro
}
tários acabam sendo úteis. Algumas vezes também não se
return false; //Retorna falso consegue colocar um nome em um método que explique o
} porquê o desenvolvedor tomou aquela decisão.

Listagem 7. Eliminando o comentário do código Formatação


“Formatação é importante, pois se trata de comunicação.”
if(isUsuarioTemDireitoAoBeneficio(usuario)){
….
Temos que considerar que o código é a maneira que a equipe
} de desenvolvimento vai se comunicar. Uma pessoa não gostaria
de receber uma carta cifrada onde tivesse que interpretar o que
private boolean isUsuarioTemDireitoAoBeneficio(Usuario usuario){
if(usuario.getIdade() > 10 && usuario.getIdade() < 20){
está escrito nela, podemos pensar assim na hora de escrever
return true; um código.
} Outra ponto importante é que se você pega um código
return false;
}
bem estruturado, você vai querer mantê-lo bem estruturado.
É ruim para qualquer desenvolvedor ter acesso a um código
sem formatação, sem endentação e ter que fazer sua leitura
O return do método é lógico, não há necessidade de indicar como se fosse um texto sem qualquer pontuação.
o que o mesmo está retornando. Além disso, métodos com conceitos relacionados devem ficar
Em relação a comentários, podemos dizer que: “Qualquer verticalmente próximos e a ordem dos métodos deve criar um
comentário que faça você olhar para outras partes do seu código para fluxo de leitura melhorando a legibilidade do código.
entendê-lo não valem os bits que consomem.” Uma boa endentação é fundamental, mas não podemos ter
Por outro lado, existem momentos em que o comentário muitos níveis. Observe como o trecho a seguir poderia se tornar
é importante. Digamos que você tenha um trecho em seu confuso caso a lógica implementada fosse complexa:

58 Engenharia de Software Magazine - Boas práticas de programação


desen volvimento

if(a>1){ Os testes devem considerar as características F.I.R.S.T:


if(b>1){ • *F (Fast): deve ser rápido. Testes demorados tiram a motivação
if(c>1){
if(z>1){
dos profissionais responsáveis por sua execução;
… • *I (Independent): não podem depender um do outro pois se
} um falha o outro vai falhar também;
}
}
• *R (Reapetable): executando mais de uma vez eles devem
} retornar sempre o mesmo resultado;
• *S (Self-Validating): devem se autovalidar;
Tratamento de erros • *T (Timely): devem ser feitos antes do código.
“Quando estamos programando devemos tratar os possíveis
erros que nossa aplicação poderá lançar, as coisas podem dar Refatoração
errado e temos que estar certos que nosso código fará o que Escrever um bom código muitas vezes pode não parecer uma
deve fazer.” missão tão simples. Considere o trecho de código a seguir:
Tratamento de erro é de responsabilidade do desenvolvedor.
É preciso garantir que o código vai ter um tratamento para private boolean isStringVazia(String texto){
    if (!StringUtils.isNullOrEmpty(texto) && !texto.equals(“”)) {
cada situação. Prefira lançar uma exception ao invés de retornar         //...
um código de erro. Estes retornos desorganizam a chamada do    }
método e pode-se facilmente esquecer de verificá-los. }

Dentro do seu método você já pode ver o erro que está sendo
retornado e tratá-lo ali. Defina o fluxo do método separando Concorda que o “!texto.equals(“”)” não serve para nada? Se fi-
as regras de negócio de erros ou outras situações. Para seus zermos a refatoração a seguir obteremos o mesmo resultado:
erros, crie mensagens informativas mencionando a operação
que falhou e o tipo de falha. private boolean isStringVazia(String texto){
    if (!StringUtils.isNullOrEmpty(texto)) {
Procure utilizar exceptions para situações inesperadas, por         //...
exemplo: seu código está lendo um arquivo e a rede se tornou   }
indisponível. }

TDD Agora, digamos que ainda assim estivéssemos com receio


TDD nada mais é que o desenvolvimento guiado por testes. de fazer essa refatoração. Neste caso, a presença de um sim-
As três regras do TDD são: ples teste unitário poderia eliminar a dúvida referente ao
• Você não pode escrever um código até que tenha criado um fato da funcionalidade continuar desempenhando seu papel
teste falhando; corretamente.
• Você não pode escrever mais teste do que seja suficiente A refatoração é uma das melhores práticas para melhorarmos
para falhar; nosso código. Seu código pode ser eficaz, ou seja, fazer o que
• Você não pode escrever mais código do que o suficiente para se deseja, mas também pode ser eficiente, fazer o que se deseja
passar no teste que está falhando. da melhor maneira possível.

Assim, se você tiver que testar se um CPF é válido, por exem- Você gostou deste artigo?
plo, você deve criar alguns testes tais como:
• se o CPF for em branco; Dê seu voto em www.devmedia.com.br/esmag/feedback
• se o CPF estiver com menos caracteres. Ajude-nos a manter a qualidade da revista!

Edição 69 - Engenharia de Software Magazine 59


60 Engenharia de Software Magazine - Boas práticas de programação

Você também pode gostar