modelo de monografia -...

86
Curso de Engenharia de Computação GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR NÍVEL F Michelle Scarassati Campinas São Paulo Brasil Dezembro de 2009

Upload: dangdieu

Post on 08-May-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

Curso de Engenharia de Computação

GARANTIA DE QUALIDADE DE SOFTWARE EM

PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

NÍVEL F

Michelle Scarassati

Campinas – São Paulo – Brasil

Dezembro de 2009

Page 2: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

Curso de Engenharia de Computação

GARANTIA DE QUALIDADE DE SOFTWARE EM

PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

NÍVEL F

Michelle Scarassati

Monografia apresentada à disciplina de Trabalho de

Conclusão do Curso de Engenharia de Computação da

Universidade São Francisco, sob a orientação do Prof.

Esp. Ricardo Cesar Boaretto, como exigência parcial para

conclusão do curso de graduação.

Orientador: Prof. Esp. Ricardo Cesar Boaretto

Campinas – São Paulo – Brasil

Dezembro de 2009

Page 3: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

GARANTIA DE QUALIDADE DE SOFTWARE EM

PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

NÍVEL F

Michelle Scarassati

Monografia defendida e aprovada em 17 de Dezembro de 2009 pela Banca

Examinadora assim constituída:

Prof. Esp. Ricardo Cesar Boaretto (Orientador)

USF – Universidade São Francisco – Itatiba – SP.

Bel. em Análise de Sistemas Lilian de Oliveira Campos (membro externo)

___________________________________________________________________________

Prof. Ms. José Aparecido Carrilho

USF – Universidade São Francisco – Campinas – SP.

Page 4: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

Dedico esse trabalho aos meus pais, ao meu namorado

e a minha família que muito me apoiaram e me

ajudaram nessa longa caminhada.

Page 5: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

v

.Agradecimentos

Agradeço primeiramente a Deus por ter me dado forças para chegar ao final do curso e

ter me iluminado todos os dias dessa longa caminhada.

Agradeço aos professores da Universidade São Francisco de Campinas por terem me

passado todo o conhecimento e por terem sido importantes para a minha formação acadêmica.

Agradeço também ao Prof. Esp. Ricardo Cesar Boaretto por ter me orientado no

trabalho de conclusão de curso e ter me ajudado nessa etapa final e muito importante para

minha formação. Pelos seus conselhos, dedicação e paciência.

Agradeço ao coordenador do curso André Leon por ter me ajudado durante toda essa

caminhada, apoiando e ajudando sempre que foi preciso.

Agradeço a todas as pessoas da Dextra Sistemas, empresa onde faço estágio, pela

oportunidade que me forneceram e por toda a ajuda para tornar real esse estudo feito por mim.

Agradeço também aos meus pais, meu namorado e toda minha família pela paciência

que tiveram comigo, nos meus momentos de stress, no nervosismo das vésperas de provas, na

ansiedade da espera da divulgação das notas, e nesse final pelo entendimento dos meus nãos

para poder me dedicar a esse trabalho de conclusão de curso.

Page 6: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

vi

O ENGENHEIRO planeja, ensaia, testa e projeta,

calcula, faz e constrói, estuda, ensina e arquiteta,

acompanha, fiscaliza, coordena, realiza.

Sua Missão e Intuito consistem em melhorar a

qualidade dos sistemas produtivos, criando

oportunidade, para o desenvolvimento, aumentando o

rendimento, a luz, a prosperidade para cada um.

Seu ideal é exercer a profissão, com cuidado,

entusiasmo, com fé e convicção, com ética, dignidade,

transparência, lealdade, com amor e devoção.

Page 7: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

vii

Sumário

Lista de Siglas .......................................................................................................................... ix

Lista de Figuras ....................................................................................................................... xi

Lista de Tabela ....................................................................................................................... xiii

Resumo ................................................................................................................................... xiv

Abstract ................................................................................................................................... xv

1 INTRODUÇÃO .................................................................................................................. 1 1.1 Contextualização ........................................................................................................... 1 1.2 Definição do problema a ser tratado ............................................................................. 2

1.3 Estrutura do Texto ......................................................................................................... 3

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 3 2.1 Conceitos fundamentais ................................................................................................ 3

2.1.1 Processo .................................................................................................................. 3 2.1.2 Processo de Desenvolvimento de Software ............................................................ 7

2.1.2.1 Modelo Cascata ................................................................................................ 8

2.1.2.2 Modelo Iterativo e Incremental .............................................................................. 9 2.1.3 RUP (Rational Unified Process) ........................................................................... 10 2.1.4 Qualidade .............................................................................................................. 13

2.1.4.1 Qualidade de Software .......................................................................................... 16 2.1.4.1.1 Qualidade de Produto ..................................................................................... 17

2.1.4.1.2 Qualidade de Processo ................................................................................... 17 2.1.4.2 Modelo de Qualidade de Software ....................................................................... 18

2.1.4.2.1 MPS.Br (Melhoria do Processo de Software Brasileiro) ............................... 19 2.1.5 Metodologia ágil de desenvolvimento de software – SCRUM ............................. 23 2.1.5.1 O Manifesto Ágil .................................................................................................. 23

2.1.5.2 O esqueleto do SCRUM ........................................................................................ 25 2.1.5.3 Atividades e Fluxo do SCRUM ............................................................................ 28

2.2 Estudo de Caso ............................................................................................................ 31

2.2.1 O processo SCRUM da empresa PowerLogic ...................................................... 31

3 ELABORAÇÃO DA SOLUÇÃO ................................................................................... 40 3.1 Histórico da Dextra Sistemas ............................................................................... 40 3.2 Motivação para a elaboração de um processo para projetos SCRUM na Dextra . 42

3.3 Processo SCRUM da Dextra Sistemas ........................................................................ 43 3.4 SCRUM Dextra – Atividades de Garantia da Qualidade............................................. 50

3.4.1 Atividade Realizar Auditoria de Processo .................................................................. 50 3.4.2 Atividade Realizar Auditoria de Produto .................................................................... 51 3.4.3 Atividade Disponibilizar Relatório de Auditoria ........................................................ 52

3.4.4 Atividade Acompanhar as Não Conformidades (NC)................................................. 53 3.4.5 Atividade Consolidar todas as Auditorias Realizadas................................................. 53

Page 8: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

viii

3.5 SCRUM Dextra – Produtos de Trabalho de Garantia da Qualidade ........................... 54

4 CONCLUSÃO .................................................................................................................. 62 4.1 Contribuições .............................................................................................................. 64 4.2 Trabalhos futuros......................................................................................................... 65

Apêndice 1 – Ferramentas ..................................................................................................... 66

1.1 EPF Composer ................................................................................................................. 66

1.2 TRAC ................................................................................................................................ 67

Referências Bibliográficas ..................................................................................................... 69

Bibliografias Consultadas ...................................................................................................... 70

Page 9: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

ix

Lista de Siglas

ABNT

AP

AQU

BID

CD

CMM

CMMI

CPU

DVD

EPF

FINEP

GCO

GPR

GQA

GRE

IBM

IEC

IEEE

ISO

MA

MCT

MED

MN

MPS.Br

Associação Brasileira de Normas Técnicas

Atributos de Processo

Aquisição

Banco Interamericano de Desenvolvimento

Compact Disc (Disco Compacto)

Capability Maturity Model (Modelo de Maturidade de

Capacidade)

Capability Maturity Model Integration (Integração do Modelo de

Maturidade de Capacidade)

Central Processing Unit (Unidade Central de Processamento)

Digital Video Disc (Disco Digital de Vídeo)

Eclipse Process Framework (Estrutura de Processo Eclipse)

Financiadora de Estudos e Projetos

Gerência de Configuração

Gerência de Projetos

Garantia da Qualidade

Gerência de Requisitos

International Business Machines (Máquinas Comerciais

Internacionais)

International Eletrotechnical Commission (Comissão

Internacional de Eletrotécnica)

Institute of Electrical and Electronics Engineers (Instituto de

Engenheiros Elétricos e Eletrônicos)

International Organization for Standardization (Organização

Internacional para Normalização)

Método de Avaliação

Ministério da Ciência e Tecnologia

Medição

Modelo de Negócio

Melhoria de Processo do Software Brasileiro

Page 10: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

x

MR

NC

PDCA

ProUD

PSP

QA

RAP

ROI

RUP

SEPG

SOFTEX

SPICE

TI

TQC

Modelo de Referência

Não Conformidade

Plan, Do, Check, Action (Planejar, Executar, Verificar e Atuar

corretivamente)

Processo Unificado Dextra

Personal Software Process (Processo de Software Pessoal)

Quality Assurance (Garantia da Qualidade)

Resultados dos Atributos de Processo

Retorno do Investimento

Rational Unified Process (Processo Unificado da Rational)

Software Engineering Process Group (Grupo de Processos de

Engenharia de Software)

Associação para Promoção da Excelência do Software Brasileiro

Software Process Improvement and Capability dEtermination

(Melhoria e Capacidade de Determinação do Processo de

Software)

Tecnologia da Informação

Total Control Quality (Controle da Qualidade Total)

UML Unified Modeling Language (Linguagem de Modelagem

Unificada)

Page 11: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

xi

Lista de Figuras

FIGURA 2-1: CICLO PDCA DE CONTROLE DE PROCESSOS [3]. ...................................................... 6

FIGURA 2-2: DETALHAMENTO DO CICLO PDCA NOS CICLOS DE MANUTENÇÃO E MELHORIAS [3].

............................................................................................................................................ 7

