0
UNIJUÍ – UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO
RIO GRANDE DO SUL
DCEEng – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS
CURSO DE CIÊNCIA DA COMPUTAÇÃO
APLICABILIDADE DA QUALIDADE DE SOFTWARE: ESTUDO
DE CASO COM NÍVEL G DO MPS.BR EM UMA
EMPRESA DE PEQUENO PORTE
DIOGO FRITZEN KALB
Ijuí – RS
Julho/2014
1
DIOGO FRITZEN KALB
APLICABILIDADE DA QUALIDADE DE SOFTWARE: ESTUDO
DE CASO COM NÍVEL G DO MPS.BR EM UMA
EMPRESA DE PEQUENO PORTE
Projeto de Pesquisa Final do Curso de
Ciência da Computação do DCEEng –
Departamento de Ciências Exatas e
Engenharia da UNIJUÍ – Universidade
Regional do Noroeste do Estado do Rio
Grande do Sul, apresentado como
requisito
para
a
aprovação
no
componente curricular Trabalho de
Conclusão de Curso.
Orientador: Msc. Romário Lopes Alcântara
Ijuí – RS
Julho/2014
2
APLICABILIDADE DA QUALIDADE DE SOFTWARE: ESTUDO
DE CASO COM NÍVEL G DO MPS.BR EM UMA
EMPRESA DE PEQUENO PORTE
DIOGO FRITZEN KALB
Projeto de Pesquisa Final do Curso de
Ciência da Computação do DCEEng –
Departamento de Ciências Exatas e
Engenharia da UNIJUÍ – Universidade
Regional do Noroeste do Estado do Rio
Grande do Sul, apresentado como requisito
para a aprovação no componente curricular
Trabalho de Conclusão de Curso.
______________________________________
Orientador: Prof. Msc.Romário Lopes Alcântara
BANCA EXAMINADORA:
______________________________________
Prof. Msc. Marcos Ronaldo Melo Cavalheiro
Ijuí
Julho/2014
3
Dedico esse trabalho a
minha amada família.
4
AGRADECIMENTOS
Meus sinceros agradecimentos a todos aqueles que
de alguma forma doaram um pouco de si para que a
conclusão deste trabalho se torna-se possível:
A Deus, o centro e o fundamento de tudo em minha
vida, por renovar a cada momento a minha força e
disposição e pelo discernimento concedido ao longo
dessa jornada.
Aos meus pais, Armindo Kalb e Loiva Salete Fritzen
Kalb que com muito carinho e apoio, não mediram
esforços para que eu chegasse até esta etapa da
minha vida.
Ao meu professor Orientador Msc. Romário Lopes
Alcântara, pelo auxílio, disponibilidade de tempo e
material, sempre com uma simpatia contagiante e
pelo fornecimento de material para pesquisa do
tema.
A todos os professores do curso, que foram
importantes na minha vida acadêmica e no
desenvolvimento deste trabalho.
Aos amigos e colegas, pelo incentivo e pelo apoio
constante.
E a todos que direta ou indiretamente fizeram parte
da minha formação!
MEU MUITO OBRIGADO!
5
“Os nossos pais amam-nos porque somos seus
filhos, é um fato inalterável. Nos momentos de
sucesso, isso pode parecer irrelevante, mas nas
ocasiões de fracasso, oferecem um consolo e
uma segurança que não se encontram em
qualquer outro lugar” (Bertrand Russell).
6
RESUMO
A fundamental finalidade do trabalho foi descrever e debater a implantação de um
modelo de melhoramento no processo de software em uma empresa de pequeno
porte, e o modelo a ser usado será MPS.BR – Melhoria de Processo de Software
Brasileiro. A empresa escolhida buscou inserir o MPS.BR para poder mobilizar todos
os colaboradores para ter um melhor entendimento e também uma melhoria em
todos os softwares desenvolvidos e consequentemente satisfação dos seus clientes.
O modelo foi escolhido por ter um valor baixo e por aperfeiçoar o método de
software de uma forma gradual. O entendimento de alguns conceitos como os de
engenharia, qualidade de software e a melhoria de processos de software tornou-se
eficaz para elaborar o mesmo. O modelo se mostrou viável para a implantação de
avanços de forma gradual e voltado a realidade da empresa.
Palavras-Chave: MPS.BR. Processo de Software. Qualidade de Software.
Engenharia de Software.
7
ABSTRACT
The fundamental purpose of the study was to describe and discuss the
implementation of a model of the software process improvement in a small-sized
company, and the model to be used will be MPS.BR - Improvement of Brazilian
Software Process. The company sought to enter the chosen MPS.BR to be able to
mobilize all employees to have a better understanding and also an improvement in all
developed software and hence customer satisfaction. The model was chosen to have
a low value and improve the software method in a gradual manner. The
understanding of some concepts such as engineering, software quality and process
improvement software became effective for preparing the same. The model was
feasible to deploy advances gradually and facing the reality of the company.
Keywords: MPS.BR. Software Process. Software Quality. Software Engineering.
8
LISTA DE ABREVIATURAS E SIGLAS
AI: Artificial Intelligency
CMMI: Capability Maturity Model Integration
ETM: Equipe Técnica do Modelo
FCC: Fórum de Credenciamento e Controle
IEC: International Electrotechnical Commission
IEE: Institute of Electrical and Engineers
ISO: International Organization for Standardization
ITIL: Information Technology Infrastructure Library
MA.MPS: Método de Avaliação da Melhoria do Processo de Software
MPS.BR: Melhoria do Processo de Software
MR.MPS: Modelo de Referência da Melhoria do Processo de Software
PRM: Process Reference Model
RUP: Rational Unified Process
SOFTEX: Associação para Promoção da Excelência do Software Brasileiro
TI: Tecnologia da Informação
TQM: Total Quality Management
9
LISTA DE FIGURAS
Figura 1: Engenharia de software .............................................................................. 19
Figura 2: Modelo em cascata ..................................................................................... 21
Figura 3: Diagrama do modelo espiral ....................................................................... 22
Figura 4: Fases do processo unificado (RUP) ............................................................ 25
Figura 5: Elementos chave do TQM ........................................................................... 26
Figura 6: Componentes da estrutura do CMMI-DEV .................................................. 31
Figura 7: Componentes do programa MPS.BR .......................................................... 34
Figura 8: Processos do ciclo de vida de software ...................................................... 36
10
LISTA DE TABELAS
Tabela 1: Características do processo ....................................................................... 29
Tabela 2: Níveis da ISO/IEC 15504 ........................................................................... 38
Tabela 3: Níveis de maturidade do MR-MPS ............................................................. 44
Tabela 4: Custos níveis MPS-BR ............................................................................... 50
Tabela 5: Resultados alcançados .............................................................................. 55
11
SUMÁRIO
1 INTRODUÇÃO ........................................................................................................ 13
1.1 JUSTIFICATIVA ................................................................................................... 14
1.2 OBJETIVOS DO ESTUDO ................................................................................... 15
1.2.1 Objetivo Geral .................................................................................................. 15
1.2.2 Objetivos Específicos ..................................................................................... 15
2 ASPECTOS GERAIS DO MPS.BR ......................................................................... 16
2.1 SOFTWARE ......................................................................................................... 16
2.2 PRINCIPAIS APLICAÇÕES ................................................................................. 17
2.2.1 Software Básico .............................................................................................. 17
2.2.2 Software de Tempo Real ................................................................................. 17
2.2.3 Software Comercial ......................................................................................... 17
2.2.4 Software Científico e de Engenharia ............................................................. 18
2.2.5 Software Embutido ou Embargado ................................................................ 18
2.2.6 Software de Computador Pessoal ................................................................. 18
2.2.7 Software de Inteligência Artificial .................................................................. 18
2.2.8 Software Online ............................................................................................... 18
2.3 ENGENHARIA DE SOFTWARE – CONCEITOS E ASPECTOS ......................... 19
2.3.1 Paradigmas de Engenharia de Software ....................................................... 20
2.3.2 Modelos de Processo de Desenvolvimento de Software............................. 20
2.3.2.1 O Modelo em Cascata .................................................................................... 20
2.3.2.2 Modelo Espiral ................................................................................................ 21
2.3.2.3 Modelo de Prototipação.................................................................................. 23
2.3.2.4 O Modelo RUP ............................................................................................... 23
2.4 QUALIDADE DE SOFTWARE ............................................................................. 25
2.4.1 Garantia da Qualidade do Software ............................................................... 27
2.4.2 Melhoria do Processo de Software ................................................................ 27
2.5 MODELO DE QUALIDADE DE SOFTWARE ....................................................... 29
2.5.1 Modelo CMMI ................................................................................................... 30
2.5.2 Modelo ISO/IEC 9126 ....................................................................................... 31
2.5.3 Modelo MPS ..................................................................................................... 33
3 PROJETO MPS.BR ................................................................................................ 34
3.1 BASE TÉCNICA PARA A DEFINIÇÃO DOS COMPONENTES DO MPS.BR ...... 35
3.1.1 ISO/IEC 12207:2008 ......................................................................................... 35
3.1.2 ISO/IEC 15504 .................................................................................................. 37
12
3.1.3 ISO/IEC 20000 .................................................................................................. 39
3.1.4 MPS.BR e suas Estruturas de Apoio ............................................................. 40
3.2 DESCRIÇÃO DOS MODELOS MPS .................................................................... 40
3.2.1 Descrição do Modelo de Referência MR-MPS .............................................. 40
3.2.2 Descrição do Modelo de Avaliação MA-MPS ................................................ 41
3.2.3 Descrição do Modelo de Negócio MN-MPS ................................................... 41
4 PROCESSO MPS.BR ............................................................................................. 42
4.1 CAPACIDADE DO PROCESSO .......................................................................... 42
4.1.1 Atributos de Processo .................................................................................... 43
4.1.2 Exclusão de Processos .................................................................................. 44
4.2 NÍVEIS DE MATURIDADE ................................................................................... 44
4.2.1 Nível G – Parcialmente Gerenciado ............................................................... 45
4.2.2 Nível F – Gerenciado ....................................................................................... 46
4.2.3 Nível E – Parcialmente Definido ..................................................................... 47
4.2.4 Nível D – Largamente Definido ....................................................................... 48
4.2.5 Nível C – Definido ............................................................................................ 48
4.2.6 Nível B – Gerenciado Quantitativamente ...................................................... 49
4.2.7 Nível A – Em Otimização................................................................................. 49
4.3 CUSTOS .............................................................................................................. 50
APLICABILIDADE DA QUALIDADE DE SOFTWARE: ESTUDO DE CASO COM
NÍVEL G DO MPS.BR EM UMA EMPRESA DE PEQUENO PORTE ....................... 51
5.1 TIPO DE PESQUISA ............................................................................................ 51
5.2 PROCESSOS METODOLÓGICOS ...................................................................... 51
5.3 DEFINIÇÃO DA EMPRESA ................................................................................. 52
5.4 PROCESSO ATUAL............................................................................................. 52
5.5 IMPLEMENTAÇÕES ............................................................................................ 53
5.6 RESULTADOS ESPERADOS COM A IMPLEMENTAÇÃO ................................. 53
5.7 RESULTADOS ALCANÇADOS ........................................................................... 55
5.8 ANÁLISE DA IMPLEMENTAÇÃO ........................................................................ 57
5.9 DIFICULDADES ENCONTRADAS NA IMPLEMENTAÇÃO ................................. 58
6 CONCLUSÃO ......................................................................................................... 59
7 TRABALHOS FUTUROS........................................................................................ 61
8 REFERÊNCIAS BIBLIOGRÁFICAS ....................................................................... 62
ANEXO ...................................................................................................................... 65
13
1 INTRODUÇÃO
A melhoria de processos de software em empresas brasileiras tem ocorrido
cada vez mais em consonância com o modelo de Melhoria do Processo de Software
Brasileiro (MPS.BR) (SOFTEX, 2009).
Estudos indicam que dentro do âmbito das empresas de software brasileiras,
empresas que se certificam em programas de qualidade têm maior possibilidade de
exportar e também de ocupar o mercado interno (IPEA, 2006).
O MPS.BR (Melhoria do Processo de Software Brasileiro) apresenta seus
principais atributos baseados no SOFTEX o qual é responsável por agenciar a
qualidade de software no Brasil, responsável por alterar o perfil do software nacional,
que está se desenvolvendo em outros países.
Hoje em dia são muitos os modelos de avanço de processo de software
disponíveis, entre eles se destacam: CMMI, ISO 15504, ISO 12207, ISO 20000 e o
modelo brasileiro MPS.BR o qual se adapta ao fato de diferentes empresas com
abordagem nas micro, pequenas e médias. O que todos têm em comum é a procura
da qualidade nos processos, o que normalmente implica no avanço da qualidade de
seus produtos.
Segundo Travassos e Kalinowski (2009, p. 27), os resultados de
desempenho de organizações que seguiram o MPS.BR indicam que estas empresas
obtiveram maior satisfação dos seus clientes, maior produtividade, capacidade de
desenvolver projetos maiores e satisfação com o MR-MPS.
As organizações tentam implementar o MPS.BR com a finalidade principal
de garantir e também planejar que o começo dos projetos sejam cumpridos, com
isso os sistemas de qualidade alcançam o avanço contínuo de seus produtos e
serviços, pensando nisso vamos trabalhar com o modelo MPS.BR focando a prática
do Nível G.
Este trabalho tem como foco principal o modelo de melhoria e avaliação do
processo de software, aplicando-se em uma empresa de pequeno porte da área de
desenvolvimento de software, levando em consideração os níveis de implantação
para poder ter uma melhor compreensão dos conceitos e com isso um melhor
entendimento dos envolvidos na implementação do MPS.Br nível G.
14
A parte inicial deste trabalho, se dá pela apresentação da justificativa que
visa explicar a importância e para que é interessante esta pesquisa. Seguida dos
objetivos que busca-se atingir com a referente indagação.
No segundo capítulo, Aspectos Gerais do MPS.Br busca conceitos e teorias
necessárias para melhor entendimento deste tema, tais como: software e suas
principais aplicações, engenharia do software, qualidade do software, modelo de
qualidade de software, projeto MPS.BR, descrição do MR-MPS-SW, níveis de
maturidade.
Após o referencial teórico, apresenta-se o tipo de pesquisa, e por fim, a
caracterização da empresa, processo atual, implementações, resultados e
dificuldades.
1.1 JUSTIFICATIVA
Segundo Softex (2005), tendo em vista a contribuição com soluções para o
cenário brasileiro da qualidade de software, o projeto MPS.BR (Melhoria do
Processo de Software Brasileiro), continua se desenvolvendo desde 2003, por sete
grandes instituições, com capacidade complementares no avanço de processo de
software, que procura constituir um padrão de software fundamentado em guias que
ajudam para a avaliação da qualidade do produto.
Com o custo muito alto dessas certificações muitas vezes tornasse inviáveis
a empresas de micro, médio e pequeno porte, por meio de um acordo entre a Softex,
o Governo e Universidades teve início o projeto MPS-BR (Melhoria do Processo de
Software Brasileiro) o qual é uma solução brasileira ajustada com o modelo
internacional CMMI, mas elaborada com base na realidade brasileira.
Dando
a
oportunidade
para
as
empresas
que
trabalham
com
desenvolvimento de software a seguir o modelo MPS-BR e apresentar um diferencial
no competitivo mercado, conseguindo essa certificação com um reduzido custo se
for comparada com as normas estrangeiras, o modelo MPS-BR está tendo amplo
desenvolvimento nos últimos anos chegando nos países próximos como Peru, Chile,
Argentina, Costa Rica, e Uruguai. O Brasil é um dos países que o desenvolvimento
de software no mundo é um dos maiores, o que faz com que mais e mais clientes
querem produtos de melhor qualidade e cada vez mais complexos.
15
1.2 OBJETIVOS DO ESTUDO
1.2.1 Objetivo Geral
O objetivo do trabalho é a implantação do melhor processo de
desenvolvimento em uma empresa de porte pequeno usando o modelo descrito no
MPS.BR. Com essa implantação a empresa tem a expectativa de conseguir um
avanço expressivo na qualidade de seus softwares, uma significativa melhora no
gerenciamento de projetos e, conseguindo assim um aumento no número de
clientes.
Foi escolhido o modelo MPS.BR nível G, por se adaptar aos padrões
brasileiros, tendo como proposta aperfeiçoar o processo de software.
1.2.2 Objetivos Específicos
Por meio da fundamentação teórica, esperamos conseguir base para poder
desenvolver o tema escolhido neste estudo, revisando a parte teórica estudada para
o desenvolvimento do Trabalho de Conclusão e o emprego da própria para
avaliação dos problemas, ficando assim desenvolvido por meio de uma análise
profunda, abrangendo o desenvolvimento de software, condições de avaliação para
adaptar a característica do processo de software, melhoramentos, custos, geração
de negócios novos e também suas vantagens e desvantagens.
16
2 ASPECTOS GERAIS DO MPS.BR
2.1 SOFTWARE
Conforme Cândido (2004, p. 75), no começo deste século, fatores como a
globalização da economia e a maior concorrência do mercado têm gerado inúmeros
desafios para as empresas. No fato dessas empresas serem baseadas em
desenvolvimento de software, criar sistemas em tempo hábil, com valores plausíveis
e qualidade adequada tornou-se essencial.
A qualidade no método influencia inteiramente na obra final. Um método de
software desordenado demostra a ausência de qualidade e organização da empresa
responsável pelo desenvolvimento do software.
Na atualidade são muitos os métodos de melhoria de processos de software
no mercado, os que mais se sobressaem são: ISO15504, ISO12207, CMMI e o
modelo MPS-BR o qual é brasileiro. Eles têm em comum a procura da qualidade nos
métodos, o que provoca a melhora dos produtos.
Ao passar do tempo, ninguém imaginava que o software tornaria um
elemento muito importante para o mundo e teria a capacidade de manipular
a informação. Com muitos elementos computacionais tiveram mudanças até
hoje e continuam tendo. Com este crescimento computacional, levam a
criação de sistemas perfeitos e problemas para quem desenvolve softwares
complexos. As preocupações dos engenheiros de software para
desenvolverem os softwares sem defeitos e entregarem estes produtos no
tempo marcado, assim leva a aplicação da disciplina de engenharia de
software. Com o crescimento desse segmento muitas empresas possuem
mais especialistas em TI em que cada um tem sua responsabilidade no
desenvolvimento de software e é diferente de antigamente que era um único
profissional de software que trabalhava sozinho numa sala (PRESSMAN,
2007, p. 39).
Conforme dados de Significados (2011, p. 16), os software podem ser
classificados em três tipos:
- software de sistema: é o conjunto de dados processadas pelo sistema
interno de um computador que permite a interação entre o usuário e os
periféricos por meio de uma interface gráfica;
- software de programação: é o conjunto de ferramentas que permitem ao
programador desenvolver sistemas utilizando linguagens de programação
e um ambiente para o desenvolvimento;
17
- software de aplicação: são programas que permitem ao usuário
executar uma série de serviços característicos de diversas áreas.
2.2 PRINCIPAIS APLICAÇÕES
2.2.1 Software Básico
Segundo Pressman (2007, p. 34), define-se como um conjunto de
programas que dão base a outros programas. As qualidades marcantes desta
categoria de software são: a intensa interação com o hardware e compartilhamento
de recursos, uso constante de processamento concorrente, que demanda o
escalonamento, e estruturas de dados muito complexas. Temos como exemplo
compiladores, editores de texto, sistemas operacionais.
2.2.2 Software de Tempo Real
Para Pressman (2007, p. 35), essa categoria caracteriza por monitorar,
avaliar e controlar fatos do mundo real. Existem elementos típicos como: Coleta de
dados do ambiente externo, Análise que transforma a informação de acordo com a
necessidade do sistema, controle e saída para o ambiente externo e um
componente de monitoração que coordena todos os outros. Lembrando que tempo
real caracteriza-se por responder dentro de restrições de tempo exatas. Temos
como exemplo nas aeronaves os controles de navegação, nos automóveis os
sistemas de injeção eletrônica.
2.2.3 Software Comercial
Conforme Pressman (2007, p. 35), essa categoria é a maior área privada de
software. Nela os dados são reunidos de uma forma que facilite as operações
comerciais e as decisões administrativas, usando ainda métodos de computação
interativa. Temos como exemplo controle de estoque, folha de pagamento, contas a
pagar e receber.
18
2.2.4 Software Científico e de Engenharia
Segundo Modesto e Oliveira (2010, p. 34), “são software que auxiliam as
aplicações científicas. Têm sido caracterizados por algoritmos de processamento de
números”.
2.2.5 Software Embutido ou Embargado
Para Modesto e Oliveira (2010, p. 35), são software próprios de um
determinado hardware. É usado para controlar produtos e sistemas para os
mercados industriais e de consumo. Tem como característica utilizar uma memória
de somente leitura e usam rotinas limitadas e particulares.
2.2.6 Software de Computador Pessoal
Segundo Modesto e Oliveira (2010, p. 18), conceitua-se pelo software
utilizados em computadores de uso pessoal, entre muitas outras aplicações, são
responsáveis por processamento de textos, planilhas eletrônicas, computação
gráfica.
2.2.7 Software de Inteligência Artificial
Conforme Modesto e Oliveira (2010, p. 18), caracteriza-se pelo uso de
algoritmos não numéricos para resolver problemas complexos. Atualmente a área de
AI (Artificial Intelligency) mais ativa é a dos sistemas especialistas, também
chamados sistemas baseados em conhecimento.
2.2.8 Software Online
Para Modesto e Oliveira (2010, p. 18), são software que trabalham em
conexão com a internet. Os arquivos não são carregados localmente e sim através
de um servidor, com tempo de resposta curto, mas maior que o de tempo real.
19
2.3 ENGENHARIA DE SOFTWARE – CONCEITOS E ASPECTOS
Na engenharia de software há recursos aperfeiçoados e alguns não
aperfeiçoados.
Abaixo uma figura conveniente que apresenta a engenharia de software em
vários aspectos.
Figura 1: Engenharia de software
Fonte: CeviuBlog (2013, p. 19).
Segundo Sommerville (2004, p. 132), a engenharia de software é uma
ciência da engenharia que se toma de todos os aspectos da produção de software,
desde as práticas iniciais de especificação do sistema até a manutenção do mesmo,
após ele entrar em operação. Com essa definição, podemos destacar dois termos
importantes que são:
- estudo da engenharia: aplica as teorias, processos e ferramentas nos
casos apropriados, de maneira seletiva;
- todos os aspectos da produção de software: engenharia não se
designa somente aos métodos técnicos de desenvolvimento, além disso a
atividade como o gerenciamento de projetos de software e o
desenvolvimento de ferramentas.
20
Esses termos levam à busca de um processo de desenvolvimento que
considere a componente “Qualidade”.
2.3.1 Paradigmas de Engenharia de Software
Conforme Seno um paradigma é escolhido tendo-se como base a natureza
do projeto e da aplicação, os métodos e ferramentas a serem usados, os controles e
os produtos que precisam ser entregues.
2.3.2 Modelos de Processo de Desenvolvimento de Software
Os modelos de métodos de desenvolvimento de software nasceram pela
obrigação de dar resposta aos casos a avaliar, pois só na altura em que encaramos
o problema é que podemos sugerir o modelo.
Nos modelos de métodos de software é oferecido um cuidado exclusivo à
representação abstrata dos dados do método e sua dinâmica, não formando
métodos de desenvolvimento, porque este trabalha num grau, além disso, do que os
padrões de período de vida.
2.3.2.1 O Modelo em Cascata
Segundo Leite (2007, p. 20), o modelo cascata (waterfall) tornou-se
conhecido na década de 70 e é referenciado na maior parte dos livros de engenharia
de software ou manuais de exemplos de software. Nele as atividades do método de
desenvolvimento são estruturadas numa cascata onde a saída de uma é a entrada
para a próxima.
Conforme Leite (2007, p. 20), este modelo, introduziu enormes atributos ao
desenvolvimento. A primeira chama a atenção de que o método de desenvolvimento
deve ser administrado de forma disciplinada, com atividades visivelmente marcantes,
apurada a partir de um plano e sujeitas a gerenciamento durante a concretização.
Outra qualidade determina de modo claro quais são estas atividades e quais
as condições para cumpri-las. Finalmente, o modelo introduz o afastamento das
atividades do sentido e design da atividade de programação que era o núcleo das
atenções no desenvolvimento de software.
21
Figura 2: Modelo em cascata
Fonte: Victorino e Bräscher (2009, p. 21).
Conforme Victorino e Bräscher (2009, p. 21), o modelo em cascata é
composto pelas seguintes etapas:
- levantamento de requisitos: tem por objetivo propiciar que usuários e
desenvolvedores tenham a mesma compreensão do problema a ser
resolvido;
- análise de requisitos: tem por objetivo construir modelos que
determinam qual é o problema para o qual se procura conceber uma
solução de software;
- projeto: tem por objetivo adaptar o modelo de análise de tal modo que
possa servir como base para implementar a solução no ambiente alvo;
- implementação: etapa em que a codificação do sistema é efetivamente
executada;
- teste: consiste na verificação do software;
- implantação: fase em que o sistema entra em produção.
2.3.2.2 Modelo Espiral
Segundo Pressman (2007, p. 65), modelo espiral é uma combinação do
modelo de processo de desenvolvimento iterativo e sequencial modelo de
desenvolvimento, ou seja, modelo em cascata linear com alta ênfase em análise de
risco.
O modelo espiral tem quatro fases. Um projeto de software passa
repetidamente por essas fases em iterações chamadas espirais.
22
A fase de Identificação começa com a coleta dos requisitos de negócios na
espiral da linha de base. Nos espirais posteriores como o produto amadurece, a
identificação de requisitos de sistema, requisitos de subsistemas e os requisitos de
unidade são todas feitas nesta fase.
A fase de Projeto começa com o projeto conceitual na espiral da linha de
base e envolve projeto arquitetônico, projeto lógico de módulos, design de produtos
físicos e design final nas espirais subsequentes.
A fase Construir ou envergadura refere-se a produção do produto de
software real em cada espiral. Na espiral da linha de base quando o produto é
apenas pensado a o projeto está sendo desenvolvido e é desenvolvido nesta fase
para obter feedback do cliente.
A fase de Avaliação e Análise de risco inclui identificar, estimar e monitorar
viabilidade e gestão de riscos técnicos, como o não cumprimento do cronograma e
superação custo. Depois de testar a acumulação, no final da primeira iteração, o
cliente avalia o software e fornece o feedback.
A seguir uma representação esquemática do modelo espiral listando as
atividades em cada fase:
Figura 3: Diagrama do modelo espiral
Fonte: Pressman (2007, p. 65).
Com base na avaliação do cliente, o processo de desenvolvimento de
software entra na iteração seguinte e, subsequentemente, segue a abordagem linear
para implementar o feedback sugerido pelo cliente. O processo de iteração ao longo
da espiral continua ao longo da vida do software.
23
2.3.2.3 Modelo de Prototipação
Segundo Kumar (2012, p. 23), a ideia fundamental é que, em vez de
congelar os requisitos antes de um projeto ou de codificação avançar, um protótipo
descartável é construído para entender as requisições. Este protótipo é desenvolvido
com base nos requisitos atualmente conhecidas. Ao utilizar este protótipo, o cliente
pode ter uma “sensação real” do sistema, já que as interações com protótipo pode
permitir que o cliente entenda melhor os requisitos do sistema desejado.
Prototipagem é uma ideia atraente para sistemas complexos e grandes para as
quais não há nenhum processo manual ou sistema existente para ajudar a
determinar os requisitos.
Idealmente, o protótipo serve como um mecanismo para identificação dos
requisitos do software. Se um protótipo executável é elaborado, o
desenvolvedor tenta usar partes de programas existentes ou aplicar
ferramentas (por exemplo, geradores de relatório, gestores de janelas etc.)
que possibilitem programas executáveis serem gerados rapidamente
(PRESSMAN, 2007, p. 67).
Conforme Kumar (2012, p. 23), devemos usar o modelo de Prototipação
quando o sistema desejado precisa ter um monte de interação com os usuários
finais. Normalmente os sistemas on-line, tem uma quantidade muito elevada de
interação com os usuários finais, são os mais adequados para o modelo de
protótipo. Pode demorar um pouco para um sistema ser construído, que permite
facilidade de uso e precisa de um mínimo de treinamento para o usuário final.
2.3.2.4 O Modelo RUP
Segundo a IBM (s.d., p. 23), é um framework de processo abrangente que
fornece práticas testadas pela indústria para software e sistemas de entrega e de
execução, para uma gestão eficaz do projeto. É um dos muitos processos contidos
na Biblioteca Processo Racional, que oferece as melhores práticas de orientação
adequada para o seu desenvolvimento em particular ou necessidade do projeto.
Segundo Sommerville (2007, p. 72) as melhores práticas abordadas são as
seguintes:
24
- desenvolver o software interativamente: planejar os incrementos de
software com base nas prioridades do cliente, desenvolver e entregar o
mais cedo possível às características de sistema de maior prioridade no
processo de desenvolvimento;
- gerenciar requisitos: documentar explicitamente os requisitos do cliente
e manter o acompanhamento das mudanças desses requisitos. Analisar o
impacto das mudanças no sistema antes de aceitá-las;
- usar arquiteturas baseadas em componentes: estruturar a arquitetura
do sistema com componentes, reduzindo a quantidade de software a ser
desenvolvido e, consequentemente, reduzir custos e riscos;
- modelar software visualmente: usar modelos gráficos de UML para
apresentar as visões estática e dinâmica do software;
- verificar a qualidade do software: garantir que o software atenda aos
padrões de qualidade da organização;
- controlar as mudanças do software: gerenciar as mudanças do
software,
usando
um
sistema
de
gerenciamento
de
mudanças,
procedimentos e ferramentas de gerenciamento de configuração.
Conforme Martinez (s.d., p. 24), o RUP está organizado em cinco (5) fases
que são:
- fase de concepção/iniciação: esta fase abrange as tarefas de
comunicação com o cliente e planejamento;
- fase de elaboração: abrange a modelagem do modelo genérico do
processo;
- fase de construção: desenvolve ou adquire os componentes de
software;
- fase de transição: abrange a entrega do software ao usuário e a fase de
testes;
- fase de produção: a implantação é continuada e completada e ainda é
feito um acompanhamento para influência das funcionalidades do
software.
Essas cinco fases estão ilustradas na Figura 4.
25
Figura 4: Fases do processo unificado (RUP)
Fonte: Pressman (2007, p. 73).
O modelo é melhorado por dois vetores, que são o dinâmico e o estático.
O vetor estático (eixo y), chamado de Method Content, descreve como o
software é desenvolvido. Esse vetor lista as nove (9) disciplinas do RUP e
abrange todo o modo como as coisas são desenvolvidas. O eixo x por sua
vez captura tudo isso e distribui no tempo através de fases, iterações,
atividades e subatividades, gerando processos (MORIYA, 2007).
2.4 QUALIDADE DE SOFTWARE
Conforme Campos (2013, p. 25), a ISO 9000:2005, qualidade é o grau em
que um conjunto de características essenciais a um produto. Ou seja, pode-se
garantir que se algum produto ou serviço atende as condições apontadas, este
mesmo produto ou serviço possui a qualidade esperada.
Segundo Martins (2012, p. 25), qualidade de software é um conceito
complexo, que não pode ser definido de maneira simples. Classicamente, o
conhecimento de qualidade tem significado que o produto desenvolvido deve
cumprir sua especificação.
Conforme Campos (2013, p. 25), a qualidade pode ter sua avaliação através
do grau de satisfação que as pessoas medem um certo produto ou serviço. Esse
produto ou serviço pode ter qualidade para algumas pessoas e para outras nem
tanto. O termo TQM (Total Quality Management), amplamente usado nas
organizações, também descreve uma abordagem para a melhoria da qualidade.
26
Para Kan (2002, p. 26), “O termo tem tomado vários significados,
dependendo de quem interpreta e como se aplica. ” Os elementos chaves do TQM
podem ser resumidos conforme a Figura 5:
Figura 5: Elementos chave do TQM
Fonte: Kan (2003, p. 26).
Segundo Campos (2013, p. 26), os elementos chave do TQM são os
seguintes:
a) Foco do cliente (customer focus): tem um foco no cliente, na maioria
das vezes é um forte colaborador para o total sucesso de um negócio e
envolve garantir que todos os aspectos da empresa colocam seus clientes
em primeiro lugar;
b) Melhoria de processo (process improvement): é a ocupação proativa
na identificação, análise e avanço em processos de negócios existentes
dentro de uma organização para otimizar e para avaliar novas quotas ou
padrões de qualidade;
c) Lado humano da qualidade (human side of quality): se quiser melhorar
um sistema complexo, devemos convencer o povo em torno da empresa
a fazer as coisas de forma diferente. Mas uma mudança que parece
sensata e benéfica para a empresa pode sentir ameaçador para os
outros;
d) Métricas,
modelos,
medições
e
análise
(metrics,
models,
measurement and analysis): o objetivo é direcionar o progresso
contínuo em todos os parâmetros da qualidade por um sistema de
avaliação orientado a metas.
27
2.4.1 Garantia da Qualidade do Software
Quando os modelos de negócios e os mercados mudam mais rápido do que
as aplicações que os suportam pode ser desenvolvida, o teste de software é muitas
vezes primeiro a ser cortado do orçamento ou cronograma, apesar do fato de que
defeitos de software têm um impacto direto e negativo sobre a rentabilidade. Mesmo
um pequeno número de defeitos podem ter um impacto catastrófico sobre uma
empresa, seus clientes e seus parceiros. Estima-se que um defeito de software
encontrado e os custos pós-produção fixa de 100 vezes mais do que se o defeito foi
encontrado na fase de concepção.
Há muitos benefícios e menos riscos de ter uma organização independente
de testes de software parceiro em vez de in-house testes. Testadores
independentes e consultores de teste trazer uma imparcialidade muito necessária
para os processos de teste para uma melhor qualidade, e em casa o pessoal está
liberado para se concentrar em suas atividades principais. Testes independentes
traz consigo as melhores of-breed de gestão da qualidade de processos, porque
essa é a sua principal atividade.
2.4.2 Melhoria do Processo de Software
Conforme o IEE (Institute of Electrical and Eletronic Engineers), de forma
mais comum, método é uma série de passos atingidos para uma determinada
finalidade.
Segundo Sommerville (2004, p. 141), durante os últimos anos, aumentou o
interesse por parte das organizações que tem desenvolvimento de software pelo
avanço de suas técnicas. O avanço da metodologia significa compreender os
métodos existentes e poder alterá-los. Com esse objetivo obtido, o abatimento dos
valores e do período pode se tornar a fundamental meta do avanço.
Os princípios para o alcance da Melhoria de Processos de Software é fazer
um levantamento das condições necessárias aos clientes, criar um ciclo de vida para
os métodos e, por fim, concretizar a instalação e manutenção do próprio.
Para Silveira (2012, p. 27), para se ter uma qualidade de software depende
da capacitação dos métodos. Existe investimento insuficiente das empresas em
certificações que confirmem a qualidade e a maturidade dos processos na
28
fabricação de software. Para as pequenas empresas, esse investimento é um
problema por ter um valor elevado das certificações. Com a ação de entidades
privadas, centros de estudos e governo têm a probabilidade de aperfeiçoarmos os
processos de software no Brasil, tendo como foco principal pequenas e médias
empresas.
Segundo Sommerville (2004, p. 142), aperfeiçoar o processo de software de
uma organização não é somente seguir métodos ou ferramentas exclusivas ou
algum modelo de processo que tenha sido usado em diferente lugar.
... Desde que o software, como todo capital, é conhecimento incorporado, e
como esse conhecimento está inicialmente disperso, tácito, latente e
incompleto na sua totalidade, o desenvolvimento de software é um processo
de aprendizado social. O processo é um diálogo no qual o conhecimento,
que deve se transformar em software é reunido e incorporado ao software.
O processo fornece interação entre usuários e projetistas, entre usuários e
ferramentas em desenvolvimento e entre projetistas e ferramentas em
desenvolvimento (tecnologia). É um processo iterativo no qual a própria
ferramenta serve como meio de comunicação, com cada nova rodada de
dialogo explicitando mais conhecimento útil do pessoal envolvido...
(BAETJER, 1998, p. 85).
A elaboração de software de computador é um processo de prática, e o
resultado, é a inclusão de informações coletadas, reunidos à medida que o processo
é administrado. Processo é a base da engenharia de software.
Segundo Pressman (2007, p. 76), é ele que permite o desenvolvimento
lógica e aceitável de softwares de computador. Processos de software compõem a
base para a influência gerencial de projetos de software e constitui o conteúdo no
qual os métodos técnicos são aplicados, os produtos de trabalho (modelos,
documentos, dados, relatórios, formulários, etc.) são produzidos, os limites são
constituídos, a qualidade é garantida e as alterações são adequadamente
administradas.
Assim como os produtos, os processos também têm atributos ou
características (Tabela 1).
29
Tabela 1: Características do processo
Característica
do Processo
Facilidade de
compreensão
Visibilidade
Facilidade de
suporte
Aceitabilidade
Confiabilidade
Robustez
Facilidade de
manutenção
Rapidez
Descrição
Até que ponto o processo está explicitamente definido e com que facilidade se pode
compreender a definição do processo?
As atividades de processo culminam em resultados nítidos, de modo que o progresso do
processo seja externamente visível?
Até que ponto as atividades do processo podem ser apoiadas por ferramentas CASE?
O processo definido é aceitável e utilizável pelos engenheiros responsáveis pela produção
do produto de software?
O processo está projetado de tal maneira que seus erros sejam evitados ou identificados
antes que resultem em erros no produto?
O processo pode continuar, mesmo que surjam problemas inesperados?
O processo pode evoluir para refletir os requisitos mutáveis da organização ou melhorias
de processo identificadas?
Com que rapidez pode ser concluído o processo de entrega de um sistema, a partir de
uma determinada especificação?
Fonte: Sommerville (2004, p. 145).
É por meio do avanço nos processos de software que se visa chegar a um
acréscimo de qualidade e a uma obra final que atenda o mercado em geral porque
ela envolve distintos aspectos, dentre eles temos os técnicos, os gerenciais e até
mesmo, os culturais:
- disposição das obras de avanço ao assunto;
- dispor uma tática e colocar quais os objetivos de interesse da
organização;
- opção de um exemplo de processo para ter como referência, por
exemplo, CMM, ISO/IEC 15504 (SPICE e CMMI);
- opção de um processo para o avanço de produtos (por exemplo, IDEAL e
Guia 15504);
- informação da situação atual das práticas da organização;
- idealização;
- implantação de atos de avanço;
- acompanhamento, avaliação e institucionalização do avanço.
2.5 MODELO DE QUALIDADE DE SOFTWARE
Desenvolver software de qualidade assegurada, com elevada produtividade,
dentro do prazo estabelecido e sem necessitar de mais recursos que os alocados,
tem sido o grande desafio da Engenharia de Software.
30
2.5.1 Modelo CMMI
Segundo Pressman (2007, p. 691), o CMMI (Capability Maturity Model
Integration) é uma abordagem para a melhoria de processos compatível com a
Norma ISSO 15504 (SPICE). Embora as duas abordagens sejam semelhantes, o
CMMI não foi baseado em SPICE, como se poderia pensar. O modelo foi constituído
de forma independente, com participação da indústria, do governo norte-americano
e do Instituto de Engenharia de Software (SEI) da Carnegie Mellon University (CMU).
CMMI é o sucessor do modelo CMM (Capability Maturity Model), que foi
desenvolvido entre 1987 e 1997. Em 2002 foi lançada a versão 1.1 do CMMI, e, em
novembro de 2010, a versão 1.3.
A versão atual do CMMI possui três vertentes:
a) CMMI para aquisição (CMMI-ACQ): provê diretrizes para suporte às
decisões relacionadas à aquisição de produtos e serviços;
b) CMMI para desenvolvimento (CMMI-DEV): provê diretrizes para
monitorar, mensurar e gerenciar processos de desenvolvimento;
c) CMMI para serviços (CMMI-SVC): provê diretrizes para entrega de
serviços dentro das organizações e para clientes externos.
Os modelos CMMI podem ser usados como guias para desenvolver e
melhorar processos da organização, e também como um framework para avaliar a
maturidade dos processos da organização.
CMMI se originou na indústria de software, mas também tem sido adaptado
a outras áreas, como a indústria de hardware, serviços e comércio em geral. O
termo “software” sequer aparece nas definições de CMMI, o que torna o modelo bem
mais abrangente do que seu predecessor, o CMM.
Existem duas representações do CMMI, a representação contínua e a
representação em estágios. A representação contínua é projetada para permitir à
empresa focar em processos específicos que deseja melhorar em função de suas
prioridades. Já a representação em estágios é aplicada à organização como um todo
e permite que se compare a maturidade de diferentes organizações.
Os principais componentes da estrutura do CMMI estão representados na
Figura 6 e definidos a seguir:
31
Figura 6: Componentes da estrutura do CMMI-DEV
Fonte: SEI (2010b, p. 36).
2.5.2 Modelo ISO/IEC 9126
Conforme Pressman (2007, p. 362) o ISO/IEC 9126 trata da avaliação do
produto de software, do ponto de vista das suas características de qualidade. A
norma é aplicável para quem faz aquisição e/ou de desenvolvimento de software,
usuários, assim como para quem fornece suporte, manutenção ou realiza auditoria
de software.
Esta norma não é aplicada com o objetivo de obter uma certificação através
de um esquema de reconhecimento mútuo. A norma sugere sua aplicação nas
seguintes situações:
- definir os requisitos de qualidade do software;
- avaliar especificações de software para verificar se satisfazem os
requisitos de qualidade durante o desenvolvimento;
- descrever características e atributos do software implementado;
- avaliar o software desenvolvido antes de ser entregue;
- avaliar o software antes da aceitação.
Segundo Pressman (2007, p. 363) a norma sugere a avaliação dos atributos
da
qualidade
do
software
relacionados
a
Funcionalidade,
Confiabilidade,
Usabilidade, Eficiência, Manutenibilidade e Portabilidade.
Funcionalidade: um conjunto de atributos que satisfazem necessidades
implícitas e explícitas.
32
Os subconjuntos de requisitos de qualidade funcionais são:
- adequabilidade;
- exatidão;
- interoperabilidade;
- conformidade;
- segurança.
Confiabilidade: um conjunto de atributos relacionados à capacidade do
software de manter seu nível de desempenho, conforme as condições estabelecidas
por um período de tempo estabelecido.
Subconjuntos de requisitos de qualidade de confiabilidade são:
- maturidade;
- tolerância a falhas;
- capacidade de recuperação.
Usabilidade: um conjunto de atributos relacionados ao esforço para usar o
software ou na avaliação individual de tal uso, por um ou mais usuários.
Subconjuntos de requisitos de qualidade de usabilidade são:
- facilidade de entendimento;
- facilidade de aprendizagem;
- facilidade de operação.
Eficiência: um conjunto de atributos que dizem respeito à relação entre o
nível de desempenho do software e à quantidade de recursos usada, sob condições
estabelecidas.
Subconjuntos de requisitos de qualidade de eficiência são:
- comportamento do tempo;
- comportamento de recursos.
Facilidade de manutenção: um conjunto de atributos relacionados ao
esforço necessário para realizar modificações específicas.
Subconjuntos de requisitos de qualidade de facilidade de manutenção são:
- facilidade de análise;
- facilidade de mudança;
- estabilidade;
- facilidade de teste.
Portabilidade: um conjunto de atributos de software relacionados à
habilidade do software ser transferido de um ambiente para outro.
33
Subconjuntos de requisitos de qualidade de portabilidade são:
- capacidade de adaptação;
- facilidade de instalação;
- nível de conformidade;
- facilidade de substituição.
2.5.3 Modelo MPS
Conforme o Guia de Avaliação (2009, p. 6), busca-se que o modelo MPS
seja apropriado ao perfil de empresas com tamanhos desiguais e qualidades,
privadas e públicas, apesar de que com específico cuidado às micro, pequenas e
médias empresas. Também se acredita que o modelo MPS seja compatível com os
padrões de qualidade aceitos internacionalmente e que traga como pressuposto a
aplicação de toda a capacidade existente nos modelos de avanço de processo já
disponíveis. Ele apresenta como base os requisitos de processos definidos nos
exemplos de avanço de processo e recebe a obrigação de inserir os princípios de
engenharia de software de forma acertada ao assunto das empresas, ficando em
acordo com as principais abordagens internacionais para definição, avaliação e
melhoria de processos de software.
34
3 PROJETO MPS.BR
O programa MPS.BR é uma iniciativa brasileira para melhoria contínua de
processos de software criado em dezembro de 2003. O MPS.BR tem como uma de
suas metas definir e aperfeiçoar um modelo de avanço e avaliação de processo de
software, focando preferencialmente as micro, pequenas e médias empresas, de
forma a atender suas necessidades de negócios e ser reconhecido nacional e
internacionalmente como um modelo aplicável à indústria de software.
A Softex – Associação para Promoção da Excelência do software Brasileiro,
é responsável pela coordenação do Programa MPS.BR e conta com o apoio do
Ministério da Ciência e Tecnologia (MCT), Financiadora de Estudos e Projetos
(FINEP), Serviço Brasileiro de Apoio às Micro e Pequenas Empresas (SEBRAE) e
Banco Internacional de Desenvolvimento (BID).
Segundo Guia Geral de Software (2012, p. 13) o MPS.BR é constituído dos
seguintes componentes: Modelo de Referência (MR-MPS); Método de Avaliação
(MA-MPS); e Modelo de Negócio (MN-MPS). O MR-MPS tem como base técnica as
normas ISO/IEC 12207, ISO/IEC 15504, ISO/IEC 20000 e o modelo CMMI-DEV. O
MA-MPS tem como base técnica a norma ISO/IEC 15504. Cada um é constituído de
guias e documentos que permitem a implementação/avaliação dos projetos de
melhoria de processos.
A Figura 7 apresenta o Programa MPS.BR e seus componentes:
Figura 7: Componentes do programa MPS.BR
Fonte: Guia Geral de Software (2012, p. 14).
35
Conforme o Guia Geral de Software (2012, p. 14), a finalidade do projeto
MPS.BR é o melhoramento de processos do software brasileiro, para alcançar suas
metas a médio e longo prazo temos:
a) uma
meta
técnica,
que
tende
essencialmente
a
concepção
e
aperfeiçoamento do modelo MPS;
b) qualquer meta de negócio, apontando à dispersão e adoção do modelo
MPS, em todas as regiões, em um período de tempo justo.
3.1 BASE TÉCNICA PARA A DEFINIÇÃO DOS COMPONENTES DO MPS.BR
Diversos modelos de processos de desenvolvimento de software surgiram
nos últimos anos como, por exemplo, os apresentados pelos padrões ISO/IEC
12207, ISO/IEC 15504 e ISO/IEC 20000.
3.1.1 ISO/IEC 12207:2008
A Norma ISO/IEC 12207 foi criada pela ISO – The International Organization
for Standardization e o IEC - International Electrotechnical Commission dentro de um
esforço conjunto dessas organizações.
Conforme Rocha, Maldonado e Weber (2001, p. 12), ISO/IEC 12207 – Esse
padrão internacional ou modelo de referência chamado de Processo do Ciclo de
Vida do Software e tem como objetivo fundamental fornecer uma estrutura
excepcional para que o adquirente, fornecedor, desenvolvedor, mantenedor,
operador, gerentes e técnicos envolvidos com o desenvolvimento de software usem
uma linguagem comum que é constituída na forma de processos bem marcantes.
Em 1988, deu início ao desenvolvimento da norma e em agosto de 1995 ela
foi divulgada como norma internacional. Em 1998, foi divulgada a sua versão
brasileira que tem o nome igual a internacional, apenas acrescentada as iniciais
NBR.
Conforme Lima (2013, p. 42), a ISO/IEC 12207 estabelece 5 processos
fundamentais, 8 processos de apoio, 4 processos organizacionais e um processo de
adaptação, totalizando 18 processos, conforme apresentado na Figura 8.
36
Figura 8: Processos do ciclo de vida de software
Fonte: Rocha, Maldonado e Weber (2001, p. 13).
Segundo Bischoff (2008, p. 63) os 18 processos da ISO/IEC 12207 estão
arranjados em 4 classes de processos com o objetivo específico, conforme a lista a
seguir:
I. Classe dos processos fundamentais: são os processos constituídos pelas
atividades essenciais de início e execução para o desenvolvimento, operação e a
manutenção no ciclo de vida do software. Os processos fundamentais definidos na
norma são:
- processo de aquisição: atividade do adquirente;
- processo de fornecimento: atividade do fornecedor;
- processo de operação: atividade do operador;
- processo de manutenção: atividade do mantenedor.
II. Classe dos processos de apoio: são os processos constituídos por
atividades que auxiliam processos fundamentais ou organizacionais. Essa classe é
composta pelos processos de documentação, gerência de configuração, garantia de
qualidade, verificação, validação, revisão conjunta e resolução de problemas.
III. Classe dos processos organizacionais: esses processos são formados
pelas atividades para estabelecer e implementar uma estrutura constituída dos
processos do ciclo de vida e pessoal envolvido no desenvolvimento do software.
Nessa classe são definidos os processos de gerência, infraestrutura, melhoria e
treinamentos.
IV. Classe do processo de adaptação: atividades elementares para adaptar a
norma de forma a viabilizar a sua aplicação na organização ou em projetos, como
37
por exemplo: estratégia de aquisição, ciclo de vida de projetos, cultura
organizacional, técnicas de desenvolvimento, características de produtos e serviços
de software.
É possível também que nem todas as etapas do ciclo de vida ocorram para
um determinado software. Exemplo disso é quando se pretende adquirir um
programa já pronto, o que exclui a fase de desenvolvimento.
3.1.2 ISO/IEC 15504
Segundo Anacleto et al. (2003, p. 2), o modelo de referência ISO/IEC 15504
também conhecido como SPICE, foi desenvolvido como um framework para ter uma
avaliação de processos de engenharia de software e do arranjo do projeto e do
negócio. É organizado e classificado como as melhores técnicas em duas extensões
que são: nível de capacidade e categoria de processos. Ultimamente a norma é
comum podendo ser usada por diferentes tipos de processos, não estando mais
excepcionalmente dedicada a software. Apesar disso, sua principal finalidade é o
avanço e a avaliação dos processos, nos dois casos três elementos fundamentais
devem ser exatamente definidos para que a avaliação de processos seja alcançada
conforme a ISO/IEC 15504, sendo:
1. os processos: devem ser verificados por um avaliador competente,
segundo os requisitos previstos na norma;
2. uma escala de medida: deve ter como referência um modelo de avaliação
de processos compatível;
3. um método de medição: deve ser realizado seguindo um processo
compatível.
Com novas opiniões a ISO/IEC 15504 foi disponibilizado um padrão de
referência de processo PRM (Process Reference Model). Este padrão criou uma
arquitetura como padrão de referência de método com duas dimensões: Dimensões
de Processo e Dimensão da Capacidade do Processo.
 Dimensão de processo
