Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Análise da Maturidade de Processos de Desenvolvimento de Software na UTFPR, Notas de estudo de Diagnóstico

Um plano desenvolvido para melhorar os processos internos da utfpr, com objetivo de atingir o nível 2 de maturidade de acordo com o cmmi. O documento inclui uma análise de metodologias de desenvolvimento de software atuais na utfpr, a criação de uma proposta de modelo de desenvolvimento baseada em cmmi, e a importância da comunicação e gerenciamento da informação no desenvolvimento de software. O texto também discute os modelos de processo de software e o modelo de maturidade cmmi, e compara o modelo cascata e o modelo espiral de desenvolvimento.

Tipologia: Notas de estudo

2022

Compartilhado em 07/11/2022

Havaianas81
Havaianas81 🇧🇷

4.6

(34)

219 documentos

1 / 112

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARA
DEPARTAMENTO ACADÊMICO DE INFORMÁTICA
CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO
LUCAS DE ALMEIDA CRUZ
LUIZ PHILIPPE MORO DE CARMO
ANÁLISE E APLICAÇÃO DE PRÁTICAS DO CMMI EM
DESENVOLVIMENTO DE SOFTWARE
TRABALHO DE CONCLUSÃO DE CURSO
CURITIBA
2016
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Análise da Maturidade de Processos de Desenvolvimento de Software na UTFPR e outras Notas de estudo em PDF para Diagnóstico, somente na Docsity!

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

DEPARTAMENTO ACADÊMICO DE INFORMÁTICA

CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO

LUCAS DE ALMEIDA CRUZ

LUIZ PHILIPPE MORO DE CARMO

ANÁLISE E APLICAÇÃO DE PRÁTICAS DO CMMI EM

DESENVOLVIMENTO DE SOFTWARE

TRABALHO DE CONCLUSÃO DE CURSO

CURITIBA

LUCAS DE ALMEIDA CRUZ

LUIZ PHILIPPE MORO DE CARMO

ANÁLISE E APLICAÇÃO DE PRÁTICAS DO CMMI EM

DESENVOLVIMENTO DE SOFTWARE

Trabalho de Conclusão do Curso de Bacharelado em Sistemas de Informação, apresentado à UTFPR como requisito parcial para obtenção do título de bacharel em Sistemas de Informação. Orientador: Robson Ribeiro Linhares

CURITIBA

ABSTRACT

Cruz, L., e Moro, L. ANÁLISE E APLICAÇÃO DE PRÁTICAS DO CMMI EM DESENVOLVIMENTO DE SOFTWARE. 2016. Monografia – Trabalho de conclusão de curso de Bacharelado em sistemas de informação, Universidade tecnológica federal do Paraná. Curitiba, 2016.

This Project presents an analysis of the maturity levels in the software development process of a department inside a federal university, using the principles of CMMI. The concepts of software development and project management are presented. The CMMI model and its focus are also discussed, as well as its relationship with the development processes. Complemented for a research performed with the members of the studied department, and an analysis of the process documents, the study found flaws inside the current development model. As result it presents an improvement plan, developed after the analysis, which aims to help the department to reach maturity level 2 in CMMI, as well as a website developed to publish this plan.

Keywords: CMMI. Systems modeling. Maturity in software development. Process modeling. Project management.

LISTA DE FIGURAS

LISTA DE SIGLAS

CMMI Capability Maturity Model® Integration

SEI Software Engineering Institute

RUP Rational Unified Process

REQM Gerenciamento de Requisitos

PP Planejamento de Projeto

PMC Monitoramento e Controle de Projeto

SAM Gestão de Acordos com Fornecedores

MA Medição e Análise PPQA Garantia da Qualidade de Processo e Produto

CM Gerenciamento de Configuração

AI Amplamente Implementada

PI Parcialmente Implementada

NI Não Implementada

LISTA DE SÍMBOLOS

∑ Somatório

n Número de respostas

ai Resposta amplamente implementada

pi Resposta parcialmente implementada