FIGURA 2-3: MODELO CASCATA DE DESENVOLVIMENTO DE SOFTWARE. (FONTE: SITE -

HTTP://W3.UALG.PT/~PVENTURA/EP/AULAS_TP/T1_G13.PDF) .............................................. 9

FIGURA 2-4: MODELO ITERATIVO E INCREMENTAL DE DESENVOLVIMENTO DE SOFTWARE.

(FONTE: SITE -

HTTP://WWW.CEFETRN.BR/~PLACIDO/DISCIPLINA/MOSSORO/ANALISE/MATERIAL/AULA5.PD

F) ....................................................................................................................................... 10

FIGURA 2-5: PROCESSO RUP [4]. .............................................................................................. 11

FIGURA 2-6: ESTRUTURA DE NÍVEIS DO MPS.BR E COMPARAÇÃO COM OS NÍVEIS DO CMMI.

(FONTE: SITE - HTTP://WWW.WEBPACK.COM.BR/TEMPLATES/95/ ...................................... 21

FIGURA 2-7: ESTRUTURA DO MR-MPS DO MODELO DE QUALIDADE MPS.BR [17]. .................. 22

FIGURA 2-8: FLUXO DE UM PROJETO SCRUM. (FONTE: SITE -

HTTP://WWW.B2ML.COM.BR/B2ML/PAGINA.DO?IDSECAO=54) .......................................... 31

FIGURA 2-9: CICLO DE VIDA DOS PROJETOS DE DESENVOLVIMENTO DE SOFTWARE – ÁREA DE

PRODUTOS [14]. ................................................................................................................. 35

FIGURA 3-1: PROCESSO DEXTRA PARA DESENVOLVIMENTO EM SCRUM [19]. .......................... 44

FIGURA 3-2: CICLO DE VIDA DO PROCESSO SCRUM DA DEXTRA. ............................................ 44

FIGURA 3-3: PAPÉIS DO PROCESSO SCRUM DA DEXTRA. ......................................................... 45

FIGURA 3-4: DISCIPLINAS DO PROCESSO SCRUM DA DEXTRA. ................................................. 45

FIGURA 3-5: PRODUTOS DE TRABALHO DO PROCESSO SCRUM DA DEXTRA. ............................ 46

FIGURA 3-6: DIAGRAMA DO SPRINT 0. ....................................................................................... 47

FIGURA 3-7: DIAGRAMA DA FASE DE EXECUÇÃO. ..................................................................... 48

FIGURA 3-8: DIAGRAMA DO SUBPROCESSO ACOMPANHAMENTO E CONTROLE.......................... 49

FIGURA 3-9: DIAGRAMA DA FASE DE ENCERRAMENTO. ............................................................ 49

FIGURA 3-10: DIAGRAMA DA DISCIPLINA GARANTIA DA QUALIDADE. ...................................... 50

FIGURA 3-11: PLANO DE QA. .................................................................................................... 54

FIGURA 3-12: LISTA DE VERIFICAÇÃO DE QA SCRUM. ............................................................ 55

FIGURA 3-13: LISTA DE VERIFICAÇÃO DE QA DE STATUS REPORT PARA CLIENTE. ................... 56

Page 12: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

xii

FIGURA 3-14: LISTA DE VERIFICAÇÃO DE QA DE STATUS REPORT INTERNO. ........................... 56

FIGURA 3-15: PLANILHA DE ACOMPANHAMENTO DE AUDITORIAS DA QUALIDADE. ................. 57

FIGURA 3-16: REGISTRO DE NÃO CONFORMIDADES NO TRAC. ................................................ 58

FIGURA 3-17: RELATÓRIO DE AUDITORIA DA QUALIDADE. ....................................................... 59

FIGURA 3-18: RELATÓRIO DE PRODUTO. ................................................................................... 60

FIGURA 4-1: GRÁFICO GERADO A PARTIR DOS DADOS REGISTRADOS NA PLANILHA DE

ADERÊNCIA. ....................................................................................................................... 64

FIGURA 4-2: TELA DA FERRAMENTA EPF COMPOSER. ............................................................... 66

FIGURA 4-3: PÁGINA INICIAL DO TRAC [16]. ............................................................................ 67

FIGURA 4-4: TELA INICIAL DO TRAC DE UM PROJETO DA DEXTRA. .......................................... 68

Page 13: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

xiii

Lista de Tabela

TABELA 2-1: FATORES BÁSICOS PARA O CICLO DE MANUTENÇÃO DO CONTROLE DA QUALIDADE

[3]. .................................................................................................................................... 15

Page 14: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

xiv

Resumo

Quando se fala em qualidade de software, logo vem à mente auditorias e cobranças,

algo desagradável e que incomoda muitas pessoas. Quando o assunto são os modelos de

qualidade de software, as pessoas logo se lembram de processos de desenvolvimento de

software pesados, longos, detalhistas, com uma quantidade enorme de documentos a serem

gerados. Até recentemente a realidade era essa: as empresas que queriam qualidade no

software produzido tinham que colocar em prática processos totalmente complicados, onde se

gastava muito tempo gerando documentos e por isso o produto final acabava se tornando mais

caro. Porém, atualmente, com as exigências do mercado em relação a custo e prazo, as

empresas começaram a implantar metodologias ágeis de desenvolvimento de software. Este

trabalho de conclusão de curso apresenta uma forma de continuar com a qualidade nos

softwares produzidos utilizando essas novas metodologias, em específico utilizando a

metodologia SCRUM. Apresenta também como o conceito de Garantia da Qualidade pode ser

executado dentro de um processo SCRUM de desenvolvimento de software, sem que as

exigências do modelo de qualidade de software brasileiro, o MPS.Br (Melhoria de Processo

do Software Brasileiro), nível F, sejam comprometidas.

PALAVRAS-CHAVE: Qualidade de Software, Modelos de Qualidade de Software, Processo

de Desenvolvimento de Software, Metodologias Ágeis, SCRUM, MPS.Br.

Page 15: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

xv

Abstract

When software quality is mentioned, words like audits and collections quickly come to

mind, these are something unpleasant that bothers many people. Regarding the models of

software quality, sometimes people remember heavy, long and detailed software development

process, with a huge amount of documents to be generated. Until recently that was the

scenario: the companies which want quality in software produced have to practice much

complicated processes, and spent much time creating documents, such that the final product

becomes too expensive. Nowadays, with the market requirements for cost and time,

companies began to implement agile software development methodologies. This dissertation

provides means to keep software quality using these news methodologies, in particular using

the SCRUM methodology. It also shows how the concept of Quality Assurance can be

maintained within a SCRUM process of software development, without the demands of the

Brazilian quality of software model, MPS.Br (Melhoria de Processo do Software Brasileiro –

Brazilian Process Improvement of Software), level F, are compromised.

KEY WORDS: Software Quality, Software Quality Models, Software Development Process,

Agile Methodologies, SCRUM, MPS.Br.

Page 16: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

1

1 INTRODUÇÃO

1.1 Contextualização

No início da era da computação, os sistemas baseados em computadores eram

desenvolvidos com foco no hardware, isso porque naquela época o hardware era o item mais

caro dentro do desenvolvimento de um sistema computacional. Haviam controles formais e

padrões técnicos para acompanhar os custos de hardware. A engenharia de hardware era a

responsável por aplicar controles, métodos e ferramentas para implementar melhorias no

hardware, e o software era visto como uma simples reflexão posterior.

A programação não era considerada muito importante, poucas pessoas sabiam

programar, e quem sabia, havia aprendido por tentativa e erro. O mundo do software era

considerado menos importante que o do hardware. Porém, com o passar dos anos, esse

pensamento foi mudando e várias perguntas foram surgindo, como por exemplo: Por que os

programas demoravam a ser concluídos? Por que os custos eram elevados? Por que os erros

não eram todos descobertos antes de o software ser entregue aos clientes? Essas e outras

perguntas levaram a adoção de práticas de engenharia de software, que atualmente é a parte

mais importante e cara dentro de um sistema computacional.

Atualmente, a grande preocupação das pessoas envolvidas no desenvolvimento de um

sistema baseado em computador é em relação ao software, pois o hardware passou a ser mais

barato e menos importante do que a programação de software. O maior desafio dos

profissionais de informática de hoje é conseguir desenvolver software com prazo e custo

mínimos e de alta qualidade. Com isso a engenharia de software passou a ser considerada uma

área essencial dentro do mundo da computação.

O software, por ser um elemento lógico, deve ser desenvolvido ou projetado por

engenharia, e não por manufatura como qualquer produto físico, por isso os custos do

software estão concentrados no trabalho do engenheiro de software. O software também tem

custo maior do que o hardware na manutenção, isso porque a manutenção do software é mais

complexa, por envolver erro de projeto ou de processo, ou seja, não envolve uma simples

reposição de peça como acontece com o hardware.

Em suma, pode-se dizer que os custos da engenharia de software estão distribuídos ao

longo do processo de software. Para determinar qual parte do processo tem custo maior, deve-

se levar em conta o tipo de processo utilizado e o tipo de software a ser desenvolvido. De uma

forma geral, pode-se dizer que teste de sistema, no caso de desenvolvimento de produto, e

Page 17: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

2

evolução de sistema, no caso de alteração após o software ter sido colocado em uso, são as

duas atividades que possuem o maior custo dentro de um processo de software.

Além do desafio de desenvolver software com prazo e custos mínimos e de alta

qualidade, como dito anteriormente, a engenharia de software, no século XXI, ainda enfrenta

outros três principais desafios. O primeiro deles é o desafio do legado, que envolve a

manutenção e atualização de softwares antigos, para evitar custos excessivos e para dar

continuidade à prestação de serviços corporativos essenciais.

O segundo é o desafio da heterogeneidade, que visa desenvolver softwares confiáveis

e flexíveis, que suportem sistemas distribuídos em redes que possuam diferentes tipos de

computadores. E por último, o desafio do fornecimento que se refere à redução do tempo de

fornecimento de sistemas grandes e complexos sem comprometer a sua qualidade.

Por fim pode-se concluir que para um software ser considerado de boa qualidade, ele

deve possuir os seguintes atributos: fácil manutenção, como atualmente o ambiente de

negócios está em constante mutação, o software deve ser capaz de evoluir e ser modificado

para atender as necessidades dos clientes; nível de confiabilidade, que envolve confiabilidade,

proteção e segurança, isto é, em caso de defeito o software não deve ocasionar danos físicos

e/ou econômicos para o usuário; eficiência, que inclui rapidez de resposta, tempo de

processamento, além de evitar desperdício de recursos do sistema, como a memória, por

exemplo; e por último, facilidade de uso, isto é, o software deve possuir uma interface

apropriada com o usuário, além de uma documentação adequada.

1.2 Definição do problema a ser tratado

As empresas de software estão buscando cada vez mais ter um produto final de maior

qualidade, através de certificações como MPS.Br e CMMI (Capability Maturity Model

Integration - Integração do Modelo de Maturidade de Capacidade), visando atrair mais

clientes e manter os que já possui. Porém esses modelos de qualidade de software até

recentemente levaram a elaboração e utilização de processos de desenvolvimento de software

muito extensos e pesados, sendo os mesmos melhor aplicados apenas em projetos grandes e

longos, caso contrário, torna-se muito custoso e trabalhoso para a empresa implantá-los.

Por esse motivo, algumas empresas começaram a adotar o desenvolvimento ágil de

software, muitas vezes utilizando a metodologia SCRUM, que ao contrário do que muitos

pensam, não significa ausência de documentação, mas sim, apenas a documentação necessária

e no momento oportuno.

Page 18: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

3

O grande desafio atualmente é como garantir a qualidade de processo dos projetos que

utilizam um processo ágil de desenvolvimento de software. Como conseguir uma certificação

MPS.Br em projetos SCRUM, através da elaboração de um processo mais leve, é o objetivo

desse trabalho, que tem foco apenas na disciplina Garantia de Qualidade do MPS.Br nível F.

1.3 Estrutura do Texto

Esse trabalho está divido em quatro seções, onde a Seção 1 contém a introdução, a qual

está dividida em dois itens, que são contextualização e definição do problema a ser tratado. A

Seção 2 aborda toda a fundamentação teórica e está dividida em dois itens, onde o primeiro

descreve todos os conceitos fundamentais que foram a base deste trabalho (processo, processo

de desenvolvimento de software, RUP (Rational Unified Process - Processo Unificado da

Rational), qualidade, qualidade de software, modelo de qualidade de software, MPS.Br e

SCRUM).

O segundo item trata do estudo de caso feito para este trabalho, contemplando o

processo SCRUM da empresa PowerLogic, que foi tomado como base do estudo, o histórico

da empresa Dextra Sistemas, onde esse trabalho está sendo aplicado na prática e a motivação

que levou ao desenvolvimento desse trabalho. A Seção 3 aborda a elaboração da solução, ou

seja, o desenvolvimento do trabalho proposto, com a explicação detalhada de cada atividade

presente na disciplina Garantia da Qualidade do Processo SCRUM da Dextra.

Por fim, a última seção finaliza com as conclusões deste trabalho, as suas contribuições

para a empresa onde está sendo aplicado e para quem desenvolveu, e algumas sugestões para

trabalhos futuros.

2 FUNDAMENTAÇÃO TEÓRICA

2.1 Conceitos fundamentais

2.1.1 Processo

Há várias definições para processo, tais como: “Uma ação regular e contínua realizada

de forma bem definida, levando a um resultado”, segundo Oxford English Dictionary; “Um

conjunto parcialmente ordenado de atividades para se atingir um objetivo”, segundo Feiler &

Humphrev [1]; “Define quem está fazendo o quê, quando e como para atingir um certo

Page 19: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

4

objetivo”, segundo Jacobson, Booch, Rumbaugh [2]; “Processo é um conjunto de causas que

provoca um ou mais efeitos” , segundo Falconi [3].

Conceitualmente, processo é todo conjunto de atividades bem definidas, que possuem

responsáveis e artefatos de entrada e saída, atividades com dependências entre as mesmas,

ordem de execução e modelo de ciclo de vida. Resumindo, pode-se dizer que processo é

qualquer atividade que recebe uma entrada, realiza uma transformação agregando-lhe valor e

gera uma saída para um cliente externo ou interno, fazendo uso de recursos para gerar

resultados concretos.

Os processos possuem a seguinte hierarquia:

1. Macroprocessos: são considerados um centro autônomo de resultados com

autonomia decisória e recursos plenos (a organização em si). Melhor dizendo,

macroprocessos designam um conjunto de atividades necessárias e suficientes

para atender aos pedidos dentro do requisito especificado, a elaboração e a

disponibilidade no prazo e local prometido ao cliente.

2. Subprocessos: são divisões do macroprocesso com objetivos específicos.

Recebem entradas e geram saídas em um único departamento.

3. Atividades: são divisões que compõem um subprocesso.

4. Tarefas: são as atividades em um nível mais detalhado.

Processos também podem ser divididos de acordo com suas finalidades, isto é,

processos de fabricação geram produtos ou serviços. Os processos de negócios apóiam

processos de fabricação pelos meios operacionais (operações finalísticas) ou administrativos

(gestões de recursos (suporte) e operações).

Hoje em dia é muito comum a padronização de processos, o que ajuda a reduzir

problemas de treinamento, revisões e ferramentas de apoio. Na visão da computação e da

engenharia de software, se forem utilizados métodos padrões, cada nova experiência de

projeto pode ajudar na melhoria do processo como um todo. Além disso, processos

padronizados podem fornecer uma base sólida para se fazer medições de qualidade entre

projetos que utilizam o mesmo processo.

Existe também o modelo de processo, que é uma representação de um processo e

envolve as atividades que serão realizadas, os agentes que realizarão as atividades, os

artefatos (produtos) gerados e os recursos necessários para a realização das atividades. Um

modelo de processo deve ser descrito de forma completa e formal, utilizando-se diagramas de

estados, técnicas de análise e projeto estruturados, UML (Unified Modeling Language -

Linguagem de Modelagem Unificada), entre outros formalismos diagramáticos. Esse modelo

Page 20: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

5

deve ser usado pela organização para o entendimento e comunicação do processo, e deve

servir como base para a análise, execução, gerência e melhoria do processo como um todo.

Para que um processo seja institucionalizado com sucesso dentro de uma organização,

precisa haver um comprometimento da diretoria da empresa, envolvimento de todos,

treinamento e orientação das pessoas envolvidas nos padrões e técnicas, infra-estrutura

necessária disponível, disciplina e motivação. Para que um processo acompanhe a constante

modificação do ambiente de negócios, ele deve ser revisado periodicamente e deve ter

melhoria contínua. É importante deixar claro que todo processo deve ajudar e não burocratizar

a organização, por isso é importante se ter procedimentos adequados e ferramentas que

facilitam o trabalho dentro da empresa.

Como um processo pode ter um ou mais resultados, para que se possa realizar o

gerenciamento do mesmo é preciso fazer medições desses resultados. Isso pode ser feito

através dos itens de controle do processo, os quais medem a qualidade, custo, entrega, moral e

segurança dos resultados. É importante ressaltar que “não se deve estabelecer um item de

controle sobre algo de que não se possa exercer o controle, ou seja, atuar na causa do desvio”

[3].

O método gerencial para controle de processo mais utilizado é o ciclo PDCA (plan, do,

check e action – planejar, executar, verificar e atuar corretivamente), como mostra a Figura 2-

1. O planejamento consiste em estabelecer metas sobre os itens de controle e a maneira para

atingir essas metas. A execução consiste na realização das tarefas exatamente como previstas

no planejamento e na coleta de dados para uma futura verificação do processo. Nessa etapa

também se deve ter um treinamento no trabalho que foi definido no planejamento.

Na fase de verificação se compara o resultado alcançado com as metas planejadas

inicialmente. Essa comparação é feita utilizando-se os dados coletados na fase de execução.

Por último, existe a fase de atuação corretiva, onde o usuário atuará nos desvios detectados,

realizando correções definitivas, de modo que o problema não ocorra novamente.

Page 21: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

6

O ciclo PDCA pode ser utilizado para quatro objetivos diferentes: manutenção do

nível de controle, melhoria do nível de controle, manutenção dos resultados e melhoria dos

resultados. Para manutenção do nível de controle, o mesmo é utilizado “quando o processo é

repetitivo e o plano consta de uma meta que é uma faixa aceitável de valores e de um método

que compreende os procedimentos padrões de operação” [3].

Nas melhorias do nível de controle, o ciclo PDCA é utilizado quando “o processo não

é repetitivo e o plano consta de uma meta que é um valor definido e de um método, que

compreende aqueles procedimentos próprios necessários para se atingir a meta” [3]. Na

manutenção dos resultados “as diretrizes de controle são mantidas pelo cumprimento dos

procedimentos de operação” [3], que pode ser visto no seqüenciamento do PDCA, que é o

ciclo de manutenção.

E por fim, na melhoria dos resultados se tem que “a utilização de ciclo PDCA para

melhorar as diretrizes de controle é a grande responsabilidade de todas as chefias, desde o

presidente até o nível de supervisor” [3]. Constitui um método para a solução de problemas, o

Figura 2-1: Ciclo PDCA de controle de processos [3].

Page 22: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

7

qual deve ser dominado por todas as pessoas da empresa. O detalhamento do ciclo PDCA

pode ser visto na Figura 2-2.

2.1.2 Processo de Desenvolvimento de Software

Existem várias definições para Processo de Desenvolvimento de Software. Segundo

Sommerville [5] “Processo de Software é um conjunto de atividades e resultados associados

que produzem um produto de software”. Conforme Pressman [6] “definimos um processo de

software como um framework para as tarefas que são necessárias para a construção de

software de alta qualidade”.

Um processo de desenvolvimento de software é dividido em atividades genéricas, que

englobam: Especificação dos Requisitos, atividade onde são feitas as funcionalidades e

restrições do sistema; Desenvolvimento, atividade que envolve a construção do software em

si; Verificação, atividade de análise de correção, validação entre outros aspectos relacionados

com qualidade; Manutenção, atividade que visa analisar e realizar mudanças no software.

Dividido também em papéis e artefatos. Essas divisões possuem a seguinte relação: os

artefatos são documentos, modelos e códigos produzidos por uma atividade, onde cada

Figura 2-2: Detalhamento do ciclo PDCA nos ciclos de manutenção e melhorias

[3].

Page 23: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

8

atividade é executada por um papel (que pode ser uma equipe ou uma única pessoa)

específico.

Hoje em dia, muitas pessoas ainda não sabem definir o que é método e o que é

processo. De modo geral, pode-se dizer que método é teórico, ele define o que, como e porque

fazer, já o processo é prático, ele define quem e quando fazer, é a junção de método com

planejamento.

Método define papéis. Processo define quem desempenhará cada papel. No método, as

atividades que serão realizadas são denominadas disciplinas. No processo as atividades são

alocadas aos papéis, e determinam-se o fluxo de trabalho, as dependências e os marcos. Em

um método, disciplinas e papéis produzem e consomem artefatos. Em um processo define

quem produz e consome os artefatos e quando os mesmos serão produzidos.

Estabelecer um processo de desenvolvimento de software dentro de uma empresa é

importante para se diminuir a dependência da empresa em relação às pessoas, reduz

problemas de treinamento e ferramentas de apoio, fornece a base para medições de qualidade

entre projetos, além de facilitar a disseminação de melhores práticas, conhecimento e

documentos. Para que se tenha sucesso é importante que o processo seja bem definido,

padronizado, divulgado e utilizado de forma correta por todos da empresa.

Utiliza-se um modelo de processo para que haja o entendimento e a comunicação do

processo, além de prover a sua melhoria. Um modelo de processo deve ser descrito de

maneira formal e padronizada. Existem vários modelos de processo de desenvolvimento de

software, dentre os quais os mais conhecidos e utilizados são o Modelo Cascata e o Modelo

Iterativo Incremental.

2.1.2.1 Modelo Cascata

O modelo Cascata, também conhecido como modelo ciclo de vida Clássico, é o mais

antigo de todos. Ele descreve o desenvolvimento de software de forma linear e seqüencial,

isto é, uma vez que uma fase é completada ela não retorna mais, e o desenvolvimento

prossegue para a próxima fase. Outra característica importante é que uma fase não pode

iniciar enquanto a anterior não estiver finalizada, como pode ser observado na Figura 2-3.

Page 24: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

9

No modelo cascata são contempladas as fases: Requerimento, onde é elaborado um

conjunto de requisitos do software; Projeto, que é a fase que se encarrega de transformar o

conjunto de requisitos em um documento (desenho ou plano) que será seguido pelos

desenvolvedores na implementação desses requisitos.

2.1.2.2 Modelo Iterativo e Incremental

Dizer que um processo é iterativo, significa que o mesmo possui várias iterações no

tempo, isto é, significa que o processo possui vários ciclos de desenvolvimento onde em cada

ciclo são identificadas as fases de levantamento e análise de requisitos, projeto,

implementação, testes e implantação. Dizer que ele é incremental significa que ele gera novas

versões incrementadas a cada ciclo, como mostra a Figura 2-4. Atualmente, o modelo

iterativo incremental de desenvolvimento de software é um dos mais utilizados nas empresas

de fábrica de software.

Figura 2-3: Modelo Cascata de

desenvolvimento de software. (Fonte: Site -

http://w3.ualg.pt/~pventura/ep/aulas_tp/t1_g1

3.pdf)

Page 25: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

10

Isso ocorre porque neste modelo existem inúmeras vantagens, como por exemplo, a

possibilidade de avaliar logo no início os riscos e pontos críticos do projeto, identificar

medidas para eliminar ou controlar os riscos avaliados, definir a melhor arquitetura a ser

usada, redução do risco de a entrega do projeto atrasar, contato freqüente com o cliente (o que

permite manter o entendimento dos requisitos alinhados), a equipe visualiza o software

funcionando mais cedo (o que é extremamente motivador).

2.1.3 RUP (Rational Unified Process)

O RUP foi criado pela Rational Software Corporation e posteriormente foi adquirido

pela IBM (International Business Machines - Máquinas Comerciais Internacionais). É o

processo de desenvolvimento de software baseado no modelo iterativo incremental mais

utilizado atualmente pelas empresas. Por ser considerado um processo pesado, é aplicado em

Figura 2-4: Modelo Iterativo e Incremental de

desenvolvimento de software. (Fonte: Site -

http://www.cefetrn.br/~placido/disciplina/mosso

ro/analise/material/aula5.pdf)

Page 26: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

11

grandes projetos, com grandes equipes de desenvolvimento. Apesar disso, por ser um

framework de processo, o RUP pode ser adaptado a realidade de pequenas e médias empresas

de desenvolvimento de software.

Devido utilizar a orientação a objetos como paradigma de desenvolvimento de

software, o RUP lança mão da UML como linguagem de modelagem e documentação de

projetos. Além disso, o RUP é guiado por casos de uso e centrado na arquitetura. Como já foi

dito anteriormente, o ciclo de vida do RUP é iterativo e incremental, isto é, ele se repete

através de uma série de ciclos, onde em cada ciclo que se encerra é gerado uma nova release

(produto acabado) incrementada.

O ciclo de vida é dividido em quatro fases, onde cada fase pode ser subdividida em

iterações. As fases são: concepção, elaboração, construção e transição. Elas serão explicadas

na seqüência e podem ser observadas através da Figura 2-5.

A fase concepção é a primeira fase do ciclo de vida do RUP. Nela são definidos o

escopo do projeto, suas fronteiras e os principais casos de uso do projeto. Essa fase tem ênfase

no planejamento, por isso é nessa fase que se faz as estimativas de prazo e custo, de forma

global para o projeto todo e mais detalhada para a fase seguinte. As idéias são exploradas até

alcançarem o ponto em que se possa iniciar a elaboração do sistema.

A segunda fase é a elaboração, onde o levantamento inicial dos casos de uso é

revisado e, se necessário, complementado. Nessa fase são desenvolvidas a arquitetura do

sistema e a versão inicial do manual do usuário, também é feita a revisão da modelagem de

negócio do projeto. Resumidamente, pode-se dizer que a fase de elaboração é constituída da

análise e projeto.

Figura 2-5: Processo RUP [4].

Page 27: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

12

A fase construção é a terceira fase do ciclo de vida e é nela que são feitos a

implementação e os testes. Nessa fase o sistema é desenvolvido, códigos são gerados e testes

são realizados.

A quarta e última fase é a transição, a qual ocorre após o último ciclo iterativo da fase

de construção. Concentra-se na realização de testes, visando garantir que o sistema possui um

nível de qualidade aceitável. Nessa fase o sistema é entregue ao cliente, é feito o plano de

implantação, acompanhamento e qualidade de software de modo a obter a satisfação do

cliente. Essa fase também contempla a construção de novas versões para permitir ajustes do

sistema, corrigir problemas ou construir algumas características que foram postergadas, que

surgem após o sistema ter sido colocado em uso pelo cliente.

Os elementos pertencentes ao processo RUP são: papéis, atividades, artefatos, fluxos

de trabalhos e disciplinas. O elemento papel define as responsabilidades de cada indivíduo da

equipe no projeto. Um indivíduo pode assumir vários papéis dentro do mesmo projeto. A

atividade é uma tarefa realizada por um papel e que produz um resultado importante para o

projeto. Cada atividade pode ser dividida em etapas, para facilitar a execução da mesma por

um determinado papel.

O artefato é uma parte de uma informação que é produzida, modificada ou utilizada no

processo. É o produto de um projeto, que é utilizado como entrada de atividades ou produzido

como saída das mesmas. Templates (modelos), documentos, código fonte, executáveis são

exemplos de artefatos em um processo. Fluxo de trabalho é uma seqüência de atividades que

são executadas para a produção de um resultado importante para o projeto. Essa seqüência é

semi-ordenada para o melhor entendimento do processo, podendo quebrá-lo em menores

áreas de conhecimento. Um fluxo de trabalho é representado na forma de diagrama de

seqüência.

Por fim tem-se o elemento disciplina, que é uma coleção de tarefas relacionadas a uma

área de conhecimento de todo o projeto. Dividir as atividades em disciplinas diferentes é uma

forma de organizar o conteúdo de modo a facilitar a compreensão. O RUP é dividido em nove

disciplinas, que são: modelagem de negócios, requisitos, análise e design, implementação,

teste, distribuição, configuração e gerenciamento de mudanças, gerenciamento de projeto e

ambiente.

Page 28: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

13

2.1.4 Qualidade

A idéia de qualidade surgiu há aproximadamente 4 (quatro) mil anos atrás no Egito,

quando os egípcios criaram um padrão de medida de comprimento chamada cúbito, que

correspondia ao comprimento do braço do faraó que estava no reinado. Ou seja, a cada troca

de faraó, a medida mudava, de acordo com o tamanho do braço do novo faraó. Eram cortados

bastões com o comprimento do braço do faraó e este era utilizado para fazer as construções.

A partir daí a história da qualidade prosseguiu com os templos construídos na Grécia e

Roma antigas, os feitos das grandes navegações, as catedrais medievais. Porém, o grande

marco da história da qualidade foi a Revolução Industrial, devido às profundas mudanças

econômicas e sociais e, conseqüentemente, o surgimento da concorrência entre as grandes

empresas que surgiram nessa época.

Segundo a ISO 9000 (International Organization for Standardization - Organização

Internacional para Normalização) [7] “Qualidade é a adequação ao uso. É a conformidade às

exigências.” Existem vários pontos de vista sobre o que é qualidade. Para alguns, qualidade é

a aparência do produto, para outros é de qual material o produto foi feito, outros que avaliam

a qualidade de um produto pelo preço que ele custa.

Falconi [3] acredita que “um produto ou serviço de qualidade é aquele que atende

perfeitamente, de forma confiável, de forma acessível, de forma segura e no tempo certo as

necessidades do cliente.” Em outros termos, pode-se dizer que:

“a. que atende perfeitamente = projeto perfeito;

b. de forma confiável = sem defeitos;

c. de forma acessível = baixo custo;

d. de forma segura = segurança do cliente;

e. no tempo certo = entrega no prazo certo, no local certo e na quantidade certa” [3].

Na verdade a qualidade é subjetiva e está totalmente ligada as necessidades internas de

cada pessoa. O aspecto objetivo, que é mensurável da Qualidade, é o processo. É através do

processo que se pode implantar sistemas de qualidade.

O primeiro sistema padronizado de qualidade surgiu na indústria de produção seriada e

é conhecido e utilizado por muitas empresas até os dias de hoje, esse sistema é o ISO. Ele

surgiu como uma forma de se manter a perfeita padronização das peças e produtos fabricados,

evitando o retrabalho e maiores custos de produção.

Page 29: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

14

Com o surgimento das certificações que comprovam a qualidade dos produtos gerados

por uma empresa o conceito de qualidade evoluiu e deixou de ser apenas a conformidade de

determinado produto com o processo estabelecido na empresa, cumprindo todas as etapas do

processo de forma homogênea e padronizada. Agora qualidade é vista como sendo um

enfoque na satisfação plena das necessidades do cliente.

Outro conceito muito utilizado atualmente é o de Qualidade Total. Esse termo busca a

satisfação não só do cliente, mas de todas as pessoas que influenciam na existência da

empresa e no seu modelo organizacional. Resumindo pode-se dizer que o conceito qualidade

total possui seis atributos básicos, que são: qualidade intrínseca (capacidade do produto de

cumprir o objetivo ao qual se destina), custo (para empresa e preço para o cliente),

atendimento (local, prazo e quantidade), moral (treinamento, motivação), segurança (dos

clientes internos e externos) e ética (valores e regras de conduta).

A qualidade total valoriza o ser humano no âmbito das empresas e pode ser entendida

como uma nova maneira de pensar, antes de agir e produzir. Ela tem como pontos básicos:

foco no cliente; trabalho em equipe; decisões baseadas em fatos e dados; e a busca constante

da solução de problemas e da diminuição de erros. Por isso, pode-se dizer que a sobrevivência

das empresas que precisam garantir aos seus clientes a total satisfação com os produtos

produzidos depende da qualidade total, a qual também influencia a competitividade entre

empresas.

A prática de controle da qualidade é o objetivo principal do Controle da Qualidade

Total (TQC – Total Control Quality - Controle da Qualidade Total) e é de obrigação de todos.

“O controle da qualidade total é um novo modelo gerencial centrado no controle de processo,

tendo como meta a satisfação das necessidades das pessoas” [3].

Os três principais objetivos abordados pelo controle da qualidade, segundo Falconi

[3], são:

1. “planejar a qualidade desejada pelos clientes; isto implica um esforço de localizar

o cliente, saber de suas necessidades (muitas vezes ele não as conhece e você deve

colocar-se em seu lugar), traduzir estas necessidades em características

mensuráveis, de tal forma que seja possível gerenciar o processo de atingi-las.”

2. “manter a qualidade desejada pelo cliente, cumprindo padrões e atuando na causa

dos desvios. O processo para manter a qualidade desejada pelo cliente está

mostrado na Tabela 2-1. Nesse caso o controle (PDCA) é exercido para manter os

resultados.”

Page 30: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

15

3. “melhorar a qualidade desejada pelo cliente; neste caso é preciso localizar os

resultados indesejáveis (problemas) e utilizar o método de solução de problemas

para melhorá-los.”

Dentro da Qualidade Total ainda existe o conceito de Garantia da Qualidade, que tem

como finalidade confirmar se todas as atividades da qualidade estão sendo realizadas da

maneira como é requerida pela empresa. Segundo Falconi [3], “a garantia da qualidade é a

embaixatriz do cliente na empresa, é a função que visa a confirmar que todas as ações

necessárias para o atendimento das necessidades dos clientes estão sendo conduzidas de

forma completa e melhor que o concorrente.”

Consegue-se a garantia da qualidade em uma empresa através do gerenciamento

correto, que é feito via ciclo PDCA descrito anteriormente, de todas as atividades da área da

qualidade em cada projeto e em cada processo existente na empresa. A mesma busca eliminar

completamente as falhas através da constante preocupação com a total satisfação dos clientes

e pela participação e responsabilidade de todos os membros da empresa. Pode-se dizer que, na

qualidade total, a garantia da qualidade busca o defeito zero.

Existem três estágios da garantia da qualidade, os quais foram evoluindo com o passar

dos anos, são eles: a garantia da qualidade orientada pela inspeção, a orientada pelo controle

Tabela 2-1: Fatores básicos para o ciclo de manutenção do controle da qualidade [3].

Page 31: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

16

de processos e a com ênfase no desenvolvimento de novos produtos. É importante ressaltar

que esses estágios não se excluem, a diferença entre os mesmos está na ênfase que cada

empresa tem no momento, se é na inspeção, no controle de processos ou no desenvolvimento

de novos produtos.

Resumidamente, tem-se que a garantia da qualidade orientada pela inspeção é

realizada por um grupo independente da produção. O problema é que esse estágio é muito

custoso, uma vez que os inspetores aumentam os custos e não produzem nenhum produto, e

também não melhora a qualidade do produto se aplicada isoladamente, visto que a inspeção

não elimina as causas fundamentais dos defeitos, apenas evita que eles apareçam para o

cliente.

Já a garantia da qualidade orientada pelo controle de processo é de responsabilidade de

todos na empresa. Nesse estágio se garante que os processos da empresa estão perfeitos,

fazendo produtos sem defeitos, porém não garante que esses produtos possuem especificações

que satisfazem as necessidades dos clientes. Assim, surgiu o terceiro e último estágio da

garantia da qualidade, o com ênfase no desenvolvimento de novos produtos, onde a qualidade

deve ser construída de acordo com cada projeto e em cada processo. “Portanto, neste estágio,

além de se ter o controle de processos e a inspeção (ainda que com menor ênfase), procura-se

conduzir severamente as avaliações e garantir a qualidade em cada passo do desenvolvimento

de um novo produto, desde o seu planejamento até a fase posterior à assistência técnica

(serviço)” [3].

2.1.4.1 Qualidade de Software

Uma famosa definição de qualidade de software foi dada por Crosby [8] que diz que

“A qualidade é conformidade aos requisitos”. Ela é interessante pelo fato de deixar explícito

que é preciso um ponto de referência para julgar um produto, e no que diz respeito a software

essa referência são os seus requisitos. Além disso, também traz embutida a idéia de como todo

o processo pode ser documentado, analisado e os resultados transmitidos a outras pessoas.

A qualidade de software está focada em dois aspectos diferentes, mas que são

necessários e complementares: a qualidade de produto e a qualidade de processo. Ambos os

aspectos garantem a qualidade do software final, interferem no processo de desenvolvimento,

realimentando-o com os resultados obtidos durante a verificação e tem um propósito comum,

que é o de satisfazer o cliente.

Page 32: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

17

2.1.4.1.1 Qualidade de Produto

A qualidade de produto refere-se aos testes realizados no software por uma equipe

específica de testes, são as chamadas verificações e validações. Avaliar a qualidade de

produto significa verificar, através de técnicas e atividades operacionais o quanto os requisitos

são atendidos. A qualidade de produto não se atinge de forma espontânea, ela depende

fortemente da qualidade de processo. A finalidade da qualidade de produto é a verificação

(verifica se a saída está de acordo com a entrada do processo) e a validação (verifica se a

saída está de acordo com a especificação inicial).

Quando se fala em qualidade de produto de software, ou melhor dizendo, em testes de

software, surge uma dúvida em relação a três termos que parecem ser muito semelhantes:

engano, defeito, erro e falha. Apesar de parecerem iguais, eles possuem significados

diferentes. “Engano é uma ação humana que introduz um defeito no software. Defeito é um

conjunto de instruções no software que, ao ser executado, pode causar uma falha. Erro é um

estado incorreto de execução do software que pode produzir um resultado incorreto, isto é,

pode levar a uma falha no software. Falha é a ocorrência de uma diferença entre o resultado

observado do software e o resultado especificado pelos requisitos.” [9]

Resumindo os termos engano, defeito, erro e falha, pode-se dizer que “um engano

introduz um defeito no software que, quando ativado, pode produzir um erro que, se

propagado até a saída do software, constitui uma falha.” [9]

2.1.4.1.2 Qualidade de Processo

Um processo bem escrito e estruturado não garante que os produtos produzidos serão

de boa qualidade, mas é um indicativo de que a empresa tem a capacidade de produzir bons

produtos. Quando aplicada de forma correta, a qualidade de processo proporciona muitos

benefícios para a empresa, tais como: aumento da qualidade do produto final, diminuição do

retrabalho, maior produtividade, redução de custos, maior competitividade, maior precisão

nas estimativas.

A qualidade de processo de software é uma atividade da subárea garantia da qualidade,

que faz parte da área de gerência dentro de um processo de desenvolvimento de software. Ela

tem como propósito assegurar que os objetivos planejados no início do projeto serão

cumpridos ao longo do projeto, até o seu final. Fazem parte da qualidade de processo as

auditorias de qualidade, as quais são realizadas por pessoas externas ao projeto que será

auditado. A equipe de qualidade não faz parte da equipe do projeto, diferente da equipe de

Page 33: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

18

testes, que faz parte do projeto para garantir a qualidade de produto de software. A qualidade

de processo tem por finalidade realizar auditorias (que verificam a adequação e a

conformidade ao processo).

A qualidade de um software está vinculada a atributos essenciais que devem ser

levados em consideração no projeto de software, para que possam ser aferidos antes, durante e

após o desenvolvimento do mesmo. Esses atributos são: funcionalidade (o software deve

atender às especificações para as quais foi desenvolvido), facilidade de uso (a operação do

software deve ser a mais direta e simples possível, não devendo existir falhas e/ou defeitos),

confiabilidade (tempo durante o qual o software atende aos objetivos para os quais foi

desenvolvido), desempenho (tempo de resposta, consumo de memória e/ou CPU (Central

Processing Unit - Unidade Central de Processamento), capacidade de resolução de

problemas), suportabilidade (facilidade de manutenção, apoio técnico adequado).

Um assunto muito discutido na área da qualidade de software é a relação entre valor e

custo, que conforme Koscianski [10] “abrange os prejuízos causados pela falta de qualidade

de um produto e os custos com que é preciso arcar para garantir um determinado nível de

exigência quanto ao funcionamento do software“. A subárea Garantia da Qualidade é a

responsável por isso, além de assegurar que os objetivos planejados no início do projeto serão

cumpridos ao longo do projeto inteiro, até o seu final.

Segundo Koscianski [10], “o propósito da garantia da qualidade é estabelecer sistemas

para controlar tudo o que ocorre durante o ciclo de vida, com o objetivo de garantir que o

programa que será fabricado fará aquilo que se espera dele”.

2.1.4.2 Modelo de Qualidade de Software

Os modelos de qualidade de software, as normas e os organismos normativos surgiram

para ajudar na definição de um processo de software. “A criação das normas é baseada na

experiência e no trabalho de especialistas de todo o mundo. Elas são a base para especificar

produtos, organizar fornecimento de serviços e para elaborar leis de diversos países. As

normas definem padrões, os quais podem mudar com o passar o tempo. Esses padrões podem

ser de dois tipos, são eles: padrões de facto, que são padrões conhecidos e aplicados na prática

sem precisar se formalizarem como um regulamento ou como uma lei; padrões de jure, que

são padrões escritos seguindo uma regulamentação, transformam-se em leis, e são aprovados

Page 34: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

19

por instituições reconhecidas mundialmente e que possuem capacidade para realizar essa

aprovação” [10].

Os organismos normativos são as empresas que escrevem os padrões de jure, as

normas regulamentadas. Dentre os organismos mais conhecidos estão o IEEE (Institute of

Electrical and Electronics Engineers - Instituto de Engenheiros Elétricos e Eletrônicos), a

ISO, a IEC (International Eletrotechnical Commission - Comissão Internacional de

Eletrotécnica) e a ABNT (Associação Brasileira de Normas Técnicas).

Já os modelos de qualidade de software são parecidos com os modelos de processo de

desenvolvimento de software. Eles avaliam a qualidade dos processos de software aplicados

em uma empresa. São considerados padrões de processo. Atualmente, existem vários modelos

de qualidade de software, dos quais o CMMI e o MPS.Br são os mais utilizados e conhecidos,

sendo que o último é de conhecimento apenas do Brasil. Além desses dois modelos também

existem o SPICE (Software Process Improvement and Capability dEtermination - Melhoria e

Capacidade de Determinação do Processo de Software), o CMM (Capability Maturity Model -

Modelo de Maturidade de Capacidade) - que deu origem ao CMMI -, a ISO 9000-3 e o PSP

(Personal Software Process - Processo de Software Pessoal).

Resumidamente pode-se dizer que os modelos de qualidade definem os requisitos a

que o processo deve atender, e tem a possibilidade de se escolher como irá atendê-los, os

modelos possuem flexibilidade em relação a como atender esses requisitos. Além disso, os

modelos, principalmente os estruturados por etapas, definem um caminho evolucionário para

a melhoria do processo.

Uma empresa, ao optar por fazer um processo seguindo um modelo de qualidade, faz

com que esse processo se transforme em um repositório de melhores práticas que vêm sendo

utilizadas ao longo de vários anos com sucesso. Também permite avaliações do processo de

forma objetiva e a detecção de pontos fortes e fracos.

2.1.4.2.1 MPS.Br (Melhoria do Processo de Software Brasileiro)

O MPS.Br é um modelo de qualidade de software brasileiro criado e coordenado pela

SOFTEX (Associação para Promoção da Excelência do Software Brasileiro) em Dezembro de

2003, com o apoio do MCT (Ministério da Ciência e Tecnologia), da FINEP (Financiadora de

Estudos e Projetos) e do BID (Banco Interamericano de Desenvolvimento). Foi criado com o

objetivo de definir um modelo de referência acessível às micros, pequenas e médias empresas

brasileiras, aumentando a competitividade entre elas.

Page 35: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

20

Foi criada com base no modelo americano CMMI, adequando-se a realidade

socioeconômica e cultural das empresas brasileiras. Apesar de ter herdado os conceitos do

CMMI, o MPS.Br também se baseia nas normas internacionais ISO/IEC 12207 (de

desenvolvimento de software) e ISO/IEC 15504 - SPICE (de avaliação de processos de

software).

O foco do MPS.Br está na qualidade de processo, uma vez que se acredita que

problemas no processo é que geram defeitos no produtos. Com isso, focando-se na qualidade

do processo uma empresa consegue aumentar a qualidade do produto, diminuir retrabalho,

aumentar a produtividade, reduzir o tempo para atender o mercado, aumentar a

competitividade e melhorar a precisão nas estimativas.

Uma empresa com processo imaturo tem como conseqüências pouca produtividade,

qualidade somente na realização de testes, alto custo de manutenção do produto e riscos na

adoção de novas tecnologias. Já uma empresa que possui um processo maduro tem papéis e

responsabilidades claramente definidos, acompanhamento da qualidade do produto e da

satisfação do cliente, estimativas iniciais para custos, prazo, funcionalidades e qualidade do

produto são, quase sempre, alcançadas com sucesso. Assim, pode-se definir, resumidamente,

que um processo maduro é aquele processo conhecido por toda a empresa, visivelmente

apoiado pela alta administração, possui medidas de produto e de processo, as auditorias são

fiéis ao processo e pode-se adotar de forma disciplinada novas tecnologias.

O MPS.Br está dividido em três componentes, que são: modelo de referência (MR-

MPS), método de avaliação (MA-MPS) e modelo de negócio (MN-MPS). O modelo de

referência está descrito de forma detalhada no guia geral MPS.Br, o qual se encontra

disponível no site da SOFTEX. O modelo de qualidade de software MPS.Br possui sete níveis

de maturidade, que são:

- nível A: Em otimização

- nível B: Gerenciado quantitativamente

- nível C: Definido

- nível D: Largamente definido

- nível E: Parcialmente definido

- nível F: Gerenciado

- nível G: Parcialmente gerenciado.

Esses níveis de maturidade podem ser atingidos por uma empresa gradativamente, por

etapas, começando do nível G e chegando ao nível A, o qual é compatível com o CMMI nível

5. A comparação dos níveis do MPS.Br com os do CMMI pode ser observada através da

Page 36: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

21

Figura 2-6. “Defini-se nível de maturidade como sendo o grau de melhoria de processo para

um pré-determinado conjunto de processos no qual todos os objetivos dentro do conjunto são

atendidos” (ISO/IEC 15504-1, 2004).

A estrutura do MR-MPS.Br, conforme descrito pela SOFTEX, é mostrada abaixo, na

Figura 2-7.

Figura 2-6: Estrutura de níveis do MPS.Br e

comparação com os níveis do CMMI. (Fonte: Site -

http://www.webpack.com.br/templates/95/

Page 37: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

22

A definição de nível de maturidade já foi dada anteriormente. Processo, nesse

contexto, é “um conjunto de atividades inter-relacionadas, que transforma entradas em saídas”

(ABNT, 1998). A SOFTEX define que cada processo é composto de propósito, que é o

principal objetivo da execução do processo e os prováveis resultados obtidos com a

implementação do mesmo, e de resultado, que é “o resultado observável do sucesso do

alcance do propósito do processo” (ISO/IEC 12207:1995). Em suma, se os resultados

esperados atingem o propósito do processo, o mesmo é considerado implementado.

Define-se capacidade do processo como sendo uma habilidade da empresa para gerir o

processo e atingir seu objetivo, é “uma caracterização da habilidade do processo atingir os

objetivos de negócio atuais ou futuros” (ISO/IEC 15504-1, 2004). A SOFTEX define que

cada capacidade do processo é composta de atributo de processo, que é “uma característica

mensurável da capacidade do processo aplicável a qualquer processo” (ISO/IEC 15504-

Figura 2-7: Estrutura do MR-MPS do modelo de qualidade MPS.Br [17].

Page 38: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

23

1,2004), e de resultado, que é o “resultado observável do sucesso do alcance do atributo do

processo” (ISO/IEC 12207:1995).

Cada nível de maturidade envolve um conjunto de processos, capacidades do processo

e resultados esperados. Os níveis de maturidade, como já vistos anteriormente, vão do G ao A.

As capacidades do processo (na verdade, os atributos de processo) vão do AP (Atributo de

Processo) 1.1 ao AP 5.2. Os resultados esperados vão do RAP (Resultados dos Atributos de

Processo) 1 ao RAP 36. E por último, existem vários processos, que são avaliados de acordo

com o nível de maturidade desejado pela empresa. Como esse trabalho está focado no nível F

do MPS.Br (nível almejado pela Dextra Sistemas inicialmente para projetos SCRUM), serão

citados os processos que fazer parte desse nível, que são: gerência de projetos (GPR),

gerência de requisitos (GRE), aquisição (AQU – esse processo é avaliado apenas para

empresas que compram serviços de terceiros, no caso de empresas como fábricas de software

esse processo não é avaliado), gerência de configuração (GCO), garantia da qualidade (GQA)

e medição (MED).

Resumidamente, pode-se dizer que um processo implementado mais uma capacidade

implementada resultam em um nível de maturidade referente ao modelo de referência. Um

processo é considerado implementado se todas as capacidades do processo e resultados

esperados, referente a esse processo, forem considerados totalmente satisfeitos. Se todos os

processos, referentes ao nível de maturidade escolhido pela empresa, estiverem totalmente

satisfeitos, então a empresa será considerada certificada no MPS.Br no nível em que foi

avaliada.

2.1.5 Metodologia ágil de desenvolvimento de software – SCRUM

2.1.5.1 O Manifesto Ágil

O início dos métodos ágeis de desenvolvimento de software está fundamentado nos

princípios descritos no Manifesto Ágil, ocorrido em Fevereiro de 2001. Esse manifesto

aconteceu nos Estados Unidos, quando um grupo de dezessete profissionais, veteranos na área

de desenvolvimento de software se reuniram em uma estação de esqui para discutir maneiras

de melhorar o desempenho de seus projetos. Mesmo cada participante tendo suas próprias

práticas e teorias sobre como fazer um projeto de software de sucesso, todos concordaram

que, em suas experiências anteriores, um pequeno conjunto de princípios sempre era

respeitado quando os projetos davam certo. Kent Beck, Martin Fowler e Ken Schwaber, os

Page 39: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

24

três maiores defensores das metodologias ágeis estavam nesse grupo de profissionais que

participaram do manifesto.

Desse manifesto surgiram os doze princípios para desenvolvimento de software de

forma ágil, os quais devem ser seguidos sempre que se utilizar uma metodologia ágil. São eles

[11]:

“1- nossa maior prioridade é satisfazer o cliente através da entrega inicial e contínua

de software suscetível de avaliação;

2- mudanças de requisitos são bem-vindas, mesmo que tardia em desenvolvimento

(isto porque projetos SCRUM são considerados projetos de escopo aberto, diferente

dos projetos que seguem a metodologia tradicional, que são de escopo fechado);

3- entregar software funcionando freqüentemente, de algumas semanas a alguns

meses, com preferência para o curto prazo;

4- empresários e desenvolvedores devem trabalhar juntos diariamente durante o

projeto;

5- construa projetos em torno de indivíduos motivados, dê-lhes o meio ambiente e

suporte que eles precisam e confie neles para fazer o trabalho;

6- o método mais eficiente e eficaz de transmitir informações para e dentro de uma

equipe de desenvolvimento é a conversa face-a-face;

7- software funcionando é a primeira medida de progresso;

8- processos ágeis promovem o desenvolvimento sustentável, patrocinadores,

desenvolvedores e usuários devem ser capazes de manter um ritmo constante

indefinidamente;

9- atenção contínua a excelência técnica e bom design melhoram a agilidade;

10- simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é

essencial;

11- as melhores arquiteturas, requisitos e designs emergem de equipes auto-

organizáveis;

12- em intervalos regulares, a equipe reflete sobre como tornar-se mais eficaz, depois

sintoniza e ajusta seu comportamento em conformidade.”

O manifesto ágil também declarou quatro valores essenciais para o desenvolvimento

de software ágil, são eles [11]:

“1- indivíduos e interação entre eles mais que processos e ferramentas;

2- software em funcionamento mais que documentação abrangente;

3- colaboração com o cliente mais que negociação de contratos;

Page 40: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

25

4- responder a mudanças mais que seguir um plano.”

O manifesto ágil descreve a essência de um conjunto de abordagens para

desenvolvimento de software criadas ao longo da última década, dentre as quais se destaca o

SCRUM, uma abordagem atualmente muito conhecida e utilizada por muitas empresas de

desenvolvimento de software. Conforme Ken Schwaber [12], criador do SCRUM: "SCRUM é

um processo ágil ou framework para gerenciamento de projetos ágeis. Ele é enquadrado como

um processo para gerenciamento de projetos e certamente não é uma metodologia, se o fosse,

seria muito pesado". Isso porque o SCRUM é um processo imprevisível que possibilita

adaptações de forma a entregar algo de valor ao final e também por ter uma equipe auto-

gerenciável, ao contrário das metodologias tradicionais que possuem uma estrutura de

comando e controle com um futuro previsível. Assim faz com que parte de seus problemas

possam ser identificados mais rapidamente.

2.1.5.2 O esqueleto do SCRUM

Em seu livro, "Agile Project Management with SCRUM" (Gerenciamento ágil de

projetos com SCRUM), Ken Schwaber [12] diz que "o SCRUM trava todas as suas práticas em

um esqueleto iterativo e processo incremental" representado pela Figura 2-8, onde "o círculo

inferior representa uma iteração de atividades de desenvolvimento que ocorrem uma após a

outra. A saída de cada iteração é um incremento do produto. O círculo superior representa a

inspeção diária que acontece durante a iteração, na qual os membros da equipe se reúnem para

inspecionar as atividades e fazer as adaptações apropriadas. A condução da iteração é uma

lista de exigências. Este ciclo se repete até que o projeto não seja mais dividido" [12].

Schwaber [12] considera que "o esqueleto funciona desta forma: no começo e uma

iteração, a equipe revê o que deve ser feito. Em seguida, escolhe o que ela acha que pode se

transformar em um incremento de funcionalidade potencialmente pronto para o uso, até o

final da iteração. A equipe é então deixada sozinha para fazer o seu melhor esforço para o

resto da iteração.”

“No final da iteração, a equipe apresenta o incremento de funcionalidade desenvolvido

para que os stakeholders (membros externos à equipe) possam inspecionar a funcionalidade e

oportunidades de adaptação para que o projeto seja feito" [12]. No SCRUM, a iteração é

chamada de sprint (ciclo). A explicação dada por Schwaber a respeito do que ele chamou de

esqueleto do SCRUM é exatamente tudo o que deve ser feito dentro de um sprint de um

projeto SCRUM.

Page 41: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

26

Todo gerenciamento e responsabilidades em um projeto SCRUM são divididos entre

os três papéis existentes no SCRUM, que são o product owner (dono do produto), o team

(equipe) e o SCRUM master (mestre do SCRUM). Ken Schwaber [12] classifica o product

owner como o "responsável por representar os interesses de todos, com uma participação no

projeto e no seu sistema resultante". É ele quem consegue financiamento inicial contínuo do

projeto, através da criação de requisitos globais e objetivos de retorno do investimento (ROI).

A lista de requisitos de um projeto, em SCRUM, chama-se product backlog (lista de itens

pendentes), e o product owner também é o responsável por priorizar os itens que compõem

essa lista, assegurando que a funcionalidade mais valiosa, mais importante, será desenvolvida

em primeiro lugar.

A equipe é responsável por desenvolver as funcionalidades requisitadas pelo product

owner e por descobrir como transformar um item do product backlog em um incremento de

funcionalidade dentro de uma iteração. Uma equipe SCRUM tem que ser auto-gerenciável,

auto-organizada e multifuncional, isto é, todos os integrantes da equipe devem realizar todas

as atividades do projeto, não existem papéis de desenvolvedor, testador, arquiteto, entre

outros. Os membros da equipe são coletivamente responsáveis pelo sucesso de cada sprint e

do projeto como um todo.

E por fim, o SCRUM master, que é quem trabalha para e com a equipe. É o

responsável por auxiliar a equipe e garantir que a mesma está seguindo as práticas do SCRUM

corretamente. Além disso, é também da responsabilidade do SCRUM master remover

qualquer impedimento que a equipe encontra, identificar e auxiliar na resolução de conflitos,

tentar tornar as metas claras para a equipe, garantir que a reuniões diárias ocorrem no mesmo

horário e com duração máxima de 15 (quinze) minutos e assegurar que a equipe está

totalmente funcional e produtiva.

De maneira geral, todos os papéis do SCRUM devem estar comprometidos com o

projeto. As pessoas não devem ser apenas interessadas pelo projeto, senão não estarão

engajadas com o mesmo. Uma história muito conhecida do SCRUM é a do porco e da galinha,

a qual é descrita por Ken Schwaber [12] em seu livro "Agile Project Management with

SCRUM". A história é a seguinte: "uma galinha e um porco estão andando pela estrada. A

galinha diz para o porco, "Você quer abrir um restaurante comigo?"O porco considera a

questão e responde: "Sim, eu gostaria. Como você quer chamar o restaurante?"A galinha

responde: "Presunto e ovo!"O porco para, pensa e responde: "Pensando bem, acho que não

quero abrir um restaurante com você. Eu serei prático e você apenas envolvida". Essa

Page 42: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

27

distinção é importante no SCRUM e relevante para insistir sobre a total visibilidade do

SCRUM".

O SCRUM possui alguns novos artefatos que são usados do começo ao fim de um

projeto SCRUM. São eles: a user story (história de usuário), o product backlog, o sprint

backlog (itens pendentes do sprint), o incremento de potencialidade pronto para ser usado no

produto funcional, o release burndown chart (gráfico de manejo do projeto), o sprint

burndown chart (gráfico de manejo do ciclo) e o task board (quadro de tarefas). A user story

é a descrição da funcionalidade do ponto de vista do product owner, são descritas por item de

backlog (itens pendentes) e incluem os critérios de validação de cada item.

O product backlog é a lista principal com todas as funcionalidades (requisitos)

desejadas pelo product owner no produto final, pode-se dizer que o product backlog é uma

lista de requisitos funcionais e não funcionais. O product owner também é responsável por

priorizar os itens do product backlog. Ele é dinâmico e evolui na medida em que o produto e o

ambiente em que será utilizado evoluem, por isso o product backlog inicial é uma mera

estimativa do projeto como um todo.

O sprint backlog é a lista de tarefas que a equipe se comprometeu a concluir no sprint

corrente. Itens do sprint backlog são retirados do product backlog se baseando na prioridade

definida pelo product owner. A definição dos itens que farão parte do sprint backlog do sprint

corrente são definidos durante a reunião de planejamento. Depois de definidos os itens, a

equipe divide igualmente as tarefas. No final do sprint as tarefas realizadas pela equipe se

tornarão um incremento de funcionalidade potencialmente pronto para ser colocado no

produto ou até mesmo pronto para ser usado.

O incremento de potencialidade pronto para ser usado é o incremento construído

durante todo o sprint, o qual pode ser implementado imediatamente depois da entrega, caso o

product owner deseje. Isso faz com que o incremento tenha um código perfeitamente testado,

bem estruturado e bem escrito, que tenha sido construído dentro de um executável e onde a

funcionalidade da operação do usuário é totalmente documentada.

O release burndown chart é um gráfico onde a equipe acompanha seu progresso

comparado com o planejado no início do projeto. É um gráfico 2D (duas dimensões) onde o

eixo horizontal representa os sprints do projeto e o eixo vertical apresenta o total de trabalho

restante no início de cada sprint, normalmente representado por pontos. O release burndown

chart funciona muito bem em vários projetos e equipes diferentes, porém se o projeto

apresenta muitas mudanças de requisitos, ele não funciona muito bem, por isso nem é

indicado para projetos com esse perfil.

Page 43: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

28

O sprint burndown chart é a representação gráfica do trabalho restante no sprint

corrente, o qual é calculado diariamente. O eixo vertical do gráfico representa as horas de

esforço restantes no sprint. O eixo horizontal representa os dias do sprint. O gráfico do

burndown (manejo) deve ser representado por uma linha saindo do início do sprint com as

horas iniciais, descendo até o último dia do sprint, sem deixar horas sobrando e, de

preferência, sem faltar horas, ou seja, o esperado é chegar ao último dia do sprint com zero

hora. Resumindo, o ideal é que o gráfico de burndown do sprint seja uma linha reta

decrescente.

O task board é um quadro de tarefas que mostra todo o trabalho que a equipe está

desenvolvendo durante um sprint. Esse quadro é atualizado diariamente. Usualmente o task

board é um quadro branco, o qual é preenchido manualmente com os itens de backlog escritos

em post-it (papéis com cola na parte superior). Cada linha do quadro é um item do product

backlog. Cada coluna é o estado de cada item de backlog. Normalmente, o quadro possui as

seguintes colunas:

- User Story: nessa coluna são colocadas as user stories;

- To do (a fazer): nessa coluna ficam todos os itens do sprint backlog que deverão ser feitos

durante o sprint;

- In process (Em processo): post-it do item do sprint backlog que está em andamento (quando

alguém da equipe decide por fazer um item do sprint backlog, ela tira o post-it referente a esse

item da coluna "to do" e coloca na coluna "in process";

- To verify (Para verificar): quando o item do sprint backlog já foi desenvolvido e falta testar;

- Done (Feito): quando o item do sprint backlog já foi desenvolvido, testado e não foi

identificado mais nenhum defeito, ele é colocado na coluna "done", que significa que o item

já está concluído e pronto para ser entregue ao product owner. Os itens que ficam nessa

coluna são removidos no final de cada sprint.

2.1.5.3 Atividades e Fluxo do SCRUM

O SCRUM possui cinco atividades bem definidas, são elas: estimation meeting

(reunião de estimativas), sprint planning (planejamento do sprint), daily SCRUM (reunião

diária), sprint review (revisão do sprint) e sprint retrospective (retrospectiva do sprint). A

estimation meeting, que é a reunião de estimativas, é a primeira atividade que acontece dentro

do ciclo do SCRUM. Nela, o tamanho dos itens de product backlog é estimado pela equipe e

posteriormente são priorizados pelo product owner. Todos os membros da equipe fazem uma

estimativa por pontos de cada user story.

Page 44: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

29

É importante deixar claro que, em SCRUM, as estimativas são baseadas na

complexidade de cada item de backlog e não pelo tempo que pode ser gasto para desenvolvê-

lo. A forma mais comum de se fazer estimativa em SCRUM é através do planning poker

(planejamento com baralho SCRUM). O planning poker funciona da seguinte maneira:

- um baralho é fornecido a cada membro da equipe e cada carta tem um valor de

estimativa válido. Esse baralho não é um baralho comum, mas sim um baralho

específico para a prática SCRUM, o qual possui cartas com os seguintes valores: ?

(quando a pessoa não sabe quantos pontos vale determinada user story), 0 (quando não

requer nenhum esforço), 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100, esses números representam

o esforço em pontos;

- cada user story é lida e discutida rapidamente pela equipe;

- cada membro da equipe escolhe uma carta representando sua estimativa;

- quando todos da equipe já tiverem escolhido sua estimativa, eles mostram sua

estimativa ao mesmo tempo;

- as diferenças das estimativas são discutidas (principalmente os valores discrepantes);

- faz-se reestimativas até que toda a equipe chegue a um consenso.

A sprint planning, que é a reunião de planejamento do sprint, é a segunda atividade

executada no fluxo de atividades do SCRUM. Ela é dividida em duas partes, a sprint planning

1, que é onde se define o objetivo do sprint e onde são selecionados os itens do product

backlog. Na verdade essa parte da reunião acontece apenas no início do projeto, pois nela

também são definidas a quantidade de sprints que terá o projeto, os dias das sprint review e

retrospectivas e também é feito o agendamento das reuniões diárias (local e hora).

A segunda parte da reunião de planejamento ocorre todo início de sprint, nela são

definidas as tarefas de cada user story para criar o sprint backlog. O ideal é que a tarefa dure

apenas um dia, caso a tarefa seja maior que um dia, deve-se quebrar a tarefa em duas tarefas

menores. A reunião como um todo não deve ultrapassar oito horas, sendo de quatro horas a

duração máxima de cada parte da sprint planning.

A daily SCRUM é a reunião diária que deve ser realizada seguindo as exigências do

SCRUM. Ela deve ser realizada em pé, com todos os membros da equipe juntos, deve ter

duração de no máximo quinze minutos e deve ser sempre no mesmo local e horário. O ideal é

que a reunião seja realizada logo pela manhã (no início do dia), uma vez que ela apóia a

determinar as atividades do dia, ou então no final do dia, pois os membros da equipe falarão o

que foi feito durante o dia e o que farão no dia seguinte. O objetivo dessa reunião é atualizar e

inspecionar o progresso da equipe. Todos os impedimentos devem ser apontados, porém

Page 45: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

30

soluções de problemas maiores ou dúvidas ocorridas durante o dia devem ser discutidas fora

da reunião diária.

Durante essa reunião todos os membros da equipe, um de cada vez, devem responder a

três questões básicas: O que fez ontem? O que vai fazer hoje? Existe algum impedimento?

Assim, ao final da reunião a equipe tem uma melhor visão do trabalho que foi concluído e o

que ainda falta fazer.

A sprint review é a reunião de revisão do sprint. Ela é realizada todo final de sprint,

onde a equipe apresenta para o product owner os resultados obtidos durante o sprint e

demonstra as funcionalidades e arquiteturas desenvolvidas. Essa reunião é informal, isto é,

não precisam ser geradas ata nem apresentação em slides e deve ser feita em, no máximo,

duas horas.

Durante a reunião o projeto também é avaliado, tendo como base o objetivo do sprint

definido na reunião de planejamento, isto é, espera-se que a equipe tenha concluído todos os

itens do sprint backlog. Nessa reunião também pode ser solicitado pelo product owner a

inclusão de uma nova funcionalidade ou mesmo uma alteração da funcionalidade feita, essa

nova solicitação deve ser adicionada como um novo item de backlog.

Por fim, temos a última atividade a ser realizada dentro de um ciclo SCRUM, que é a

sprint retrospective, a reunião de retrospectiva. Essa reunião também é realizada no final do

sprint, preferencialmente depois da sprint review. O objetivo da retrospectiva é aprender com

a experiência anterior, melhorando a produtividade da equipe. É obrigatória a presença de

todos os membros da equipe na reunião.

A retrospectiva também é uma oportunidade para a equipe discutir o que está dando

certo e o que não está, e consentir em ações para mudança. Por isso, é comum que na reunião

sejam abordadas e discutidas as seguintes questões: O que aconteceu?, O que funcionou bem?

e O que precisa ser melhorado?

O fluxo de um projeto SCRUM, o qual pode ser visto na Figura 2-8, inicia-se com uma

visão do sistema a ser desenvolvido, a qual é fornecida pelo product owner, que também é

responsável pelo financiamento do projeto e por entregar a equipe um product backlog. O

product owner também é responsável por priorizar os itens do product backlog, para que os

itens com maior probabilidade de gerar altos valores sejam desenvolvidos primeiro. Todas

essas atividades são realizadas no início do projeto, na chamada estimation meeting.

Page 46: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

31

A seguir, iniciam-se os ciclos do SCRUM, que são os sprints. Todo o trabalho é feito

nos sprints. Cada sprint deve ter duração de 2 (duas) ou 4 (quatro) semanas, no máximo,

sendo que todos os sprints de um mesmo projeto devem ter a mesma duração.

Cada sprint é iniciado com uma sprint planning, onde product owner, SCRUM master

e equipe se juntam para decidir o que será feito no sprint. Selecionando a partir do product

backlog priorizado, o product owner diz à equipe o que é desejado e a equipe responde para o

product owner o quanto do desejado ela consegue desenvolver no sprint.

Seguindo o fluxo do SCRUM, vêm as daily SCRUM, que devem ser realizadas,

rigorosamente, todos os dias no mesmo horário e no mesmo local, com duração máxima de

quinze minutos. Por fim, no último dia do sprint, são realizadas as reuniões de sprint review e

logo em seguida a sprint retrospective.

Assim, estará terminado o primeiro ciclo do SCRUM, isto é, o primeiro sprint do

projeto. Todas essas atividades se repetem nos demais sprints, até chegar ao último sprint do

projeto, que é quando o projeto se encerra.

2.2 Estudo de Caso

2.2.1 O processo SCRUM da empresa PowerLogic

Figura 2-8: Fluxo de um projeto SCRUM. (Fonte: Site -

http://www.b2ml.com.br/b2ml/Pagina.do?idSecao=54)

Page 47: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

32

Para o desenvolvimento do estudo de caso da Dextra Sistemas, detalhado na próxima

subseção, foram realizadas várias pesquisas, a fim de encontrar algum material sobre caso de

sucesso de empresas que conseguiram conquistar o MPS.Br, principalmente o nível F,

utilizando processo para projetos SCRUM em desenvolvimento ágil de software. Foi muito

difícil encontrar material sobre esse assunto.

Somente a empresa PowerLogic conseguiu o MPS.Br nível F de um processo SCRUM.

Sendo assim, foi utilizado o processo desenvolvido por essa empresa como base deste

trabalho, uma vez que o objetivo do mesmo é bem semelhante ao ocorrido com a empresa

PowerLogic.

Conforme publicado pela SOFTEX [13], “a PowerLogic Consultoria e Sistemas é uma

empresa brasileira, com sede em Belo Horizonte, com 12 anos de existência atuando no

segmento de desenvolvimento de produtos e soluções e de serviços de fábrica de software" e

seu objetivo era combinar a agilidade natural dos métodos ágeis e a maturidade adquirida por

meio do MPS.Br, constituindo uma experiência concreta na busca de resultados positivos para

processos de TI (tecnologia da informação) e para o programa de Melhoria Contínua de

Processos MPS.Br Pioneira em métodos ágeis.

A PowerLogic já era certificada pelo MPS.Br nível F para o processo que segue o

RUP, o qual já era utilizado há um certo tempo pela empresa. A utilização de SCRUM na

empresa passou a ser maior uma vez que começaram a surgir problemas com

imprevisibilidade, ruídos de comunicação, documentações extensas que pouco ajudavam no

processo, que precisavam ser encarados de forma diferente e que exigiam que não seguisse

passos semelhantes entre os diversos projetos existentes, que possuem peculiaridades que

apenas com a implementação afloram.

"Além disso, tarefas do processo de desenvolvimento de software fazem parte de um

processo criativo, não linear e não palpável, fazendo com que modelos incrementais e

iterativos se apresentem como a melhor solução diante da realidade dos projetos

PowerLogic." [13]. Isso fez a empresa buscar a certificação MPS.Br para esse novo processo.

Buscando associar os conceitos do MPS.Br com os conceitos do SCRUM, "os

princípios e valores de métodos ágeis foram relacionados e mapeados em todo o ciclo de vida

do software a um ou mais de um princípio do Manifesto da Agilidade verificando sua

aplicabilidade. Estes princípios abordam aspectos do desenvolvimento como análise, projeto,

implementação, testes, além de outros, como gerenciamento de projetos e de métricas de

satisfação do produto final entregue” [13].

Page 48: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

33

“As áreas de processo do MPS.BR foram cuidadosamente relacionadas com as

características dos métodos ágeis. Desse modo, foram discutidos gerência de requisitos,

planejamento e acompanhamento de projetos, gerência de configuração, garantia de qualidade

de software e medição e análise, presentes no nível F do MPS.BR e sua aplicabilidade ao

SCRUM" [13].

A adoção de modelos de qualidade de software, como o MPS.Br, traz para a empresa

mais formalismo ao processo por ela utilizado, agregando valor com a qualidade do software

desenvolvido. Assim, pode-se dizer que, apesar dos modelos de qualidade e metodologias

ágeis possuírem fundamentos inicialmente divergentes, eles puderam complementar um ao

outro e estabelecer o equilíbrio no processo de desenvolvimento implantado na empresa.

Para desenvolver um processo para projetos SCRUM compatível com o MPS.Br nível

F sem aferir os princípios ágeis, a PowerLogic contratou uma empresa de consultoria para

auxiliá-los nesse desenvolvimento. Inicialmente, foi feito um levantamento e desenho do

processo já existente, o qual é aprimorado a cada dia e aplicado em projetos para verificar a

adequação do mesmo. Essas melhorias só são percebidas quando o processo está inteiramente

institucionalizado e funcionando em um fluxo contínuo.

Analisado inicialmente, o MPS.Br parecia muito formal e pouco aderente à nova

realidade da empresa, mas era necessário por causa de seus resultados comprovados e da

grande aceitação por todos os clientes. Era difícil para as pessoas envolvidas nesse processo

entender como fazer um processo que continuasse com os benefícios do SCRUM e que

conseguisse atingir um nível de maturidade do MPS.Br. Mas a empresa chegou à conclusão

de que essa fusão não era tão impossível, uma vez que a mesma entende que o MPS.Br diz "o

que fazer" mas não impõe o "como fazer" enquanto que as metodologias ágeis contém

informações específicas de "como fazer".

Ao comparar as metodologias ágeis com os modelos de qualidade, a PowerLogic

listou os cinco maiores desafios, que são:

- GPR (gerenciamento de projeto): Como gerenciar com base em "planejamento

contínuo" em lugar do "grande plano inicial"?

- GPR: Como "abraçar" a mudança e "controlá-la" ao mesmo tempo?

- GRE (gerenciamento de requisitos): Como estimar requisitos que são parcialmente

conhecidos?

- GQA (gerenciamento da qualidade): Como averiguar qualidade de produto em um

processo "iterativo" com time-boxed (tempo fechado)?

- MED (medição e análise): O que são indicadores importantes em um processo ágil?

Page 49: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

34

Para iniciar o desenvolvimento do processo ágil, a PowerLogic partiu da idéia de que

"formalidade não é sinônimo de conformidade" e que "informalidade não é sinônimo de

agilidade". Com isso, a empresa pensou na seguinte forma de desenvolvimento do processo:

inserir em cada disciplina do nível F do MPS.Br (GPR, GRE, GCO, GQA e MED) os

princípios do manifesto ágil com ênfase no SCRUM. A PowerLogic também se baseou nas

lições aprendidas em processo de desenvolvimento de software unificado e as lições

aprendidas em processos ágeis de desenvolvimento de software. Essas lições são descritas, de

forma resumida, a seguir.

No final, o resultado foi positivo, e a PowerLogic conquistou o nível F do MPS.Br

para um processo ágil. Ainda nesse capítulo será descrito, de forma resumida, o processo ágil

desenvolvido pela PowerLogic.

PowerLogic - Lições aprendidas em Processo de Desenvolvimento de Software

Unificado (experiência da empresa nas décadas de 80 e 90):

“1- Processos em cascata não são adequados para o desenvolvimento de

softwares complexos, porém, atualmente, a maior parte dos projetos

corporativos caem nessa categoria;

2- Projetos complexos são melhor gerenciados por Processos Empíricos e

Iterativos;

3- O RUP foi o primeiro Processo Iterativo a se popularizar, no entanto, sua

extensão e complexidade usualmente distraem a atenção sobre seu caráter

iterativo. A grande maioria das implementações de processos unificados

terminam como bisnetos UML dos processos em cascata;

4- Contratos 'escopo fechado' x Necessidades técnicas: o modelo de Fábrica de

Software pressupõe a separação física de especialidades, dificultando ou

impossibilitando uma abordagem verdadeiramente iterativa;

5- Software é 50% introspecção e 50% comunicação. A comunicação por

escrito é boa para a criação de memória, mas é o canal menos eficaz para

obtenção de entendimento;

6- Documentação realmente útil em desenvolvimento de software é obtida por

conseqüência de atividades produtivas e não como um esforço à parte.

Atividades meramente documentacionais tendem ao desperdício” [14].

PowerLogic - Lições aprendidas em Processos Ágeis (experiência da empresa em

2001-2008):

Page 50: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

35

“1- O Manifesto Ágil sumariza de forma sensata a experiência de seus

dezessete autores em projetos reais, sendo consistente com a experiência da

grande maioria das empresas, como a PowerLogic, que atuam com

metodologia aplicada, focada em resultados;

2- O caráter sensato de ênfase do Manifesto Ágil tem sido ignorado em

algumas posturas radicais que, precipitadas, chegam a confundir agilidade com

mera informalidade;

3- Duas pequenas revisões de um dos princípios do Manifesto Ágil foram

realizadas, através da experiência adquirida: indivíduos e interações continuam

mais valiosos do que processos e ferramentas, mas muitas ferramentas se

mostraram fundamentais para práticas de metodologias ágeis; e não espere

auto-organização e soluções técnicas com alta conformidade de equipes

frágeis, de perfil mediano. A ênfase em indivíduos e interações exige ênfase na

boa formação de equipes e na preservação de talentos;

4- Processos ágeis são mais leves (possuem menos práticas) porém exigem alto

índice de disciplina. Suas motivações são mais difíceis de explicar e, por

conseqüência, de se compreender” [13].

O processo ágil desenvolvido pela PowerLogic está dividido em quatro fases bem

definidas, que são: pre-game (pré-jogo), development (desenvolvimento), monitoramento e

controle e post-game (pós-jogo). Na Figura 2-9 a seguir, pode ser observada uma ilustração

do ciclo de vida do processo elaborado.

No pre-game é feita a concepção arquitetural e organização inicial de um novo release

(projeto) de um produto baseado na lista de product backlog elaborado para o mesmo, seguido

de uma estimativa inicial de prazo e custo. Nessa fase também são levantados e identificados

os riscos e as ações para minimizar o impacto dos mesmos. Também se defini nessa fase a

Figura 2-9: Ciclo de vida dos projetos de desenvolvimento de software – área de

produtos [14].

Page 51: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

36

equipe do projeto (SCRUM team – equipe SCRUM). O pre-game é como a fase de concepção

do RUP, porém é mais curta e com duração fixa de 7 a 15 dias.

A fase development tem o objetivo de colocar em prática o que foi planejado no pre-

game. É nessa fase que o principal acontece. É realizada de forma iterativa, através de ciclos

de time-boxed chamados de sprints que, no caso do processo da PowerLogic, tem duração de

trinta dias corridos. Em cada sprint são executadas atividades de refinamento dos itens do

product backlog, análise, projeto, desenvolvimento e testes, cujo resultado final deve ser um

incremento do produto funcionando, o qual será apresentado para o product owner na reunião

de sprint review que acontece em todo final de sprint. Durante os sprints também são

realizadas as reuniões de daily SCRUM que ocorrem diariamente, onde são discutidas as

tarefas que já foram realizadas e que ainda serão feitas.

A fase de Monitoramento e Controle compreende as atividades de medição e análise e

de gestão, que verificam se as atividades estão sendo produtivas. Ela garante o bom

andamento do projeto em relação ao planejado nas reuniões de planejamento, que ocorrem

todo início de sprint. Esse acompanhamento é feito através das reuniões de daily SCRUM,

sprint review, release review (revisão do projeto - que acontece no encerramento do projeto) e

retrospective meeting (que também ocorre no final de cada sprint, após a sprint review).

Diversas medidas são coletadas diariamente ao longo do projeto. Informações do tipo

"previsto x realizado" são disponibilizadas para o SCRUM master e para o product owner. Os

quadros brancos também são uma forma de monitoramento, uma vez que eles "mantêm as

informações mais importantes disponíveis, afixados em local visível para toda a organização"

[13].

E por último vem a fase post-game, que é onde ocorre a entrega final do produto

(embalagem, documentação, liberação para o mercado). Nessa fase também é feita a avaliação

do projeto como um todo, refletindo sobre as práticas empregadas, indicadores finais e lições

aprendidas de uma forma geral. É nessa fase que ocorre a reunião de release review, que

consiste em uma demonstração do produto final do ponto de vista do cliente, discussões e

levantamento de lições aprendidas. O resultado final dessa fase é a documentação final, que é

um CD com o produto e funcionalidades já testadas.

Em relação às disciplinas contempladas no MPS.Br nível F (GPR, GRE, GCO, GQA e

MED), as alterações feitas pela PowerLogic, para adaptá-las ao processo ágil que estava

sendo desenvolvido, serão apresentadas a seguir. Na disciplina de gerência de projetos (GPR)

foram adotados os conceitos de release e release plan (plano do projeto).

Page 52: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

37

O planejamento será realizado via release planning (reunião de planejamento realizada

no início do projeto, para definição dos itens do product backlog, equipe, quantidade de

sprints) e sprint planning (reunião de planejamento de sprint, realizada todo início de sprint,

onde são definidos e estimados os itens que sairão do product backlog e farão parte do sprint

backlog), sendo que esse último está dividido em sprint planning 1 (definição e priorização) e

sprint planning 2 (estimativas).

O acompanhamento contínuo é feito através de inspeção direta do SCRUM master, o

acompanhamento formal diário é feito através das reuniões diárias e o acompanhamento

mensal via sprint review e release review. O quadro branco, na PowerLogic chamado de agile

radiator (radiador ágil), também é uma forma de acompanhamento diário do projeto.

É feita também uma reserva de tempo no planejamento de cada sprint para que os

impedimentos possam ser discutidos e solucionados. Algumas outras práticas específicas da

PowerLogic são: apropriação de horas diárias, medição de produtividade individual, matriz de

competências.

A disciplina de gerência de requisitos (GRE) possui como pontos chaves a utilização

de pocker planning (planejamento com baralho) para realizar as estimativas dos itens de

backlog, a quebra de um item do product backlog em atividades que possam ser completadas

por cada membro da equipe em um dia, captura contínua de product backlog. Um ponto

importante é em relação à forma como o processo ágil da PowerLogic trata as solicitações de

mudança.

As mudanças ao final ou dentro do sprint que não afetam o objetivo do sprint são

consideradas solicitações de mudança leve, isto é, não requerem uma solicitação de mudança

propriamente dita. Solicitações de mudança somente são requeridas em situações críticas, por

exemplo, quando a equipe não vai conseguir cumprir o objetivo do sprint, ou para mudanças

de configuração, por exemplo, em alteração de versão de framework (estrutura). A

PowerLogic adota como prática adicional a rastreabilidade do requisito ao código, através de

uma matriz de rastreabilidade.

Em relação à disciplina de garantia da qualidade (GQA) foi introduzido o conceito de

post-sprint (pós-ciclo) de QA, que são iterações de quinze dias (time-boxed) de QA, após cada

sprint. São realizados testes funcionais automatizados. Os erros encontrados pelo QA contam

pontos contra a equipe, já os erros capturados pelo cliente contam pontos contra o QA. Isso

tudo em relação à qualidade de produto. Já as práticas de qualidade de processo devem auditar

o desempenho do processo, os produtos de trabalho e atividades previstas em todas as fases. A

equipe de QA deve ser compartilhada para todos os projetos, deve garantir que os quadros

Page 53: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

38

brancos (agile radiators) estão sendo usados e deve fornecer um relatório à Diretoria Técnica

da PowerLogic contendo os resultados das auditorias.

Na disciplina gerência de configuração (GCO) são utilizados a integração contínua e o

controle de código fonte, componente, executável, release plan, documentação e mídia

CD/DVD dos produtos. As práticas de gerência de configuração devem ser rigorosas e

completas, por se tratarem de produtos de mercado também exigem especial controle de

versão. Os itens de configuração são definidos em nível de produto e não de projeto, caso o

produto tenha um projeto subseqüente, deve-se definir somente alterações em versões de itens

anteriores, evitando assim a redundância. É importante ressaltar que as alterações de versões

de itens de configuração devem ser feitas formalmente, através de uma solicitação de

mudança que deverá ser aprovada, para evitar a falta de sincronismo e integridade provocada

pelas modificações não controladas.

Por fim, a disciplina de medição e análise, onde foram definidos indicadores ágeis, que

são assiduidade de daily SCRUM, remoção de impedimentos, freqüência de integração e

inspeção, e indicadores clássicos, que são produtividade (velocidade x qualidade), metas e

previsto x realizado. Os resultados tangíveis obtidos pela medição devem contemplar o

desempenho da equipe como um todo e não somente indicadores individuais e devem ser

divulgados durante as reuniões de retrospectiva e analisados pela equipe, coletivamente. A

PowerLogic também criou a figura do Gerente de Processo que, como apoio ao SCRUM

master ajuda no incentivo e catequese de práticas ágeis, e como apoio ao assessor da diretoria,

ajuda na garantia de resultados da implantação do processo.

Após a implantação e utilização contínua do processo ágil desenvolvido pela

PowerLogic, conseguindo resultado positivo na avaliação MPS.Br nível F, foi possível

observar melhorias significativas em relação ao desempenho da equipe e na qualidade do

produto final. Na fase de pre-game se destacaram as seguintes melhorias: planejamento

antecipado da disponibilidade da equipe, levando em consideração impedimentos como horas

de trabalho, férias, horas gastas em reuniões; garante a participação real de cada membro

envolvido; alinhamento das metas, planejamento e definição do objetivo de cada sprint com o

consenso de todos os envolvidos promove o comprometimento e a visibilidade; a definição de

indicadores da equipe e individuais estimula o alcance de melhores resultados; e a

identificação e categorização dos riscos anteciparam possíveis problemas.

"Os indicadores criados para as áreas de processo Gerência de Projetos e Gerência de

Requisitos, principalmente, proveram importante feedback (retorno) para a equipe e criou

metas a serem alcançadas por cada um. Indicadores de Gerência de Configuração asseguraram

Page 54: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

39

que as práticas determinadas foram seguidas provendo maior controle das versões geradas e

integração contínua. As práticas de Gerência de Qualidade para Processo garantem a

institucionalização e desempenho do processo e produtos de trabalho, através das auditorias

nas áreas envolvidas" [13].

As melhorias que merecem destaque na fase de development são: gestão a vista através

do quadro branco (Agile Radiator), promovendo o feedback real e imediato; realização de

reuniões de inspeção contínua (daily SCRUM); integração contínua trouxe resultados

importantes e informações essenciais para o planejamento e acompanhamento do projeto;

rastreablidade entre requisito e código fonte, gerando uma matriz de rastreabilidade facilita a

análise de impacto das mudanças; integração da equipe, estimulando a troca de conhecimento

e a utilização de pair programming (programação em par) entre os membros da equipe;

conceito de código compartilhado é importante, uma vez que o mesmo poderá ser modificado

ou revisado por diferentes membros da equipe; definição de um objetivo, tanto de cada sprint

como do projeto como um todo, possibilita melhor visibilidade e norteia o caminho a ser

seguido por cada membro da equipe.

No post-game a melhoria mais importante observada foi a realização da reunião de

retrospectiva, que acontece no final de cada sprint e onde ocorre a coleta das lições

aprendidas do projeto, avalia-se o que deu certo e o que deu errado, alimentando o projeto e o

processo e avalia também se algo está sendo feito em relação ao que foi levantado na reunião

de retrospectiva anterior. Podem-se observar também melhorias organizacionais nas áreas de

gerência da qualidade de processo e de produto e de gerência de configuração. A nova área

gerência da qualidade de processo criou um desconforto saudável, "fazendo com que as

pessoas dêem o melhor de si e concretize ações para o objetivo maior organizacional" [13].

Essa área "provê apoio total à condução dos projetos, executa a manutenção do

processo, aceitando sugestões e inserindo melhorias necessárias e executa auditorias para

garantia da execução do processo" [13]. Já a área de gerência da qualidade de produto "provê

suporte à qualidade dos produtos com testes automatizados, manuais e de integração" [13]. E

por último a área de gerência de configuração que garante a integridade dos itens de

configuração do release, apóia a geração de baselines (pacote) e a integração contínua.

A experiência positiva vivida pela empresa PowerLogic, tanto em relação ao processo de

implantação do modelo de qualidade MPS.Br nível F quanto aos bons resultados obtidos com

essa fusão (MPS.Br com SCRUM), fez com que a empresa colocasse como próximo objetivo

a melhoria do processo ágil desenvolvido com foco na avaliação para obtenção do nível C do

MPS.Br.

Page 55: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

40

3 ELABORAÇÃO DA SOLUÇÃO

3.1 Histórico da Dextra Sistemas

A empresa onde foi desenvolvido esse trabalho de conclusão de curso é a Dextra

Sistemas. A Dextra está presente no mercado de TI desde 1995. Foi fundada como uma

empresa especializada em consultoria nas áreas de integração de sistemas corporativos.

Atualmente, a mesma possui três linhas de atuação, que são: integração e desenvolvimento de

sistemas sob medida, treinamento em TI e consultoria em TI.

A excelência dos serviços prestados pela Dextra está apoiada em profissionais

especializados, processos estabelecidos e uma larga experiência em projetos. O capital

humano é um elemento chave na estratégia de atuação da empresa, que investe continuamente

na atualização e capacitação de seus profissionais, propiciando um ambiente encorajador para

serem os melhores naquilo que realizam.

A alta qualidade dos serviços prestados aliada ao compromisso em gerar resultados e

proporcionar maior vantagem competitiva a seus clientes tem propiciado a Dextra

relacionamentos duradouros e bem sucedidos com empresas de diversos segmentos de

mercado.

A Dextra teve um crescimento muito expressivo nos anos de 2006 e 2007 e com isso

surgiu a necessidade da definição e implantação de um processo mais formal. A empresa já

contava com o ProUD (Processo Unificado Dextra) que se baseava fortemente no RUP. A

versão 1.0 do ProUD era bastante enxuta e se aplicava muito bem ao tamanho e características

da empresa e de suas equipes de trabalho até então.

O objetivo da evolução e melhoria do processo da Dextra era ter um nível maior de

formalização das atividades e papéis, bem como coletar e analisar indicadores de projeto que

dessem a visibilidade necessária em relação à qualidade do produto, pontualidade nas entregas

e previsibilidade de custo.

O resultado de um ano de trabalho foi o ProUD 2.0, o qual foi lançado oficialmente na

Dextra em Setembro de 2008. Essa nova versão do processo possui quatro grandes fases, que

são: planejamento, refinamento da solução, execução e encerramento.

Um dos objetivos do projeto de melhoria e evolução do ProUD, era a de implementar

também um modelo de qualidade reconhecido no mercado de software. A empresa escolheu o

Page 56: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

41

MPS.BR por ser um programa brasileiro, voltado para a realidade do mercado de pequenas e

médias empresas de desenvolvimento de software.

A Dextra obteve o certificado de qualidade de software MPS.BR nível F, ratificando

assim todo seu processo de desenvolvimento de sistemas. Teve como principais pontos fortes:

a) o conjunto de ferramentas adotado, que automatiza as atividades e traz maior controle e

ganho de produtividade da equipe;

b) o envolvimento das equipes dos projetos com o processo.

Ambos eram as grandes preocupações da Dextra desde o início do desenvolvimento do

processo.

No início de 2008 a Dextra teve o primeiro contato com metodologias ágeis, iniciando

um projeto totalmente SCRUM. Com a disseminação das metodologias ágeis no mercado,

diversos clientes começaram a procurar por essas metodologias para realização de seus

projetos. Por esse motivo e com a experiência positiva do projeto em SCRUM que já estava

em andamento, a Dextra resolveu implantar a metodologia ágil SCRUM.

Atualmente quase todos os projetos desenvolvidos na Dextra são em SCRUM. O

sucesso dessa metodologia se deve, principalmente, ao fato dos projetos serem de escopo

aberto, aceitarem tranqüilamente mudanças solicitadas pelo cliente e terem pelo menos uma

funcionalidade pronta a cada duas semanas (no caso da Dextra, adotou-se que o ideal é os

sprints terem duração de duas semanas).

Com esse novo cenário de projetos da Dextra, se tornou importante pensar a respeito

de uma padronização para a aplicação do SCRUM nos projetos da empresa, uma vez que até

os dias de hoje cada equipe, cada projeto aplica o SCRUM de uma forma diferente, mas

sempre respeitando os princípios definidos para essa metodologia. Assim surgiu a idéia de se

criar um processo para projetos SCRUM, uma vez que o processo de desenvolvimento de

software já existente na empresa, e já avaliado no MPS.Br nível F, é baseado no RUP e não se

encaixa para projetos SCRUM.

Em meados de Abril de 2009 iniciaram-se estudos sobre SCRUM, como criar um

processo para essa metodologia e como conseguir um processo SCRUM que também possa

ser, futuramente, avaliado no MPS.Br nível F. Juntos, o SEPG (Software Engineering Process

Group – Grupo de Processos de Engenharia de Software), a área de qualidade e profissionais

qualificados em SCRUM, em meados de Agosto de 2009, deram início ao desenvolvimento do

processo para projetos SCRUM da Dextra.

O objetivo era criar um processo simples, que não afete a agilidade do SCRUM mas

também que não comprometem as exigências impostas pelo MPS.Br nível F. A idéia de se

Page 57: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

42

criar um processo é que todos os projetos gerem documentos com templates padrões, sigam

realmente todos os princípios do SCRUM e trabalhem de maneira similar, para não haver

divergências entre os projetos em relação a forma de se aplicar SCRUM dentro da Dextra.

O objetivo da Dextra agora é gerar uma primeira versão desse processo que, como

aconteceu com o processo baseado no RUP, será atualizado, incrementado e melhorado com o

passar do tempo e à medida que o processo for sendo utilizado pelos projetos, realizando as

adaptações necessárias. Em um futuro não muito distante, quando o processo para projetos

SCRUM já estiver bem consolidado, a expectativa da Dextra é conquistar o MPS.Br nível F

também para esse processo, garantindo assim uma maior qualidade dos projetos SCRUM para

seus clientes e podendo também conquistar novos clientes.

3.2 Motivação para a elaboração de um processo para projetos SCRUM na

Dextra

A grande motivação que levou a Dextra a querer implantar um processo também para

os projetos em SCRUM foi o sucesso conquistado com o processo de desenvolvimento

ProUD, que segue o modelo RUP. Depois do mesmo ter sido avaliado no MPS.Br nível F,

novos clientes começaram a procurar e a se interessar pelos softwares produzidos pela

empresa. Ter um processo que foi avaliado por um modelo de qualidade traz muita

credibilidade para a empresa, os clientes ficam mais seguros em relação ao produto que estão

comprando e têm garantia de que estão adquirindo um software com qualidade.

Além disso, a necessidade de todos os projetos seguirem um padrão para o

desenvolvimento de software seguindo SCRUM também é fundamental para ter um produto

final com qualidade igual para todos os clientes. Quando o processo segue um padrão único

na empresa, é mais fácil avaliar o que está seguindo as normas, garantindo dessa forma a

qualidade de processo e do produto final gerado.

É de extrema importância que todos os projetos SCRUM da empresa gerem todos os

documentos necessários, de acordo com um template padrão estabelecido pela mesma e com

todas as informações que são essenciais para uma futura evolução do projeto, caso venha

ocorrer. Também é preciso que todos os projetos sigam os princípios básicos do SCRUM, para

que essa metodologia ágil seja aplicada de forma correta. E por fim, é preciso um processo de

desenvolvimento padronizado, que seja seguido por todos os projetos que utilizam

determinada metodologia, para que se possa aplicar a garantia da qualidade de processo e de

Page 58: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

43

produto nos mesmos. Sem um padrão e sem um processo é impossível verificar se um projeto

está seguindo as normas exigidas pela empresa ou não.

3.3 Processo SCRUM da Dextra Sistemas

Para atingir o objetivo proposto por esse trabalho de conclusão de curso (aplicar

atividades da Garantia da Qualidade de Software para projetos SCRUM), primeiramente foi

necessário pensar em conjunto com o SEPG da Dextra Sistemas (empresa onde esse projeto

será aplicado) na elaboração de um processo de desenvolvimento de software ágil, que possa

ser seguido por todos os projetos SCRUM da empresa. Após isso, foi realizada uma análise

sobre o estudo de caso realizado nesse trabalho, a respeito da experiência positiva da empresa

PowerLogic com processo ágil e MPS.Br nível F.

Várias dúvidas surgiram e pesquisas e discussões em reuniões foram realizadas para

que essas dúvidas fossem solucionadas. As dúvidas foram as seguintes:

1- Como é feita a qualidade de processo em SCRUM?

2- Quais indicadores são coletados em SCRUM?

3- Que alterações devem ser realizadas na ferramenta TRAC (vide Apêndice 1.2)

utilizada na Dextra, para contemplar user stories, product backlog, sprint?

4- Como é feito o acompanhamento do projeto? Existe registro formal da reunião

diária?

5- Como são guardadas as informações do quadro de tarefas? Como são formalizadas as

reuniões?

6- Como será o ciclo de vida do processo ágil?

Após vários estudos e reuniões as respostas para as dúvidas surgidas foram aos poucos

esclarecidas e foi possível dar início ao desenvolvimento do processo, que está demonstrado

na Figura 3-1. As dúvidas que ainda não ficaram definitivamente resolvidas serão discutidas

novamente em outras reuniões até se atingir uma resposta final.

Page 59: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

44

Um dos primeiros aspectos a serem definidos foi o ciclo de vida do processo. Ficou

decidido que o ciclo de vida será formado pelas fases: Sprint 0, Execução (onde serão

executados os sprints) e Encerramento, as quais podem ser observadas através da Figura 3-2.

Figura 3-1: Processo Dextra para desenvolvimento em SCRUM [19].

Figura 3-2: Ciclo de vida do Processo SCRUM da Dextra.

Page 60: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

45

Os papéis presentes no processo são mostrados na Figura 3-3, sendo: time, product

owner, SCRUM master, gerente de projeto, auditor de qualidade e auditor de baseline. As

disciplinas, nessa primeira versão do processo (mostradas na Figura 3-4) estão divididas em

três: implementação, garantia da qualidade e gestão de configuração.

Figura 3-3: Papéis do Processo SCRUM da Dextra.

Figura 3-4: Disciplinas do Processo SCRUM da Dextra.

Page 61: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

46

Inicialmente existem os seguintes produtos de trabalho, que são mostrados na Figura

3-5: user story, gráfico de burndown do projeto, incremento do produto, aceite de sprint,

apresentação dos compromissos com cliente, apresentação de kickoff (inicial) interno, lista de

verificação de QA SCRUM, release notes (notas do projeto), team planning (planejamento da

equipe), quadro de tarefas, gráfico de sprint burndown, sprint backlog, product backlog,

relatório de status (estado) para cliente, relatório de status interno, relatório de auditoria de

produto e relatório de auditoria da qualidade. Para a primeira versão do processo, a única

ferramenta disponível será o TRAC (ferramenta de acompanhamento de alterações), que

deverá ser adaptado para o SCRUM. Essa adaptação será realizada futuramente.

As atividades envolvidas nessa primeira versão do processo, no Sprint 0,

demonstradas na Figura 3-6, são: organizar o ambiente do projeto, preparar equipe, reunião

inicial com o cliente, reunião inicial com o time, estimar product backlog e as atividades

relacionadas a disciplina de Garantia da Qualidade (vide).

Figura 3-5: Produtos de trabalho do Processo SCRUM da Dextra.

Page 62: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

47

Na fase de Execução (em cada sprint do projeto) as atividades, mostradas na Figura 3-

7 são: reunião de planejamento do sprint, manter backlog, validar itens de backlog em

desenvolvimento, implementar o sprint backlog, reunião de revisão do sprint, retrospectiva do

sprint e atividades da qualidade.

Figura 3-6: Diagrama do Sprint 0.

Page 63: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

48

Ainda dentro da fase de execução existe um subprocesso chamado Acompanhamento e

Controle, o qual envolve as seguintes atividades: monitorar e controlar, manter registros de

ação gerencial. Essas atividades estão relacionadas com o acompanhamento formal do projeto

durante todos os sprints do mesmo e podem ser observadas na Figura 3-8. O gerente de

projeto é o responsável por esse acompanhamento.

Figura 3-7: Diagrama da Fase de Execução.

Page 64: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

49

Na fase de Encerramento as atividades, demonstradas pela Figura 3-9 são: obter aceite

do cliente, encerrar projeto, fornecer resultados das medições, liberar baseline, auditar

baseline, auditar configuração e todas as atividades da disciplina garantia da qualidade.

Figura 3-8: Diagrama do subprocesso

Acompanhamento e Controle.

Figura 3-9: Diagrama da Fase de Encerramento.

Page 65: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

50

3.4 SCRUM Dextra – Atividades de Garantia da Qualidade

Dentro da disciplina de Garantia da Qualidade, que está presente em todas as fases do

ciclo de vida do processo SCRUM da Dextra, estão as seguintes atividades: realizar auditoria

de processo, realizar auditoria de produto, disponibilizar relatório de auditoria, acompanhar as

não conformidades e consolidar todas as auditorias realizadas. Em todas as atividades dessa

disciplina, que podem ser observadas através da Figura 3-10, o executor principal e único é o

auditor da qualidade.

Como o foco desse trabalho não é o processo SCRUM completo, e sim apenas a

disciplina de garantia da qualidade, as outras disciplinas e atividades relacionadas não serão

descritas em detalhes nesse trabalho, podendo ser tema para um trabalho futuro. Só serão

tratadas nesse trabalho as atividades e produtos de trabalho relacionados à disciplina Garantia

da Qualidade.

3.4.1 Atividade Realizar Auditoria de Processo

A atividade realizar auditoria de processo tem como objetivo realizar auditorias para

avaliação do processo e dos produtos de trabalho do projeto e para verificar se os mesmos

estão seguindo o que foi definido no processo SCRUM. A entrada obrigatória para essa

Figura 3-10: Diagrama da disciplina Garantia da Qualidade.

Page 66: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

51

atividade é o plano de QA, e tem como saídas a lista de verificação de QA SCRUM, a planilha

de acompanhamento de auditorias da qualidade e o registro de não conformidades.

As etapas envolvidas nessa atividade são:

1. Avisar o gerente de projeto da auditoria a ser realizada: uma semana antes,

enviar um e-mail (correio eletrônico) ao gerente de projeto informando a data em que será

realizada a auditoria e que os artefatos do projeto devem estar atualizados e disponíveis no

repositório durante o período da auditoria;

2. Avaliar a aderência ao processo: nas datas previstas para auditoria o auditor

da qualidade deve utilizar a lista de verificação de QA SCRUM e preencher as seguintes

informações: data da auditoria, nome do projeto, sprint em que o projeto se encontra e o nome

do gerente do projeto;

3. Identificar os itens conformes e não conformes: os itens conformes e não

conformes identificados pela auditoria devem ser registrados na lista de verificação de QA

SCRUM. O auditor da qualidade deve registrar se o item em questão está conforme ou não, e

para isso deverá marcar com a letra “S” o item de verificação que estiver conforme, “N” o

item de verificação que não estiver conforme ou “N/A” o item de verificação que não foi

avaliado. Devem-se registrar os comentários quando necessário;

4. Registrar as não conformidades encontradas: o auditor da qualidade deve

registrar as não conformidades encontradas durante a auditoria do projeto na ferramenta

TRAC, abrindo um ticket do tipo NC (não conformidade) para o projeto. Nesse ticket devem

ser registrados o sumário da NC, a descrição da NC, a criticidade (alta, média ou baixa), a

fase que o projeto está, a data limite para resposta/avaliação da NC pelo gerente de projeto, a

data limite para a resolução da NC (que varia de acordo com a criticidade, sendo 2 dias para

alta, 1 semana para média e 2 semanas para baixa) e a data final colocada pelo gerente de

projeto para a resolução da NC;

5. Finalizar auditoria: o auditor da qualidade deve utilizar a planilha de

acompanhamento de auditorias da qualidade e registrar o resultado na aba acompanhamento

de auditorias (onde é colocado o resultado geral da auditoria) e na aba consolidação por

processo (onde é colocado o resultado por processo – gerência de projeto, gestão de

configuração, validação).

3.4.2 Atividade Realizar Auditoria de Produto

A próxima atividade da disciplina garantia da qualidade é a de realizar auditoria de

produto, que tem como entrada obrigatória o plano de QA e como saídas a lista de verificação

Page 67: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

52

de QA de status report (relatório de estado) interno, a lista de verificação de QA de status

report para o cliente, o registro de não conformidades e a planilha de acompanhamento de

auditorias da qualidade.

As etapas envolvidas são parecidas com as etapas da atividade de realizar auditoria de

processo, são elas:

1. Avaliar aderência ao produto: avaliar a aderência dos seguintes produtos de

trabalho a serem auditados: Aprovação dos compromissos com o cliente: nessa auditoria

devem ser verificados o plano do projeto, o plano de gestão de configuração e a apresentação

dos compromissos com o cliente; utilizar a aba produto aprovar compromissos com cliente da

lista de verificação de QA SCRUM; Status Report Interno: nessa auditoria deve ser verificado

se todas as medidas foram coletadas e analisadas corretamente e se o status report foi gerado

conforme definido no processo; utilizar a lista de verificação de QA de status report interno;

Status Report para Cliente: nessa auditoria deve ser verificado se o status report do cliente foi

gerado conforme definido no processo; utilizar a lista de verificação de QA de status report

para o cliente; o Auditor da Qualidade deve executar a auditoria utilizando a lista de

verificação correspondente a cada auditoria e conforme planejado, através de observações

diretas, acesso a base de dados, ferramentas e exame dos produtos de trabalho;

2. Identificar os itens conformes e não conformes: a descrição dessa atividade

é idêntica a da atividade realizar auditoria de processo, por esse motivo não irei repetí-la aqui;

3. Registrar as não conformidades encontradas: a descrição dessa atividade

também é idêntica a da atividade realizar auditoria de processo;

4. Finalizar auditoria: o auditor da qualidade deve utilizar a planilha de

acompanhamento de auditorias da qualidade e registrar o resultado na aba referente a cada

auditoria de produto realizada.

3.4.3 Atividade Disponibilizar Relatório de Auditoria

Outra atividade da qualidade é a disponibilizar relatório de auditoria, onde as entradas

obrigatórias são a lista de verificação de QA SCRUM, lista de verificação de QA de status

report interno, lista de verificação de QA de status report para o cliente, planilha de

acompanhamento de auditorias da qualidade e o registro de não conformidades. As saídas são

o e-mail de divulgação do relatório de auditoria da qualidade, o relatório de auditoria da

qualidade e o relatório de auditoria de produto.

As etapas dessa atividade estão descritas a seguir:

Page 68: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

53

1. Disponibilizar o relatório de auditoria: ao final de cada auditoria de produto

referente a status report interno ou status report para o cliente, gerar o relatório de auditoria

de produto; ao final de cada auditoria de processo ou produto a ser entregue para o cliente,

gerar o relatório de auditoria da qualidade;

2. Disponibilizar as não conformidades para tratamento: a ferramenta TRAC

comunica automaticamente, por e-mail, o gerente de projeto que será responsável por tratar a

NC;

3. Notificar a equipe sobre o resultado da auditoria: o auditor da qualidade

deve enviar um e-mail para a equipe do projeto e para o gerente da fábrica, informando o

término da auditoria e indicando o local onde o relatório de auditoria da qualidade tanto de

produto quanto de processo pode ser consultado.

3.4.4 Atividade Acompanhar as Não Conformidades (NC)

A atividade acompanhar as não conformidades deve ocorrer diariamente, pois tem

como objetivo acompanhar o tratamento das NCs encontradas no projeto durante as

auditorias. Tem como entrada obrigatória o registro de não conformidades, que também é a

saída da atividade.

Suas etapas são:

1. Tratar as NCs rejeitadas: o auditor da qualidade deverá tratar as NCs que

foram rejeitadas pelo gerente de projeto; deverá verificar o motivo pelo qual o mesmo não

concorda com a NC e decidir por cancelar ou abri-la novamente esclarecendo os pontos que

causaram a rejeição;

2. Tratar as NCs resolvidas: o auditor da qualidade deverá validar as NCs que

foram corrigidas pelo gerente de projeto; deverá verificar a solução dada e avaliar se o

tratamento foi adequado; em caso positivo a NC deverá ser fechada no estado validada, caso

contrário a NC deverá voltar ao estado inicial de aberta para que o tratamento correto seja

dado para a mesma.

3.4.5 Atividade Consolidar todas as Auditorias Realizadas

Por último tem a atividade de consolidar todas as auditorias realizadas, que deve ser

realizada no último dia do mês, de preferência. Tem como objetivo consolidar todas as

auditorias realizadas no projeto, tanto de processo quanto de produto, periodicamente a cada

30 dias. A planilha de acompanhamento de auditorias da qualidade é entrada obrigatória e

também a saída da atividade. Essa atividade tem uma única etapa que é a de registrar o

Page 69: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

54

resultado da consolidação na planilha de acompanhamento de auditorias da qualidade, onde o

auditor da qualidade deve registrar o resultado consolidado de todas as auditorias realizadas

em cada projeto, mensalmente, na planilha de acompanhamento de auditorias da qualidade,

aba consolidação.

3.5 SCRUM Dextra – Produtos de Trabalho de Garantia da Qualidade

Em relação aos produtos de trabalhos, também são todos gerados pelo auditor da

qualidade. O primeiro a ser gerado é o plano de QA (mostrado na Figura 3-11) que é o plano

que define as atividades da qualidade para o projeto. O mesmo deve ser elaborado juntamente

com o plano do projeto, consolidado com o gerente de projeto e aprovado pelo gerente da

fábrica. Nesse plano deve conter informações das datas das auditorias a ser realizadas, o tipo,

o esforço previsto e, se necessário, os treinamentos realizados.

Figura 3-11: Plano de QA.

Page 70: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

55

Para realizar as auditorias de processo precisa-se gerar a lista de verificação de QA

SCRUM (mostrada na Figura 3-12) que é uma planilha que contém a lista de artefatos e

processos que serão auditados por processo (Gestão de Configuração, Gerência de Projeto,

Validação e Projeto e Construção do Produto) e por sprint. Cada aba da planilha representa

uma fase do projeto (no caso da fase de Execução, tem uma aba para cada sprint do projeto).

Também existe o espaço para se colocar se o item está conforme ou não, a criticidade do

mesmo e algum comentário quando for necessário. Essa lista também calcula a quantidade de

itens conformes e não conformes por processo e no geral.

Para que as auditorias de produto de status report para cliente e interno possam ser

realizadas, devem ser geradas as listas de verificação de QA de status report para cliente

(mostrado na Figura 3-13) que é uma planilha que contém todos os itens a serem observados

que devem existir em um status report que é enviado para o cliente, e de status report interno,

que é uma planilha que contém todos os itens a serem observados que devem existir em um

status report interno que pode ser observado através da Figura 3-14. Ambas as listas seguem

o mesmo estilo da lista de verificação para auditoria de processo descrita acima.

Figura 3-112: Lista de Verificação de QA SCRUM.

Page 71: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

56

Figura 3-13: Lista de Verificação de QA de Status Report para Cliente.

Figura 3-14: Lista de Verificação de QA de Status Report Interno.

Page 72: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

57

Os registros de todas as auditorias realizadas, tanto de processo quanto de produto, e a

consolidação das mesmas no final do mês, ficam na planilha de acompanhamento de

auditorias da qualidade, mostrada na Figura 3-15. É uma planilha que contém o registro e

acompanhamento das auditorias da qualidade que estão sendo realizadas para o projeto. Nessa

planilha devem ser registrados o acompanhamento de auditorias, a consolidação por processo

e a consolidação final. São registrados também os resultados de cada auditoria de produto

realizada, sendo que cada produto é registrado em uma aba diferente da planilha.

Figura 3-15: Planilha de Acompanhamento de Auditorias da Qualidade.

Page 73: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

58

O produto de trabalho registro de não conformidades não gera nenhum documento, o

registro das NCs deve ser feito na ferramenta de acompanhamento de alterações (TRAC) do

projeto, que pode ser visto na Figura 3-16. O e-mail de divulgação do relatório de auditoria da

qualidade também não tem um modelo que precisa ser seguido. É um e-mail comum, que

deve ser enviado para a equipe do projeto e para o gerente da fábrica divulgando o término da

auditoria e disponibilizando o relatório para consulta de todos.

Ao finalizar uma auditoria de processo deve ser elaborado e disponibilizado o relatório

de auditoria da qualidade, o qual faz um resumo sobre a auditoria realizada. Nele devem

conter as seguintes informações: nome do projeto, fase (no caso da fase de execução o

número do sprint) auditada, data em que foi realizada a auditoria, nome do auditor da

qualidade, o número de itens auditados, conformes e não conformes, a lista das não

conformidades encontradas, o percentual de aderência do projeto ao processo e o esforço

gasto na realização da auditoria. O template desse relatório pode ser observado na Figura 3-

17.

Figura 3-16: Registro de Não Conformidades no TRAC.

Page 74: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

59

Figura 3-17: Relatório de Auditoria da Qualidade.

Page 75: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

60

Ao final de cada auditoria de produto referente a status report interno ou status report

para o cliente, deve ser elaborado e disponibilizado para a equipe do projeto e para o gerente

de fábrica o relatório de produto, o qual faz um resumo sobre a auditoria realizada. Nele

devem conter as seguintes informações: nome do projeto, data da auditoria realizada, o

resultado (número de itens auditados, conformes e percentual de aderência), as não

conformidades abertas (caso existam) e o esforço gasto para a realização da auditoria. O

template desse relatório pode ser visto na Figura 3-18.

A execução das atividades relacionadas com a disciplina garantia da qualidade do

processo em questão ocorre da seguinte maneira: ao iniciar um novo projeto, o gerente da

fábrica comunica ao auditor da qualidade que o projeto deverá ser auditado, em seguida o

auditor solicita ao gerente do projeto as datas de entrega dos sprints que foram combinadas

com o cliente. Com isso o auditor da qualidade tem a base para realizar o plano de QA,

definindo assim as datas das auditorias.

Nessa primeira versão do processo, as auditorias estão sendo marcadas para serem

realizadas antes da entrega do sprint ao cliente e depois da retrospectiva do sprint corrente e o

planejamento do próximo sprint terem sido realizados. Com todas as auditorias marcadas,

uma semana antes de uma auditoria ser realizada, o auditor da qualidade envia um e-mail ao

gerente do projeto avisando o dia que será realizada a auditoria e o conteúdo da mesma, isto é,

a qual sprint a auditoria se refere. No SCRUM não é comum acontecer das auditorias terem

que ser replanejadas, uma vez que os sprints são time-boxed, ou seja, tem um tempo certo

para serem concluídos, no caso da Dextra, os sprints tem duração de 2 semanas (10 dias

úteis).

Figura 3-18: Relatório de Produto.

Page 76: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

61

Como o gerente do projeto já foi avisado da auditoria uma semana antes, no dia em

que a mesma for realizada todos os artefatos gerados naquele sprint devem estar disponíveis

para o auditor da qualidade. O auditor realiza a auditoria com a lista de verificação de QA

SCRUM, utilizando a aba referente ao sprint que será auditado. O mesmo deve preencher essa

lista de verificação de acordo com o que for sendo auditado. Se o item estiver conforme,

marcará com “S” na coluna “Conforme?”, caso contrário marcará com “N” e na coluna

“Comentário” irá colocar o motivo pelo qual o item não está conforme e o número da NC

referente ao mesmo, a qual foi aberta no TRAC do projeto. Caso o item não tenha sido

avaliado, marcará com “N/A” e escreverá o motivo pelo qual o mesmo não foi auditado na

coluna “Comentário”.

As não conformidades encontradas pelo auditor ao longo da auditoria são registradas

na ferramenta de alterações (TRAC) do projeto que está sendo auditado. Os procedimentos de

como preencher os campos já foram descritos anteriormente. Ao finalizar a auditoria o auditor

deve preencher a planilha de acompanhamento de auditorias, nas abas referentes à

Acompanhamento das Auditorias e Consolidação por Processo. Deve também gerar o

relatório de auditoria da qualidade, o qual deve ser disponibilizado no TRAC do projeto. O

auditor deve também enviar um e-mail para toda a equipe divulgando o resultado da auditoria

realizada e enviando o link (referência) para visualização do relatório da mesma.

O auditor da qualidade deve acompanhar as não conformidades todos os dias,

verificando se as mesmas estão sendo corrigidas e se estão seguindo o prazo estipulado para

correção. Caso o prazo tenha se esgotado, o auditor deverá escalar a não conformidade para o

gerente da fábrica, que é um nível superior do gerente do projeto.

Para as auditorias de produto de status report interno não precisa ser enviado e-mail

com uma semana de antecedência, elas são realizadas periodicamente a cada quinze dias. Para

a realização das mesmas o auditor deve utilizar a lista de verificação de QA de status report

interno. Deve preenchê-la da mesma forma que foi feito na auditoria de processo. Caso sejam

encontradas não conformidades também são abertas no TRAC do projeto que está sendo

auditado.

Ao final da auditoria de produto de status report interno, o auditor da qualidade

também deve preencher a planilha de acompanhamento de auditorias na aba referente à

auditoria realizada. Deve também gerar o relatório de auditoria de produto, o qual deve ser

disponibilizado no TRAC do projeto. O auditor também envia um e-mail comunicando o

gerente do projeto da realização da auditoria com o resultado da mesma e o link para o

relatório. Depois é enviado um e-mail para o gerente da fábrica e para o gerente de contas

Page 77: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

62

encaminhando o resultado da auditoria junto com o status report do projeto, já auditado e de

acordo com as regras da empresa.

As auditorias de produto de status report para cliente seguem os mesmos passos da

auditoria de produto de status report interno, porém a periodicidade com que ocorrem varia

de projeto para projeto. Normalmente também ocorrem a cada quinze dias, uma vez que o

status report geralmente é enviado ao cliente no final do sprint. A única diferença é que no

final da auditoria o auditor envia um e-mail apenas para o gerente de projeto, divulgando o

resultado da auditoria, o link para consulta do relatório e liberando o status report para ser

entregue ao cliente. É responsabilidade do gerente de projeto encaminhar o status report para

o cliente.

Por fim, a cada 30 dias, de preferência no último dia do mês, o auditor da qualidade

deve fazer uma consolidação de todas as auditorias realizadas no mês, de cada projeto

separadamente. Esse registro deve ser feito na planilha de acompanhamento de auditorias de

cada projeto, na aba “Consolidação”. Nela devem ser registradas a data da consolidação, a

quantidade de auditorias realizadas, a quantidade de itens auditados, conformes e não

conformes, a quantidade de não conformidades escaladas e o percentual da aderência do

projeto ao processo, que é o número de itens conformes dividido pelo número de itens

auditados e o resultado é multiplicado por 100.

Essa consolidação faz com que, tanto o auditor da qualidade, como a equipe, o gerente

de projeto, o gerente da fábrica e até a diretoria da empresa, tenham uma visão de como o

projeto está em conformidade com as normas da empresa, com o que o processo exige. Isso

reflete também em como está a qualidade do projeto de um modo geral. Faz com que a

empresa saiba como está a área da qualidade, se está trazendo benefícios para a empresa ou

está sendo apenas um overhead (excesso).

4 CONCLUSÃO

Com a constante utilização de processos de desenvolvimento de software pelas

empresas de desenvolvimento de software observa-se que os mesmos são importantes para a

padronização de todos os documentos gerados pela empresa e do fluxo de atividades

realizadas durante o desenvolvimento de um software. Além disso, torna possível a execução

da garantia da qualidade de produto e de processo e das atividades de medição, que geram

dados que mostram se o projeto está dentro do prazo, custo e qualidade esperada.

Page 78: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

63

Ultimamente, com a adoção da qualidade de produto e de processo, juntamente com a

busca por certificações de qualidade de software, houve uma evolução na qualidade dos

softwares produzidos. Isso é fundamental para a empresa conseguir satisfação de seus

clientes, atraindo mais clientes e manter os que já possuem.

A implantação de metodologias ágeis de desenvolvimento de software foi fundamental

para que as empresas se adaptassem as novas exigências do mercado, que querem que os

softwares sejam produzidos no menor tempo possível, com baixo custo e com cada vez mais

qualidade.

Resumidamente, com todo o estudo feito neste trabalho, pode-se concluir que projetos

que são desenvolvidos utilizando a metodologia ágil SCRUM também precisam passar pela

área da qualidade. Todo final de mês é realizada uma coleta dos números de itens auditados e

de itens conformes de todos os projetos juntos, para avaliar a aderência dos projetos ao

processo da empresa.

Essa aderência é calculada dividindo a quantidade de itens conformes pela quantidade

de itens auditados. O resultado é registrado em uma planilha chamada planilha de aderência.

Dessa forma, é possível avaliar a eficiência da área de qualidade da empresa e se a mesma

está trazendo benefícios, uma vez que é possível ver se a aderência está aumentando, o que

demonstra que a qualidade está sendo eficiente, ou se está diminuindo, sendo possível

verificar o que está acontecendo com os projetos, uma vez que a tendência natural é a

aderência aumentar com o passar do tempo demonstrando maturidade das equipes dos

projetos em relação ao processo.

Essa coleta inclui todos os projetos, tanto os que seguem o ProUD como os que

seguem o SCRUM. Até Maio de 2009 eram auditados apenas os projetos que utilizam o

ProUD. Em Junho de 2009 começaram a ser auditados os projetos que utilizam SCRUM,

seguindo o que o processo SCRUM da Dextra exige na disciplina Garantia de Qualidade, que

em Julho já estava pronta.

Observando o gráfico abaixo (mostrado na Figura 4-1), gerado através das coletas

registradas na planilha no período de Abril de 2009 até Outubro de 2009, é possível perceber

uma queda do percentual de aderência em Junho, quando entraram na coleta os projetos

SCRUM, uma vez que foi a primeira vez que os projetos estavam sendo auditados e por isso

vários problemas foram encontrados. Em Julho houve outra queda, pois mais projetos

SCRUM entraram na coleta, porém com o passar do tempo percebe-se o aumento gradativo

desse percentual, demonstrando uma maturidade dos projetos em relação ao novo processo

SCRUM, que ainda está em sua versão inicial.

Page 79: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

64

Por fim, é importante destacar que os projetos SCRUM também devem seguir um

processo certificado por um modelo de qualidade de software para conquistar a confiança dos

clientes e com isso prover maior credibilidade à empresa.

4.1 Contribuições

Esse trabalhou contribuiu para que o fluxo das atividades realizadas nos projetos que

utilizam SCRUM na Dextra fosse padronizado e também foi possível a criação de modelos

(templates), de forma que todos os documentos gerados estejam de acordo com as exigências

da empresa.

Contribuiu também para o início da medição da qualidade de processo e de produto

dos projetos SCRUM, de forma a verificar se os mesmos estão seguindo o processo definido.

Com a definição do processo SCRUM também foi possível identificar quais indicadores

devem ser coletados nos projetos que utilizam SCRUM, de forma que os mesmos possam ser

adequadamente monitorados, porém ainda não foi definida uma nova planilha de medidas,

isso será um aprimoramento do processo.

Com a elaboração de um novo checklist (lista de verificação) de QA e definição de

toda a disciplina de qualidade do processo SCRUM (atividades estas realizadas durante a

elaboração desse trabalho), foi possível um maior controle e verificação de todos os

entregáveis antes das entregas serem feitas para o cliente, garantindo uma maior qualidade do

produto entregue.

Figura 4-1: Gráfico gerado a partir dos dados registrados na

planilha de aderência.

Page 80: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

65

4.2 Trabalhos futuros

Uma sugestão para trabalhos futuros baseados nesse trabalho de conclusão de curso é

o aprimoramento do processo elaborado nesse trabalho (adicionando mais detalhes, outros

produtos de trabalhos, outras atividades) de forma que o mesmo possa ser certificado no

MPS.Br nível F (esse trabalho seguiu as exigências do MPS.Br nível F apenas na disciplina

de Garantia da Qualidade).

Outra sugestão é o detalhamento das atividades das outras disciplinas existentes no

processo elaborado (por exemplo: Gerência de Projetos, Gestão de Configuração), uma vez

que o foco desse projeto foi em apenas uma disciplina, a Garantia da Qualidade.

A última sugestão seria a adequação do processo descrito nesse trabalho para os outros

níveis do MPS.Br (níveis E, D, C, B ou A), ou ainda, adequá-lo de acordo com as exigências

de algum modelo de qualidade de software internacional, como por exemplo, o CMMI.

Page 81: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

66

Apêndice 1 – Ferramentas

1.1 EPF Composer

Para a elaboração do processo SCRUM descrito nesse trabalho foi utilizada a

ferramenta denominada EPF (Eclipse Process Framework - Estrutura de Processo Eclipse)

Composer (compositor). É uma ferramenta livre, isto é, encontra-se disponível gratuitamente.

O EPF define uma linguagem comum para descrever processos, que podem seguir qualquer

metodologia. O local para descrever o processo pode ser visto na Figura 4-2, que mostra a tela

do programa EPF.

Essa ferramenta gera o conteúdo dos métodos, permite definir processos para diversos

tipos de projetos e também permite combinar processos. É muito utilizada para estruturação,

documentação, adaptação e publicação de processos de desenvolvimento de software. “O EPF

visa criar um processo de software totalmente adaptável, com toda a estrutura da engenharia

de software, conteúdos, ferramentas, suportando uma ampla variedade de tipos de projetos e

estilos de desenvolvimento” [15].

Figura 4-2: Tela da ferramenta EPF Composer.

Page 82: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

67

1.2 TRAC

O TRAC é uma ferramenta livre (open source), simples e de interface web. Sua

principal função é controlar mudanças em projetos de desenvolvimento de software. Essa

ferramenta ajuda não só o desenvolvedor, mas sim toda a equipe do projeto, a rastrear as

mudanças que ocorreram no projeto, entender o porquê de cada uma delas e qual o impacto no

projeto como um todo. A página principal dessa ferramenta pode ser vista na Figura 4-3, logo

abaixo.

Figura 4-3: Página inicial do TRAC [16].

Page 83: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

68

O TRAC tem os seguintes recursos: controle de mudanças, wiki (que é uma página

web que pode ser editada por qualquer pessoa) para documentação colaborativa e referência

cruzada entre os elementos do TRAC, integração com o subversion (subversão - funciona

como um browser do repositório do projeto) e acompanhamento da evolução do projeto. Os

benefícios de se usar essa ferramenta são: melhoria na qualidade do produto e do processo de

desenvolvimento; registro, rastreamento e controle das mudanças sofridas pelo projeto

durante seu ciclo de vida; integração entre o controle de versão e o controle de mudança;

acompanhamento da evolução do projeto; e melhor documentação do projeto através da

equipe de desenvolvimento.

O TRAC é adaptável e pode ser configurado de acordo com as definições da empresa

ou então de acordo com a necessidade dos projetos. No caso dos projetos da Dextra Sistemas

que utilizam o processo ProUD, o TRAC (mostrado através da Figura 4-4), possui recursos

como: requisitos, riscos, não conformidades, defeitos, mudanças de requisitos, solicitações de

mudanças, ações gerenciais, tarefas, sub-tarefas, uma página inicial com o nome e um resumo

do projeto, assim como perfis de acesso (cliente, equipe e gerência), além da integração com o

subversion dos projetos. Para o processo SCRUM ainda não foi configurado nem definido um

novo TRAC.

Figura 4-4: Tela inicial do TRAC de um projeto da Dextra.

Page 84: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

69

Referências Bibliográficas

[1] FEILER, P. H.; HUMPHREY, W. S. Software Process Development an

Enactment: Concepts and Definitions. In: International Conference on the

Software Process, 2., 1993, Berlin.

[2] I, Jacobson, G. Booch & J. Rumbaugh. The Unified Software Development Process.

[3] TQC – Controle da Qualidade Total (no estilo japonês). Vicente Falconi

Campos. Nova Lima – MG: INDG Tecnologia e Serviços Ltda., 2004.

[4] Site oficial RUP. Disponível em: http://www.wthreex.com/rup/portugues/index.htm

Acessado em: Setembro de 2009.

[5] SOMMERVILLE, Ian: Engenharia de Software. Tradução: André

Maurício de Andrade Ribeiro. São Paulo: Addison Wesley, 2003.

[6] PRESSMAN, Roger S. Engenharia de Software. Tradução: José Carlos

Barbosa dos Santos. São Paulo: Pearson Education do Brasil, 1995.

[7] ROTHERY, Brian. ISO 9000. São Paulo, Makron Books,1993.p.13.

[8] CROSBY, PB. Quality is Free: the Art of Making Quality Certain. São Paulo, SP: Mentor

Books, 1992.

[9] Crespo, Adalberto; Argollo, Miguel. Apostila de Fundamentos de Teste de Software.

CenPRA. Campinas, 2008.

[10] KOSCIANSKI, André; SOARES, Michel dos Santos: Qualidade de

Software: aprenda as metodologias e técnicas mais modernas para o

desenvolvimento de software. São Paulo: Novatec Editora, 2007.

[11] Manifesto for Agile Software Development. Site oficial do Manifesto Ágil. Disponível

em: http://agilemanifesto.org/. Acessado em: Julho, 2009.

Page 85: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

70

[12] SCHWABER, Ken: Agile Project Management with SCRUM.

Washington, 2004.

[13] Oliveira, Ana Cláudia Grossi de.; Guimarães, Fernanda Alves; Fonseca, Isabella de

Araújo. Utilizando Metodologias Ágeis para atingir MPS.Br nível F na PowerLogic.

Disponível em: http://www.softex.br/portal/softexweb/uploadDocuments/_mpsbr/T1-

PowerLogic-WE.pdf. Acessado em: Outubro, 2009.

[14] SCRUM Certificado (MPS.Br F) – A experiência da PowerLogic. Disponível em:

http://imprensa.cesar.org.br/scrum/SPINRecife_Mai08_PowerLogic.pdf. Acessado em:

Outubro de 2009.

[15] Site oficial do EPF. Disponível em:

http://www.eclipse.org/projects/project_summary.php?projectid=technology.epf. Acessado

em: Novembro de 2009.

[16] Site oficial do Trac. Disponível em: http://trac.edgewall.org/. Acessado em: Novembro

de 2009.

Bibliografias Consultadas

[17] SOFTEX, Sociedade: Apostila do Curso Oficial de Introdução ao

Modelo MPS.BR. São Paulo: Campinas, 2007.

[18] 1ª Conferência da Qualidade de Software. Disponível em:

http://www.asrconsultoria.com.br/docs/Conf_0412_06_PowerLogic.pdf. Acessado em:

Maio, 2009.

[19] Dextra Sistemas: Coding your business. Disponível em:

http://www.dextra.com.br/servicos/scrum.htm. Acessado em: Novembro de 2009.

Page 86: Modelo de monografia - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/1675.pdf · GARANTIA DE QUALIDADE DE SOFTWARE EM PROJETOS SCRUM ADAPTADOS AO MODELO MPS.BR

71

[20] Pereira, Ana Paula Valente. Eclipse Process Framework: Uma nova visão da engenharia

de software. IST- Organização e Gestão da Função Informática. Outubro, 2007. Disponível

em:

https://dspace.ist.utl.pt/bitstream/2295/138414/1/Eclipse%20Process%20Framework_IST.pdf.

Acessado em: Outubro, 2009.

[21] Wilson, José. Visão geral sobre Engenharia de Software. CEP – Ceilândia. Disponível

em: http://www.cepceilandia.df.gov.br/sites/200/296/00000482.ppt. Acessado em: Abril de

2009.

[22] Martins, Edite. Implantação de Processo – Os desafios da implantação de um processo de

software. Revista eletrônica Engenharia de Software Magazine. Edição 14.

[23] Figueiredo, Alexandre Magno. Falando sobre SCRUM. Disponível em:

http://www.scribd.com/doc/20007777/Falando-sobre-Scrum. Acessado em: Junho de 2009.

[24] ARTIGOS.COM. Processos – Contextualização. Disponível em:

www.artigos.com/artigos/sociais/administracao/processos-_-contextualizacao-988/artigo/.

Acessado em: Abril de 2009.

[25] PFLEEGER, Shari Lawrence. Engenharia de Software: Teoria e Prática. Prentice Hall

Brasil, 2004.

[26] BEZERRA, Eduardo. Princípio de Análise e Projeto de Sistemas com UML. Rio de

Janeiro: Campus, 2006.

[27] CARROMEU, Camilo. Qualidade de Software. Disponível em:

http://academy.carromeu.com/images/5/53/2009.qs.aula.01.pdf. Acessado em: Junho de 2009.

[28] ESPINHA, Rafael. Process Institutionalization Tools (PIT) – Ferramentas de apoio à

institucionalização de processos. Previa de Defesa. PUC-RIO, Rio de Janeiro, 2006.

[29] Bartie, Alexandre. Agilidade ou Controle Operacional? Os dois! Revista eletrônica

DevMedia. Edição 1.