Conforme Maciel, Valls e Savoine (s.d., p. 5), é constituído por cinco
categorias avaliadas como essenciais para uma adequada prática da engenharia de
software. As categorias da dimensão de processos são:
38
- CON – consumidor e fornecedor: tem um impacto direto sobre os
consumidores;
- ENG – engenharia: esta categoria agrupa os processos que levam à
implementação do produto;
- SUP – suporte: seus processos dão suporte e apoio aos demais
processos da organização;
- MAN – administração: na categoria de gerência estão incluídos os
processos que de forma genérica podem ser usados na administração de
todo outro processo ou do projeto em si;
- ORG – organização: inclui todos os processos organizacionais da
empresa como infraestrutura.
A dimensão de capacidade permite uma avaliação mais detalhada dos
processos executados por uma organização. Enquanto a dimensão de
processo se limita à verificação de execução ou não dos processos, a
dimensão de capacidade leva a uma avaliação de níveis semelhantes aos
do CMMI (KOSCIANSKI; SOARES, 2007, p. 177).
A ISO/IEC 15504 também define seis níveis de capacidade que são
mostradas na Tabela 2.
Tabela 2: Níveis da ISO/IEC 15504
NÍVEL
NOME
0
Incompleto
1
Executado
2
Gerenciado
3
Estabelecido
4
Previsível
5
Otimizado
DESCRIÇÃO
O processo não é implementado ou falha em atingir seus
objetivos.
O processo essencialmente atinge os objetivos, mesmo se de
forma planejada ou rigorosa.
O processo é implementado de forma controlada (planejado,
monitorado e ajustado); os produtos por ele criados são
controlados e mantidos de forma apropriada.
O processo é implementado de forma sistemática e consistente.
O processo é executado e existe um controle que permite
verificar se ele se encontra dentro dos limites estabelecidos para
atingir os resultados.
O processo é adaptado continuamente para, de uma forma mais
eficiente, atingir os objetivos de negócio definidos e projetados.
Fonte: Koscianski e Soares (2007, p. 178).
39
Cada um doa níveis apresentados possui incluídos os atributos de processo
que são aplicáveis a todos os processos.
O modelo de referência ISO/IEC 15504 é compatível com CMMI (Capability
Maturity Model Integration).
3.1.3 ISO/IEC 20000
Segundo Guia Geral de Software (2012, p.16), a norma ISO/IEC 20000
[ISO/IEC, 2011] publicada em dezembro de 2005 tem como finalidade fornecer um
padrão de referência comum para uma empresa proporcionar serviços de TI para
clientes internos ou externos. Esta norma fornece a adoção de um enfoque de
processos associada para a gestão de serviços de TI e alinha-se com os melhores
métodos do ITIL para entrega e suporte de serviços. A ISO/IEC 20000 incide em
cinco elementos, sob o título geral Tecnologia da Informação – Gerenciamento de
Serviços.
Segundo o Guia Geral de Software (2012, p.16), a ISO/IEC 20000-1 aponta
ao provedor de serviços as condições para projetar, estabelecer, implementar, atuar,
monitorar, revisar, sustentar e aperfeiçoar o GSTI (Gerenciamento de Serviços de
TI). As condições contêm o projeto, mudança, entrega e avanço dos serviços para
acatar as condições antecipadamente acordados. A ISO/IEC 20000-2 concebe um
acordo do setor sobre padrões de qualidade em processos de GSTI e apresenta as
melhores práticas para esses processos [ISO/IEC, 2011]. A ISO/IEC TR 20000-3
abastece orientações, explicações e indicações para a definição do escopo,
aplicabilidade e demonstração da conformidade com a ISO/IEC 20000-1 pelo uso de
exemplos
práticos.
A
ISO/IEC
20000-4
tem
como
finalidade
facilitar
o
desenvolvimento de um modelo para avaliação de processo de acordo com a norma
ISO/IEC 15504. O modelo de referência de processo, previsto nesta norma, é um
perfil lógico dos dados dos processos para o gerenciamento de serviços que podem
ser aplicados em um nível básico. Todo processo é descrito em termos de uma
finalidade e resultados associados. A ISO/IEC 20000-5 expõe um exemplo de plano
de prática no qual são fornecidos guias para os provedores de serviços acatarem
aos requisitos da ISO/IEC 20000-1.
40
3.1.4 MPS.BR e suas Estruturas de Apoio
O programa MPS.BR conta com duas estruturas de apoio para o
desenvolvimento de suas atividades, o Fórum de Credenciamento e Controle (FCC)
e a Equipe Técnica do Modelo (ETM). Por meio destas estruturas, o MPS.BR obtém
a participação de representantes de universidades, instituições governamentais,
centros de pesquisa e de organizações privadas, os quais contribuem com suas
visões complementares que agregam qualidade ao empreendimento.
Cabe ao FCC:
- emitir parecer que subsidie decisão da SOFTEX sobre o credenciamento
de Instituições Implementadoras (II) e Instituições Avaliadoras (IA);
- monitorar
os
resultados
das
Instituições
Implementadoras
(II)
e
Instituições Avaliadoras (IA), emitindo parecer propondo à SOFTEX o seu
descredenciamento no caso de comprometimento da credibilidade do
modelo MPS.
Cabe à ETM apoiar a SOFTEX sobre os aspectos técnicos relacionados ao
Modelo de Referência (MR-MPS) e Método de Avaliação (MA-MPS), para:
- criação e aprimoramento contínuo do MR-MPS, MA-MPS e seus guias
específicos;
- capacitação de pessoas por meio de cursos, provas e workshops.
3.2 DESCRIÇÃO DOS MODELOS MPS
O MPS.Br conta com um modelo de referência, o MR-MPS e também com
um método de avaliação, que é o MA-MPS, além de ter um modelo de negócio que é
o MN-MPS, o segundo foi criado porque existem empresas que terão de fazer a
análise e avaliação de como as empresas que estão fazendo parte do MPS.Br estão
agindo.
3.2.1 Descrição do Modelo de Referência MR-MPS
Segundo o Guia Geral de Software (2012, p. 17), o Modelo de Referência
MPS (MR-MPS) determina níveis de maturidade que é um ajuste entre processos e
sua capacidade.
41
Conforme o Guia Geral de Software (2012, p. 17), o significado dos
processos segue a forma exposta no modelo de referência ISO/IEC 15504-2,
afirmando a intenção e os resultados esperados de sua execução. Isso admite
avaliar e atribuir graus de efetividade no cumprimento dos processos. As atividades
e serviços necessários para atender ao propósito e aos resultados aguardados não
são determinadas mas sim carecem ficar a cargo dos usuários do MR-MPS.
Capacidade do processo é a diferenciação da habilidade do processo para
conseguir os objetivos de negócios, atuais e futuros; permanecendo relacionada
com o acolhimento das características de processos associados aos processos de
cada nível de maturidade.
3.2.2 Descrição do Modelo de Avaliação MA-MPS
Segundo o Guia Geral de Software (2012, p. 18), é composto basicamente
pelos requisitos do método, atividade do método, indicadores para avaliação e
características da qualificação dos avaliadores. Este método permite a realização de
avaliação em unidades organizacionais segundo o modelo MPS.
O processo de avaliação é composto por quatro fases: Preparação e
planejamento, condução da avaliação, Resultados e certificação.
3.2.3 Descrição do Modelo de Negócio MN-MPS
Segundo o Guia Geral de Software (2009, p. 45), o modelo MPS estabelece
um modelo de negócio para apoiar a sua adoção pelas empresas brasileiras
desenvolvedoras de software.
O modelo de negócio contém descrição de regras de negócios para
implementação do MR-MPS pelas instituições implementadoras, avaliação seguindo
o MA-MPS pelas instituições avaliadoras.
42
4 PROCESSO MPS.BR
Segundo o Guia Geral de Software (2012, p. 18), os processos no MPS-BR
são descritos em termos de propósito e resultados. O propósito descreve o objetivo
geral a ser atingido durante a execução do processo.
Os resultados esperados do processo constituem os resultados a serem
alcançados com a efetiva prática do processo. Estes resultados podem ser
confirmados por um produto de trabalho determinado ou uma alteração expressiva
de estado ao se executar o processo.
4.1 CAPACIDADE DO PROCESSO
Segundo o Guia Geral de Software (2012, p. 18), a capacidade do processo
é representada por um conjunto de atributos de processo descrito em termos de
resultados esperados. A capacidade do processo expressa o grau de refinamento e
institucionalização com que o processo é executado na organização/unidade
organizacional.
No
MR-MPS-SW,
à
medida
que
a
organização/unidade
organizacional evolui nos níveis de maturidade, um maior nível de capacidade para
desempenhar o processo deve ser atingido.
Os diferentes níveis de capacidade dos processos são descritos por nove
atributos de processos (AP) descritos a seguir:
- AP 1.1 – o processo é executado: este atributo confirma o quanto o
processo chega ao seu propósito;
- AP 2.1 – o processo é gerenciado: este atributo confirma o quanto a
execução do processo é gerenciada;
- AP 2.2 – os produtos de trabalho do processo são gerenciados: este
atributo confirma o quanto os produtos de trabalho produzidos pelo
processo são gerenciados apropriadamente;
- AP 3.1 – o processo é definido: este atributo confirma o quanto um
processo padrão é sustentado para apoiar a prática do processo definido;
- AP 3.2 – o processo está implementado: este atributo confirma o quanto o
processo padrão é efetivamente praticado como um processo definido
para chegar aos seus resultados;
43
- AP 4.1 – o processo é medido: este atributo confirma o quanto os
resultados de avaliação são usados para certificar que a execução do
processo alcance os seus objetivos de performance e apoia o alcance dos
objetivos de negócio definidos;
- AP 4.2 – o processo é controlado: este atributo confirma o quanto o
processo é controlado estatisticamente para produzir um processo
durável, capaz e previsível dentro dos limites constituídos;
- AP 5.1 – o processo é objeto de melhorias incrementais e inovações: este
atributo confirma o quanto as alterações no processo são identificadas a
partir do exame de defeitos, problemas, causas comuns de alteração do
desempenho e da busca de aspectos inovadores para a definição e
prática do processo;
- AP 5.2 – o processo é otimizado continuamente: este atributo confirma
como as alterações na definição, gerência e desempenho do processo
têm impacto essencial para a obtenção dos objetivos acentuados do
avanço do processo.
4.1.1 Atributos de Processo
Segundo o Guia Geral de Software (2012, p. 24), os atributos do processo
são nove (9) e são eles que descrevem o nível de capacidade do processo. O
atendimento aos atributos do processo (AP), pelo atendimento aos resultados
esperados dos atributos do processo (RAP), é requerido para todos os processos no
nível correspondente ao nível de maturidade, embora eles não sejam detalhados
dentro de cada processo. Esses níveis são acumulativos, ou seja, se a organização
está no nível F, esta possui o nível de capacidade do nível F que inclui os atributos
de processo dos níveis G e F para todos os processos relacionados no nível de
maturidade F (que também inclui os processos de nível G). Em outras palavras, na
passagem para um nível de maturidade superior, os processos anteriormente
implementados devem passar a ser executados no nível de capacidade exigido
neste nível superior.
Na Tabela 3 são descritos os níveis de maturidade, os processos de cada
um deles e também os atributos apropriados.
44
Tabela 3: Níveis de maturidade do MR-MPS
Fonte: Guia Geral de Software (2012, p. 24).
4.1.2 Exclusão de Processos
Conforme Guia Geral de Software (2012, p. 24), determinados processos
podem ser excluídos, absoluta ou parcialmente, do escopo de uma avaliação MPS
por não serem pertinentes ao negócio da unidade organizacional que está sendo
avaliada. Toda exclusão necessita ser justificada no Plano de Avaliação. O
consentimento das exclusões e suas justificativas é de responsabilidade do
Avaliador Líder.
4.2 NÍVEIS DE MATURIDADE
Os níveis de maturidade colocam patamares de desenvolvimento de
processos, distinguindo estágios de avanço da implementação de processos na
45
organização. O nível de maturidade em que se encontra uma organização aceita
prever a sua performance no futuro ao executar um ou mais processos.
Segundo Guia Geral de Software (2012, p. 26), o MR-MPS-SW determina
sete níveis de maturidade: G (Gerenciado Parcialmente), F (Gerenciado), E (Definido
Parcialmente),
D
(Definido
Largamente),
C
(Definido),
B
(Gerenciado
Quantitativamente) e A (Otimização). A escala de maturidade tem início no nível G e
progride até o nível A. Para cada um destes sete níveis de maturidade é atribuído
um perfil de processos que recomendam onde a organização necessita colocar o
empenho do progresso. A melhoria e a obtenção de um determinado nível de
maturidade do MR-MPS-SW se obtêm porque são atendidas as finalidades e todos
os resultados esperados dos respectivos processos e os resultados esperados das
características de processo constituídos para aquele nível.
A separação em 7 estágios tem a finalidade de permitir uma prática e
avaliação apropriada às micros, pequenas e médias empresas. A possibilidade de se
realizar avaliações considerando mais níveis ainda permite uma visibilidade dos
resultados de avanço de processos em tempos mais curtos.
4.2.1 Nível G – Parcialmente Gerenciado
O nível de maturidade G é composto pelos processos Gerência de Projetos
e Gerência de Requisitos. Neste nível a implementação dos processos deve
satisfazer os atributos de processo AP 1.1 e AP 2.1.
 GERÊNCIA DE PROJETOS - GPR