p Peso (0 – 1) das respostas parcialmente implementada

  • Figura 1 - Modelo Cascata
  • Figura 2 - Modelo incremental
  • Figura 3 - Modelo de prototipação
  • Figura 4 - Modelo de espiral de desenvolvimento
    • ambientes de desenvolvimento Figura 5 - Comparação dos custos das mudanças em diferentes
  • Figura 6 - Fluxo do processo Scrum
  • Figura 7 - As três dimensões críticas
  • Figura 8 - Áreas de Processo na representação por Estágio
  • Figura 9 - Áreas de Processo na representação Contínua
  • Figura 10 - Componentes do modelo CMMI
    • Frota Figura 11 - Processo de Negócio do Sistema de Gerenciamento de
  • Figura 12 - Fluxo de Atividades
  • Figura 13 - Comparativo das taxas de Aderência
  • Figura 14 - Aderência de REQM
  • Figura 15 - Aderência PP
  • Figura 16 - Aderência PMC
  • Figura 17 - Aderência SAM
  • Figura 18 - Aderência MA
  • Figura 19 - Aderência PPQA
  • Figura 20 - Aderência CM
  • Figura 21 - Processo Local de desenvolvimento(PLD)
  • Figura 22 - Títulos de reponsabilidade
  • Figura 23 - Relação de REQM com as outras áreas de processo
  • Figura 24 - Workflow de REQM
  • Figura 25 - Relação de PP com as outras áreas de processo
  • Figura 26 - Workflow PP
  • Figura 27 - Relação de PMC com as outras áreas de processo
  • Figura 28 - Workflow PMC
  • Figura 29 - Relação de SAM com as outras áreas de processo
  • Figura 30 - Worflow de SAM
  • Figura 31 - Relação de MA com as outras áreas de processo
  • Figura 32 - Workflow de MA
  • Figura 33 - Relação de PPQA com as outras áreas de processo
  • Figura 34 - Workflow de PPQA
  • Figura 35 - Relação de CM com as outras áreas de processo
  • Figura 36 - Workflow de CM
  • Figura 37 - Tela Inicial do Site
  • Figura 38 - Tela de apresentação do Processo Local
  • Figura 39 - Tela de apresentação da área Planejamento de Projeto
  • Tabela 1 - Metas Genéricas e Nomes de Processos LISTA DE TABELAS
  • Tabela 2 - Critérios SCAMPI x Pesquisa
  • Tabela 3- REQM01
  • Tabela 3- REQM01
  • Tabela 4 - REQM02
  • Tabela 5 - REQM03
  • Tabela 6 - REQM01
  • Tabela 7 - REQM05
  • Tabela 8 - PP01
  • Tabela 9 - PP02
  • Tabela 10 - PP03
  • Tabela 11 - PP04
  • Tabela 12 - PP05
  • Tabela 13 - PP06
  • Tabela 14 - PP07
  • Tabela 15 - PP08
  • Tabela 16 - PP09
  • Tabela 17 - PP10
  • Tabela 18 - PP11
  • Tabela 19 - PP12
  • Tabela 20 - PP13
  • Tabela 21 - PP14
  • Tabela 22 - PMC01
  • Tabela 23 - PMC02
  • Tabela 24 - PMC03
  • Tabela 25 - PMC04
  • Tabela 26 - PMC05
  • Tabela 27 - PMC06
  • Tabela 28 - PMC07
  • Tabela 29 - PMC08
  • Tabela 30 - PMC09
  • Tabela 31 - PMC10
  • Tabela 32 - SAM01
  • Tabela 33 - SAM02
  • Tabela 34 - SAM03
  • Tabela 35 - SAM04
  • Tabela 36 - SAM05
  • Tabela 37 - SAM06
  • Tabela 38 - SAM07
  • Tabela 39 - SAM08
  • Tabela 40 - MA01
  • Tabela 41 - MA02
  • Tabela 42 - MA03
  • Tabela 43 - MA04
  • Tabela 44 - MA05
  • Tabela 45 - MA06
  • Tabela 46 - MA07
  • Tabela 47 - MA08
  • Tabela 48 - PPQA01
  • Tabela 49 - PPQA02
  • Tabela 50 - PPQA03
  • Tabela 51 - PPQA04
  • Tabela 52 - CM01
  • Tabela 53 - CM02
  • Tabela 54 - CM03
  • Tabela 55 - CM04
  • Tabela 56 - CM05
  • Tabela 57 - CM06
  • Tabela 58 - CM07
  • 1 INTRODUÇÃO
    • 1.1 Objetivo Geral
    • 1.2 Objetivos Específicos
    • 1.3 Justificativa
    • 1.4 Método de Pesquisa
    • 1.5 Organização do Trabalho
  • 2 REFERENCIAL TEÓRICO
    • 2.1 Processos de Software
    • 2.2 Modelos de Processo
      • 2.2.1 Modelo Cascata
      • 2.2.2 Modelo de Processo Incremental
      • 2.2.3 Modelo de Processo Evolucionário
    • 2.3 Desenvolvimento Ágil
      • 2.3.1 O Processo Ágil
      • 2.3.2 Os Princípios da Agilidade..........................................................
      • 2.3.3 Scrum
    • 2.4 CMMI
      • 2.4.1 Tipo de Representação................................................................
      • 2.4.2 Componentes das Áreas de Processo
      • 2.4.3 Metas e Práticas
      • 2.4.4 Níveis de Maturidade
      • 2.4.5 As Áreas de Processo do Nível 2 de Maturidade
      • 2.4.6 Planos em Melhoria de Processo
    • 2.5 Métodos de Avaliação e Diagnóstico
      • 2.5.1 SCAMPI
      • 2.5.1 PIID
    • 2.6 Estudos de Casos Relacionados em CMMI
    • 2.7 Norma ISO/IEC
    • 2.8 Considerações Finais
  • 3 ANÁLISE DE MATURIDADE
    • 3.1 Contexto
    • 3.2 Método de Análise da Maturidade
    • 3.3 Diagnóstico
    • 3.4 Análise
    • 3.5 Conclusões da Análise
  • 4 PROPOSTA DE PROCESSO LOCAL DE DESENVOLVIMENTO
    • 4.1 Etapas de Desenvolvimento
    • 4.2 Detalhamento das Áreas de Processo
      • 4.2.1 REQM
      • 4.2.2 PP
      • 4.2.3 PMC
      • 4.2.4 SAM
      • 4.2.5 MA
      • 4.2.6 PPQA
      • 4.2.7 CM
    • 4.3 Site de Divulgação
      • 4.3.1 Aspectos Técnicos
      • 4.3.2 Desenvolvimento
  • 5 CONCLUSÃO
    • 5.1 Objetivos Alcançados
    • 5.2 Desafios
    • 5.3 Conclusões sobre a Pesquisa
    • 5.4 Trabalhos Futuros
  • REFERÊNCIAS
  • APÊNDICE A
  • APÊNDICE B

 Divulgação deste modelo local por meio de um website de consulta de conteúdo para divulgar os processos a serem seguidos no desenvolvimento de software.

