Escolar Documentos
Profissional Documentos
Cultura Documentos
r/esti
Acesse nosso site e conheça todos os nossos programas: www.infnet.edu.br/esti
TURMAS
NO RIO DE
JANEIRO
www.infnet.edu.br - cursos@infnet.edu.br - Central de Atendimento: (21) 2122-8800
O
propósito da qualidade é estabelecer um diferencial competi-
tivo, através de contribuições como redução de defeitos, redu-
ção de custos, redução de retrabalho e aumento da produtivi-
dade, entre outras. Existem diversas iniciativas para garantia da qualida-
de de produtos e processos nas empresas. Nesta edição, a Engenharia
Ano 2 - 21ª Edição - 2010 Impresso no Brasil de Software Magazine destaca duas delas:
• CMMI, (Capability Maturity Model Integration), um modelo de ma-
turidade mundialmente conhecido, usado para criar uma infraestrutu-
Corpo Editorial ra de processos organizacionais, abordando domínios específicos, tais
como software e engenharia de sistemas.
Colaboradores
Rodrigo Oliveira Spínola • Seis Sigma, uma metodologia criada pela Motorola, caracterizada por
rodrigo@sqlmagazine.com.br uma abordagem sistêmica e utilização intensiva do pensamento esta-
Marco Antônio Pereira Araújo tístico, que visa a redução de defeitos nos produtos para 3,4 defeitos
Eduardo Oliveira Spínola por milhões de oportunidades (Seis Sigma) por meio da otimização de
Capa produtos e processos.
Romulo Araujo - romulo@devmedia.com.br Neste contexto, temos como capa desta edição um artigo que fornece
a compreensão necessária das relações entre as iniciativas e propor a
Diagramação
Janete Feitosa utilização do Seis Sigma na melhoria da qualidade de software para a
obtenção dos níveis de maturidade 4 e 5 do CMMI.
Coordenação Geral Além desta matéria, esta edição traz mais cinco artigos:
Daniella Costa - daniella@devmedia.com.br
• Colaboração em Processos de Aquisição de Software
Revisor e Supervisor • Customização e Integração de Ferramentas Open-Source
Thiago Vincenzo - thiago.v.ciancio@devmedia.com.br
• Organização Fábrica de Experiência
Na Web • Métricas de Software
www.devmedia.com.br/esmag
• Integração contínua com Hudson, Maven2, TestNG e Subversion
Apoio
O
propósito da qualidade é esta- O objetivo deste artigo é fornecer a
belecer um diferencial compe- compreensão necessária das relações
titivo, através de contribuições entre as iniciativas e propor a utilização
como redução de defeitos, redução de do Seis Sigma na melhoria da qualidade
Luiz Fernando da Silva Fiel custos, redução de retrabalho e aumento de software para a obtenção dos níveis
Bacharel em Ciência da Computação pelo da produtividade, entre outras. de maturidade 4 e 5 do CMMI.
Centro Universitário Metodista Bennett.
Existem diversas iniciativas para
garantia da qualidade de produtos e Introdução
processos nas empresas. Para este artigo,
selecionamos duas: Motivação
Ana Nathalie de Mello Rodrigues • CMMI, (Capability Maturity Model Em meados dos anos 80, influenciado
Estagiária na área de Governança de TI da
Wilson, Sons. Bacharel em Ciência da Com- Integration), um modelo de maturidade pela introdução crescente de técnicas
putação pelo Centro Universitário Metodis- mundialmente conhecido, usado para industriais japonesas nas fábricas bra-
ta Bennett. Técnica em Processamento de criar uma infraestrutura de processos sileiras, o conceito de melhoria da qua-
Dados pela FAETEC. organizacionais, abordando domínios lidade ganhou destaque. Foi o auge do
específicos, tais como software e enge- impacto nipônico na indústria nacional,
Marcelo Nascimento Costa nharia de sistemas. impulsionado por visita de técnicos bra-
mnc@kalisoftware.com
• Seis Sigma, uma metodologia criada sileiros ao Japão em missões especiais e
Diretor de Tecnologia da Kali Software.
Mestre em Engenharia de Sistemas e pela Motorola, caracterizada por uma pelo sucesso das ferramentas japonesas
Computação pela COPPE/UFRJ. Bacharel abordagem sistêmica e utilização inten- de administração da qualidade.
em Ciência da Computação pela UFPA. siva do pensamento estatístico, que visa O desenvolvimento de novas técnicas
Especialista em CMMI, tendo participado a redução de defeitos nos produtos para de produção e a adaptação de proce-
de diversas implementações e avaliações
3,4 defeitos por milhões de oportunida- dimentos criados, sobretudo no Japão,
deste modelo. Professor do curso de Ciên-
cia da Computação do Centro Universitário des (Seis Sigma) por meio da otimização foram experiências marcantes no perío-
Metodista Bennett. de produtos e processos. do, caracterizado também pelo advento
seus veículos atendendo às necessidades dos clientes que a prever o comportamento do processo, o que permitiria uma ação
procuravam, e como era um produto para poucos, não havia proativa, evitando novas ocorrências. A facilidade de utilização
dois carros iguais. do gráfico foi um dos aspectos que ajudou na sua difusão, pois
Em 1750, durante a Revolução Industrial, surgiram as era uma ferramenta visual, que podia ser preenchida no am-
primeiras máquinas projetadas para obter grande volume biente de trabalho, com os parâmetros estatísticos do processo
de produção e uma nova forma de organização do trabalho já sintetizados (CARVALHO; PALADINI, 2005).
permitiu alcançar a produção em massa. Nessa nova ordem Geralmente, o gráfico de controle é utilizado na detecção de
produtiva, a customização foi substituída pela padronização alterações inusitadas de uma ou mais características de um
e a produção em larga escala. processo ou produto. Em outras palavras, é uma ferramenta
A linha de montagem era o modelo ideal para a produção estatística que alerta para a presença de causas especiais gran-
em massa. O trabalho foi fragmentado e os trabalhadores des na linha de produção. Existem diversos tipos de gráficos
tinham domínio apenas de uma pequena fração do trabalho. de controle e cada um deles é melhor aplicável a determinadas
O trabalhador não fazia mais parte das etapas de concepção e situações. Normalmente, todos os tipos de gráficos de controle
planejamento e surgiu a função do inspetor, responsável pela seguem a estrutura da Figura 1.
qualidade dos produtos.
No período de 1908 a 1927, a Ford tinha apenas um carro na
linha de montagem, o modelo Ford T ou Ford Bigode, como era
conhecido. Tinha uma única cor, a preta. De qualquer forma, 15
milhões de unidades foram vendidas. O carro passou a ser um
produto acessível à classe trabalhadora, mudando o conceito
dessa indústria, que investiu em capacidade para atender à
demanda, que era maior que a oferta. Como um veículo ainda
diferia bastante de outro produzido sob o mesmo projeto, a
Ford investiu na intercambialidade das peças e na facilidade
de ajustes, adotando um sistema padronizado de medida para
todas as peças. O modelo de linha de montagem se difundiu
em outros industriais, e para garantir a intercambialidade das
peças, tornou-se importante investir no desenvolvimento de
áreas com a metrologia, sistema de medidas e especificações.
O foco da qualidade ainda era a inspeção, mas já existiam Figura 1. Gráfico de controle em formato conceitual (Fonte: Adaptação
elementos que mostravam o que viria a ser o conceito de qua- (CARVALHO; PALADINI, 2005))
lidade que priorizava uma abordagem voltada à produção e
à conformidade. O gráfico consiste na plotagem de três linhas e os pontos que
representam as médias de pequenas amostras (chamados sub-
Gestão da Qualidade grupos racionais), cada qual de tamanho n (= 1, 4, 9, 16, 1000, por
Existem algumas pessoas que são consideradas como Gu- exemplo), de mensurações periódicas de alguma característica
rus da Qualidade. Eles foram alguns teóricos que ajudaram importante de um processo (peso, cumprimento, volume etc.),
a construir a área de qualidade e tiveram um papel especial ou o número ou porcentagem de peças defeituosas ou número
para merecer a denominação. Alguns dos Gurus mais citados de defeitos. As três linhas representam dois limites de controle,
são: Walter A. Shewhart, W. Edwards Deming, Joseph M. Ju- um superior (LCS) e outro inferior (LCI), e uma linha no meio
ran, Armand Feigenbaum, Philip B. Crosby, Kaoru Ishikawa que é a média da variável ou o alvo da característica.
e Genichi Taguchi. Tradicionalmente, as linhas de controle ficam numa distância
Em 1924, Walter A. Shewhart fez o conceito de controle da de três desvios-padrão da média ou do alvo do processo. Os
qualidade dar um novo salto, criando os gráficos de contro- limites definem uma área razoavelmente grande que vai evitar
le. Com essa ferramenta, Shewhart fundiu os conceitos de alarmes falsos. O desvio-padrão utilizado é o desvio-padrão
estatística em um método gráfico de fácil utilização no chão das médias (erro-padrão); teoricamente, é o desvio-padrão da
de fábrica e os aplicou à realidade produtiva da empresa de população dividido pela raiz quadrada do tamanho da amos-
telefonia Bell Telephone Laboratories. tra - σ/√n. Em termos estatísticos, os dois limites de controle
A ferramenta proposta analisava os resultados das inspeções, definem um intervalo de confiança com nível de confiança de
que até aquele momento eram utilizadas apenas para a segrega- 99,73%. Esse número significa que um alarme falso pode ocor-
ção dos produtos com defeito, por meio de gráficos de controle, rer uma vez em 370 subgrupos. Se forem tiradas 16 amostras
que permitiam facilmente distinguir entre as causas de variação por dia numa fábrica, o alarme falso iria ocorrer apenas uma
comuns ao processo e aquelas causas especiais, que deveriam ser vez a cada 23 dias, um preço muito razoável, considerando-se
investigadas. Com a análise desses resultados à luz dos conceitos o grande valor relacionado aos gráficos de controle (CARVA-
estatísticos era possível sair de uma postura reativa e entender e LHO; PALADINI, 2005).
A
8 Conclusão Recapitular todo o método de solução do problema para trabalhos futuros.
A partir da Figura 3, que mostra o conceito de Após uma evolução, o TQC viria a se tornar o TQM (Gestão de Qualidade
gestão da qualidade, e das inter-relações mostradas, Total ou Total Quality Management). Esse termo surgiu em 1980.
o que poderia definir a “qualidade total”? A ideia central do TQM é que a qualidade esteja presente na função de
De acordo com a ISO 8402: 1994, pode ser defini- gerenciamento organizacional, em uma tentativa de ampliar seu foco,
da como o “modo de gestão de uma organização, não se limitando às atividades inerentes ao controle (CARVALHO; PA-
centrado na qualidade, baseado na participação LADINI, 2005).
de todos os membros, visando ao sucesso a longo Desde seu surgimento até meados da década de 1990, diversos estudos
prazo, por meio da satisfação do cliente e dos be- indicaram elementos que são considerados como fatores críticos que
nefícios para todos os membros da organização e devem estar presentes no TQM. São eles:
sociedade”. • Liderança e apoio da alta direção;
A origem da qualidade total remonta à década de • Relacionamento com os clientes;
1950. Armand Feigenbaum foi o primeiro a tratar a • Gestão da força de trabalho;
qualidade de forma sistêmica nas organizações, for- • Relação com os fornecedores;
mulando o sistema de Controle da Qualidade Total • Gestão por processos;
(TQC – Total Quality Control) em seu livro. • Projeto de produto;
Essa origem desencadeou o conceito do que viria • Fatos e dados da qualidade.
a tornar-se duas correntes similares, porém diferen-
ciadas, do TQC: a visão japonesa, conhecida como Modelos de Excelência
CWQC (Company-wide Quality Control – que no A qualidade total é bastante ampla, envolvendo diversas áreas fun-
Brasil foi traduzido para Qualidade por Toda a Em- cionais das organizações, mas também diferentes conceitos, que vão
presa ou Controle da Qualidade Amplo Empresarial) desde a liderança até os meios de controle nos processos produtivos.
e a visão norte-americana do TQC. Uma evolução no conceito da qualidade total veio com a necessidade de
O CWQC surgiu no Japão no final de década de 60. incorporar os diversos interesses dos stakeholders (partes interessadas) de
Kaoru Ishikawa teve importante papel no CWQC,
contribuindo para sua formulação. Em alguns livros,
os autores traduzem o TQC japonês da seguinte
forma: o compromisso para a qualidade total, enal-
tecendo o envolvimento e comprometimento dos
funcionários com essa prática, aliado ao apoio da
alta direção da empresa.
Outro ponto central do CWQC é o gerenciamento
pelas diretrizes, que direciona o foco organizacional
às metas da organização por meio do desdobramen-
to dessas metas e do envolvimento e autonomia dos
funcionários na gestão das atividades diárias da
organização.
No TQC americano existe outro foco, que Feigen-
baum define como um sistema eficaz para integrar a
manutenção da qualidade e os esforços de melhoria
da qualidade dos vários grupos na organização, de
modo a possibilitar a produção em níveis mais eco-
nômicos, permitindo alcançar a completa satisfação
dos clientes.
Mesmo existindo diferenças entre as linhas de
pensamento japonesa e americana, sobre o que
vem a ser o TQC, na essência, o conceito é bastante
similar. No Japão acontece um maior envolvimento
e comprometimento dos funcionários nas atividades
da gestão da qualidade e nos Estados Unidos existe
muita ênfase à aplicação de métodos e técnicas asso-
ciadas à qualidade. Outro ponto é que nos Estados
Unidos a maior preocupação é com a detecção dos
problemas e segregação dos produtos com defeitos
e no Japão, as empresas desenvolvem processos
capazes de detectar e evitar os problemas.
nacional, com participação no processo. Como resultado, em Os oito Critérios de Excelência se subdividem em 24 Itens,
11 de outubro de 1991 foi instituída a FPNQ (Fundação para conforme o ilustrado na Figura 5.
o Prêmio Nacional da Qualidade), que mudou de nome em
2005 e passou a se chamar Fundação Nacional da Qualidade. Programa de Qualidade 8S
Ela é formada por organizações públicas e privadas para ad- Em maio de 1950, o Centro de Educação para a Qualidade no
ministrar o PNQ. Japão, com a equipe do Dr. Kaoru Ishikawa, criou um modelo
A estrutura dos critérios de avaliação segue um enfoque prático para o combate às causas de perdas e desperdícios. O mo-
sistêmico, que deve ser trabalhado na forma de estratégias e delo foi nomeado de Regra dos 5S, que é formado pelas palavras
planos de ação da empresa (Figura 4). japonesas Seiri, Seiton, Seiso, Seiketsu e Shitsuke. Estas palavras
Os oito Critérios de Excelência referem-se a: podem ser traduzidas para o português, sem perderem o sentido,
1. Liderança da seguinte forma: Utilização, Ordenação, Limpeza, Bem-Estar
2. Estratégias e Planos e Autodisciplina.
3. Clientes No Japão, existem empresas que já acrescentaram mais 3S aos
4. Sociedade cinco já existentes. São eles: Shikari Yaro (Determinação e União),
5. Informações e Conhecimento Shido (Treinamento), Setsuyaku (Economia e Combate aos Des-
6. Pessoas perdícios). Dessa forma, o 5S passa a ser o Programa 8S, que é
7. Processos uma metodologia que promove a mudança de comportamento de
8. Resultados dirigentes e funcionários, que passam a formar um grupo unido
com visão de sobrevivência e continuidade dos negócios, princi-
palmente através das sugestões de melhorias dos funcionários.
O Programa 8S depende totalmente da ação das pessoas (Figura
6); assim sendo, três fatores são fundamentais para a educação,
treinamento e mudança de comportamento: motivação, liderança,
e comunicação (ABRANTES, 2001).
No final da década de 1980, surgiu o programa de Gestão da
Qualidade, na Motorola, chamado Seis Sigma que será detalhado
e estudado ainda neste artigo.
CMMI
Esta seção tem por objetivo introduzir o conceito de CMMI,
Figura 4. Modelo de excelência do PNQ (Fonte: (FNQ, 2009)). expondo como o modelo surgiu, quais são seus propósitos,
Em 1987, foi lançado um ambicioso programa por Bob Gal- Figura 14. Situação das Ações na GE (1965-2004) (Fonte: (FINANCE, 2009))
vin visando a redução de defeitos nos produtos para “seis
sigma” ou 3,4 defeitos por milhões de oportunidades, tendo Em 2002, a Motorola ganhou novamente o MBNQA e
como meta o ano de 1991 e como pilar o modelo Seis Sigma milhares de empresas ao redor do mundo adotaram o Seis
(FERNANDES, 2008). Sigma como uma maneira de fazer negócios, ou seja, seu foco
O modelo ajudou a Motorola a obter excelentes resultados em se alargou para além da melhoria da qualidade em produ-
sua organização, documentando mais de 16 bilhões de dólares tos. Um dos idealizadores deste programa, Michel Harry,
define o Seis Sigma como uma estratégia que não deve Sigma procura melhorias que agreguem valor para o cliente
estar encapsulada na área de qualidade, devendo espalhar e também pode ser aplicado para problemas localizados
seus “tentáculos” por toda a organização, da manufatura e (FERNANDES, 2008).
engenharia à área de serviço. Existem algumas estratégias para se alcançar uma produção
Em 2004, a Motorola obteve receitas 42% maiores e um lucro com “zero erro”. PANDE, NEUMAN e CAVANAGH (2001)
por ação 257% maior do que no primeiro trimestre do ano fiscal afirmam que há três estratégias Seis Sigma. As estratégias são:
anterior com o uso do Seis Sigma em todos os seus processos (i) estratégia de melhoria de processo; (ii) estratégia de projeto/
(FERNANDES, 2008). reprojeto de processo; e, (iii) estratégia de gerenciamento de
processo. A melhoria de processo refere-se à estratégia de
Definição e Objetivos do Modelo desenvolver soluções com a finalidade de eliminar as causas-
Diferentemente de outros programas de qualidade, as empresas raiz dos problemas de desempenho de uma empresa, sem,
que utilizam o Seis Sigma divulgam cifras milionárias de ganhos no entanto, interferir na estrutura básica do processo. Na es-
obtidos com sua implementação. Desta maneira, podemos con- tratégia projeto/reprojeto de processo, o objetivo é substituir
cluir que o Seis Sigma é mais do que apenas um sistema de qua- uma parte ou todo o processo por um novo. Já na estratégia de
lidade como o TQM ou ISO. É uma maneira de fazer negócios. gerenciamento de processo, as exigências do cliente são claras
Geoff Tennant descreve em seu livro Six Sigma: SPC and TQM e regularmente atualizadas, os processos são documentados
in Manufacturing and Services (TENNANT, 2001): “Seis Sigma é e gerenciados com medições em todas as suas etapas. Nesta
muitas coisas e talvez fosse mais fácil listar todas as coisas que última estratégia, os gestores também usam as medições e o co-
a qualidade Seis Sigma não é. Seis Sigma pode ser visto como: nhecimento do processo para avaliar os seus desempenhos.
uma visão; uma filosofia; um símbolo; uma métrica; um objeti- A Figura 15 resume alguns métodos importantes do pro-
vo; uma metodologia”. (ISIXSIGMA, 2009a). A estas descrições grama Seis Sigma.
pode-se acrescentar ainda: uma estratégia organizacional, um
modelo de gestão, um conjunto de ferramentas estatísticas ou um
método de comparação (benchmarking) – 3,4 defeitos por milhão
de oportunidades.
É comum encontrar diferentes, embora convergentes, definições
sobre o que é Seis Sigma.
Para VASQUES (2006) da ISD Brasil (Integrated System
Diagnostics Brasil), a definição mais completa e íntegra seria:
“Metodologia de grande rigor analítico, baseada em projetos de
melhorias de processos de negócio onde utilizamos um conjunto
preestabelecido de ferramentas (tipicamente estatísticas) que
direciona a organização para uma mudança cultural profunda
(filosofia), buscando sempre altos resultados financeiros e intenso
foco nos clientes”.
Segundo CARVALHO e PALADINI (2005), o modelo de Gestão
Figura 15. Métodos e ferramentas essenciais do programa Seis Sigma
da Qualidade Seis Sigma é uma estratégia gerencial disciplinada,
(Fonte: Adaptação (PANDE; NEUMAN; CAVANAGH, 2001))
caracterizada por uma abordagem sistêmica e pela utilização
intensiva do pensamento estatístico, que tem por objetivo reduzir Um programa Seis Sigma tem como requisitos:
drasticamente a variabilidade dos processos críticos e aumentar a • Alinhar o esforço Seis Sigma aos objetivos do negócio;
lucratividade das empresas, por meio da otimização de produtos • Forte patrocínio da administração;
e processos, buscando satisfação de clientes e consumidores. • Focalizar em resultados de curto prazo;
Os objetivos do Seis Sigma variam de acordo com os objetivos • I mpla nt a r u ma nova for ma de ad m i n i st ração
da melhoria, conforme a lista a seguir: duradoura;
• Redução de custos; • Tornar a aprendizagem uma tarefa contínua;
• Melhoria da produtividade; • Selecionar os projetos corretos;
• Crescimento de fatia de mercado; • Ênfase em treinamento e capacitação de recursos
• Retenção de clientes; humanos;
• Redução de tempo de ciclo; • Definir claramente papéis e responsabilidades;
• Redução de defeitos; • Forte liderança para a mudança.
• Mudança cultural para a qualidade;
• Excelência no desenvolvimento de produtos e serviços. O programa Seis Sigma foi batizado com o nome da letra
grega sigma (σ), que representa o desvio-padrão em notação
Ao contrário do “Total Quality Management – TQM”, que estatística, já evidenciando a grande ênfase na utilização
pretendia melhorar a qualidade de toda a organização, o Seis destas ferramentas. O uso sistemático de ferramentas
Figura 16. Descrição dos passos do modelo DMAIC (Fonte: Adaptação (SMIDT & PARTNERS, 2005; PDP net, 2008))
Nesta metodologia existem ferramentas que podem reduzir nos processos de infraestrutura, em especial gerenciamento
custos e melhorar a qualidade, mas principalmente adicionar de incidentes, gerenciamento de problemas, gerenciamento da
valor ao produto por meio de inovações e do atendimento das disponibilidade e central de serviços.
reais necessidades dos clientes. Como a qualidade do produto/ O Seis Sigma também pode ser utilizado em questões de
processo é projetada, e não melhorada, o DFSS é o programa apoio ao CIO, como no caso de elaboração de orçamento,
apontado como a única forma de atingir o nível Seis Sigma controle de custos, etc.
na qualidade. Para isso, é adotada a metodologia DMADV Na área de TI, pode ser aplicado em processos de desenvolvi-
(definição, medição, análise, projeto e verificação) que também mento de software, principalmente em fábricas de programas e
possui cinco fases bem definidas: manutenção de sistemas, onde há maior quantidade de projetos
• Definir (Define): identifica-se o que será projetado e os e um maior índice de repetição dos mesmos.
objetivos a serem alcançados;
• Medir (Measure): entendimento das necessidades e expec- Mapeamento entre Seis Sigma e CMMI Níveis 4 e 5
tativas dos clientes relativas ao produto ou serviço que está Este tópico tem o objetivo de apresentar a aplicação do Seis
sendo criado. São definidas as características críticas para a Sigma na melhoria dos processos de qualidade de software,
qualidade (CTQ) do projeto, que serão os objetivos do novo através do mapeamento de suas atividades com as práticas
processo; definidas nos níveis de maturidade 4 e 5 do CMMI.
• Analisar (Analyze): escolher a melhor solução entre as possí-
veis alternativas de desenho, visando atender as necessidades Qualidade de Software
dos clientes; Há algumas décadas, no desenvolvimento de software, nave-
• Projeto (Design): será desenvolvido o design de alto nível gar pelo código e corrigir problemas era uma prática comum
(descrição do conceito de produto/serviço escolhido, mapas entre os desenvolvedores. Assim eram feitos os testes para
do processo e arranjo das instalações) para todos os elementos verificação de erros e a busca pela qualidade. Foi através dos
apropriados, como: produto/serviço, processo, informação, testes que as organizações começaram a prestar mais atenção
instalações, equipamentos, e materiais/suprimentos; na importância da qualidade do software. Apesar disso, no
• Verificação (Verify): testar e validar o projeto. A equipe irá final da década de 1950, o teste ainda era encarado como
monitorar o desempenho das CTQs do produto ou serviço por uma atividade que ocorreria somente no final do processo de
meio das cartas de controle. (CARVALHO; PALADINI, 2005) desenvolvimento.
Nas décadas seguintes (1960 e 1970), a Engenharia de Softwa-
Aplicabilidade do Modelo re passou a ser adotada pelas universidades e organizações.
O modelo pode ser aplicado para projetos de melhoria de Isso ajudou o processo de desenvolvimento de software a ter
processos, gerenciamento do processo e para projetos de uma abordagem mais profunda. Glenford J. Myers, em 1979,
novos processos. produziu um dos primeiros trabalhos sobre um processo de
Na área de segurança da informação, há um campo vasto para teste, no qual afirmou que realizar testes com o objetivo de
identificar melhorias nos processos de segurança, assim como provar a boa funcionalidade de um projeto é errôneo, pois toda
existem três, das cinco práticas específicas (SP), que pode- SP 1.5 Estabelecer Modelos de Desempenho de Processo
mos relacionar com o DMAIC. Resume-se em estabelecer e manter os modelos de desem-
penho de processo para o conjunto de processos padrão da
SP 1.1 Selecionar Processos organização. Os modelos de desempenho de processo são
Consiste em selecionar os processos ou subprocessos usados para estimar ou prever os valores de uma medida de
no conjunto de processos padrão organização que serão desempenho de processo a partir de valores de medições de
incluídos nas análises de desempenho do processo. Não se outros processos, produtos e serviços. Neste caso, o próprio
aplica ao Seis Sigma, pois o mesmo parte do princípio de seis sigma (6σ) é o valor modelo, obtido através do cálculo do
que tudo é um processo, e, portanto tudo deve ser medido nível sigma.
e analisado.
Gestão Quantitativa do Projeto (QPM)
SP 1.2 Estabelecer Medidas de Desempenho de Processo A área de processo (PA) “Gestão Quantitativa do Projeto
Atua no estabelecimento e manutenção das definições das (QPM)” (Tabela 8) está englobada no nível 4 de maturidade e
medidas que serão incluídas nas análises de desempenho de possui duas metas específicas (SG): Gerenciar o Projeto Quan-
processo da organização. No Seis Sigma há um conjunto de titativamente, onde o projeto é gerenciado quantitativamente
atividades que satisfazem esta meta específica, através da a partir do uso dos objetivos de qualidade e de desempenho
seleção das medidas apropriadas para fornecer visibilidade de processo; e a SG Gerenciar Estatisticamente o Desempenho
da qualidade e desempenho de processo da organização; o de Subprocessos, na qual o desempenho de subprocessos
desenvolvimento do plano de coleta dos dados e da validação selecionados no processo definido do projeto é gerenciado
do sistema de medição que permite verificar se as medidas estatisticamente.
estabelecidas estão sendo úteis. A primeira meta contempla as seguintes práticas específicas
(SP):
SP 1.3 Estabelecer Objetivos de Qualidade e de Desempe-
nho de Processo SP 1.1 Estabelecer os Objetivos do Projeto
Consiste em estabelecer e manter objetivos quantitativos de Consiste em estabelecer e manter os objetivos de qualidade
qualidade e de desempenho de processo para a organização. e de desempenho de processo do projeto. O Seis Sigma atende
No Seis Sigma, as atividades descritas na Tabela 7 se comple- a esta prática através do termo de abertura do projeto que é
mentam para atingir a definição de tais objetivos. gerado na atividade “Desenvolver a declaração do problema,
objetivos e benefícios” na fase de Definição.
SP 1.4 Estabelecer Baselines de Desempenho de Processo
O Seis Sigma atende a esta prática a partir da coleta e análise SP 1.2 Compor o Processo Definido
das medidas para estabelecer a distribuição e o intervalo de Consiste em selecionar os subprocessos que compõem o
resultados que caracterizam o desempenho esperado para processo definido do projeto com bases históricas de estabili-
os processos, gerando os índices de capacidade através dos dade e de dados de capacidade. Não há atividade equivalente
cálculos estatísticos. no Seis Sigma.
SP 1.1 Estabelecer os Objetivos do Projeto DEFINE Desenvolver a declaração do problema, objetivos e benefícios
MEASURE
SP 2.3 Monitorar o Desempenho dos Subprocessos Selecionados Determinar capacidade do processo e Baseline Sigma
ANALYZE Identificar fontes de variação
SP 2.4 Registrar Dados de Gerenciamento Estatístico --- ---
SP 1.3 Selecionar os Subprocessos que serão Gerenciados selecionados. Três passos do Seis Sigma podem ser utilizados:
Estatisticamente “Definir defeitos, oportunidades, unidades e métricas” que
Consiste em selecionar os subprocessos e identificar o proces- fornece as definições das medidas a serem usadas no geren-
so e os atributos de produto a serem medidos e controlados. ciamento estatístico; “Desenvolver plano de coleta de dados”
As práticas específicas SP 1.2 e SP 1.3 não possuem etapas que documenta as definições operacionais das medidas, suas
correspondentes, pois, conforme mencionado anteriormente, coleções de pontos e como a integridade das medidas será
o Seis Sigma executa a gerência quantitativa em todos os pro- determinada; e “Validar o sistema de medição” que permite
cessos incluindo, assim, todos os respectivos subprocessos. a atualização das medidas e técnicas de análise estatística
quando necessário.
SP 1.4 Gerenciar o Desempenho do Projeto
É realizado o monitoramento do projeto para determinar se SP 2.2 Aplicar Métodos Estatísticos para Compreender a
os objetivos de qualidade e de desempenho de processo do Variação
projeto serão satisfeitos e identificar ações corretivas quando Consiste em estabelecer e manter um entendimento da va-
apropriado. No Seis Sigma, é executado um conjunto de 6 riação dos subprocessos selecionados usando as medidas e as
passos de monitoramento de desempenho do processo, citados técnicas analíticas selecionadas.
na Tabela 8. O entendimento da variação é conseguido, em parte,
A segunda meta desta PA contempla as seguintes práticas coletando e analisando as medidas de processo e de produ-
específicas: to de forma que as causas especiais de variação possam ser
identificadas e endereçadas para atingir desempenhos previ-
SP 2.1 Selecionar Medidas e Técnicas Analíticas síveis. Desta forma, utilizam-se os passos Seis Sigma “Coletar
Consiste em selecionar as medidas e as técnicas analíticas a dados”, “Identificar fontes de variação” e “Determinar a(s)
serem usadas no gerenciamento estatístico dos subprocessos causa(s) raiz(es)”.
SG 1 Selecionar melhorias
Práticas Específicas - CMMI Passos do Seis Sigma
SP 1.4 Selecionar Melhorias para Implantação IMPROVE Validar melhorias em potencial de estudos-piloto
SG 2 Implementar Melhorias
Práticas Específicas - CMMI Passos do Seis Sigma
Definir defeitos, oportunidade, unidade e métricas
SP 2.1 Planejar a Implantação MEASURE Mapa detalhado do processo e áreas adequadas
Desenvolver plano de coleta de dados
Realizar projetos experimentais
Desenvolver potenciais soluções
IMPROVE
SP 2.2 Gerenciar a Implantação Definir tolerâncias operacionais do sistema em potencial
de potenciais soluções, são analisadas as todas as propostas SP 2.3 Medir os Efeitos de Melhorias
de melhoria, incluindo as inovadoras. Estabelece a medição dos efeitos das melhorias de proces-
so e tecnologia implantadas. Após medir custos, esforço,
SP 1.3 Melhorias Piloto cronogramas reais, valor das melhorias, progresso da
Implantação de melhorias de processo e tecnologia através de qualidade e desempenho, acontece o armazenamento das
um piloto para selecionar aquelas a serem implementadas. Pi- medidas no repositório da organização. Os passos do Seis
lotos são realizados para avaliar mudanças novas importantes, Sigma que podem ser utilizados na fase de melhoria são:
sendo implantadas de forma abrangente, quando apropriado. O validar melhorias em potencial de estudos-piloto, corrigir/
Seis Sigma realiza esta implantação piloto através dos projetos reavaliar o potencial da solução. E na fase de controle:
experimentais na fase de melhoria, criando soluções para os determinar capacidade do processo, verificar benefícios,
pilotos que apresentam os melhores resultados. redução/economia de custos, crescimento do lucro.
SP 1.4 Selecionar Melhorias para Implantação Análise de Causa e Solução de Problemas (CAR)
Nesta prática, ocorre a seleção de melhorias de processo e de A área de processo (PA) “Análise de Causa e Solução de
tecnologia para implantação na organização. O levantamento Problemas (CAR)” (Tabela 10) está incluída no nível 5 de
é baseado nos critérios quantificáveis derivados dos objetivos maturidade e possui duas metas específicas (SG): Deter-
de qualidade e de desempenho de processo da organização. minar Causas de Defeitos, onde as causas de defeitos e de
No Seis Sigma, está relacionada com a validação de melhorias outros problemas são sistematicamente determinadas; e a
em potencial de estudos-piloto, da fase de melhoria. SG Tratar as Causas dos Defeitos, na qual as causas raiz
A segunda meta desta PA contempla as seguintes práticas dos defeitos e de outros problemas são tratadas de forma
específicas: sistemática para prevenir suas ocorrências futuras.
A primeira meta contempla as seguintes práticas es-
SP 2.1 Planejar a Implantação pecíficas (SP):
Estabelece e mantém os planos de implantação das melho-
rias de processo e de tecnologia selecionadas. No Seis Sigma, SP 1.1 Selecionar Dados de Defeitos para Análise
alguns passos podem ser utilizados: o “Definir defeitos, Seleciona os defeitos e outros problemas para análise. Na
oportunidade, unidade e métricas” estabelece medidas e fase Medir do Seis Sigma, realiza-se a definição de defei-
objetivos para determinar o valor de cada melhoria de pro- tos, oportunidades, unidades e métricas que reúne dados
cesso e de tecnologia com relação aos objetivos de qualidade de defeitos ou de problemas relevantes; há o desenvolvi-
e de desempenho de processo; obter o “Mapa detalhado do mento do plano de coleta de dados para fazer relatórios e
processo e áreas adequadas” auxilia no entendimento do medições de problemas relevantes; e por último a coleta
processo e na identificação de estratégias para endereçar de dados para determinar e selecionar defeitos.
potenciais barreiras na implantação de cada melhoria de
processo e de tecnologia; e “Desenvolver plano de coleta de SP 1.2 Analisar Causas
dados” para agregar o uso de dados quantitativos na orien- Realiza a análise de causas de defeitos selecionados e
tação da implantação. de outros problemas e propõe ações para tratá-los. O Seis
Sigma utiliza o passo “Determinar a(s) causa(s) raiz(es)”
SP 2.2 Gerenciar a Implantação para conduzir as análises nas reuniões e o passo “Identi-
Realiza o gerenciamento da implantação das melhorias de pro- ficar fontes de variação” para analisar os defeitos e outros
cesso e de tecnologia selecionadas. Nesta prática, o planejamento problemas para determinar soluções. Ambos os passos
pode ser quantificado em relação aos objetivos de negócio da são da fase de Análise.
organização. Duas fases do Seis Sigma podem ser utilizadas: A segunda meta desta PA contempla as seguintes prá-
• A fase de Medição, através dos passos: “Realizar projetos ticas específicas:
experimentais”, para implantação das melhorias de forma
controlada e disciplinada; “Desenvolver potenciais soluções”, SP 2.1 Implementar Propostas de Ação
para identificar ações corretivas, caso a habilidade dos pro- Implementa as propostas de ação selecionadas que fo-
cessos definidos em atingir os objetivos de qualidade e de ram elaboradas na análise de causa. As propostas descre-
desempenho de processo seja afetada negativamente pela vem as tarefas necessárias para remover as causas raízes
melhoria de processo; “Definir tolerâncias operacionais do dos defeitos ou dos problemas analisados e evitar suas
sistema em potencial” que pode ser utilizada para determinar recorrências. Durante a implementação as informações
a habilidade dos processos; e tarefas podem fazer parte do passo de desenvolver o
• A fase de Controle, que define e valida o acompanhamento e plano de transferência (handoff para o proprietário do
controle do sistema para documentar e revisar os resultados de processo), da fase controlar no Seis Sigma, contribuindo
implantação, identificando lições aprendidas, novas propostas para que os experimentos sejam conduzidos de forma
e melhorias de processo. transparente.
SP 2.2 Avaliar os Efeitos das Mudanças O Atlântico desenvolve projetos de tecnologia da informação
Avalia os efeitos das mudanças no desempenho do processo na linha de software, hardware e sistemas, para clientes de
após a sua implementação modificada no projeto. O efeito deve diversos segmentos de mercado, gerando soluções em Compu-
ser verificado para reunir evidências de que essa mudança tação Móvel, Integração de Sistemas, TV Digital, Aplicações Fi-
está corrigindo o problema e melhorando o desempenho. Três nanceiras, Web, Sistemas para Redes, Automação, Engenharia de
passos da fase de melhoria do Seis Sigma podem ser utiliza- Telecom, Hardware e Sistemas Embarcados. Estas soluções são
dos: “Avaliar modos de falha de soluções em potencial” que desenvolvidas em J2EE, J2ME e. NET (ATLANTICO, 2009b).
determina a influência das mudanças no desempenho, “Va-
lidar melhorias em potencial de estudos-piloto” que valida a Qualidade como Ferramenta Estratégica
eficiência da melhoria e, por fim, “Verificar redução/economia Desde o início de suas operações, o Atlântico coloca em práti-
de custos, crescimento do lucro”. ca a ideia de que o investimento em um amplo sistema de qua-
lidade é a forma mais eficiente de se gerar bons resultados.
SP 2.3 Registrar Dados Em 2005, a empresa conquistou a certificação ISO 9001:2000.
Faz o registro dos dados de análise de causa e resolução para Em fevereiro de 2006 o Atlântico foi avaliado como CMMI
uso no projeto e na organização, que pode ser usado para fazer Nível 3, sendo a primeira organização Norte/Nordeste com
mudanças de processo apropriadas e alcançar resultados simi- esse nível de maturidade. Em 2009, a qualidade atingiu seu
lares. No Seis Sigma, o passo de controle que fecha o projeto e auge com a avaliação CMMI nível 5, que apoiados em filoso-
finaliza a documentação é responsável por fazer os registros fias de trabalho como Six Sigma, RUP, PMBoK, Agile e MSF
de todo material. (ATLANTICO, 2009c).
A Figura 20 apresenta um breve histórico das certificações
Estudo de Caso obtidas pela empresa, acompanhado das filosofias de quali-
Neste tópico é apresentado um exemplo de utilização do dades utilizadas.
Seis Sigma para o alcance do nível 5 de maturidade do CMMI,
realizado pelo Instituto Atlântico.
A Empresa
Fundado em 2001 pelo CPqD, (Centro de Pesquisa de Desen-
volvimento em Telecomunicações do Brasil), o Atlântico atua
em P&D/Inovação, Projetos de Desenvolvimento e Consulto-
ria, atendendo principalmente à Indústria, Governo e Setor
Financeiro. Suas unidades em Fortaleza-CE, Sobral-CE e São
Figura 20. Histórico de Certificações e Filosofias de Qualidade (Fonte:
Paulo-SP agregam mais de 290 profissionais. Adaptação (ATLÂNTICO, 2009c))
• Acompanhamento dos projetos DMAIC Figura 23. Atendimento ao Prazo (Fonte: (ATLÂNTICO, 2009a))
• Tra nsição das mel horias e ga n hos obt idos para a
“produção” “É o grande diferencial: a organização vai sempre executar os seus pro-
cessos de forma melhor, mais otimizada, mais eficiente e eficaz. O controle
Fase 3 – Avaliação da Estratégia estatístico é um pré-requisito para fazer essa melhoria dos processos. A
• Acompanhamento das melhorias e ganhos obtidos partir desse controle se sabe qual o desempenho e se executam as ações
• Avaliação independente dos resultados dos projetos DMAIC para melhorar – tudo baseado em controle estatístico”.
s
Dê
das iniciativas selecionadas e suas ligações. Este artigo A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e
abordou os aspectos comuns existentes entre o Seis Sigma Para isso, precisamos saber o que você, leitor, acha da revista!
e o CMMI de modo que a sinergia entre ambos possa ser
s
ta
Dê seu voto sobre este artigo, através do link: edição
percebida. www.devmedia.com.br/esmag/feedback
Referências Bibliográficas
ABRANTES,José.Programa 8S:da alta administração à linha de produção:o que fazer para aumentar o lucro?: FNQ – FUNDAÇÃO NACIONAL DA QUALIDADE. Critérios de Excelência 2009 - Avaliação e Diagnóstico
a base da filosofia Seis Sigma.Rio de Janeiro: Interciência, 2001. da Gestão Organizacional. Disponível em: http://www.fnq.org.br/Portals/_FNQ/Documents/web_
CriteriosExcelencia2009_mais_recente.pdf.Acessado em: 22/09/2009.
ASQ 2009a – American Society for Quality.Organization-Wide Approaches.Disponível em: http://www.asq.
org/learn-about-quality/six-sigma/overview/belts-executives-champions.html.Acessado em: 01/11/2009. GRUPO WERKEMA - Six Sigma Consultores, Werkema Editora e Ousar Comunicação Estratégica. Dúvidas
frequentes sobre o Seis Sigma. Disponível em: http://www.werkemaconsultores.com/inside.php?ident=8.
ASQ 2009b – American Society for Quality.Six Sigma Black Belt Certification – CSSBB.Disponível em: http:// Acessado em: 05/11/2009.
www.asq.org/certification/six-sigma/index.html.Acessado em: 09/11/2009.
ISIXSIGMA 2009a – Six Sigma Quality Resources for Achieving Six Sigma Results. The History of Six Sigma.
ASQ 2009c – American Society for Quality.Six Sigma Green Belt Certification – CSSBB.Disponível em:http:// Disponível em: http://www.isixsigma.com/library/content/ c020815a.asp .Acessado em: 05/11/2009.
www.asq.org/certification/six-sigma-green-belt/index.html.Acessado em: 08/11/2009.
ISIXSIGMA 2009b – Six Sigma Quality Resources for Achieving Six Sigma Results. Six Sigma DMAIC Roadmap.
ATLANTICO 2009a – Instituto Atlântico. Utilização do Six Sigma para o alcance do nível 5 de maturidade do Disponível em: http://www.isixsigma.com/library/ content/c020617a.asp.Acessado em: 11/12/2009.
CMMI. Disponível em: http://www.atlantico.com.br/ sites/default/files/biblioteca/utilizacao-do-six-sigma-
para-o-alcance-do-nivel-5-de-maturidade-do-cmmi.pdf.Acessado em: 09/12/2009. MOTOROLA – Website da Motorola Brasil. Linha do Tempo. Disponível em: http://www.motorola.com/
content.jsp?globalObjectId=485-914#top.Acessado em: 05/10/2009.
ATLANTICO 2009b – Website do Instituto Atlântico. Quem Somos. Disponível em: http://www.
institutoatlantico.com.br/quem-somos.Acessado em: 09/12/2009. PANDE, P. S.; NEUMAN, R. P.; CAVANAGH, R. R. Estratégia seis sigma: como a GE, a Motorola e outras grandes
empresas estão aguçando seu desempenho.Rio de Janeiro: Qualitymark, 2001.
ATLANTICO 2009c – Website do Instituto Atlântico. Quem Somos - Qualidade. Disponível em: http://www.
institutoatlantico.com.br/quem-somos/qualidade.Acessado em: 09/12/2009. PDP Net – Ambiente de Compartilhamento de Conhecimentos em Desenvolvimento de Produtos. Roteiro
DMAIC. Disponível em: http://www.pdp.org.br/ModeloLivroWeb/modelo/met_ferram/seissigma/
ATLANTICO 2009d – Website do Instituto Atlântico. Notícias – Instituto Atlântico conquista CMMI Nível 5. fm6sigma_rot1.htm.Acessado em: 12/11/2009.
Disponível em: (http://www.institutoatlantico.com.br/ noticias/instituto-atl%C3%A2ntico-conquista-
cmmi-n%C3%ADvel-5) Acessado em: 09/12/2009. PROFITABILITY Engineers. Six Sigma Green Belt. Disponível em: http://www.profitability.pt/conteudos.
aspx?cat=30&catMae=26.Acessado em: 06/11/2009.
BARTIÉ, Alexandre. Garantia da Qualidade de Software: Adquirindo maturidade organizacional. Rio de
Janeiro: Elsevier, 2002. ROCHA, Hélio. Simples Soluções Desenvolvimento Organizacional Ltda. Programa 8S – Promovendo
a Qualidade de Vida. Disponível em: http://www.simplessolucoes.com.br/blog/wp-content/
CARVALHO, Marly Monteiro de, PALADINI, Edson Pacheco.Gestão da Qualidade:Teoria e Casos.Rio de Janeiro: uploads/2009/04/programa-8s-rev02.pdf.Acessado em 05/10/2009.
Elsevier, 2005.
SEI. Performance Results of CMMI - Based Process Improvement (TECHNICAL REPORT CMU/SEI-2006-TR-
CITS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE. CMMI (CAPABILITY MATURITY MODEL 004, ESC-TR-2006-004). Software Engineering Institute, Carnegie Mellon University, 2006. Disponível em:
INTEGRATION).Disponível em: http://www.cits.br/cmmi.do.Acessado em 24/09/2009. http://www.sei.cmu.edu/publications/documents/06.reports/06tr004.html.Acessado em 23/09/2009.
CMMI Product Development Team. CMMI for Development, Version 1.2 (CMU/SEI-2006-TR-008, ESC-TR- SEI. Relationships Between CMMI and Six Sigma (TECHNICAL NOTE CMU/SEI-2005-TN-005). Software
2006-008).Software Engineering Institute, Carnegie Mellon University, 2006. Engineering Institute, Carnegie Mellon University, 2005. Disponível em: http://www.sei.cmu.edu/
reports/05tn005.pdf.Acessado em 02/12/2009.
EFQM – European Foundation for Quality Management.The EFQM Excellence Model. Disponível em: http://
ww1.efqm.org/en/Home/aboutEFQM/Ourmodels/TheEFQMExcellenceModel/tabid/170/Default.aspx. SMIDT & PARTNERS. The phase model for problem solving is named DMAIC. Disponível em: http://smidt-
Acessado em: 24/09/2009. partners.dk/six-sigma_uk/dmaic.html.Acessado em: 12/11/2009.
FERNANDES, Aguinaldo Aragon. Implantando a governança de TI: da estratégia à gestão dos processos e SSPJ - SECRETARIA DA SEGURANÇA PÚBLICA DO ESTADO DE GOIÁS. Ferramentas da Qualidade. Disponível
serviços. 2.ed. Rio de Janeiro: Brasport, 2008. em: http://www.sspj.go.gov.br/policia-comunitaria/aulas-do-curso/gestao-qualidade/material-de-apoio.
doc.Acessado em: 21/09/2009.
FINANCE,Yahoo. GE Interactive Charts. Disponível em: http://finance.yahoo.com/echarts?s=GE#chart2:sym
bol=ge;range=19650104,20040101;indicator=volume+mfi;charttype=line;crosshair=on;ohlcvalues=0 TENNANT, Geoff.SIX SIGMA: SPC and TQM in Manufacturing and Services.Gower Publishing Ltd, 2001.
;logscale=on;source=undefined.Acessado em: 11/11/2009.
AMIGO
...só pra lembrar,
Existem coisas sua assinatura pode
estar acabando!
que não
conseguimos
ficar sem!
Renove Já!
www.devmedia.com.br/renovacao
Para mais informações:
www.devmedia.com.br/central
O
rganizações que tenham neces- de software. Ele identifica suas principais ques-
sidades de adquirir software tões e também algumas ferramentas para apoio
e serviços relacionados se de- ao trabalho colaborativo no contexto descrito.
param frequentemente com problemas
inerentes ao trabalho colaborativo, que Para que serve?
se caracteriza pelo trabalho através da O objetivo deste artigo é apresentar os problemas
João Condack interação entre diversos indivíduos. Os específicos relacionado à colaboração em proces-
condack@primeup.com.br desafios e problemas de interação não sos de aquisição de software e indicar algumas das
Mestre em Informática e Engenheiro de possuem uma solução simples, como um possíveis soluções para estes.
Computação pela PUC-Rio. Coordenador de
produto único disponível no mercado,
Instituição Implementadora MPS.Br. Rea-
lizou consultoria empresas como Furnas, e não podem ser tratados somente por Em que situação o tema é útil?
Smart Solutions e Banco Itaú. Também é meio de ferramentas. Os desafios podem O tema é útil para organizações que adqui-
instrutor de cursos na área de processos de envolver desde a integração de pessoas rem softwares produzidos por terceiros e que
software pela PrimeUp e pela CCE/PUC-Rio com perfis profissionais diferentes até desejam melhorar seu processo de aquisição,
atendendo organizações como Caixa Econô-
as dificuldades de identificação das com o fim de torná-lo eficiente e eficaz.
mica Federal, Firjan, Petrobrás entre outras.
necessidades de aquisição, dado que
Rafael Vieira cada stakeholder tem sua própria visão
rafael.vieira@primeup.com.br
e abordagem. Para ilustrar a situação • O gerenciamento do contrato, o qual
Bacharel em Sistemas de Informação pela
PUC-Rio. Foi analista de sistemas em pro- considere o seguinte cenário: poderia ser verificado, ou mesmo rene-
jetos junto organizações tais como: IBGE, • Equipes de departamentos jurídico e gociado, a cada nova versão do sistema
M4U e MP-RJ. Instrutor do Programa de técnico discutindo questões legais sobre com o cliente.
Residência em Desenvolvimento de Sof- contratos de software;
tware do LES/PUC-Rio. Também atuou no
• Analistas de requisitos discutindo e O objeto da aquisição definido pelo
projeto e desenvolvimento de framework
para aplicações colaborativas visando obtendo aprovação de requisitos, junto Guia de Aquisição do MPS.BR é “o pro-
apoio aquisição de software. aos usuários; duto de software propriamente dito, bem
como serviços tipicamente relacionados ao desenvolvimento, Nestas fases, as atividades apresentadas na Tabela 1 são
implantação, suporte à operação e manutenção do software.” O executadas.
processo de aquisição trata das atividades relacionadas à con-
Guia de Aquisição – Atividades Tarefas
tratação deste objeto, com o fim de criar e manter uma relação
Estabelecer a necessidade
entre cliente e fornecedor em que expectativas de incorporação
Definir os requisitos
e entrega de sistemas sejam atendidas. Esse processo pode ser
Preparação da aquisição Revisar requisitos
descrito através de quatro fases:
Desenvolver uma estratégia de aquisição
1. preparação da aquisição
Definir os critérios de seleção de fornecedores
2. seleção do fornecedor
Avaliar a capacidade dos fornecedores
3. monitoração do fornecedor
Seleção do fornecedor Selecionar o fornecedor
4. aceitação pelo cliente
Preparar e negociar um contrato
Estabelecer e manter comunicações
O problema
Trocar informação sobre o progresso técnico
Para atender novas demandas organizacionais por tecnologia
Inspecionar o desenvolvimento com o fornecedor
de informação, pode ser necessário: Monitoração do fornecedor
Monitorar a aquisição
• Desenvolver novos sistemas no lugar dos que já existem;
Obter acordo quanto às alterações
• Desenvolver sistemas que reutilizem os que já existem ou
Acompanhar problemas
realizar serviços para sua manutenção;
Definir critérios de aceitação
• Contratar outra empresa que realize as atividades mencio-
Avaliar o produto entregue
nadas acima; Aceitação pelo cliente
Manter conformidade com o contrato
• Adquirir sistemas gratuitos que atendam às necessidades.
Aceitar o S&SC
Tabela 1. Fases e tarefas do Guia de Aquisição do MPS.BR
Caso a decisão tomada seja por contratar o desenvolvimento,
será necessário, em linhas gerais: definir as necessidades que o Neste processo, diversos papéis são desempenhados,
sistema atenderá; selecionar o fornecedor; criar um ou mais con- entre os quais os mais evidentes são o do cliente e o do
tratos, formalmente ou informalmente definido, dependendo fornecedor. Representando o cliente, outros papéis po-
do nível de cerimônia combinado com o contratante; estabelecer dem ser identificados, como, por exemplo, analistas de
meios de comunicação com o fornecedor e acompanhar o cum- requisitos, pessoal técnico, usuários ou responsáveis pelo
primento do contrato; e, por fim, aceitar ou não o sistema. projeto. Representando o fornecedor, também podem ser
Esse processo poderia se repetir diversas vezes. Por conta identificados gerentes de projetos, analistas de requisitos,
disso, surgem questões indagando se a forma de trabalho au- arquitetos ou representantes comerciais.
xiliou na integração e na comunicação entre os interessados no É importante destacar que, diferentemente de processos
projeto, ou se o conhecimento adquirido, que poderia ser útil convencionais de desenvolvimento de software, há um
para novas aquisições, foi registrado adequadamente. foco muito maior no cliente e no gerenciamento de suas
interações com o fornecedor. Segundo o trabalho de Fuks,
O Guia de Aquisição do MPS.BR e a Colaboração “um grupo também tem mais capacidade de gerar alterna-
O Guia de Aquisição do MPS.BR é um modelo de referên- tivas, levantar as vantagens e desvantagens de cada uma,
cia para processos de aquisição de software. Ele define que selecionar as viáveis e tomar decisões”. Ou seja, por um
esses processos são constituídos de atividades, as quais são lado essa diversidade de papéis pode apresentar desafios,
executadas em fases específicas e possuem produtos como mas também possui um potencial positivo para a melhoria
pré-condições ou pós-condições. Essas fases são: da análise e geração de soluções mais adequadas ao que
1. Preparação da aquisição: trata da definição de necessidades, é necessário.
requisitos de software, metas e critérios de aceitação do software a Dessa forma, a natureza colaborativa desse processo se
ser contratado, bem como a definição do plano da aquisição; aqui torna evidente, bem como toma contornos diferentes de
se busca entender as necessidades do sistema a ser adquirido; um processo de desenvolvimento. Sabendo disso, faz-se
2. Seleção do fornecedor: trata da preparação e negociação de necessário entender quais são as carências e oportunidades
contratos com fornecedores e avaliação e seleção destes; inerentes ao trabalho colaborativo, com o fim de maximi-
3. Monitoração do fornecedor: visa manter canais de comu- zar o efeito positivo das interações entre diversos agentes.
nicação com o fornecedor e acompanhar a aquisição propria- Fuks, em seu trabalho, propõe o modelo 3C, que classifica
mente dita, ou seja, se as entregas estão dentro dos critérios os sistemas colaborativos segundo três necessidades a
de aceitação definidos anteriormente; que estes devem atender: comunicação, coordenação e
4. Aceitação pelo cliente: realiza a aceitação final do produto cooperação. Ou seja, necessidades de compartilhamen-
desenvolvido, com base nos critérios definidos na preparação to de informações, delegação e sincronismo de tarefas
da aquisição; momento em que o sistema é integrado totalmen- e operação conjunta e benéfica, resumidamente. Mais
te à organização contratante. detalhadamente:
• Analistas de requisitos, entre outros envolvidos, discutindo antecedentes do projeto de aquisição). Ao final, um documento
sobre os requisitos com o apoio de protótipos em um quadro deve ser gerado e anexado.
branco, os quais poderiam passar por um fluxo de aprovação
(integração com um mecanismo de workflow), com possível Tarefa: Definir os requisitos
documentação do conhecimento de negócio obtido, no wiki; Ferramenta: Workflow
• O acompanhamento do cumprimento financeiro, fiscal e físi- • Apoio: Criação de uma solicitação “Definir os requisitos”
co do contrato é verificado a cada nova release, tendo um fluxo para acompanhamento da tarefa. Registros de evolução gera-
de aprovação definido na ferramenta de workflow integrada dos automaticamente a partir de atualizações em colaborações
à plataforma colaborativa. relacionadas a esta tarefa
• Apoio: Criação de uma solicitação “Pesquisa de Mercado”
A correlação entre processos de aquisição e para obter informações que substanciem os requisitos. Veri-
ferramentas colaborativas ficar possíveis fornecedores, outras empresas, e informações
Nesta seção vamos exemplificar mais detalhadamente como da própria organização.
o processo de aquisição pode ser associado às ferramentas cola-
borativas. O relacionamento se dá através do mapeamento entre Ferramenta: Blog
as tarefas do Guia de Aquisição do MPS.BR e as referidas ferra- • Apoio: Divulgar chamada de participantes para definição de
mentas. Este mapeamento, além de informar as partes associadas, estrutura dos requisitos;
também define como tal relacionamento ocorre, definindo como • Apoio: Divulgar chamada de participantes para definição
será o apoio da ferramenta específica sobre determinada tarefa. dos requisitos;
Para fins de síntese, consideraremos apenas as tarefas da • Apoio: Divulgar execução de pesquisa de mercado;
fase de Preparação da Aquisição, considerada estratégica para • Apoio: Divulgar chamada de participantes para definição
o processo como um todo. Resumiremos também o conjunto das restrições do projeto.
de ferramentas colaborativas às mais comumente encontradas.
Sendo assim temos: Ferramenta: Fórum
• Apoio: Discutir: Qual a estrutura de requisitos necessária?
Tarefa: Estabelecer a necessidade Buscar consenso sobre quais os tipos/categorias de requisitos
Ferramenta: Workflow esperados, presença ou não de Priorização, Restrições, Graus
• Apoio: Criação de uma solicitação “Estabelecer a necessida- de Aceitação, Restrições Legais etc...
de” para acompanhamento da tarefa. Registros de evolução • Apoio: Discutir: Quais são os requisitos desta aquisição? Definir
gerados automaticamente a partir de atualizações em colabo- quais requisitos atendem as necessidades desta aquisição. Forte-
rações relacionadas a esta tarefa. mente recomendado que sejam descritos em estrutura definida
tendo em mente como eles deverão futuramente ser aceitos.
Ferramenta: Blog • Apoio: Discussão sobre técnicas de requisitos documentadas
• Apoio: Divulgar chamada de participantes para os Fóruns e no wiki.
Enquetes desta tarefa.
Ferramenta: Enquetes
Ferramenta: Fórum • Apoio: As informações colhidas são suficientes para definir os
• Apoio: Discutir: Qual é o objetivo da aquisição? Quais são requisitos? Sim, A maior parte, A metade, A menor parte, Não
nossas necessidades e quais serão atendidas para o alcance do • Apoio: Os requisitos estão estruturados apropriadamente?
objetivo? Buscar consenso sobre as necessidades estratégicas Sim, A maior parte, A metade, Alguns apenas, Não
envolvidas na aquisição e qual o efetivo escopo das necessi- • Apoio: Os requisitos contemplam....das necessidades.: a)a
dades a serem contempladas pela aquisição. totalidade; b)parte definida; c)parte desconhecida;
• Apoio: Precisamos rever as necessidades e alterá-las?
Ferramenta: Enquetes Sim, Não
• Apoio: As necessidades estão levantadas apropriadamente? • Apoio: Sabemos como medir os requisitos para aceitá-los?
Sim, Não, Apenas parte relevante delas. Sim, A maior parte, A metade, Alguns apenas, Não
• Apoio: A aquisição atenderá.....das necessidades.: a)a totali- • Apoio: O projeto de aquisição deve: a) Seguir em frente c)
dade; b)parte definida; c)parte desconhecida; Aprofundar esta atividade c) Ser cancelado
• Apoio: O projeto de aquisição deve: a) Seguir em frente c) • Apoio: As técnicas de requisitos utilizadas foram adequadas?
Aprofundar esta atividade c) Ser cancelado Sim, Para a maior parte dos requisitos, Para a menor parte dos
requisitos, Não
Ferramenta: Wiki
• Apoio: Construção colaborativa da “análise da necessidade da Ferramenta: Wiki
aquisição”, pode ter como anexo documentos sobre a estratégia • Apoio: Construção colaborativa da “Especificação de requisi-
organizacional relacionada às necessidades (motivadores/ tos”, pode ter como anexo pesquisas de mercado, informações
de acompanhamento do projeto ganham importância maior. A A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e
cada nova versão disponível para homologação, o registro das Para isso, precisamos saber o que você, leitor, acha da revista!
s
ta
edição
funcionalidades entregues e testes realizados podem servir para Dê seu voto sobre este artigo, através do link:
a geração de relatórios de acompanhamento no servidor central.
www.devmedia.com.br/esmag/feedback
Esses relatórios, disponíveis para o cliente, o permite acompanhar
C
ompreendemos a gestão do co- qualidade e prazos – por meio da contribuição de
nhecimento como um processo experiências de projetos de software anteriores e da
George Leal Jamil contínuo onde uma organização gestão da informação e do conhecimento.
gljamil@gmail.com
orienta suas várias ações com base no co-
Possui graduação em Engenharia Elétrica pela
Universidade Federal de Minas Gerais (UFMG) nhecimento empresarial. Como tarefas Em que situação o tema é útil?
(1982), Mestrado em Ciência da Computação típicas temos a geração, valorização, re- Este modelo permite que as organizações de desen-
pela UFMG (1999) e doutorado em Ciência da gistro, compartilhamento e aplicação do volvimento retenham conhecimento dos projetos do
Informação pela UFMG (2005). Atualmente é conhecimento para planos e processos passado para melhorar as habilidades no desenvolvi-
professor adjunto da Fundação Mineira de Edu-
variados dentro da empresa. Os resulta- mento futuro, não permitindo que o conhecimento se
cação e Cultura - FUMEC/BH . Tem experiência
na área de Ciência da Computação e Gestão dos positivos da gestão do conhecimento perca ou se dissipe facilmente.
Estratégica de Empresas, com ênfase em En- são inegáveis, uma vez que torna este
genharia de Software, atuando principalmente precioso acervo – o conhecimento – num Considerar o processo de desenvolvi-
nos seguintes temas: ciência da computação, elemento decisivo para a formulação de mento de software com o apoio da gestão
engenharia de software, sistemas de informa-
vantagem competitiva pela empresa em do conhecimento, ou sob sua ótica, é
ção, informática, processo de software, gestão
estratégica e de marketing. seu cenário competitivo. extremamente oportuno. O processo
de desenvolvimento de software é, segundo estudado na de uma nova realidade. As organizações devem almejar a apli-
engenharia de software, um conjunto coordenado de tarefas cabilidade do conhecimento dos funcionários no intuito de gerar
organizacionais destinado a disponibilizar software de todas novos conhecimentos. Os trabalhadores do conhecimento podem
as formas para que uma empresa o utilize segundo seus planos descobrir, criar, compilar, distribuir ou aplicar o conhecimento.
estratégicos. Atividade de intensiva comunicação e que estru- Os processos organizacionais, dentre eles o processo de desen-
tura ideias e procedimentos muitas vezes não formalmente volvimento de sistemas de informação, estão em constante
documentados, o processo de desenvolvimento de software melhoria, tornando-se uma busca constante por parte das or-
oferece uma perspectiva muito interessante se for analisado ganizações. O processo de desenvolvimento de software pode
sob as lentes da gestão do conhecimento. Neste contexto, o ser compreendido como um método de trabalho estruturado,
trabalho das “fábricas de experiência” oferece possibilidades em etapas gerenciáveis individual e coletivamente, que tem
importantes para a associação que evidenciamos. como objetivo produzir, de forma coordenada, software para
A Organização Fábrica de Experiência (OFE) é um modelo uma aplicação em geral.
desenvolvido pelo laboratório de Engenharia de Software da O modelo proposto por Victor Basili e seus colaboradores da
Universidade de Maryland. É composta de duas organizações Universidade de Maryland – USA, denominado Organização
que trabalham perfeitamente integradas. Neste modelo, existe Fábrica de Experiência, apresenta uma equipe destinada à fi-
uma equipe específica destinada à finalidade de externalizar nalidade de externalizar o conhecimento. Os principais ativos das
(ou seja, difundir ou publicar) o conhecimento gerado dos empresas de desenvolvimento de software não são as constru-
próprios desenvolvedores. O desenvolvimento de software ções, materiais ou equipamentos caros – é o capital intelectual. O
pode obter melhores resultados – como exemplo na estimati- maior problema com o capital intelectual é que ele “tem pernas”
va de custos, qualidade e prazos – por meio da contribuição e caminha para casa todos os dias, dificultando as organizações
de experiências de projetos anteriores. Com cronogramas na permanência dos mesmos. A seguir, estudamos o processo
pressionados, elevadas expectativas quanto à qualidade e de desenvolvimento de software, sua interação com a gestão do
produtividade e desafios técnicos constantes, muitos projetos conhecimento e a oportunidade das Organizações de Fábricas
de software não oferecem possibilidades de explicitar (ou seja, de Software neste poderoso contexto.
estruturar formalmente, a partir do informal) o conhecimento.
Porém, neste modelo, esta importante atividade fica por conta Processo de desenvolvimento de software
da equipe chamada fábrica de experiência. Esta equipe será Ao se abordarem o conceito de processo de software, verifica-
encarregada de analisar e sintetizar todos os tipos de experi- se que este é configurado como um conjunto de atividades,
ência, incluindo as lições aprendidas, dados de projetos e rela- tais como a análise de requisitos, planejamento de produção,
tórios que explicitam estas experiências mediante a criação de projeto, desenvolvimento dos códigos, testes, manutenção,
repositórios. Tal atividade, se considerada diante do processo aquisições ou contratações e demais providências que levem
de gestão do conhecimento, se constitui em potencial ganho à produção de um software. O processo é proposto como uma
para o produtor de software ao realizar as funções de geração, rotina que necessita de documentação que detalhe aspectos
formalização, retenção, compartilhamento e valorização. e artefatos como: especificação formal e precisa do produto
a ser desenvolvido; os passos ou fases que serão executados,
Contextualização incluindo sua ordem, gestão de risco e precedência; preparo e
As organizações de fábrica de software são empreendimentos atribuições dos agentes que atuarão na produção; os insumos
que têm expressiva demanda por informações para a execução que serão utilizados e os resultados que se espera alcançar.
de seus processos. O uso adequado da gestão do conhecimento Como casos típicos de especificações para processo de sof-
e da informação pode ser revertido em vantagens competitivas tware, citamos os modelos Personal Software Process (PSP) e
para este tipo de organização. Team Software Process (TSP), ambos de autoria do Software
Compreende-se a engenharia de software como uma disci- Engineering Institute (www.sei.cmu.edu).
plina que visa o desenvolvimento de software de computador,
integrando processo, métodos e ferramentas. Existem modelos
de processo para que cada produtor implemente a melhor Nota do DevMan
solução em termos de um processo de produção real, eficaz e
efetivo, porém todos definem um conjunto de atividades, uma Externalizar o conhecimento: Nonaka e Takeuchi explicam no seu livro “criação
coleção de tarefas que são conduzidas para realizar cada ati- de conhecimento na empresa: como as empresas japonesas geram a dinâmica da
vidade, produtos de trabalho produzidos como conseqüência inovação”, que a criação do conhecimento organizacional é uma interação contínua e
das tarefas a serem exigidos para o aceite ou complementação dinâmica entre o conhecimento tácito e o conhecimento explícito.Tal interação é mol-
da tarefa, bem como um conjunto de atividades padrões que dada pelas mudanças entre diferentes modos de conversão, que são a socialização, a
se espalham por todo o processo. externalização, a internalização e a combinação. Dentre os quatro modelos de conver-
Neste contexto, o trabalhador do conhecimento, notadamente são do conhecimento, a externalização é a chave para a criação do conhecimento, pois
presente nas empresas de desenvolvimento de software, valoriza elabora conceitos novos e explícitos a partir do conhecimento tácito.
o conhecimentos e sua aplicação pelas organizações como fator
Insights: Uma visão que se manifesta de repente, como a compreensão de como Para isso, precisamos saber o que você, leitor, acha da revista!
s
ta
resolver um problema difícil. O termo foi cunhado pelo psicólogo alemão e teórico Dê seu voto sobre este artigo, através do link:
edição
A
guração do C.E.S.A.R, além de ministrar aulas
de Programação Orientada a Objetos, Estrutu- s organizações de desenvolvi-
ra de Dados e Teoria Geral dos Sistemas na Fa- mento de software têm buscado
culdade Joaquim Nabuco. Possui experiência diversas formas para melhoria ganhos significativos de produtividade
em desenvolvimento de software, elicitação
de seus processos com o objetivo de au- requer iniciativas integradas em diver-
de requisitos e na definição e implantação
de processos de gerência de configuração mentar a produtividade das equipes de sas áreas, por exemplo, melhoria em
aderentes ao CMMI. desenvolvimento. Uma forma de obter ferramentas, metodologia, ambiente de
para cada tipo, os campos obrigatórios relativos ao processo repositório dos projetos. Para que os membros da equipe se-
eram diferentes, o que acarretava em um enorme tempo con- guissem o processo definido de revisão formal utilizando pla-
sumido para o Engenheiro de Configuração verificar cada CR. nilhas fazia-se necessário realizar um conjunto de atividades
Neste sentido, o código fonte do Mantis foi alterado para que meramente operacionais como: recuperar o último template
a visualização e obrigatoriedade de alguns campos fossem da planilha no site do processo organizacional, renomear o
dependentes do valor de um campo novo chamado “Tipo”, arquivo de acordo com as regras de gerência de configuração
que listava os tipos de requisições possíveis no processo da para o projeto, preencher a planilha com os dados da revisão
organização. Além disso, a máquina de estados padrão tam- e incluir a planilha no repositório. Havia também uma grande
bém foi reformulada para se adaptar a esse novo contexto, dificuldade de se auditar o processo de revisão, visto que se
como ilustrado na Figura 1. fazia necessário abrir cada planilha para checagem das infor-
mações. Tudo isso tornava a execução do processo de revisão
custoso para a equipe, para o projeto e para a empresa devido
ao esforço envolvido. O processo era ainda propício a erros
em cada um dos passos descritos, visto que todos eles eram
realizados manualmente.
Inicialmente, para resolver o problema de forma mais rápida,
pensou-se numa solução para coleta de informações das pró-
prias planilhas automaticamente. Uma aplicação consultava
determinadas células das planilhas, gerava uma página web
consolidando as informações e realizava a maioria das checa-
gens de consistências. Mas, essa solução tinha a desvantagem
de se basear num modelo fixo de planilha. Toda vez que o
modelo mudava, a aplicação teria que ser adaptada.
Devido a essas dificuldades, o SEPG (Software Engineering
Process Group) propôs o uso de uma ferramenta web que
automatizasse todas essas atividades, agilizando a criação,
o preenchimento e o acesso aos dados entre os participantes
do processo de revisão formal. Foram feitas pesquisas, mas
nenhuma solução gratuita foi encontrada para suprir as ne-
cessidades da organização e, por isso, resolveu-se construir
Figura 1. Máquina de Estados do Mantis uma ferramenta.
Em uma análise prévia dos requisitos básicos e imediatos
A integração dos sistemas de controle de versão (CVS e para a ferramenta, foi identificado que o Mantis, ferramenta
Subversion) com o Mantis tem sido de enorme utilização para gerenciamento de mudanças já largamente utilizado na
por parte dos projetos. Através dela, todos os comentários organização, supriria a maioria deles: suporte de projetos,
dos commits realizados via CVS/Subversion são registrados controle de acesso de usuários, máquina de estados e campos
automaticamente na respectiva CR que está sendo resolvida. customizáveis. Assim, decidiu-se utilizar o Mantis como base
Com a integração, consegue-se garantir um rastreamento bi-
direcional entre CR’s e artefatos:
• Identificação a partir do Mantis de todos os artefatos (seus Nota do DevMan
branches, revisões e responsáveis) alterados para resolver cada
requisição de mudança; CMMI (Capability Maturity Model Integration): é um framework que des-
• Identificação a partir dos comentários dos commits de todas creve princípios e práticas relacionadas ao processo de desenvolvimento de produ-
as CR’s que ocasionaram as mudanças. tos e serviços tecnológicos. O modelo visa ajudar organizações envolvidas com o
desenvolvimento de software a melhorar a capacidade de seus processos por meio
Ainda foram implementadas integrações do Mantis com os de um caminho evolucionário, com resultados mais previsíveis e com possibilidade
outros sistemas descritos neste documento: Rev.I.S.E e ITReq. A de melhoria contínua. [SEI, 2006].
partir da tela de visualização de cada CR é possível acessar suas
respectivas revisões e requisitos impactados pela mudança. CR (Change Request): Solicitações de Mudança em um artefato.
Rev.I.S.E – Revision Infrastructure for Software CVS (Concurrent Version System) e SVN (SubVersion): são sistemas de con-
Engineering trole de versão que permitem que se trabalhe com diversas versões de arquivos
A ferramenta Rev.I.S.E foi idealizada, principalmente, para organizados em um diretório e localizados local ou remotamente, mantendo-se
substituir as planilhas de revisão contendo as informações suas versões antigas e os logs de quem e quando manipulou os arquivos.
das revisões formais realizadas e que eram armazenadas no
A máquina de estados do ITReq (Figura 3) está diretamente Figura 4. Ferramenta ITReq: armazenamento das versões, histórico de
versões e os requisitos relacionados
relacionada ao processo de revisão e aprovação definido na
organização. O tratamento individual de requisitos através da
máquina de estados trouxe também um ganho não planejado
para os projetos: maior agilidade no processo de revisão de
requisitos, visto que os requisitos podem ser revisados indi-
vidualmente, o que não poderia ser feito facilmente com o uso
de documentos.
Outra funcionalidade essencial é o controle das alterações
de documentos com o uso de um histórico de revisões e com
o armazenamento, tornando possível a comparação com
outras versões de documentos (Figura 4).
A ferramenta gera o documento de requisitos em formato
HTML seguindo o template definido no processo organiza-
cional com seções para descrição do projeto, aprovadores,
glossário, histórico de revisões, referências e requisitos
agrupados em seções definidas pelo usuário.
ta
edição
Dê seu voto sobre este artigo, através do link:
www.devmedia.com.br/esmag/feedback
Métricas de Software
Como utilizá-las no gerenciamento de projetos de software
A
Atualmente cursa especialização em De-
senvolvimento de Aplicações para Web no
garantia da qualidade é uma A coleta adequada de métricas, com suas res-
Centro de Ensino Superior de Juiz de Fora das principais preocupações da pectivas análises, pode auxiliar o Engenheiro
(CES/JF), Bacharel em Sistemas de Infor- indústria de desenvolvimento de Software na tomada de decisões ao longo
mação pela Universidade Severino Sombra de software, pois atualmente a maior do desenvolvimento de um projeto, visando a
(USS), Desenvolvedor de Sistemas Web na parte das empresas atuantes no mercado melhoria da qualidade do processo e do produto
Granbery Consultoria Júnior em projeto
para a Fundação COPPETEC, programa-
utiliza esse tipo de aplicação para gerir em construção.
dor certificado Java (SCJP), atuou como seus negócios, produtos e relacionamen-
professor assistente no curso de Sistemas tos com clientes, necessitando maior
de Informação da USS e dos cursos de in- confiabilidade e qualidade. Existem dentre elas, uma das mais simples e
formática da Fundação de Apoio a Escola diversas medidas de garantia de qua- menos custosa, é a medição de software.
Técnica (FAETEC), possui experiência de
4 anos em desenvolvimento de sistemas
lidade fundamentais para o sucesso de Nesse sentido, a medição de software
Java (web/desktop). qualquer tipo de aplicação de software, auxilia a tomada de decisão, pois através
de dados quantitativos, é capaz de informar que aspectos do GQM (Goal/Question/Metric), desenvolvido por Basili em 1988, é
produto atendem ou não ao padrão de qualidade especificado, uma abordagem para aplicação de métricas afim de aprimorar
além de permitir a avaliação dos benefícios de novos métodos o processo de desenvolvimento de software (e, consequente-
e ferramentas de engenharia de software, o entendimento e mente, os produtos de software gerados) enquanto mantém
aperfeiçoamento do processo de produção, a avaliação do os objetivos de negócio e objetivos técnicos da organização
retorno do investimento e tornar o gerenciamento de projetos nivelados. É uma abordagem top-down que estabelece uma
baseado em fatos e não “achismos”, por exemplo. medição sistemática para objetivos relacionados ao processo
Para medir software, são utilizadas diversas métricas que são de desenvolvimento, em que a equipe começa estabelecendo
como tipos de medições aplicadas a um sistema de software, os objetivos organizacionais, define metas de medição, insere
documentação ou processo relacionado. Através dessas métri- questões com o propósito de abordar os objetivos especifica-
cas é possível determinar o esforço ou tempo para realização dos e identifica as métricas que fornecem respostas para as
de uma tarefa ou o tamanho do produto, por exemplo. Além questões definidas.
disso, as métricas de software são facilmente calculadas, en- O GQM define um modelo de três níveis, ilustrado na Figura 1.
tendidas e testadas e independem do observador que as aplica,
sendo também uma boa fonte para estudos estatísticos acerca
do ciclo de vida do software.
Dentro desse contexto, este artigo tem por objetivo apresentar
algumas métricas de software e sua importância no processo
de desenvolvimento. Para isso, algumas métricas serão aplica-
das em pequenos exemplos, permitindo ao leitor compreender
e analisar seus benefícios imediatos.
Utilização de métricas
Existem dois tipos de métricas no contexto de desenvolvi- Figura 1. Níveis do modelo do GQM
mento de produtos de software: as métricas diretas, que são
realizadas em termos de atributos observáveis, como por O GQM pode ser aplicado em todo o ciclo de vida de produ-
exemplo, esforço, tamanho e custo, e as métricas indiretas ou tos, processos e artefatos de software e é bem alinhado com
derivadas, que podem ser obtidas através de outras métricas, o ambiente organizacional, sendo um meio adequado para
como por exemplo, complexidade, confiabilidade, e facilidade conseguir dados confiáveis e conhecimento sobre as práticas
de manutenção. Quanto ao contexto, podem ser aplicadas em de software da organização para conduzir a melhoria do
produtos ou em processos. Quando as métricas incidem dire- processo. Nesse contexto, é útil para auxiliar na compreensão
tamente no produto de software, são chamadas de métricas de e formar um baseline das práticas aplicadas no desenvolvi-
predição, quando em processos de software, são comumente mento de software, evoluir as atividades de medição, guiar e
chamadas de métricas de controle e sua aplicação normalmente monitorar processos de software e reduzir custos de desen-
é realizada em processos já maduros e controlados. volvimento, por exemplo. O GQM pode ser utilizado também
Para obter resultados significativos, as métricas devem ser como base de fundamentação para outras técnicas de medição
aplicadas em um ciclo constante, que envolve as etapas de de software.
planejamento, medição, análise de resultados, tomada de de- O GQM pode ser muito útil na definição de quais métricas
cisão e implementação das decisões. Desta maneira, pode-se são necessárias de serem coletadas e analisadas para responder
construir uma base histórica do artefato medido que permitirá questões sobre um determinado objetivo. Isso é importante
ao engenheiro de software analisar que processos, ferramentas para evitar que esforço seja gasto com coleta desnecessária de
e métodos melhor se aplicam àquele tipo de produto. Alguns métricas, que provavelmente nunca serão utilizadas.
cuidados também devem ser tomados no processo de medição,
como o momento e a escolha do conjunto de métricas mais Algumas métricas comumente utilizadas
relevantes a serem aplicadas, e a comparação entre produtos Softwares podem ser medidos (ou estimados) baseados em
através da aplicação de métricas (pois nenhum produto é igual diversos tipos de perspectivas, como tamanho e complexidade.
a outro). O escopo, os desenvolvedores e o ambiente são fatores Além disso, em função da etapa do desenvolvimento, diferen-
que podem influenciar o processo de desenvolvimento. Assim, tes métricas podem ser colhidas para um mesmo produto. Por
comparações devem ser cuidadosamente analisadas. exemplo, para a medição de tamanho na etapa de levantamento
As métricas podem e devem ser aplicadas durante as fases de requisitos, podemos utilizar como métrica o número de
de desenvolvimento do software, o que garante ainda mais requisitos especificados. Já na fase de projeto, o tamanho pode
seu impacto positivo no produto final. ser medido em função do número de classes e, na fase de codi-
Segundo alguns especialistas, para medir artefatos de softwa- ficação, a partir no número de linhas de código fonte.
re através de métricas significativas, as medições devem ser A seguir, serão apresentadas algumas das principais mé-
definidas de acordo com objetivos específicos. Nesse sentido, o tricas baseadas nos tipos de medição citados e, para melhor
FASE DESCRIÇÃO
Determinar o tipo de contagem de pontos de função Existem três tipos de contagem que podem ser levadas em conta: contagem de PF de projeto de desenvolvimento, de aplicações instaladas e
de projetos de manutenção.
Determinar o escopo de contagem e a fronteira da aplicação A fronteira da aplicação é definida estabelecendo um limite lógico entre a aplicação que está sendo medida, o usuário e outras aplicações. O
escopo para a contagem define a parte do sistema (funcionalidades) a ser contada.
Determinar a contagem de pontos de função não ajustados Essa contagem leva em conta dois tipos de função: de dados e transacionais, bem como sua complexidade (simples, média ou complexa).
Contagem das funções de dados Contagem referente às funcionalidades relativas aos requisitos de dados internos e externos à aplicação.
Contagem das funções transacionais Contagem referente às funcionalidades de processamento de dados do sistema fornecidas para o usuário, como entradas e consultas externas.
Determinar o valor do fator de ajuste Baseado em diversas características gerais de sistemas, que avaliam a funcionalidade geral da aplicação que está sendo contada e seus níveis
de influência que podem ser determinados com base em uma escala de 0 a 5.
Calcular os pontos de função ajustados PFs ajustados são calculados, considerando o tipo de contagem definido no primeiro passo.
Complexidade Situação
1-10 Programa simples, baixo risco.
11-20 Programa mais complexo, risco moderado.
21-50 Programa complexo, risco alto.
Maior que 50 Programa não testável, risco elevado.
Tabela 2. Faixas de Complexidade Ciclomática. Fonte: SEI – Software Engineering Institute (http:// www.sei.cmu.edu)
Métricas de Lorenz & Kidd: Lorenz & Kidd, também em 1994, redefinidos na classe Vendedor
Alguns outros tipos de métricas algumas das métricas mais conhecidas e exemplificar o uso
Diversos outros tipos de métricas são largamente utilizados, de algumas delas através de exemplos simplificados, com o
como métricas de confiabilidade e esforço. propósito de acentuar a importância de sua utilização em um
Métricas de confiabilidade são normalmente baseadas em projeto. As métricas são capazes de indicar pontos em que
número de defeitos apresentados por uma aplicação, poden- são necessários maiores esforços de teste e acompanhamento.
do ser medidas por intervalo de tempo ou por versão de um Através de ferramentas automatizadas, é possível coletar um
produto em uso. Nessa categoria, ferramentas de apoio como grande número de métricas com menor esforço, o que viabi-
BugZilla, Mantis ou Trac são boas aliadas para o registro e liza a implantação de processos de medição em qualquer tipo
acompanhamento de defeitos. de sistema, desde os mais simples até os mais críticos, o que
Métricas de esforço são importantes no acompanhamento de contribui para a qualidade do produto final.
processos de software, sendo comumente utilizada a medição
de esforço por Homem/Hora, ou alguma derivada desta, como Feedback
Dê seu feedback sobre esta edição! eu
Homem/Mês, que refletem a quantidade de recursos humanos
s
Dê
alocados ao projeto por unidade de tempo. A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e
Para isso, precisamos saber o que você, leitor, acha da revista!
s
ta
Conclusão
edição
Dê seu voto sobre este artigo, através do link:
Métricas de software são medidas quantitativas acerca de www.devmedia.com.br/esmag/feedback
processos ou produtos de software. O artigo procurou mostrar
D
Projetos em Engenharia de Software pelo evido à crescente demanda por Em ambientes em que é preciso manter um
Centro de Ensino Superior de Juiz de Fora softwares cada vez mais com- repositório com código fonte confiável e em sis-
– CES/JF, Bacharel em Sistemas de Infor- plexos e de maior qualidade, temas em que os testes atingiram uma comple-
mação pela Faculdade Metodista Gran-
bery e Analista de Sistemas da Uptodate
várias técnicas vêm sendo propostas xidade relevante e estão consumindo recursos
Consulting. para auxiliar na sua construção. Uma humanos em excesso ao serem executados.
dessas técnicas é o teste de unidade que
Marco Antônio Pereira Araújo tem como principal finalidade a busca
maraujo@acessa.com por defeitos na menor unidade de um É neste contexto que se pode tirar pro-
Doutor e Mestre em Engenharia de Sistemas sistema como um método ou função, veito da integração contínua, onde um
e Computação pela COPPE/UFRJ, Especialista
por exemplo. servidor faz periodicamente o checkout
em Métodos Estatísticos Computacionais e
Bacharel em Matemática com Habilitação em Porém, em um sistema com uma com- do código fonte do repositório e executa
Informática pela UFJF, Professor dos cursos de plexidade relevante, os testes de unidade automaticamente os testes já criados.
Bacharelado em Sistemas de Informação do podem consumir um tempo excessivo Com isto, ao subir um código para o
Centro de Ensino Superior de Juiz de Fora e da equipe cada vez que uma alteração repositório não é necessário que todos
da Faculdade Metodista Granbery, Analista
no sistema seja necessária e os testes os testes do sistema sejam executados.
de Sistemas da Prefeitura de Juiz de Fora e
Editor da Engenharia de Software Magazine. tenham que ser executados. Pode ser definida uma estratégia onde o
56 Engenharia de Software Magazine - Integração contínua com Hudson, Maven2, TestNG e Subversion
PROJETO
responsável por enviar o código para o repositório execute apenas Feito isto, as configurações necessárias no repositório estão
os testes diretamente relacionados com a alteração realizada, prontas.
diminuindo o tempo gasto com a execução dos testes.
Além disto, a execução periódica dos testes ajuda a manter a Configurando o Eclipse
confiabilidade do código fonte que está no repositório. Para facilitar a criação do ambiente, primeiro será instalado
Este artigo tem por finalidade demonstrar a configuração de um plug-in chamado Subclipse que permite a comunicação
um ambiente de integração contínua utilizando um servidor entre o Eclipse e o repositório. Para isto, abra o eclipse e acesse
de integração contínua chamado Hudson, em um repositório o menu Help / Install New Software. Uma janela será apresen-
controlado pelo Subversion, e um projeto criado no Eclipse tada onde o endereço http://subclipse.tigris.org/update_1.6.x
utilizando o Maven2 através do plug-in Maven2Eclipse e o deve ser digitado no campo Work with e, em seguida, deve-se
framework de testes TestNG. acessar a opção Add. Ao acessá-la, algumas opções irão apare-
cer no campo Name desta janela, onde devem ser marcadas as
Criando o repositório opções Core SVNKit Library, Optional JNA Library e Subclipse,
O primeiro passo para iniciar a construção do ambiente é como pode ser visto na Figura 2 e, logo em seguida, deve-se
baixar e instalar o Subversion. Será utilizado o VisualSVN que selecionar a opção Next até que a instalação seja concluída.
é um servidor do Subversion que disponibiliza uma interface
gráfica para configuração e que pode ser baixado no endereço
http://www.visualsvn.com/.
A instalação do VisualSVN é bastante simples, basta executar
o arquivo de instalação baixado e seguir os passos mantendo
sempre as configurações padrões sugeridas pelo instalador.
Depois de instalado e executado, o VisualSVN apresenta uma
tela semelhante à Figura 1.
<project xmlns=”http://maven.apache.org/POM/4.0.0”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://
maven.apache.org/maven-v4_0_0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>br.com</groupId>
<artifactId>CalcularAprovacao</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
dependency>
<
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.10</version>
<classifier>jdk15</classifier>
/dependency>
<
</dependencies>
<build>
<finalName>CalcularAprovacao</finalName>
plugins>
<
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
Figura 3. Criação de um projeto Maven2
<source>1.6</source>
Após preencher os dados do projeto, clique sobre o botão <target>1.6</target>
Finish que o Maven irá criar o projeto utilizando sua estrutura </configuration>
padrão. </plugin>
Depois de criar o projeto, deve ser adicionada a dependência
/plugins>
<
do TestNG, que é o framework de testes que será utilizado. </build>
</project>
Clique com o botão direito sobre o projeto e selecione o menu
58 Engenharia de Software Magazine - Integração contínua com Hudson, Maven2, TestNG e Subversion
PROJETO
Crie a classe Aluno. Ela deve ser criada dentro de src/main/ new repository location deve ser selecionada e, logo em segui-
Java utilizando o código mostrado na Listagem 2. da, a opção Next deve ser escolhida. Feito isto, uma nova janela
é exibida onde a URL do Subversion (https://localhost:8443/
Listagem 2. Classe Aluno svn/CalcularAprovacao/) deve ser digitada. Após isso, clique
sobre a opção Finish.
package br.com.calcularAprovacao;
public class Aluno {
private String nome; Listagem 3. Classe de teste CalcularAprovacaoTest
private float nota1;
private float nota2; package br.com.testeAprovacao;
private float notaFinal; import org.testng.annotations.Test;
private int frequencia; import org.testng.*;
import br.com.calcularAprovacao.Aluno;
public String getNome(){
return nome;
@Test
} public class CalcularAprovacaoTest {
public void setNome(String nome){ public void testAlunoReprovadoFrequencia() {
this.nome = nome;
Aluno aluno = new Aluno();
} aluno.setNome(“João”);
public float getNota1() { aluno.setNota1(0);
return nota1; aluno.setNota2(0);
} aluno.setNotaFinal(0);
public void setNota1(float nota1) { aluno.setFrequencia(74);
this.nota1 = nota1; Assert.assertFalse(aluno.calcularAprovacao());
} }
public float getNota2() { public void testAlunoAprovadoNota() {
return nota2; Aluno aluno = new Aluno();
} aluno.setNome(“João”);
public void setNota2(float nota2) { aluno.setNota1(70);
this.nota2 = nota2; aluno.setNota2(70);
} aluno.setNotaFinal(0);
public float getNotaFinal() { aluno.setFrequencia(75);
return notaFinal; Assert.assertTrue(aluno.calcularAprovacao());
} }
public void setNotaFinal(float notaFinal) { public void testAlunoReprovadoNota() {
this.notaFinal = notaFinal; A
luno aluno = new Aluno();
} aluno.setNome(“João”);
public int getFrequencia() { aluno.setNota1(29);
return frequencia; aluno.setNota2(30);
} aluno.setNotaFinal(0);
public void setFrequencia(int frequencia) { aluno.setFrequencia(75);
this.frequencia = frequencia; Assert.assertFalse(aluno.calcularAprovacao());
} }
public boolean calcularAprovacao(){ public void testAlunoReprovadoFinal() {
float media; Aluno aluno = new Aluno();
aluno.setNome(“João”);
if (frequencia < 75) { aluno.setNota1(30);
return false; aluno.setNota2(30);
} else { aluno.setNotaFinal(69);
media = (nota1 + nota2) / 2; aluno.setFrequencia(75);
if (media < 30) { Assert.assertFalse(aluno.calcularAprovacao());
return false; }
} else { public void testAlunoAprovadoFinal() {
if (media >= 70) { A
luno aluno = new Aluno();
return true; aluno.setNome(“João”);
} else { aluno.setNota1(30);
if (((media + notaFinal) / 2) >= 50) { aluno.setNota2(30);
return true; aluno.setNotaFinal(70);
} else { aluno.setFrequencia(75);
return false; Assert.assertTrue(aluno.calcularAprovacao());
} }
} }
}
}
}
}
60 Engenharia de Software Magazine - Integração contínua com Hudson, Maven2, TestNG e Subversion
PROJETO
Conclusão
Figura 10. Saída de Console O artigo procurou mostrar como configurar um ambiente de
integração contínua utilizando diferentes ferramentas.
O Hudson também disponibiliza um relatório de tendência O ambiente foi construído utilizando o servidor de integração
onde é possível visualizar graficamente os resultados dos Hudson, o repositório Subversion, com o uso do VisualSVN
testes executados. A Figura 11 mostra o relatório gerado no para instalação do servidor, e o plug-in Subclipse para integra-
projeto de exemplo. ção com o Eclipse, o gerenciador de projetos Maven2, através
O gráfico apresenta o número da construção pelo seu tempo do plug-in Maven2Eclipse, e o framework de teste TestNG.
de execução. Enquanto as áreas vermelhas do gráfico represen- Um ambiente de integração contínua, como o apresentado
tam as construções que falharam, as cinzas são construções que neste artigo, possibilita a execução de testes de maneira auto-
foram abortadas. Já as amarelas são as construções que foram matizada o que pode torná-los mais eficientes e economizar
executadas com sucesso parcial e as construções executadas recursos humanos nessa tarefa. Além disso, com a execução
com sucesso total são representadas pela cor azul. periódica dos testes, é mais rápida a identificação de falhas
inseridas no código fonte pelos desenvolvedores. Devido a isto,
o código do repositório pode ser considerado mais confiável.
Outra vantagem desse ambiente é que se torna possível um
melhor acompanhamento da execução de testes através de
relatórios gerados pelo Hudson.
Links
Hudson
http://hudson-ci.org/
VisualSVN
http://www.visualsvn.com/
Subclipse
http://subclipse.tigris.org/
TestNG
http://testng.org
sobre e
de testes de unidade através do Hudson, é possível integrar
Para isso, precisamos saber o que você, leitor, acha da revista!
também ferramentas de checkstyle de código, detecção de bugs ta
edição
s
Dê seu voto sobre este artigo, através do link:
e cobertura de testes, por exemplo.
Além disso, o Hudson é extensível através de plug-ins www.devmedia.com.br/esmag/feedback
que podem fornecer funcionalidades como integração com
62 Engenharia de Software Magazine - Integração contínua com Hudson, Maven2, TestNG e Subversion
PROJETO