O propósito do processo Gerência de Projetos é estabelecer e manter
planos que definem as atividades, recursos e responsabilidades do projeto, bem
como prover informações sobre o andamento do projeto que permitam a realização
de correções quando houver desvios significativos no desempenho do projeto. O
propósito deste processo evolui à medida que a organização cresce em maturidade.
Assim, a partir do nível E, alguns resultados evoluem e outros são incorporados, de
forma que a gerência de projetos passe a ser realizada com base no processo
definido para o projeto e nos planos integrados. No nível B, a gerência de projetos
passa a ter um enfoque quantitativo, refletindo a alta maturidade que se espera da
organização. Novamente, alguns resultados evoluem e outros são incorporados.
46
 GERÊNCIA DE REQUISITOS – GRE
O propósito do processo Gerência de Requisitos é gerenciar os requisitos do
produto e dos componentes do produto do projeto e identificar inconsistências entre
os requisitos, os planos do projeto e os produtos de trabalho do projeto.
4.2.2 Nível F – Gerenciado
O nível de maturidade F é constituído pelos processos do nível de
maturidade anterior (G) acrescentados dos processos Aquisição, Garantia da
Qualidade, Gerência de Configuração, Gerência de Portfólio de Projetos e Medição.
Neste nível a prática dos processos precisam satisfazer as características de
processo AP 1.1, AP 2.1 e AP 2.2.
 AQUISIÇÃO – AQU