1.3 Justificativa

Um dos grandes desafios encontrados na produção de software é o gerenciamento da informação. Hoje em dia a tradicional divisão entre engenharia de software e o gerenciamento da informação nele contida vem diminuindo, e em grandes empresas o gerenciamento da informação já é moldado pela estrutura de processos usada na mesma.

Muitas empresas aplicam as práticas propostas pelo CMMI buscando uma maior maturidade no desenvolvimento de software, isso aperfeiçoa seus processos internos, o que consequentemente reduz os custos e aumenta sua produção. Ao se aplicar essas mesmas práticas na UTFPR é esperado um aumento da qualidade dos softwares produzidos caso ela venha a adotar um modelo estratégico eficiente. Outro fator muito importante é que como se trata de uma Universidade pública que muitas vezes tem recursos bem limitados, a redução do custo de desenvolvimento pode criar um melhor aproveitamento das verbas disponíveis para os projetos em questão.

1.4 Método de Pesquisa

O primeiro passo da pesquisa foi encontrar um departamento de desenvolvimento de software com projetos em andamento que pudéssemos avaliar. Foi encontrado um Departamento da Universidade (DU) que era responsável pelo desenvolvimento de software na UTFPR. Foi entrado em contato com o diretor do departamento que em uma primeira instância se mostrou bastante entusiasmado com a ideia e nos forneceu a documentação do projeto que estava em desenvolvimento. A