A
finalidade
do
processo
Aquisição
é
gerenciar
o
alcance
de
produtos/serviços que atendam às obrigações expressas pelo adquirente.
 GERÊNCIA DE CONFIGURAÇÃO – GCO
A finalidade do processo Gerência de Configuração é colocar e sustentar a
integridade de todos os produtos de trabalho de um processo ou projeto e
disponibilizá-lo a todos os envolvidos.
 GARANTIA DA QUALIDADE – GQA
A finalidade do processo Garantia da Qualidade é garantir que os produtos
de trabalho e a execução dos processos permaneçam em acordo com os planos,
procedimento e padrões constituídos.
 GERÊNCIA DE PORTFÓLIO DE PROJETOS – GPP
A finalidade do processo Gerência de Portfólio de Projetos é dar início e
sustentar projetos que sejam necessários, suficientes e sustentáveis, de forma a
atender as finalidades estratégicas da organização.
Este processo compromete o investimento e os recursos organizacionais
apropriados e coloca a autoridade necessária para executar os projetos escolhidos.
É nele que e executado a qualificação contínua de projetos para confirmar que eles
justificam o prosseguimento dos investimentos, ou podem ser redirecionados para
justificar.
47
 MEDIÇÃO – MED
A finalidade do processo Medição é coletar, armazenar, analisar e relatar os
dados relativos aos produtos desenvolvidos e aos processos implementados na
organização e em seus projetos, de forma a apoiar os objetivos organizacionais.
4.2.3 Nível E – Parcialmente Definido
O nível de maturidade E é composto pelos processos dos níveis de
maturidade anteriores (G e F), acrescidos dos processos Avaliação e Melhoria do
Processo Organizacional, Definição do Processo Organizacional, Gerência de
Recursos Humanos e Gerência de Reutilização. O processo Gerência de Projetos
sofre sua primeira evolução, retratando seu novo propósito: gerenciar o projeto com
base no processo definido para o projeto e nos planos integrados. Neste nível a
implementação dos processos deve satisfazer os atributos de processo AP 1.1, AP
2.1, AP 2.2, AP 3.1 e AP 3.2.
 AVALIAÇÃO E MELHORIA DO PROCESSO ORGANIZACIONAL – AMP
A finalidade do processo Avaliação e Melhoria do Processo Organizacional é
definir como os processos padrão da organização colaboram para obter os objetivos
de negócio da organização e para apoiar a organização a planejar, conseguir e
implantar avanços contínuos nos processos com base no entendimento de seus
pontos fortes e fracos.
 DEFINIÇÃO DO PROCESSO ORGANIZACIONAL – DFP
A finalidade do processo Definição do Processo Organizacional é colocar e
sustentar um conjunto de ativos de processo organizacional e padrões do ambiente
de trabalho utilizáveis e aplicáveis às obrigações de negócio da organização.
 GERÊNCIA DE RECURSOS HUMANOS – GRH
A finalidade do processo Gerência de Recursos Humanos é ministrar a
organização e os projetos com os recursos humanos necessários e sustentar suas
capacidades apropriadas às necessidades do negócio.
 GERÊNCIA DE REUTILIZAÇÃO – GRU
A finalidade do processo Gerência de Reutilização é gerenciar o período de
vida dos ativos reutilizáveis.
48
4.2.4 Nível D – Largamente Definido
O nível de maturidade D é composto pelos processos dos níveis de
maturidade anteriores (G ao E), acrescidos dos processos Desenvolvimento de
Requisitos, Integração do Produto, Projeto e Construção do Produto, Validação, e
Verificação. É neste nível que acontece a implementação dos processos que precisa
satisfazer os atributos de processo AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2.
 DESENVOLVIMENTO DE REQUISITOS – DRE