partir daí deu se início a pesquisa do referencial teórico, avaliando quais seriam os melhores métodos a serem utilizados para analisar a situação atual do processo de desenvolvimento utilizado pelo DU e qual seu nível de maturidade. Após um período de estudo do CMMI e de seus processos de análise, foi decidido que a melhor maneira de realizar a análise do nível de maturidade atual do departamento seria por meio de uma adaptação do Practical Implementation Indicator Document (PIID). Com isso foi criado um questionário (Apêndice A) que foi respondido pelos membros do time de desenvolvimento e que juntamente com a análise da documentação do projeto, nos permitiram avaliar as deficiências no processo do departamento estudado. A partir do resultado dessa análise, foi construído um plano de melhoria que foi baseado nos planos e metas e no GAP analisys do CMMI, onde são listadas todas as ações que são necessárias para se atingir o nível 2 de maturidade do CMMI, em seguida as ações foram organizadas por áreas de processo e adaptadas para a realidade do departamento, customizando-as de modo a gerar uma proposta de melhoria simples e organizada que pudesse de fato ser seguida e implementada. Por fim, com o intuito de disponibilizar a proposta do plano de melhoria, foi criado um website que pudesse ser facilmente acessado e visto por todos os membros e gestores do time de desenvolvimento do DU.

1.5 Organização do Trabalho

Este trabalho está dividido em 5 capítulos. Este primeiro capitulo de introdução situa o contexto deste trabalho e descreve os principais objetivos a serem alcançados. No segundo capitulo é apresentado o referencial teórico do modelo CMMI bem como o de outros processos de desenvolvimento de software.

2 REFERENCIAL TEÓRICO

Neste capitulo é apresentado o referencial teórico dos principais modelos de processo de software e do modelo de maturidade escolhido para a análise de CMMI.

2.1 Processos de Software

Uma das melhores definições do que é um processo de software foi apresentada por um economista chamado Howard Baetjer, que diz o seguinte:

“Pelo fato de software, como todo capital, ser conhecimento incorporado, e pelo fato de esse conhecimento ser, inicialmente, disperso, tácito, latente e em considerável medida, incompleto, o desenvolvimento de software é um processo de aprendizado social.” (Baetjer, 1998)

A metodologia para as atividades, ações e tarefas no desenvolvimento de software poderiam ser traduzidas como “processo de software”. Este processo segue uma metodologia genérica de engenharia de software que pode ser apresentada em cinco atividades: comunicação, planejamento, modelagem, construção e emprego (Pressman, 2010).

A primeira atividade é a comunicação que compreende o momento anterior ao início da parte técnica no desenvolvimento do software. Sua principal função é o levantamento dos requisitos do sistema que irão definir as características e funções do software. Nesta etapa do processo é de extrema importância a comunicação entre os stakeholders , neste caso o cliente e o grupo de desenvolvimento.

A segunda atividade é o planejamento que tem como objetivo a criação de um plano de projeto de software, que deve descrever as tarefas técnicas a serem conduzidas, quais são os riscos possíveis, quais recursos serão utilizados, o que será produzido e um cronograma do projeto.

A terceira atividade é a modelagem que tem como finalidade desenvolver um “esboço” da solução, para que se tenha uma ideia de tudo que o software precisa. Caso seja necessário compreender melhor o problema e como resolvê-lo, deve-se refinar o tal “esboço” para que possa atender as necessidades do projeto.

A quarta atividade é a construção que é caracterizada por ser mais técnica, onde é gerado o código do software (manual ou automatizada) e são realizados os testes de software para que estejam atendendo os requisitos.

A última atividade é o emprego que é conhecida muitas vezes como entrega ou integração, no qual o cliente recebe o software e faz uma avaliação e fornece um feedback.

2.2 Modelos de Processo

A seguir são apresentados os modelos de processo de software mais relevantes no escopo deste trabalho

2.2.1 Modelo Cascata

Muitas vezes conhecido como ciclo de vida clássico no desenvolvimento de software, o modelo cascata tem uma abordagem sequencial e sistemática do processo de desenvolvimento de software. Começando desde o levantamento de requisitos pelo cliente, avançando para o planejamento, modelagem, construção, até a entrega e suporte continuo do software (Pressman, 2010). O modelo cascata é considerado o paradigma mais antigo dentro da engenharia de software, que pode ser visualizado na Figura 1.