A finalidade do processo Desenvolvimento de Requisitos é determinar as
condições do cliente, do produto e dos componentes do produto.
 INTEGRAÇÃO DO PRODUTO – ITP
A finalidade do processo Integração do Produto é compor os componentes
do produto, produzindo um produto integrado consistente com seu projeto, e
demonstrar que os requisitos funcionais e não-funcionais são satisfeitos para o
ambiente alvo ou equivalente.
 PROJETO E CONSTRUÇÃO DO PRODUTO – PCP
A finalidade do processo Projeto e Construção do Produto é projetar,
desenvolver e implementar recursos para atender as condições.
 VALIDAÇÃO – VAL
A finalidade do processo Validação é confirmar que um produto ou elemento
do produto atenderá a seu uso desejado quando posto no ambiente para o qual foi
desenvolvido.
 VERIFICAÇÃO – VER
A finalidade do processo Verificação é confirmar que todo serviço e/ou
produto de trabalho do processo ou do projeto acata apropriadamente os requisitos
especificados.
4.2.5 Nível C – Definido
O nível de maturidade C é composto pelos processos dos níveis de
maturidade anteriores (G ao D), acrescidos dos processos Desenvolvimento para
Reutilização, Gerência de Decisões e Gerência de Riscos. Neste nível a
49
implementação dos processos deve satisfazer os atributos de processo AP 1.1, AP
2.1, AP 2.2, AP 3.1 e AP 3.2.
 DESENVOLVIMENTO PARA REUTILIZAÇÃO – DRU
A finalidade do processo Desenvolvimento para Reutilização é identificar
ocasiões de reutilização sistemática de ativos na organização e, se possível, formar
um programa de reutilização para desenvolver ativos a partir de engenharia de
domínios de aplicação.
 GERÊNCIA DE DECISÕES – GDE
A finalidade do processo Gerência de Decisões é analisar possíveis
decisões críticas usando um processo formal, com critérios estabelecidos, para
avaliação das alternativas identificadas.
 GERÊNCIA DE RISCOS – GRI
A finalidade do processo Gerência de Riscos é identificar, analisar, tratar,
monitorar e reduzir continuamente os riscos em nível organizacional e de projeto.
4.2.6 Nível B – Gerenciado Quantitativamente
Este nível de maturidade é composto pelos processos dos níveis de
maturidade anteriores (G ao C). É neste nível que o processo de Gerência de
Projetos sofre sua segunda evolução, sendo acrescentados novos resultados para
atender aos objetivos de gerenciamento quantitativo. Neste nível a implementação
dos processos deve atender os atributos de processo AP 1.1, AP 2.1, AP 2.2, AP 3.1
e AP 3.2 e os RAP 22 a RAP 25 do AP 4.1. A prática dos processos escolhidos para
análise de desempenho deve atender totalmente os atributos de processo AP 4.1 e
AP 4.2.
Este nível não possui processos específicos.
4.2.7 Nível A – Em Otimização
Este nível de maturidade é composto pelos processos dos níveis de
maturidade anteriores (G ao B). Neste nível a implementação dos processos deve
satisfazer os atributos de processo AP 1.1, AP 2.1, AP 2.2, AP 3.1, AP 3.2 e os RAP
22 a RAP 25 do AP 4.1. A implementação dos processos selecionados para análise
50
de desempenho deve satisfazer integralmente os atributos de processo AP 4.1 e AP
4.2. Os atributos de processo AP 5.1 e AP 5.2 devem ser integralmente satisfeitos
pela implementação de pelo menos um dos processos selecionados para análise de
desempenho.
Este nível não possui processos específicos.
4.3 CUSTOS
Segundo site WIKIPÉDIA (2014), o custo de uma certificação para uma
empresa pode ser de até US$ 400 mil, o que se torna inviável; para empresas de
micro, pequeno e médio porte.
Na Tabela 4 é demostrado os custos de cada nível de maturidade.
Tabela 4: Custos níveis MPS-BR
Custo de
Nível MPS.BR
Implementação (R$)
Nível G
58.000,00
41.000,00 - com nível G antes
Nível F
100.000,00 - direto no F
Nível E
83.500,00 - com G antes
125.000,00 - com G antes
Nível D
83.500,00 - com F antes
83.500,00 - com G antes
Nível C
58.000,00 - com E antes
Nível B
58.000,00 - com C antes
Nível A
58.000,00 - com B antes
Fonte: Softex (2014).
Taxa de
Avaliação (R$)
2.500,00
Custo de
Avaliação (R$)
15.000,00
3.000,00
20.000,00
3.800,00
25.100,00
5.000,00
31.700,00
5.800,00
35.100,00
6.700,00
7.500,00
40.160,00
45.200,00
51
APLICABILIDADE DA QUALIDADE DE SOFTWARE: ESTUDO DE CASO COM
NÍVEL G DO MPS.BR EM UMA EMPRESA DE PEQUENO PORTE
Nesta parte, será apresentado o estudo de caso e as fundamentais
atividades que foram executadas para conseguir o avanço do processo de
desenvolvimento de software da empresa, ainda será mostrado os resultados do
estudo, método definido e seu nível de ação.
5.1 TIPO DE PESQUISA
O método empregado é um estudo de caso, cujos dados se compõe de
informações colhidas por meio de um questionário que foi aplicado na empresa no
setor de desenvolvimento de software. Foi baseado esse estudo em teorias
tecnológicas como Pressman, Softex, Sommerville, Wazlawick, dentre outros que
deram sustento a concretização da pesquisa.
5.2 PROCESSOS METODOLÓGICOS
A pesquisa foi realizada entre agosto de 2013 a junho de 2014.
Foi realizada uma revisão bibliográfica sobre os aspectos da engenharia de
software, qualidade de software, melhoria do processo de software e normas. Para
isso foi consultado livros, teses, monografias disponibilizadas na internet e na
literatura. Logo em seguida, procurou-se conhecer a empresa de um modo geral
com reuniões ou documentos obtidos.
Para conseguir os dados do modelo atual da empresa uma metodologia foi
empregada. Foi elaborado um questionário que as perguntas apresentavam a
finalidade de identificar os resultados aguardados no processo do MPS.BR que
estão conforme (Anexo A). O questionário foi formado de acordo com o Guia de
Implementação – Parte 1 [MR-MPS:2012] do nível G. Com isso, poderia se
comparar o estado atual com o estado almejado, que é o nível Parcialmente
Gerenciado.
Busca-se avaliar e descrever o processo de desenvolvimento de software da
empresa, focalizando nas implantações de avanços usando o modelo MPS.BR.
52
5.3 DEFINIÇÃO DA EMPRESA
Para a realização do estudo, foi selecionada uma empresa da área de
desenvolvimento de software que se chama HPR Informática, está instalada na
cidade de Chiapetta – Rio Grande do Sul.
Um de seus principais ramos de atuação é o desenvolvimento de software,
mas também trabalha com assistência técnica de computadores, a empresa se
destaca pelo uso distinto da informática com empenho com as metas e resultados
que acarretam grandes mudanças gerando retornos financeiros e operacionais para
os clientes. A maioria dos produtos desenvolvidos são voltados para setores de
automação comercial.
A empresa tem uma equipe de desenvolvimento formada por 6 pessoas,
podemos descrever a equipe sendo formada pelo seguinte organograma em três
níveis. Primeiro nível, diretoria, segundo os desenvolvedores e no terceiro a equipe
de suporte.
Apesar da empresa ter mais de 20 anos de atividades no mercado, é
possível apontar várias falhas. Podemos destacar as seguintes falhas:
- Gerência de projetos primitivo;
- Gerência de requisitos rudimentar;
- Os prazos das tarefas são estimados com dificuldades.
Pelo motivo da empresa ter poucos funcionários na área de desenvolvimento
não poderá ser alocado muitas pessoas para o projeto de mudança.
Na empresa existe dois tipos de atividades para o desenvolvimento de
software. A primeira é desenvolver um novo produto e a partir daí é identificada as
necessidades do mesmo. Segundo é depois que acontece o primeiro contato com o
cliente e é apresentado o produto e a partir disso é feito as mudanças conforme a
necessidade de cada um.
5.4 PROCESSO ATUAL
Embora a empresa possua um processo determinado, esse não era
unificado
para
o
desenvolvimento
de
software.
Não
existindo
qualquer
institucionalização do uso desse procedimento, tão pouco havia documentação
específica a ser aplicada ao produto durante todo o seu desenvolvimento.
53
A metodologia de desenvolvimento de software ficava concentrada na
capacidade e conhecimento de seus colaboradores, sendo assim, não havia uma
formalização e documentação apropriada para um bom emprego dos métodos neles
contidos. Todo conhecimento estava limitado individualmente.
Acredita-se que com a implantação do MPS.BR nível G, a gerência consiga
um controle maior sobre o projeto e as condições fiquem controladas de forma
apropriada. Esse alvo só será possível com a motivação da equipe toda.
5.5 IMPLEMENTAÇÕES
Para se adaptar a metodologia e atender as reivindicações do modelo MPSBR nível G a empresa foi submetida a alguns reajustes como os citados a seguir:
- Descrição dos processos: para conseguir o MPS.BR nível G a empresa
necessita ter implantado os processos de Gerência de Projetos e
Gerência de Requisitos;
- Processo de fornecimento: apresenta as atividades a serem alcançadas
antes de se ter o valor a ser cobrado pelo projeto requerido. A finalidade
deste processo é avaliar a solicitação recebida para conseguir o valor a
ser cobrado pelo projeto mais próximo possível do desejado;
- Planejamento do projeto: o objetivo é o planejamento do projeto em
todas as suas etapas, é nesta etapa onde acontece o planejamento do
sistema a ser desenvolvido, o esforço, prazos, como ocorrerá a
monitoração;
- Gerência de mudanças de requisitos: o objetivo é assegurar que
qualquer mudança nos requisitos do sistema seja analisada de forma que
o impacto das mudanças seja conhecido e tratado.
5.6 RESULTADOS ESPERADOS COM A IMPLEMENTAÇÃO
Segundo Guia Geral de Software (2012, p. 26), com a implementação do
MPS.BR Nível G tentamos chegar nos seguintes resultados com os processos de
Gerência de Projetos e Gerência de Requisitos:
Gerência de Projetos.
54
- GPR 1: definição da finalidade do projeto;
- GPR 2: as tarefas e os produtos de trabalho do projeto são
dimensionados utilizando métodos apropriados;
- GPR 3: o ciclo de vida e o modelo do projeto são definidos;
- GPR 4: a possibilidade de atingir as metas do projeto, levando em conta
as restrições e os recursos disponíveis, é avaliada. Se necessário ajuste
são realizados;
- GPR 5: o orçamento e o cronograma do projeto, incluindo a definição de
marcos e pontos de controle, são estabelecidos e mantidos;
- GPR 6: o cronograma e o orçamento do projeto são estabelecidos e
mantidos;
- GPR 7: os riscos do projeto são identificados, probabilidade de ocorrência
e prioridades de tratamento são determinados e documentados;
- GPR 8: os recursos e o ambiente de trabalho necessários para executar o
projeto são planejados;
- GPR 9: os recursos humanos para o projeto são planejados considerando
o perfil e o conhecimento necessário para executá-lo;
- GPR 10: um plano geral para a execução do projeto é estabelecido com a
integração de planos específicos;
- GPR 11: todos os setores da instituição devem ser analisados;
- GPR 12: o plano do projeto é revisado com todos os interessados e o
compromisso com ele é obtido;
- GPR 13: o escopo, as tarefas, as estimativas, o orçamento e o
cronograma do projeto são monitorados em relação ao planejamento;
- GPR 14: os recursos materiais e humanos bem como os dados relevantes
do projeto são monitorados em relação ao planejamento;
- GPR 15: os riscos são monitorados em relação ao planejamento;
- GPR 16: o envolvimento das partes interessadas no projeto é planejado,
monitorado e mantido;
- GPR 17: revisões são realizadas em marcos do projeto e conforme
estabelecido no planejamento;
- GPR 18: registros de problemas identificados e o resultado da análise de
questões pertinentes, incluindo dependências críticas, são estabelecidos
e tratados com as partes interessadas;
55
- GPR 19: ações para corrigir desvios em relação ao planejamento e para
prevenir a repetição dos problemas identificados são estabelecidas,
implementadas e acompanhadas até a sua conclusão.
Segundo Guia Geral de Software (2012, p. 29), a Gerência de Requisitos
tem os seguintes resultados esperados:
- GRE 1: o entendimento dos requisitos é obtido junto aos fornecedores de
requisitos;
- GRE 2: os requisitos são avaliados com base em critérios objetivos e um
comprometimento da equipe técnica com estes requisitos é obtido;
- GRE 3: a rastreabilidade bidirecional entre os requisitos, os produtos de
trabalho são estabelecidos e mantidos;
- GRE 4: revisões em planos e produtos de trabalho do projeto são
realizadas visando identificar e corrigir inconsistências em relação aos
requisitos;
- GRE 5: mudanças nos requisitos são gerenciadas ao longo do projeto.
5.7 RESULTADOS ALCANÇADOS
Já que a empresa nunca teve uma melhoria de processos de software antes,
os resultados dos questionários foram de que a empresa possui um nível bastante
baixo no quesito estudado que seria Gerência de Projetos e Gerência de Requisitos.
Somente alguns resultados foram implementados que serão demonstrados a seguir,
já os resultados não informados não foram alcançados.
Tabela 5: Resultados alcançados
GPR 3 - O ciclo de vida e o modelo do projeto são definidos.
GPR 4 - A possibilidade de atingir as metas do projeto, levando
em conta as restrições e os recursos disponíveis, é avaliada. Se
necessário ajustes são realizados.
GPR 6 - O cronograma e o orçamento do projeto são
estabelecidos e mantidos.
GPR 8 - Os recursos e o ambiente de trabalho necessários para
executar o projeto são planejados.
GPR 9 - Os recursos humanos para o projeto são planejados
considerando o perfil e o conhecimento necessário para executálo.
GPR 10 - Um plano geral para a execução do projeto é
estabelecido com a integração de planos específicos.
GPR 11 - Todos os setores da instituição devem ser analisados.
GPR 12 - O plano do projeto é revisado com todos os
interessados e o compromisso com ele é obtido.
Fonte: HPR Informática e Acessórios LTDA.
Parcialmente Implementado
Totalmente Implementado
Parcialmente Implementado
Parcialmente Implementado
Parcialmente Implementado
Totalmente Implementado
Parcialmente Implementado
Parcialmente Implementado
56
Conforme os questionários aplicados na empresa os únicos resultados que
foram totalmente implementados foram o GPR 4 e o GPR 10 que serão descritos a
seguir.
Os resultados do GPR 4 foram de que foi recebido uma atividade do cliente,
o projeto foi calculado verificando o mínimo de tempo e esforço da equipe. Foi
realizado uma reunião entre o gerente e os programadores para avaliar a viabilidade
do projeto e o tempo gasto. Não foram encontradas dificuldades porque foi apenas
realizada reuniões com os colaboradores da empresa.
Os resultados do GPR 10 foi de que o plano de execução foi estabelecido
com a integração dos planos específicos que são:
- Menu de projetos;
- Histórico;
- Menu de processos;
- Ajuste nos modelos existentes.
Conforme os questionários aplicados os resultados a seguir não foram
totalmente implementados sendo assim tendo seus resultados parcialmente
atendidos.
No caso do GPR 3 o modelo e as fases do ciclo de vida do projeto foram
definidas em partes, pois o ciclo de vida teve que ser definido muito no início do
desenvolvimento e esse conteve falhas pois ultrapassou a data final de entrega, mas
foi conseguido dividir o mesmo em fazes para o desenvolvimento.
No caso do GPR 6, que inclui cronogramas e orçamentos do projeto não
ficaram integralmente implementados, pois no andamento da elaboração do
cronograma o caminho decisivo não é observado, ficando assim parcialmente
implementado. Resultado Implementado é o de Comitê de Processos.
Nos resultados do GPR 8, foi registrado a ausência de uma prática de
segurança para os dados do projeto, apesar de serem distribuídos e gerenciados.
Os processos implementados foram de que teve um plano do projeto que envolve
menu de projetos e processos existentes na empresa.
No caso do GPR 9 foi constatado que a empresa tem planejamento de
recursos humanos e que a alocação dos recursos é feita seguindo o conhecimento
técnico do mesmo. Contudo, o que era esperado falhou no quesito treinamento, pois
o mesmo não está sendo executado ou não é verificado.
57
O resultado do GPR 11 que está totalmente relacionado com o planejamento
do entendimento, está parcialmente implementado, porque os interesses são
identificados bem como as obrigações de informação e também tendo sua área de
testes. Contudo a comunicação não é gerenciada para que todos os envolvidos
poção acessar às informações indispensáveis para o projeto ser desenvolvido.
Os resultados do GPR 12 foi de que realizaram ajustes no planejamento do
projeto em desenvolvimento como necessidade dos interessados, contudo não foi
obtido dos membros da empresa um compromisso para que seja totalmente
implementado na empresa.
Verificando os resultados esperados em Gerencia de Requisitos (GRE), não
foi descrito na tabela dos resultados alcançados, então podemos concluir que na
empresa não houve esses processos implementados nem parcialmente tão pouco
totalmente.
5.8 ANÁLISE DA IMPLEMENTAÇÃO
Segundo Zahran (1998, p. 226), a implementação de melhoria de processo
de software é uma atividade complexa e intensa em conhecimento.
A direção da empresa deve estar empenhada com a prática de avanço de
seus processos. Com isso os objetivos devem estar definidos com os objetivos da
empresa, por isso as revisões dos objetivos devem ser feitas periodicamente.
Deve-se envolver a equipe desde o início, buscando a participação de todos
em cada atividade para a melhoria dos processos. Os resultados devem ser
amplamente divulgados, abrindo espaços para debates para tirar dúvidas e
questionamentos para a possível melhoria do projeto final.
A busca pela qualidade de software pela empresa mostrou que teve uma
melhora na qualidade dos softwares desenvolvidos, e também mostrou-se
importante devido ao perfil da empresa, que tem profissionais que nunca tiveram um
envolvimento com a prática de melhoria de processo de software, enriquecendo
ainda mais seu quadro de professionais, podendo alcançar resultados satisfatórios
em projetos futuros.
58
5.9 DIFICULDADES ENCONTRADAS NA IMPLEMENTAÇÃO
Foi notado que a principal dificuldade encontrada na implementação do
MPS.BR nível G foi a resistência dos colaboradores em relação às variações
ocorridas em suas atividades.
Outra dificuldade percebida foi em relação ao Guia de Implementação do
modelo MPS.BR, que possui objetivos de auxiliar na implementação as quais são
muito subjetivas. Estas orientações apresentam informações do que deve ser feito
mas não oferecendo informações de como devem ser feitas.
Foi analisado que para ter um bom entendimento e uma boa implementação
deveríamos ter um tempo maior para mobilizar todos os envolvidos para poder
aplicar palestras explicando mais afundo o modelo a ser implantado, com seus
detalhes, podendo fazer um esboço de todo o plano de implementação, o qual não
teve como ser feito pelo pouco tempo que tivemos para a implementação.
Entretanto, um ponto de cautela tivemos que levar em conta, para o não
cumprimento de todos os objetivos propostos é de que o gerente da empresa
superestimava a capacidade dos colaboradores, colocando muitos projetos para
serem desenvolvidos e com prazos reduzidos, fazendo com que nem todos eram
terminados e entregues nos prazos estipulados.
Dificuldades foram muitas, mas as atividades que demandavam mais tempo
de documentação deixavam de ser implementadas devido à pressão do dia a dia.
A ausência de práticas administrativas no desenvolvimento de software é a
principal causa de sérios problemas enfrentados pela organização; são
exemplos: atrasos em cronogramas, custo maior do que o esperado e
presença de defeitos, ocasionando uma série de inconveniências para os
usuários e grande perda de tempo e de recursos. Até hoje esta afirmação
vem sido confirmada por vários autores (HUMPHREY, 1989).
59
6 CONCLUSÃO
Este trabalho de conclusão de curso teve o objetivo geral de implantar o
melhor processo de desenvolvimento em uma empresa de porte pequeno usando o
modelo descrito no MPS.BR. De uma forma geral, como a empresa nunca teve uma
melhoria de processos de software antes, os resultados obtidos mostram que a
empresa possui um nível bastante baixo no quesito estudado que seria Gerência de
Projetos e Gerência de Requisitos.
Na atualidade, seja qual for o veículo de informação, o software deverá estar
presente para que as máquinas tenham um funcionamento extraordinário. Os
métodos de melhoria de processos de software no mercado procuram a qualidade e
organização da empresa, o que provoca a melhora dos produtos.
Dentro da empresa somente alguns resultados foram implementados, outros
não foram alcançados: GPR 4 e o GPR 10 foram totalmente implementados. Foram
parcialmente implantados: GPR 3, GPR 6, GPR 8, GPR 9, GPR 11, GPR 12. Para
melhora nos resultados, a empresa deve comprometer-se em atentar o progresso
em seus processos, revisando seus objetivos constantemente, ainda entrosar a
equipe nas atividades de melhoria, pois uma dificuldade encontrada foi a aceitação
dos colaboradores em relação às mudanças ocorridas em seus afazeres.
As empresas desenvolvedoras de software buscam constantemente
aprimorar seus produtos em razão da alta competitividade existente no mercado a
fim de apresentar um produto diferenciado e ganhar o espaço diante de seu
concorrente, o retorno financeiro acontece de forma gradativa por isso é
imprescindível conscientizar os membros da equipe que um processo definido é
fundamental para a melhoria do produto final além de facilitar o trabalho de todos os
membros. Ressaltando sempre que o sucesso do trabalho depende do empenho de
todos.
O estudo de caso mostrou que o MPS.BR ajudou na evolução da qualidade
do processo e não apresenta barreiras para implantação como os demais padrões
internacionais. Se futuramente for aprovada pela gerencia da organização, será
implementado o restante das atividades da Gerencia de Processos, dando
continuidade à padronização de processos e garantindo a qualidade do produto
apresentado.
60
Enfim, fica claro que o mundo sofre constantes mudanças, e as empresas
devem modificar-se e atualizar suas informações para acompanhar essas
transformações. A atualidade utiliza muito à informática e esta deve atender as
necessidades daqueles que buscam, aprimorando sempre.
61
7 TRABALHOS FUTUROS
Com base no trabalho desenvolvido, diversas vertentes de trabalhos futuros
podem ser identificados. Já que a empresa não teve a implementação do Processo
Gerencia de Requisitos esse poderá ser um dos trabalhos a serem desenvolvidos e
também
oferecer
informações
aprofundadas
de
implementação correta do Modelo MPS.BR na empresa.
como
deve
ser
feita
a
62
8 REFERÊNCIAS BIBLIOGRÁFICAS
ABREU, V. F.; FERNANDES, A. A. Implantando a governança de TI: da estratégia
à gestão dos processos e serviços. 3. ed. Rio de Janeiro: Brasport Livros e
Multimídia Ltda, 2009.
ANACLETO, A. et al. 15504MPE: desenvolvendo um método para avaliação de
processos de software em MPEs utilizando a ISO/IEC 15504. São Paulo: UNIVALI,
2003.
BAETJER, H. Software as capitais. 1. ed. New Jersey: Wiley – IEE Computer
Society Pr, 1998. p. 85.
BISCHOFF, A. A. Modelo para a gestão do ciclo de vida de projetos de
aquisição de software: estudo de caso no sistema financeiro. Porto Alegre: PUC,
2008.
CAMPOS, M. F. Qualidade, qualidade de software e garantia da qualidade de
software são as mesmas coisas? 2013. Disponível em: <http://www.linhade
codigo.com.br/artigo/1712/qualidade-qualidade-de-software-e-garantia-da-qualidadede-software-sao-as-mesmas-coisas.aspx>. Acesso em: 21 nov. 2013.
CÂNDIDO, E. J. Uma simplificação da técnica análise de pontos de função para
estimar tamanho de aplicativos web. São Paulo: USP, 2004.
FURASTÉ, P. A. Normas técnicas para o trabalho científico: explicitação das
normas da ABNT. 16. ed. Porto Alegre: Dáctilo Plus, 2013.
HIRAMA, K. Engenharia de software: qualidade e produtividade com tecnologia.
Rio de Janeiro: Elsevier-Campus, 2012. p. 185-186.
HUMPHREY, W. Managing the software process. S.L: Addison-Wesley, 1989.
IBM. IBM rational unified process (RUP). Disponível
01.ibm.com/software/rational/rup/>. Acesso em: 06 dez. 2013.
em:
<http://www-
KAN, S. H. Metrics and models in software quality engineering. 2. ed. Minnesota:
Addison-Wesley, 2002.
KOSCIANSKI, A.; SOARES, M. Qualidade de software. São Paulo: Novatec, 2007.
KUMAR, S. What is prototype model: advantages, disadvantages and when to use
it? 2012. Disponível em: <http://istqbexamcertification.com/what-is-prototype-modeladvantages-disadvantages-and-when-to-use-it/>. Acesso em: 05 dez. 2013.
63
LEITE, J. O modelo cascata. 2007. Disponível em: <http://engenhariade
software.blogspot.com.br/2007/03/o-modelo-cascata.html>. Acesso em: 05 dez.
2013.
LIMA, A. S. Norma NBR ISO/IEC 12207. 2013. Disponível em: <http://www.
micreiros.com/2013/norma-nbr-isoiec-12207/>. Acesso em: 06 jan. 2014.
MACIEL, A. C. F.; VALLS, C.; SAVOINE, M. M. Análise da qualidade de software
utilizando as normas 12207, 15504, ISO 900-3 e os modelos CMM/CMMI e
MPS.BR. Disponível em: <http://www.itpac.br/hotsite/revista/artigos/44/5.pdf>.
Acesso em: 10 jan. 2014.
MARTINEZ, M. RUP. Disponível em: <http://www.infoescola.com/engenharia-desoftware/rup/>. Acesso em: 05 jan. 2014.
MARTINS, E. Qualidade de software. 2012. Disponível em: <http://www.ic.
unicamp.br/~ranido/mc626/Qualidade.pdf>. Acesso em: 21 nov. 2013.
MODESTO, J.; OLIVEIRA, C. Tipos de software. 2010. Disponível em:
<http://nocoesengsw.blogspot.com.br/2010/03/tipos-de-software.html>. Acesso em:
20 nov. 2013.
_______, MPS.BR: melhoria de processo do software brasileiro – guia geral. Versão
1.0. 2005. Disponível em: <http://www.softex.br>. Acesso em: 11 jan. 2014.
_______, MPS.BR: melhoria de processo do software brasileiro – guia geral. Versão
1.2. 2009. Disponível em: <http://www.softex.br>. Acesso em: 20 jan. 2014.
_______, MPS.BR: melhoria de processo do software brasileiro – guia geral. 2012.
Disponível em: <http://www.softex.br>. Acesso em: 20 jan. 2014.
_______, MPS.BR: melhoria de processo do software brasileiro – guia de
implementação do nível G. 2012. Disponível em: <http://www.softex.br>. Acesso em:
21 jan. 2014.
MORIYA, R. K. RUP – environment discipline: RUP – metodologia. Disponível
em:
<http://robsonkoji.blogspot.com.br/2007/09/configuracao-dos-processos-rup.
html>. Acesso em: 10 jan. 2014.
PALESTINO, C. Bi2: business intelligence. Rio de Janeiro: Elsevier-Campus, 2011.
PRESSMAN, R. S. 7 categorias de software. Disponível em: <http://melhor
agora.org/2007/03/03/7-categorias-de-software-segundo-roger-pressman>. Acesso
em: 25 nov. 2013.
64
PRESSMAN, R. S. Engenharia de software. 7. ed. São Paulo: Makron Books,
2007.
ROCHA, A. R. C.; MALDONADO, J. C.; WEBER, K. C. Qualidade dos produtos de
software: teoria e prática. São Paulo: Prentice Hall, 2001.
RODRIGUES, C. Engenharia de software e o mercado de trabalho. Disponível
em: <http://www.ceviu.com.br/blog/info/artigos/engenharia-de-software-e-o-mercadode-trabalho/>. Acesso em: 05 dez. 2013.
SIGNIFICADOS. Significado de software. Disponível
significados.com.br/software>. Acesso em: 25 nov. 2013.
em:
<http://www.
SILVA, J. T. O MPS.Br como alternativa para micro e pequenas empresas: Um
estudo de caso. Recife: Universidade Federal de Pernambuco. 2008.
SILVEIRA, A. Melhoria de processo do software brasileiro – MPS.br. 2012.
Disponível em: <http://www.oficinadanet.com.br/artigo/desenvolvimento/melhoria-deprocessos-do-software-brasileiro--mpsbr>. Acesso em: 25 nov. 2013.
SOMMERVILLE, I. Engenharia de software. 6. ed. São Paulo: Pearson Addison
Wesley, 2004.
SOMMERVILLE, I. Engenharia de software. 8. ed. São Paulo: Pearson Addison
Wesley, 2007.
TRAVASSOS, G. H.; KALINOWSKI, M. Caracterização e variação de
desempenho de organizações que adotaram o modelo MPS. São Paulo: Softex,
2009.
VICTORINO, M.; BRÄSCHER, M. Organização da informação e do
conhecimento, engenharia de software e arquitetura orientada a serviços: uma
abordagem holística para o desenvolvimento de sistemas de informação
computadorizados. 2009. Disponível em: <http://www.dgz.org.br/jun09/Art_03.htm>.
Acesso em: 05 dez. 2013.
WAZLAWICK, R. Engenharia de software. Rio de Janeiro: Elsevier-Campus, 2013.
WIKIPÉDIA. Melhoria de processo do software brasileiro. Disponível em: <http://
pt.wikipedia.org/wiki/Melhoria_de_Processos_do_Software_Brasileiro>. Acesso em:
23 fev. 2014.
ZAHRAN, S. Software process improvement: practical guidelines for business
success. S.L: Addison Wesley, 1998.
65
ANEXO
66
ANEXO A – Questionário Utilizado para o Estudo
Questionário Utilizado para o Reconhecimento da Empresa
1. Nome da Instituição.
2. Área de Atuação:
( ) Aquisição de Software
( ) Fábrica de Software
( ) Fábrica de Testes
( ) Outras:________________________________________________________.
3. Número de Profissionais da Área de Desenvolvimento de Software.___________.
4. Qual o nível dos profissionais.
( ) Médio – Número de Profissionais:___________________________________.
( ) Superior – Número de Profissionais:_________________________________.
( ) Especialização – Número de Profissionais:____________________________.
( ) Mestrado – Número de Profissionais:_________________________________.
( ) Doutorado – Número de Profissionais:________________________________.
5. Clientes em Potencial:
( ) Pessoa Física
( ) Pessoa Jurídica
( ) Instituições Públicas
6. Qual o principal produto oferecido pela empresa?
7. Existem processos definidos pela empresa? Quais os principais?
8. Até que ponto a instituição está conseguindo prover as necessidades do mercado
em que se encontra inserida?
9. A empresa já adotou algum modelo ou padrão de qualidade?
10. Quais os pontos fortes da instituição?
11. Quais os pontos fracos da instituição?
12. Qual é a expectativa em termos de resultados com o final da implementação?
67
Questões Gerenciamento de Projetos (GPR)
SILVA (2008, p.56).
1. No início de um projeto, todo o escopo é conhecido e definido?
 Sim
 Não
 Não se aplica
 Não sei
2. O escopo é definido com técnicas adequadas?
 Sim
 Não
 Não se aplica
 Não sei
3. O escopo é definido em tarefas, cada uma com seus produtos de trabalho?
 Sim
 Não
 Não se aplica
 Não sei
4. O projeto é dividido em fases bem definidas?
 Sim
 Não
 Não se aplica
 Não sei
5. No início do projeto é feito um estudo de viabilidade levanto em consideração os
recursos e a infraestrutura disponível?
 Sim
 Não
 Não se aplica
 Não sei
6. No transcorrer do projeto é notada inviabilidade, seu escopo é alterado?
 Sim
 Não
 Não se aplica
 Não sei
68
7. O cronograma e orçamento do projeto são estabelecidos?
 Sim
 Não
 Não se aplica
 Não sei
8. São usadas metodologias apropriadas para avaliação de prazo e custo das
tarefas?
 Sim
 Não
 Não se aplica
 Não sei
9. No desenvolvimento do cronograma é observada a dependência entre tarefas?
 Sim
 Não
 Não se aplica
 Não sei
10. O caminho crítico é observado?
 Sim
 Não
 Não se aplica
 Não sei
11. O cronograma e orçamento são revistos e atualizados, quando necessário?
 Sim
 Não
 Não se aplica
 Não sei
12. Existe uma avaliação de riscos do projeto, com seus impactos e respectivas
probabilidades?
 Sim
 Não
 Não se aplica
 Não sei
69
13. Os riscos levantados são acompanhados?
 Sim
 Não
 Não se aplica
 Não sei
14. Os dados do projeto (como por exemplo: relatórios, dados informais, artefatos
gerados, etc.) são disponibilizados para os envolvidos do projeto quando aplicável?
 Sim
 Não
 Não se aplica
 Não sei
15. O armazenamento e distribuição de dados do projeto são gerenciados?
 Sim
 Não
 Não se aplica
 Não sei
16. Se aplicável, existe uma política de segurança para os dados do projeto?
 Sim
 Não
 Não se aplica
 Não sei
17. Existe planejamento de recursos humanos no projeto?
 Sim
 Não
 Não se aplica
 Não sei
18. No planejamento de recursos humanos é verificada a necessidade de
treinamento, e caso positivo, o mesmo é executado?
 Sim
 Não
 Não se aplica
 Não sei
70
19. O esforço e custo necessários para os produtos de trabalho são estimados com
base em experiências anteriores ou referências técnicas?
 Sim
 Não
 Não se aplica
 Não sei
20. Durante o planejamento, são identificados todos os interessados no projeto?
 Sim
 Não
 Não se aplica
 Não sei
21. É planejado o envolvimento dos interessados, com suas respectivas
necessidades de informação?
 Sim
 Não
 Não se aplica
 Não sei
22. A comunicação é gerenciada de forma a garantir que os envolvidos com o
projeto tenham acesso á informação necessária, ao longo do projeto?
 Sim
 Não
 Não se aplica
 Não sei
23. O planejamento do projeto é revisto com os interessados a fim de se obter um
compromisso?
 Sim
 Não
 Não se aplica
 Não sei
24. Ajustes necessários são realizados no planejamento do projeto de acordo com a
interação de todos os interessados?
 Sim
 Não
 Não se aplica
 Não sei
71
25. O monitoramento de cronograma é feito ao longo do projeto?
 Sim
 Não
 Não se aplica
 Não sei
26. O monitoramento de custos é feito ao longo do projeto?
 Sim
 Não
 Não se aplica
 Não sei
27. Há monitoramento ao longo do projeto em? Poderá ser marcado mais de uma
opção.
 Recursos
 Riscos
 Envolvimento dos Interessados
 De dados do Projeto
72
Questões Gerenciamento de Requisitos (GRE)
SILVA (2008, p.61).
1. Existe uma comunicação contínua com quem fornece os requisitos?
 Sim
 Não
 Não se aplica
 Não sei
2. As comunicações com quem fornece requisitos são formalizadas?
 Sim
 Não
 Não se aplica
 Não sei
3. A especificação dos requisitos é revista com quem fornece requisitos a fim de
garantir um entendimento entre ambas as partes?
 Sim
 Não
 Não se aplica
 Não sei
4. A aceitação de um grupo de requisitos é feita de forma objetiva (isto é, cada
requisito é avaliado e sua aceitação é feita objetivamente, como por exemplo, com o
uso de uma checklist)?
 Sim
 Não
 Não se aplica
 Não sei
5. Existe uma formalização do comprometimento dos requisitos?
 Sim
 Não
 Não se aplica
 Não sei
6. O comprometimento é mantido em caso de mudança nos requisitos?
 Sim
 Não
 Não se aplica
 Não sei
73
7. A rastreabilidade entre requisitos, plano de projeto e produto de trabalho é
estabelecida e modificada com a mudança de requisitos?
 Sim
 Não
 Não se aplica
 Não sei
8. Inconsistências entre requisitos, plano de projeto e produtos de trabalho são
identificadas, registradas e corrigidas?
 Sim
 Não
 Não se aplica
 Não sei
9. Mudanças de requisitos são registradas?
 Sim
 Não
 Não se aplica
 Não sei
10. Existe um histórico de decisões relacionado ao gerenciamento de requisitos
disponível?
 Sim
 Não
 Não se aplica
 Não sei
11. Os impactos das alterações de requisitos são analisados, e decisões sobre os
requisitos e plano de projeto são adotadas de acordo com esse impacto?
 Sim
 Não
 Não se aplica
 Não sei
Download

TCC Diogo - Biblioteca Digital da UNIJUÍ