universidade federal de mato grosso instituto de ... · metodologia de software com scrum e bpm...

58
UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE ESPECIALIZAÇÃO EM ENGENHARIA WEB E GOVERNO ELETRÔNICO METODOLOGIA DE SOFTWARE COM SCRUM E BPM: UMA PROPOSTA EM PROJETO DE ALTO TURN OVER AUREO CARNEIRO RIOS NETO CUIABÁ MT 2017 UFMT

Upload: others

Post on 11-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

UNIVERSIDADE FEDERAL DE MATO GROSSO

INSTITUTO DE COMPUTAÇÃO

COORDENAÇÃO DE ENSINO DE

ESPECIALIZAÇÃO EM ENGENHARIA WEB E GOVERNO

ELETRÔNICO

METODOLOGIA DE SOFTWARE COM SCRUM E BPM:

UMA PROPOSTA EM PROJETO DE ALTO TURN OVER

AUREO CARNEIRO RIOS NETO

CUIABÁ – MT

2017

U F M T

Page 2: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

1

UNIVERSIDADE FEDERAL DE MATO GROSSO

INSTITUTO DE COMPUTAÇÃO

COORDENAÇÃO DE ENSINO DE

ESPECIALIZAÇÃO EM ENGENHARIA WEB E GOVERNO

ELETRÔNICO

METODOLOGIA DE SOFTWARE COM SCRUM E BPM

AUREO CARNEIRO RIOS NETO

Orientador: Prof. MSc. NILTON HIDEKI TAKAGI

Monografia apresentado ao Curso de

Especialização em Engenharia Web e Governo

Eletrônico, do Instituto de Computação da

Universidade Federal de Mato Grosso, como

requisito para elaboração da Monografia do

Curso de Especialização em Engenharia Web e

Governo Eletrônico.

CUIABÁ – MT

2017

U F M T

Page 3: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

2

Page 4: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

3

RESUMO

O objetivo desde estudo é a criação de uma metodologia de software com características

ágeis que mescle valores de frameworks já existentes como o Scrum e técnicas de

gerenciamento de processos de negócios que visam a atender uma equipe

multidisciplinar com turn-over estabelecido. A solução proposta neste trabalho é uma

forma de desenvolvimento customizada a essa realidade e que proporcionam um

ambiente adequado de desenvolvimento e sofra o menor impacto com a entrada e saída

de componentes da equipe durante a execução e tenha uma estrutura mais enxuta de

atividades e papeis que a atual do modelo de desenvolvimento de software proposto

pelo Governo do Estado do Mato Grosso, denominado Processo de Desenvolvimento de

Software nas Instituições Públicas do Estado de Mato Grosso (PDSMT).

Page 5: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

4

SUMÁRIO RESUMO ......................................................................................................................... 2

LISTA DE FIGURAS ...................................................................................................... 6

LISTA DE TABELAS ..................................................................................................... 7

LISTA DE SIGLAS E ABREVIATURAS ...................................................................... 8

CAPÍTULO 1 INTRODUÇÃO ........................................................................................ 9

1.1 APRESENTAÇÃO ................................................................................................. 9

1.2 OBJETIVOS ......................................................................................................... 10

1.2.1. OBJETIVO GERAL ..................................................................................... 10

1.2.2. OBJETIVO ESPECIFICO ............................................................................ 10

1.3 JUSTIFICATIVA ................................................................................................. 10

1.4 METODOLOGIA ................................................................................................. 11

CAPÍTULO 2 FUNDAMENTAÇÃO TEÓRICA .......................................................... 12

2.1 INTRODUÇÃO .................................................................................................... 12

2.2 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE .............................. 12

2.2.1. PLANEJAMENTO ....................................................................................... 13

2.2.2. ANÁLISE ...................................................................................................... 14

2.2.3. PROJETO ...................................................................................................... 14

2.2.4. IMPLEMENTAÇÃO .................................................................................... 15

2.3 MÉTODOS ÁGEIS .............................................................................................. 15

2.3.1. DEFINIÇÃO DO MANIFESTO ÁGIL ........................................................ 15

2.3.2. PRINCIPIOS E VALORES DO MANIFESTO ÁGIL ................................. 16

2.3.3. MOTIVAÇÃO PARA UTILIZAR O DESENVOLVIMENTO ÁGIL ........ 18

2.3.4. OS MAL-ENTENDIDOS NO MÉTODOS ÁGEIS ..................................... 19

2.4 SCRUM ................................................................................................................ 21

2.4.1. HISTORICO.................................................................................................. 21

2.4.2. PAPEIS.......................................................................................................... 22

2.4.3. ARTEFATO .................................................................................................. 25

2.4.4. EVENTOS ..................................................................................................... 26

2.5 GERENCIAMENTO DE PROCESSOS DE NEGÓCIO ..................................... 29

2.5.3. NOTAÇAO BPMN ....................................................................................... 32

CAPÍTULO 3 ESTUDO DE CASO ............................................................................... 38

3.1. DESCRIÇÃO DO CASO .................................................................................... 38

3.2. METODOLOGIA ATUAL ................................................................................. 38

3.3. METODOLOGIA PROPOSTA .......................................................................... 41

Page 6: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

5

3.3.1. PLANEJAMENTO DO PRODUTO ............................................................. 42

3.3.2 EXECUÇÃO DO PROJETO ......................................................................... 44

3.3.3. DESENVOLVIMENTO DE SOFTWARE .................................................. 47

3.3.4. HOMOLOGAÇÃO DO SOFTWARE .......................................................... 50

3.3.5 ENCERRAMENTO DO PROJETO .............................................................. 53

CAPÍTULO 4 CONCLUSÕES ...................................................................................... 55

REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 57

Page 7: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

6

LISTA DE FIGURAS

Figura 1: Etapas do PDS utilizando notação BPMN. Fonte: o próprio .......................... 13

Figura 2: Os diferentes tipos de projetos, e as abordagens de gestão. Fonte IGTI. ....... 19

Figura 3: Visão Geral do Fluxo de um Projeto Scrum. Fonte: SCRUMSTUDY ........... 21

Figura 4: Visão geral dos papéis do Scrum. Fonte: SCRUMSTUDY ........................... 23

Figura 5: Três exemplos de Product Backlog. Fonte: Rafael Sabbagh .......................... 26

Figura 6: Durações Time-Box para Reuniões do Scrum. Fonte: SCRUMSTUDY ....... 27

Figura 7: Ciclo BPM. Fonte: Lecom BPM ..................................................................... 30

Figura 8: Fluxo do Processo de Desenvolvimento de Software nas Instituições Públicas

do Estado de Mato Grosso. Fonte: Governo de Mato Grosso ........................................ 39

Figura 9: Visão Completa do Processo. Fonte: O próprio. ............................................. 42

Figura 10: Fase de Planejamento. Fonte: o próprio. ....................................................... 43

Figura 11: Fase de Execução. Fonte: o próprio. ............................................................. 45

Figura 12: Fase de Desenvolvimento de Software. Fonte: o próprio. ............................ 49

Figura 13: Fase de Homologação. Fonte: o próprio. ...................................................... 51

Figura 14: Subatividade de Executar os Casos de Teste e Corrigir bugs. Fonte: o

próprio. ........................................................................................................................... 52

Figura 15: Fase de Encerramento. Fonte: o próprio. ...................................................... 54

Page 8: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

7

LISTA DE TABELAS

Tabela 1: Eventos de BPMN .......................................................................................... 32

Tabela 2: Atividades de BPMN ...................................................................................... 33

Tabela 3: Gateways de BPMN ....................................................................................... 35

Tabela 4: Objetos de conexão da BPMN ....................................................................... 35

Tabela 5: Swimlanes da BPMN...................................................................................... 36

Tabela 6: Artefatos da BPMN ........................................................................................ 36

Tabela 7: Dados da BPMN ............................................................................................. 37

Tabela 8: Comparativo entre PDSMT e Metodologia Proposta ..................................... 41

Page 9: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

8

LISTA DE SIGLAS E ABREVIATURAS

ABPMP Association of Business Process Management International

BPM Business Process Management

BPMI Business Process Management Initiative

BPMN Business Process Modeling Notation

BPMS Business Process Management Suite

EPC Event-driven Process Chain

IC Instituto de Computação

OMG Object Management Group

OOPSLA Object-Oriented Programming, Systems, Languages & Applications

PDCA Plan, Do, Check and Act

PDS Processo de Desenvolvimento de Software

PDSMT Processo de Desenvolvimento de Software nas Instituições Públicas do

Estado de Mato Grosso.

PO Product Owner

SBOK Scrum Body of Knowledge

TCC Trabalho de Conclusão de Curso

TDD Test Driven Development

TI Tecnologia da Informação

UFMT Universidade Federal de Mato Grosso

UML Unified Modeling Language

Page 10: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

9

CAPÍTULO 1

INTRODUÇÃO

1.1 APRESENTAÇÃO

Com o crescimento de pessoas utilizando os meios eletrônicos, surge a necessidade dos

Governos se modernizarem e oferecer websites que forneça informações e capacidade

de interagir com os cidadãos através da internet de uma forma simples e seguindo as

tendências digitais.

O Instituto de Computação (IC) é vinculado a uma instituição pública, a Universidade

Federal de Mato Grosso (UFMT), onde realiza atividades terceirizadas na área que

envolva a computação, como consultoria e desenvolvimento de software, respeitando os

princípios de boas práticas para o Governo Eletrônico e metodologias ágeis.

As equipes de desenvolvimento e suporte do IC-UFMT possuem uma grande

participação de estagiários e terceirizados em seu time, o que gera um turn-over (o

conceito de turn-over definido pela área de Gestão de Pessoas é dada pela rotatividade

de funcionários no negócio, que dificulta um vínculo longo entre o funcionário e a

empresa), uma vez que os contratos de trabalho são encerrados com frequência pelos

mais diversos motivos, ainda com o projeto em andamento. Essa realidade gera uma

grande demanda de tempo para ensinar aos novos integrantes que estão ingressando no

time sobre todos os procedimentos e regras de negócios adotados no projeto em

andamento.

Considerando que alguns projetos têm interseção com o Governo do Estado de Mato

Grosso e a partir desse cenário, constatou-se necessário desenvolver uma metodologia

de desenvolvimento ágil voltada para web, utilizando o framework Scrum e o Processo

de Desenvolvimento de Software do Governo do Estado de Mato Grosso (PDSMT) em

uma notação de Processos de Negócio.

O Scrum e Gerenciamento de Processos de Negócios serão utilizados para modelar uma

metodologia de desenvolvimento de Software que será utilizada pelo Instituto de

Computação da UFMT para atender a uma necessidade de desenvolvimento de sistema

para a qual foi contratada.

Page 11: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

10

1.2 OBJETIVOS

1.2.1. OBJETIVO GERAL

Desenvolver uma metodologia que seja de fácil compreensão e otimize a incorporação

de novos integrantes da equipe de desenvolvimento, reduzido os impactos causados

pelo turn-over e gerando mais resultado ao projeto.

1.2.2. OBJETIVO ESPECIFICO

Pesquisar o Processo de Desenvolvimento Ágil com Scrum;

Demonstrar a aplicabilidade de técnicas Business Process Management (BPM)

que auxilie no desenvolvimento de software;

Desenvolver uma metodologia com os conceitos de Scrum em conjunto com

Business Process Management (BPM) que atenda a equipes com poucos

empregados e que sofra com rotatividade de empregados (turn-over);

1.3 JUSTIFICATIVA

O Projeto será construído por um grupo de desenvolvedores de software para Web do

Instituto de Computação da Universidade Federal de Mato Grosso. A equipe possui uma

quantidade reduzida de colaboradores, formada por estagiários, gerando uma frequência

de rotatividade de membros ocasionadas pelos términos dos contratos de estágio.

Neste contexto, as atividades são constantemente prejudicadas pela entrada de novos

integrantes na equipe que não possuem conhecimento sobre o projeto em andamento,

regras de negócios e formas de trabalho (cultura operacional).

A partir da integração do Scrum e Business Process Modeling Notation (BPMN), cria-

se um ambiente de fácil assimilação dos processos de desenvolvimento de software

utilizado pela equipe, pois utiliza uma notação gráfica que cria uma ferramenta de

Page 12: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

11

gestão do conhecimento e um processo com passos-a-passos do que deve ser realizados,

além de permitir o aumento de produtividade ao processo sempre quando houver a

entrada de novo componente na equipe e redução de tempo com treinamento e

supervisão inicial sobre o recém-admitido.

1.4 METODOLOGIA

A natureza desta pesquisa é de trabalho original, com objetivos de pesquisa exploratória

e que tem como procedimento técnico a pesquisa bibliografia e experimental. Para

atingir os objetivos propostos na pesquisa, serão realizadas:

1) A primeira etapa constitui uma revisão bibliográfica sobre prática de

desenvolvimento de software, métodos ágeis, Scrum, PDSMT e

Gerenciamento de Processos de Negócio;

2) A segunda etapa constitui em realizar uma pesquisa com a equipe de

desenvolvimento dos problemas existentes e apresentar uma possível

proposta de solução com técnicas de Scrum, PDSMT e BPM;

3) A construção de Diagramas da metodologia proposta em Notação de

Processo de Negócios utilizando a ferramenta Bizagi Modeler.

4) Documentação escrita e visual, explicando os artefatos, fases, atividades e

subatividades da metodologia proposta.

5) Apresentação aos gerentes de projetos responsáveis do IC-UFMT sobre a

metodologia proposta, com feedback de sugestões para melhoria e correções.

Page 13: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

12

CAPÍTULO 2

FUNDAMENTAÇÃO TEÓRICA

2.1 INTRODUÇÃO

A fundamentação teórica dará subsídios para entender a metodologia proposta que será

aplicada ao trabalho.

2.2 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Os motivos que levam uma organização a solicitar o desenvolvimento de software é

automatizar uma atividade que lhe proporcione algum benefício, como por exemplo,

aumento da qualidade dos produtos ou serviços prestados, aumento de vantagens

competitivas com dados que possa lhe ajudar a tomar decisões, otimizar a gestão do

negócio e diversos outros motivos levam as empresas a se informatizar.

E o Processo de Desenvolvimento de Software (PDS) é o canal utilizado para empresas

que necessitam de uma solução customizada para seu negócio. O PDS é similar a

qualquer outro processo, como o utilizado na indústria, construção civil, comércios,

serviços técnicos etc. O mais habitual em literaturas é realizar a analogia do processo de

desenvolvimento de software com o processo de construção civil, onde existe as fases

de planejamento, análise, projeto (design) e implementação independentes da

metodologia de desenvolvimento usada. Vejamos um exemplo:

Sob vários aspectos, a criação de um sistema de informação é similar à

construção de uma casa. Em primeiro lugar, o proprietário descreve a visão

da casa para o projetista. Em segundo lugar, essa ideia é colocada na forma

de croquis e desenhos esquemáticos, que são mostrados ao proprietário e

detalhados (frequentemente por meio de vários outros desenhos, cada um

deles aprimorando o anterior) , até ele concordar que as figuras descrevem o

que ele quer. Em terceiro lugar, é desenvolvido um conjunto de plantas

detalhadas, apresentando muito mais informações especificas sobre a casa

(por exemplo, posição dos quartos, localização dos aparelhos hidráulicos e

tomadas elétricas e assim por diante). Por fim, a casa é construída de acordo

Page 14: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

13

com essas plantas – e, com frequência, com algumas alterações e decisões

tomadas pelo cliente enquanto a casa está sendo erguida. (DENNIS, WIXOM

e ROTH, 2014, p. 11)

Figura 1Etapas do PDS utilizando notação BPMN1. Fonte: o próprio

Nas metodologias tradicionais como Cascata (Waterfall), essas fases ficam mais

evidentes onde se inicia e finaliza cada fase, mas nas metodologias ágeis que estão no

auge, é mais sutil a forma como cada fase se começa e termina, as vezes sendo cíclicas,

contudo todas elas possuem basicamente as mesmas fases.

Apesar de existirem divergências nas fases de desenvolvimento de Software, as fases

adotas a seguir serão baseados no livro Análise e Projeto de Sistemas, maiores

informações sobre o livro, consultar as referências bibliográficas.

2.2.1. PLANEJAMENTO

1 As fases do Processo de Desenvolvimento de Software representando em BPMN se trata dos

macroprocessos, sendo que em cada fase existe diversos outras etapas (ou subprocessos). Processo em Cascata conforme (DENNIS, WIXOM e ROTH, 2014).

Page 15: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

14

A fase de Planejamento tem a finalidade de entender o “por que” um sistema deve ser

desenvolvido e “como” os desenvolvedores procederão a sua construção, sempre com a

premissa de que o sistema diminuirá os custos e aumentará os lucros. Segundo

DENNIS, WIXOM e ROTH (2014) as etapas pertinentes a esta fase são identificar

oportunidades, analisar a viabilidade, desenvolver o plano de trabalho, compor o quadro

de pessoal do projeto e controlar e dirigir o projeto. O Planejamento da viabilidade pode

ser estruturada respondendo a três perguntas simples: Podemos contruí-los? (viabilidade

técnica), Ele agregará valor? (viabilidade econômica) e Se o construirmos, ele será

usado? (viabilidade organizacional).

2.2.2. ANÁLISE

A fase da Análise conforme DENNIS, WIXOM e ROTH (2014) tem por objetivo

responder ás perguntas tais como quem usará o sistema, o que o sistema fará, onde e

quando será usado. Esta fase é dividia em três etapas:

1ª Etapa: A primeira etapa é a desenvolver a estratégia de análise, que verifica a o

sistema atual e seus problemas, caso já exista um em operação, e projeta um futuro

sistema com as correções e melhorias apuradas.

2ª Etapa: Nessa etapa, é realizada o levantamento de requisitos, através das diversas

técnicas disponíveis como entrevistas, seminarios de grupos, questionarios,

Gerenciamento de Processos de Negócios etc. Com o levantamento dos requisitos é

desenvolvido um conceito para o sistema, que será usado para o modelo do sistema a

ser criado.

3ª Etapa: A combinação do conceito do sistema com o modelo do sistema gera um novo

documento chamado proposta do sistema, que servirá de apresentação para o cliente

para tomar a decisão de seguir adiante.

O documento final desta fase é a proposta do sistema que descreve quais requisitos o

sistema terá de atender e dará subsídios para a fase de projetos.

2.2.3. PROJETO

Na fase do Projeto, somente uma pergunta genérica e uma resposta complexa deve-se

ter em mente: como este sistema funcionará? Embora a maior parte das decisões já

Page 16: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

15

tenham sido tomadas na fase de Planejamento e Análise, as decisões tomadas nesta fase

serão de supra importância para o êxito do software. Nessa fase que é trabalhada a

arquitetura de software.

2.2.4. IMPLEMENTAÇÃO

A última fase é de Implementação, onde o sistema realmente começa a ser

desenvolvidos (nessa fase que estão as etapas: programação, testes de software e

desempenho, treinamento e suporte ao usuário e manutenções). É a fase mais cara

durante todo o processo de desenvolvimento de software, e onde os erros são fatais para

o sucesso da aplicação a ser desenvolvida. A implementação é dividia em três etapas: o

desenvolvimento do software, a instalação (nessa fase que fica o treinamento e

responsável pela utilização do aplicativo) e o plano de suporte (suporte ao usuário e

manutenções preventivas e corretivas).

2.3 MÉTODOS ÁGEIS

O Manifesto Ágil surgi em 2001 (Manifesto para o desenvolvimento ágil de software,

2001) com a ideia antagônica existente aos métodos tradicionais, o que ocasionou uma

revolução na ideia de concepção e desenvolvimento de software, com as principais

ideias de entregas constantes que agregue valor ao negócio, envolvimento do cliente no

projeto e grande flexibilidade na alteração do escopo do projeto.

2.3.1. DEFINIÇÃO DO MANIFESTO ÁGIL

De acordo com a definição dada por Gomes (2013, p. 4) ao Manifesto Ágil:

É o embasamento filosófico de todos os métodos ágeis e diversos métodos de

desenvolvimento de software estão alinhados a ele. A maioria deles se utiliza

de ciclos curtos, que são chamados de iterações e normalmente têm duração

de poucas semanas, dessa forma garantindo feedback frequente e respostas

rápidas às mudanças.

Ainda segundo Gomes (2013) a ideia de criação do Manifesto Ágil surgiu da

experiência dos autores, que após participarem de diversos projetos de desenvolvimento

Page 17: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

16

de software, e perceberem problemas com a abordagem tradicional (conhecida como

cascata ou Waterfall) de desenvolvimento. Um grupo de profissionais de

desenvolvimento de software se reuni em um Resort de Ski nas Cordilheiras Wasatch

localizada nas fronteiras dos Estados de Utah e Idaho para discutir melhores maneiras

de produção de software. Os celebres profissionais que participaram desta reunião que

posteriormente daria origem ao Manifesto Ágil foram: “Kent Beck, Mike Beedle, Arie

van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James

Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick,

Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland e Dave Thomas”

(Manifesto para o desenvolvimento ágil de software, 2001).

2.3.2. PRINCIPIOS E VALORES DO MANIFESTO ÁGIL

Nesse encontro deu-se a origem ao Manifesto Ágil, com os 12 princípios que regem o

manifesto. Os princípios do manifesto são:

Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e

contínua de software de valor; aceitar mudanças de requisitos, mesmo no fim

do desenvolvimento. Processos ágeis se adequam a mudanças, para que o

cliente possa tirar vantagens competitivas; entregar software funcionando

com frequência, na escala de semanas até meses, com preferência aos

períodos mais curtos; Pessoas relacionadas à negócios e desenvolvedores

devem trabalhar em conjunto e diariamente, durante todo o curso do projeto;

construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente

e suporte necessário, e confiar que farão seu trabalho; O Método mais

eficiente e eficaz de transmitir informações para, e por dentro de um time de

desenvolvimento, é através de uma conversa cara a cara; Software funcional é

a medida primária de progresso; Processos ágeis promovem um ambiente

sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser

capazes de manter indefinidamente, passos constantes; contínua atenção à

excelência técnica e bom design, aumenta a agilidade; Simplicidade: a arte de

maximizar a quantidade de trabalho que não precisou ser feito; as melhores

arquiteturas, requisitos e designs emergem de times auto-organizáveis; em

intervalos regulares, o time reflete em como ficar mais efetivo, então, se

Page 18: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

17

ajustam e otimizam seu comportamento de acordo. (Manifesto para o

desenvolvimento ágil de software, 2001)

Além desses princípios, o Manifesto Ágil é composto por quatro valores, como:

Indivíduos e interação entre eles mais que processos e ferramentas;

Software em funcionamento mais que documentação abrangente;

Colaboração com o cliente mais que negociação de contratos; Responder a

mudanças mais que seguir um plano” (Manifesto para o desenvolvimento

ágil de software, 2001).

Apesar dos valores nas frases à direita, o Manifesto Ágil, valoriza mais a parte da frase

a esquerda e destacado, entendendo que o texto a direta seja uma forma completar do

valor ou uma explanação que o justifica. A compreensão dos valores ágeis pode ser

entendida conforme (GOMES, 2013) da seguinte forma:

Indivíduo e a interação entre eles mais importantes que processos e ferramentas,

tratar de entender que a equipe é formada por indivíduos, que possuem

características diversas, que devem ser mantidas as diversidades entre os

membros da equipe e valorizado o Ser sem que haja detrimento as ferramentas e

processos de produção e incentivar a interação entre os membros da equipe, por

exemplo, com o senso de colaboração e comunicação constante. Também deve

existir a valorização dos processos e ferramentas, que são essências para o

desenvolvimento de software e que não deve ser desvalorizada, entretanto, é o

Ser que utilizam os processos e ferramentas, gerando o produto final a partir de

seus conhecimentos e habilidades, que são características individuais.

Software em funcionamento mais que documentação abrangente, permitir que ao

final da interação que for realizada, a documentação seja produzida e entregue

ao cliente. Esse é um contraste com o método Waterfall, onde nas fases iniciais,

são criadas uma grande quantidade de documentação de como será o software,

que ao final, o que foi solicitado não se torna mais útil, e com isso a

documentação que serviu de base para sua criação do aplicativo passa a não ter

mais significado e deixa de agregar valor.

Page 19: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

18

Colaboração com o cliente é mais valorizada do que negociação contratual, pois

é necessário a aproximação do cliente no projeto, para agregar valor e participar

das mudanças que podem afetam o escopo inicial pelos mais diversos motivos.

E último valor ágil é responder a mudanças é mais importante do que seguir um

plano, visto que o planejamento pode ser alterado, excluído e refeito, dependo

unicamente da necessidade do cliente que pode ser alterada.

2.3.3. MOTIVAÇÃO PARA UTILIZAR O DESENVOLVIMENTO ÁGIL

Um dos maiores motivadores para a transição do método de desenvolvimento

tradicional para métodos ágeis são os benefícios percebidos. Para o desenvolvimento

em ambientes governamental, as vantagens mais relevantes da adoção de métodos ágeis

são:

Maior Satisfação do Cliente e Melhor Gestão de Mudanças de

Prioridades: O planejamento iterativo permite que o cliente facilmente mude

suas prioridades com impacto reduzido na produtividade da equipe porque

planejasse detalhamento apenas daquilo que está mais próximo de ser feito,

evitando também desperdícios e custos desnecessários. A comunicação

constante cite a proximidade com o cliente frequentemente resulta também

em um melhor alinhamento entre os objetivos de TI e com os objetivos de

negócio da organização.

Melhor Disciplina na Engenharia e Melhor Qualidade Interna: A

utilização de práticas ágeis como redução de dívida técnica (melhorar a

qualidade interna do produto), refactoring, desenvolvimento orientado a

testes e programação em par, unido ao mindset de qualidade estimulado de

pelos métodos ágeis, contribuem para a entrega de produtos com melhor

mantenabilidade, extensibilidade e com menos defeitos.

Redução de Custos: Equipes ágeis são menos propensas a desenvolver

funcionalidades de baixa prioridade ou que se tornaram desnecessárias ao

longo do tempo. Abordagens não ágeis geralmente tendem a cair nesse

problema devido ao grande espaço de tempo entre o levantamento dos

requisitos e entrega do produto. Gomes (2013, p. 10-11)

Page 20: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

19

Além dessas vantagens, Gomes (2013), cita outras primazias trazidas pela agilidade:

melhor time-to-market e maior retorno sobre o investimento; melhor visibilidade dos

projetos; maior produtividade; equipes mais motivadas e redução de risco. Todas essas

vantagens são claramente percebidas tanto em ambientes governamentais como em

segmentos privados.

2.3.4. OS MAL-ENTENDIDOS NO MÉTODOS ÁGEIS

Os Métodos Ágeis mostram claramente possuir diversos benefícios em adota-los,

principalmente em times pequenos, onde ficam mais evidentes as vantagens da

agilidade. Entretanto, os Ágeis têm seus mal-entendidos, que devem ser esclarecidos.

Os dois mais comuns são: Projetos ágeis são poucos planejados e que não existe

documentação.

O mal-entendido de que os projetos ágeis são poucos planejados, quando se comparada

com o modelo de desenvolvimento em Cascata. Os métodos ágeis partem da premissa

de que haverá mudanças ao longo do projeto e elas serão bem-vindas, por isso, não é

interessante detalhar todo o planejamento no início, sendo que o esforço de

planejamento ocorre ao longo de todo projeto, mas como em qualquer projeto, os

projetos ágeis não deixam de existem metas de prazos, esforço, orçamento e qualidade e

escopo como em projetos tradicionais de desenvolvimento de software. A imagem a

seguir faz o comparativo entre as diferentes formas e de projeto e as suas gestões.

Figura 2Os diferentes tipos de projetos, e as abordagens de gestão. Fonte IGTI.

Page 21: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

20

No projeto caótico, Gomes (2013) ilustra um ambiente de caos gerado pelo pouco

planejamento no desenvolvimento de software:

Agora pense em uma equipe de desenvolvimento de software que não possui

nenhuma regra comum entre os membros da equipe, cada um escreve código

da maneira que acha melhor, uns escrevem testes outros não, alguns utilizam

certas convenções, outros utilizam outras, cada um trabalha em sua

linguagem de programação preferida, alguns trabalham no escritório outros

de casa, cada um define sua frequência de integração do código. Gomes

(2013, p. 27)

Já nos projetos tradicional de software, o desenvolvimento de software é tratado como

se fosse um ambiente totalmente controlado e ordenado, onde toda as variáveis podem

ser isoladas e por isso prever futuros acontecimentos sem desvio de percursos. Mas o

que ocorre “quando tentamos trazer nossas organizações para o extremo da ordem, para

que possamos tornar as coisas mais previsíveis e manter tudo sob controle, criamos uma

série regras, e enrijecemos o sistema, tornando-o pouco adaptativo e burocrático”

Gomes (2013, p. 26).

Os métodos ágeis são o meio termo entre caótico e previsível, o que seria um ambiente

complexo, onde há a auto-gestão, adaptativo a mudanças e tem finalidade de gerar valor

ao negócio, sendo seu planejamento ocorre a cada interação ou fase do projeto, sendo o

planejamento por etapas.

O segundo mal-entendido mais comum para quem está ingressando no desenvolvimento

ágil é acreditar que nos métodos ágeis não exista documentação de software. Entretanto

essa documentação existe, apesar da grande diferença evidente em torno da forma de

documentação nos projetos tradicionais e ágeis.

Um exemplo no modelo tradicional, o documento mais importante, é a documentação

dos requisitos, que detalhara e comunicara aos desenvolvedores o que e como será feito,

além de servir como contrato entre o cliente e o desenvolvedor sobre o que será

construído. Sendo também muito utilizada para identificar defeitos quando o software

não possui conformidade com a documentação de requisitos.

Page 22: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

21

Contudo nos métodos ágeis valorizam a comunicação, que é dada de forma direta com

seus membros, sendo formado por equipes pequenas, o que não ocasiona a necessidade

de documentar essas informações, reduzindo drasticamente a quantidade de documentos

formais. Além da prática do cliente diretamente envolvido no projeto e prática de

técnicas como o TDD (Test Driven Development) e desenhos simples sobre a solução a

ser criada, deixando o código mais explicativo e auto documentado.

2.4 SCRUM

Segundo GOMES (2013, p. 12) Scrum é o framework mais popular da atualidade, sendo

voltando para gestão de projeto de desenvolvimento de software iterativo e incremental,

com três papeis, um artefato obrigatório e seis eventos, que tenta extinguir problemas

como não comprimento dos prazos, problema de comunicação, mudança de escopo e

estimativa errada do prazo, que são os motivos mais frequentes para o insucesso do

projeto.

Figura 3Visão Geral do Fluxo de um Projeto Scrum. Fonte: SCRUMSTUDY

2.4.1. HISTORICO

A história do Scrum surge baseando em uma estratégia de gerenciamento de fabricação

de produtos industrializados, que foi publicada em artigo chamado “The New Product

Development Game" por Hirotaka Takeuchi e Nonaka Ikujiro que inspirou o

desenvolvimento do Scrum. No Guia SBOK, o guia de conhecimento do Scrum,

constata-se o seguinte breve histórico:

Page 23: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

22

Em meados dos anos 80, Hirotaka Takeuchi e Nonaka Ikujiro definiram uma

estratégia flexível e completa para o desenvolvimento de produtos, onde o

time de desenvolvimento trabalha como uma unidade, para alcançar um

objetivo comum. Eles descreveram uma abordagem inovadora para o

desenvolvimento de produtos, que chamaram de abordagem holística ou

"rugby", "onde um time tenta percorrer a distância como uma unidade,

passando a bola para frente e para trás." Eles basearam esta abordagem nos

estudos de caso de diversas indústrias. Takeuchi e Nonaka propõem que o

desenvolvimento do produto não deve ser como uma sequência de corrida de

revezamento, mas sim semelhante ao jogo de rugby em que o time trabalha

em conjunto, passando a bola para frente e para tras movendo-se através do

campo como uma unidade. O conceito de rugby em "Scrum" (onde um grupo

de jogadores se reúnem para reiniciar o jogo) foi introduzido neste artigo para

descrever a proposta dos autores de que o desenvolvimento do produto deve

envolver "o movimento de Scrum campo abaixo ".

Os criadores do Scrum, Ken Schwaber e Jeff Sutherland, demostraram sua ideia de

framework para desenvolvimento de software na conferência Object-Oriented

Programming, Systems, Languages & Applications (OOPSLA) em 1995 nos Estados

Unidos da América, onde receberam diversos feedback com sugestões de melhoria e

como estava sendo a implantação e utilização nos projetos, consolidando essas

informações e chegando ao Scrum conhecido por nós.

2.4.2. PAPEIS

O framework Scrum possui uma quantidade de papeis reduzidos, representado somente

por três papeis, sendo um Scrum Master e Product Owner, e o Time de

desenvolvimento que, são a essência do Scrum para o cumprimento dos objetivos do

Projeto.

Page 24: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

23

Figura 4Visão geral dos papéis do Scrum. Fonte: SCRUMSTUDY

O Scrum Master é considerado o facilitador do Time de desenvolvimento, que deve

fornecer um ambiente propício para que as Sprint funcionem sem impedimentos e

interferências, e caso venha a haver algo durante a Sprint que impeça de executar

corretamente, é dever do Scrum Master tenta remover os impedimentos o mais breve. O

Scrum Master também é o responsável por explicar e verificar se o Time de

Desenvolvimento compreende o funcionamento do framework, promovendo a

motivação do Scrum, palestras e acompanhamento com os novatos em ambiente Scrum.

O SBOK resume da seguinte forma o papel do Scrum Master:

O Scrum Master é um facilitador, que garante ao Time Scrum o fornecimento

de um ambiente propício para concluir com sucesso o projeto. O Scrum

Master guia, facilita e ensina as práticas do Scrum para todos os envolvidos

no projeto; remove os impedimentos encontrados pelo time; e, assegura que

os processos do Scrum estejam sendo seguidos. SCRUMSTUDY ( 2016, p.

40)

Page 25: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

24

Uma dúvida pertinente a quem está iniciando-se no Scrum, é de acreditar que o Scrum

Master é o Gerente de Projeto. O veja o que o SBOK comenta a respeito:

Observe que o papel de Scrum Master é muito diferente do papel

desempenhado pelo Gerente de Projeto em um modelo tradicional de

gerenciamento de projetos (em cascata/waterfall), em que o gerente de

projeto trabalha como um gerente ou líder para o projeto. O Scrum Master,

no entanto, trabalha como um facilitador, ele ou ela está no mesmo nível

hierárquico que outros membros do Time Scrum - qualquer membro do Time

Scrum que tenha a habilidade de facilitar projetos Scrum, pode se tornar o

Scrum Master de um projeto ou Sprint. SCRUMSTUDY ( 2016, p. 40)

O time Scrum é auto gerenciável e todos estão no mesmo nível hierárquico. O Scrum

Master trabalha servindo o time. Segundo Cruz (2014), ainda são atribuições do Scrum

Master planejar e envolver a organização na adotação do Scrum, gerar mudanças que

aumente a produtividade e trabalhar com outros Scrum Master quando houver, para

aumentar a eficácia da utilização do Scrum.

O Product Owner (P.O) representa o cliente e as outras partes interessadas para o time

de desenvolvimento, cabendo a ele tomar as decisões de negócios relativos ao projeto de

software e esclarecer as dúvida a respeito dos requisitos e critérios de qualidades de

aceitação alinhados com os objetivos do cliente. O SBok define o P.O (também

conhecido como Dono do Produto) como “a pessoa responsável por maximizar o valor

do negócio para o projeto. Ele ou ela é responsável por articular as necessidades dos

clientes e manter a justificativa de negócio para o projeto. O Dono do Produto

representa a Voz do Cliente” (SCRUMSTUDY, 2016, p. 41) . O P.O. é o único

responsável pelo gerenciamente do backlog do produto, sendo o backlog é organizado

conforme a prioridade de itens que agregue maior valor ao negócio.

O Time de Desenvolvimento é um grupo generalista, onde ficaram as pessoas

responsaveis pelo o desenvolvimento da Sprint. O gerencialmente da equipe é auto

organizado, sendo que dentro desse grupo não exista nivel hierarquico e nem

especializações (como programador, arquiteteto de software, designer etc). Vejamos a

definição de Time de Desenvolvimento dada por Rafael Sabbagh:

O Time de Desenvolvimento gerencia o seu trabalho de desenvolvimento do

produto. É ele que determina tecnicamente como o produto será

Page 26: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

25

desenvolvido, planeja esse trabalho e acompanha seu progresso. Para tal, tem

propriedade e autoridade sobre suas decisões e, ao mesmo tempo, é

responsável e responsabilizado por seus resultados. (SABBAGH, 2013, p.

61)

O time deve ser pequeno, entre 3 a 9 integrantes, para não prejudicar a auto-organização

e comunicação, deve ser motivado, orientado a excelência técnica do projeto e focado

nas metas estabelecida junto com o P.O.

2.4.3. ARTEFATO

O único artefato do Scrum é o Backlog, que é dividido em três partes: backlog do

produto, backlog da versão de entrega e backlog da Sprint, que são gerenciados pelo

P.O. Existem outros artefatos utilizados no Scrum e em diversas literaturas, entretanto

não são oficiais, não são descritas no Guia do Scrum. A definição de Backlog dada por

Fábio Cruz é:

O backlog é o principal artefato do Scrum. Ele reúne os requisitos do produto

a ser entregue, bem como todo o entendimento necessário para atender aos

requisitos, produzir funcionalidades e, por fim, entregar o produto. Em outras

palavras, é uma lista de todas as características, funções, tecnologias,

melhorias e correções que constituem o produto a ser entregue. (CRUZ,

2014)

A conceituação do backlog do produto é “uma lista de tudo o que se acredita que será

desenvolvido pelo Time de Desenvolvimento no decorrer do projeto” (SABBAGH,

2013). O backlog do produto sempre é atualizado, ordenada conforme as prioridades do

cliente e quando o item se aproxima ao topo da lista, tem seus detalhes expandidos pelo

P.O.

Uma característica do backlog de produto é de estar “em constante evolução e, assim,

nunca está terminado ou completo. Conforme o produto evolui, o Product Backlog é

frequentemente modificado com a adição, subtração, reordenamento e modificação de

seus itens” (SABBAGH, 2013).

Page 27: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

26

Figura 5Três exemplos de Product Backlog. Fonte: Rafael Sabbagh

O backlog da versão (existem divergências nas denominações) é “o incremento é a

soma de todos os itens do Backlog do Produto completados durante a Sprint e o valor

dos incrementos de todas as Sprints anteriores” (SABBAGH, 2013). O backlog da

versão é o release, que é a formação de vários Sprints, que isolada seria somente

pedaços do software que não teria contextualização para funcionamento e não

representaria um valor ao cliente.

O backlog da Sprint é “uma lista de itens selecionados do alto do Product Backlog para

o desenvolvimento do Incremento do Produto no Sprint (o quê), adicionada de um plano

de como esse trabalho será realizado (como) ” (SABBAGH, 2013). O que é a lista

escolhida pelo Time de Desenvolvimento e negociada com o P.O na reunião que se

antecede a Sprint, chamada de reunião de planejamento de Sprint. O como, é o plano de

ação correspondente do que será desenvolvido, normalmente se quebra a Sprint em

pedaços menores para facilitar o gerenciamento das atividades. Os itens de Backlog do

Produto selecionados para a Sprint, junto com o plano de entrega destes itens é o

Backlog da Sprint.

2.4.4. EVENTOS

O Scrum possui 5 eventos descritos em seu framework, sendo a Sprint, Reunião de

Planejamento da Sprint, Reuniões diárias, Revisão da Sprint e Retrospectiva da Sprint.

Page 28: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

27

A Sprint é o coração do Scrum, um evento que dura em média de duas a seis semanas,

conforme negociado pela equipe e durante esse período todo o esforço é focado no

desenvolvimento. Uma nova Sprint inicia imediatamente após a conclusão da Sprint

anterior. Em cada Sprint é definido o que deve ser construído, um plano de construção e

no final o resultado do trabalho construído. Durante a Sprint, não devem ser feitas

mudanças, as metas de qualidade não podem ser inferiores aos ajustados anteriormente,

e o escopo deve estar claro e renegociado com o P.O caso haja necessidade.

Figura 6Durações Time-Box para Reuniões do Scrum. Fonte: SCRUMSTUDY

Na Reunião de Planejamento é realizado o planejamento da Sprint com o trabalho

colaborativo de todo Time do Scrum, que deve responder os seguintes questionamentos:

- O que será entregue como resultado do incremento da próxima Sprint?

- Como o trabalho necessário para entregar o incremento será realizado?

O primeiro questionamento, a equipe de desenvolvimento trabalha para definir as

funcionalidades que serão desenvolvidas durante toda a Sprint. O P.O apresenta os itens

do backlog do produto ordenados em prioridade para a Equipe de Desenvolvimento e

todo o time colabora para a compreensão do trabalho a ser realizado.

Page 29: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

28

Já no segundo questionamento, a Equipe de Desenvolvimento decide como irá construir

essas funcionalidades durante a Sprint e transformar-lhe em um incremento do produto

que agregue valor.

A Reunião Diária é um evento que deve ser realizada com frequência diária, com

duração máxima de 15 minutos, sempre no mesmo local e horário para fomentar o

habito no Time de Desenvolvimento e que tem o objetivo de sincronizar as atividades e

criar um planejamento para as próximas 24 horas. Essa reunião é gerenciada pelo Scrum

Master, que tem a meta de não deixar a reunião se desvirtuar do seu objetivo. Na

Reunião Diária, cada integrante do Time de Desenvolvimento deve responder a três

perguntas:

- O que foi completado desde a última reunião?

- O que será feito até a próxima reunião?

- Quais os impedimentos que estão a caminho?

Ao responder essas perguntas, é possível a equipe avaliar o progresso e maximizar o

sucesso da Sprint, além de dar feedback para o Scrum Master e o P.O.

A Revisão de Sprint conforme Cruz (2014, p. 152):

O objetivo maior dessa reunião é a inspeção do incremento, pelo PO ou pelo

cliente, e a adaptação do backlog do produto se necessário. A melhor maneira

de fazer isso é justamente realizar uma apresentação ao PO de todos os itens

completados na Sprint. A sugestão mais indicada é que o Time faça uma

demonstração do funcionamento do produto, apresentando o que está pronto

e como está realmente funcionando.

E ainda “deve ocorrer ao ͆final do ciclo da Sprint e tem o objetivo de avaliar o que está

sendo e o que deveria ser entregue. Todos participam dessa etapa” (CRUZ, 2014, p.

152).

Logo após finalizar a Reunião de Revisão de Sprint e antes da próxima Sprint, deve-se

ocorrer a Reunião de Retrospectiva da Sprint. O objetivo desta reunião é examinar a si

próprios e criar um plano de melhoria a serem aplicadas na próxima Sprint. A Reunião

de Retrospectiva da Sprint tem 3 propósitos:

- Avaliar como a Sprint foi em relação a pessoas, processos e produtos;

- Identificar itens que foram bem e documentar esse conhecimento para futuras

reaplicações;

Page 30: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

29

- Desenvolver um plano de melhorias no modo do Time de Desenvolvimento possa

otimizar seu trabalho.

Ao final da Retrospectiva da Sprint, o Time deverá ter identificado melhorias que serão

implantadas na próxima Sprint.

2.5 GERENCIAMENTO DE PROCESSOS DE NEGÓCIO

2.5.1. CONCEITOS DE GERENCIMENTO DE PROCESSOS DE NEGÓCIOS

Existem diversos livros e artigos com conceitos sucintos para o Gerenciamento de

Processos de Negócios (BPM – Business Process Management), um dos conceitos mais

simples é dados por Baldam, Valle e Rozenfeld (2014, p.13) como:

É uma abordagem disciplinada para identificar, desenhar, executar,

documentar, implantar, medir, monitorar, controlar, e melhorar processos de

negócio com o objetivo de alcançar resultados consistentes e alinhados com

as estrategias de uma organização.

A definição de Gerenciamento de Processos de Negócios dada pelo Guia para o

Gerenciamento de Processos de Negócios (BPM CBOK) é mais extensa e completa

quando se comparada a definição anterior:

Gerencimento de Processos de Negócios representa uma nova forma de

visualizar as operações de negócios que vai além das estruturas funcionais

tradicionais. Essa visão compreende todo o trabalho executado para entregar

o produto ou serviço do processo, independente de quais áreas funcionais ou

localização estejam envolvidas. Começa em um nível mais alto do que o

nível que realmente executa o trabalho e, então, subdivide-se em

subprocessos que devem ser realizados por uma ou mais atividades (fluxos de

trabalho) dentro de funções de negócios (áreas funcionais). As atividades, por

sua vez, podem ser decompostas em tarefas e, adiante, em cenários de

realização da tarefa e respectivos passos. (ASSOCIATION OF BUSINESS

PROCESS MANAGEMENT PROFESSIONALS, 2013, p. 33)

Page 31: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

30

Com esses conceitos, vimos que a BPM é uma nova forma de gerencia negócios de

qualquer instituição, por meio de práticas comerciais que torna qualquer processo mais

eficientes e alinhados com os negócios, beneficiando principalmente a TI e

departamentos que trabalhem com inovação. A BPM é uma forma de gestão muito rica

e dinâmica, tendo um ciclo de vida que proporciona melhorias no processo, possuindo

similaridades com o tradicional PDCA.

Figura 7Ciclo BPM. Fonte: Lecom BPM

No portal Lecom BPM existe uma descrição de cada etapa do ciclo BPM:

1. Planejamento e estratégia: Este é o momento de desenvolver uma

estratégia dirigida para processos. Pois tal desenvolvimento oferecerá

estrutura e direcionamento para a gestão contínua dos processos e seu

objetivo macro deve estar alinhado com os da empresa e para isso, é

necessário ter conhecimento sobre as metas da empresa. 2. Análise de

processos de negócio: A análise do processo é quando serão validadas as

informações antes da ação efetivamente. É quando o contexto no qual as

metas e objetivos estão inseridos são medidos e suas variáveis, como fatores

externos, são identificadas. 3. Desenho e modelagem: Na prática, as pessoas

tendem a achar que sabem como o processo funciona, mas ao desenhá-lo é

possível identificar as falhas, repetições e fases desnecessárias. Portanto o

desenho do processo é sua materialização. É neste momento que perguntas

como: O quê, quando, onde, quem e como serão respondidas. Conforme

comentado acima, essas três primeiras fases podem variar conforme a

maturidade da empresa na prática de BPM. Elas podem se tornar uma fase

Page 32: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

31

com três etapas, ao invés de três fases. Consequentemente despende de

menos tempo. 4. Implementação de processos: Agora é à hora da ação:

quando o desenho é posto em prática. É o momento também de pequenos

ajustes. 5. Monitoramento e controle: Monitorar ajuda a prover informações

sobre o desempenho através de métricas. E ajuda a pensar em ações de

refinamento. 6. Refinamento: Mediante os resultados é preciso fazer uma

melhoria ou redesenho de determinado processo. O monitoramento deve ser

contínuo para que os resultados sejam alcançados. E assim, obtemos a

satisfação da empresa. (ALVARES, Lecom BPM)

Devido a riqueza de detalhes que o ciclo BPM pode gerar, este trabalho acadêmico se

limitará ao desenho do processo.

2.5.2. MODELAGEM DE PROCESSO DE NEGÓCIO

A modelagem de processos é a atividade de construir modelos. Segundo BALDAM,

VALLE e ROZENFELD (2014) “um modelo é uma representação (com maior ou

menor grau de formalidade) abstrata da realidade (num dado contexto)”. Já para

ASSOCIATION OF BUSINESS PROCESS MANAGEMENT PROFESSIONALS

(2013. p.72) tem um significado amplo para modelagem de processos:

Modelagem de processos de negócio é o conjunto de atividades envolvidas

na criação de representações de processos de negócio existentes ou proposto.

Pode prover uma perspectiva ponta a ponta ou uma porção dos processos

primários, de suporte ou de gerenciamento.

O propósito da modelagem é criar uma representação do processo de maneira

completa e precisa sobre seu funcionamanto. Por esse motivo, o nível de

detalhamento e o tipo específico de modelo têm como base o que é esperado

da iniciativa de modelagem. Um diagrama simples pode ser suficiente em

alguns casos, enquanto um modelo completo e detalhado pode ser necessário

em outros.

Para representação da Modelagem de Processo, existe diversas linguagem gráfica de

diagramação para representação de processos como BPMN (Acronico de Business

Process Modeling and Notation, tradução: Notação de Modelagem de Processos de

Negócio), Fluxogramas, EPC (Event-driven Process Chain, tradução livre: Cadeia de

Page 33: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

32

Processos orientada a eventos), UML (Unified Modeling Language, tradução:

Linguagem de Modelagem Unificiada), entre outras várias que atendem a algum

objetivo especifico.

A BPMN será a notação de modelagem adotada neste trabalho, por atender a nossa

necessidade de forma mais eficiente, além de ser a notação mais popular. A BPMN foi

criada pela Business Management Initiative (BPMI), posteriormente incorporada ao

Object Management Group (OMG), grupo que gerencia outras notações no mundo da

tecnologia da informação como a UML, por exemplo.

Segundo a ABPMP, as principais caracteristicas do BPMN são que os “ícones

organizados em conjuntos descritivos e analíticos para antender a diferentes

necessidades de utilização” além de a “notação permite indicação de eventos de inícios,

intermediário e fim; fluxo de atividades e mensagens; comunicação intranegócio e

colaboração internegócio”. Ainda conforme a ABPMP, ela tem a caracterista de ser

muito utilizada quando se necessita apresentar um modelo de processo para publico-

alvos distintos, como analistas de negócios, pessoal de tecnologia da informação e

marketing por exemplo. Essas caracteristicas da BPMN geram uma facilidade de uso e

entendimentos por diversos setores e organização pela padronização e estar presente em

diversos setores empresarial, não sendo uma exclusividade do setor de TI, além de ser

versatil para modelar diversas situações em que ocorrem na empresa e ser fácil de

utilizar em ferramentas BPMS( Business Process Management System, tradução:

Sistema de Gerenciamento de Processos de Negócio).

2.5.3. NOTAÇAO BPMN

A seguir serão descritos os principais elementos da notação BPMN, conforme BPMN 2.

De acordo com Baldam, Valle e Rozenfeld, (2014, p.331): “Um evento é algo que

“ocorre” durante o curso de um processo. Eventos indicam o fluxo do processo e

usualmente possuem uma causa (gatilho) ou impacto (resultado)”.

Tabela 1Eventos de BPMN

Eventos

Page 34: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

33

Não especifica nenhum fato particular para o início do processo.

Indica que um fato não especificado ocorre no fluxo do processo.

Finaliza o processo garantindo que qualquer fluxo paralelo seja

cancelado (o processo é completamente encerrado).

Indica que o fluxo do processo chegou ao fim sem gerar nenhum

evento em particular.

A tarefa é uma atividade de trabalho no menor nível de granularidade. Ela representa

uma ação no processo que pode ser executada por uma pessoa ou um sistema.

Tabela 2Atividades de BPMN

Atividades

Tarefa Abstrata.

Page 35: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

34

Tarefa de Envio.

Tarefa de Execução de Script.

Tarefa Manual.

Tarefa de Envio.

Tarefa de Recebimento que inicia um processo.

Tarefa de Regra de Negócio.

Tarefa de Serviço.

Tarefa de Usuário.

Os Gateways representam alternativas ao fluxo do processo a ser percorrido.

Page 36: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

35

Tabela 3Gateways de BPMN

Gateways

Sinaliza que durante a execução da tarefa, múltiplos eventos são

esperados e que qualquer um deles poderá iniciar o fluxo

decorrente do evento.

Dá seguimento ao fluxo por uma condição exclusiva, em que

apenas um dos caminhos será seguido de acordo com uma

informação a ser testada.

Esse elemento indica que existem muitas maneiras para iniciar o

processo e após a conclusão de um deles, o processo começará.

São esperados múltiplos eventos para começar o processo, e

todos devem ocorrer para inicia-lo.

Os elementos de ligação (conectores) para controle dos fluxos de sequência do trabalho

e de comunicação no processo.

Tabela 4Objetos de conexão da BPMN

Objetos de

conexão

Conforme Baldam, Valle e Rozenfeld, (2014, p.333) fluxo de

sequencia “refere-se ao fluxo originario a partir de um evento e

continua através de atividades até o evento final, não depedendo

Page 37: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

36

de condição”.

Conforme Baldam, Valle e Rozenfeld, (2014, p.333) fluxo de

sequencia condicional “seguirá depedendo de condições

estabelecida. Somente será usada esta representação quando não

for usada a representação condicional com o losango”.

Conforme Baldam, Valle e Rozenfeld, (2014, p.333) fluxo de

mensagem “é usado para mostrar fluxo de mensagem em duas

entidades que podem enviar e receber. No BPMN duas psicinas

representam duas entidades”.

Conforme Baldam, Valle e Rozenfeld, (2014, p.336) associação

“é usada para associar informações com objetos do fluxo. Textos

e objetos que não sejam do fluxo podem ser usado com objetos

do fluxo.

As Raias (Swimlanes) representam os elementos de organização do fluxo.

Tabela 5Swimlanes da BPMN

Swimlanes

A piscina (pool) é um contêiner de processo de negócio. É

permitido apenas um processo por pool. O nome do pool

representa o processo de negócio que está contido nela.

É uma subdivisão de um pool, que pode ser usada para

representar um papel ou uma área organizacional responsável

pelas tarefas dispostas naquela linha.

Os Artefatos são elementos de complementação com informações visuais no diagrama.

Tabela 6Artefatos da BPMN

Artefatos

Page 38: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

37

É um elemento de marcação que permite destacar com fins

puramente visuais, um agrupamento de componentes.

É usado para proporcionar informação adicional sobre um

processo.

Provê informações sobre o que é requerido pela atividade para ser executada e o que ela

produz.

Tabela 7Dados da BPMN

Dados

Representa um conjunto de informações cuja representação é

importante para a compreensão do fluxo do processo.

Representa um repositório de informações de qualquer espécie

que pode ser consultado ou atualizada no decorrer da realização

de alguma tarefa.

Page 39: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

38

CAPÍTULO 3

PROPOSTA DA METODOLOGIA

3.1. DESCRIÇÃO DO CASO

A Universidade Federal do Mato Grosso, ao prestar serviços para clientes externos, é

submetida a atender a requisitos contratuais de entregas de artefatos descrevendo como

o software foi projetado. O modelo sugerido pelo Governo do Estado de Mato Grosso, é

um modelo próprio, com diversas fases, atividades, papeis e artefatos. Mostrando-se

inviável para times de desenvolvimentos pequenos e que possui uma grande

rotatividade de funcionários como acontece no IC-UFMT. Para tentar minimizar esses

problemas ocasionados pelo turn-over e estrutura funcional enxuta, uma metodologia

baseada em Scrum e Gerenciamento de Processos de Negócios é sugerida.

3.2. METODOLOGIA ATUAL

O Processo de Desenvolvimento de Software nas Instituições Públicas do Estado de

Mato Grosso, denominado de PDSMT, é uma metodologia baseada no processo de

desenvolvimento em cascata, que possui todas as atividades definidas em seis fases

(concepção, projeto, implementação, teste, homologação e implementação/entrega),

doze papeis e a documentação que serão produzidas em cada fase.

Page 40: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

39

Abaixo a imagem descritiva do Processo de Desenvolvimento de Software nas

Instituições Públicas do Estado de Mato Grosso (PDSMT) em fases.

Figura 8Fluxo do Processo de Desenvolvimento de Software nas Instituições Públicas do Estado de Mato Grosso. Fonte: Governo de Mato Grosso

A seguir uma breve descrição das fases do PDS, as informações detalhadas encontram-

se no anexo ao trabalho, onde descreve papeis, atividades, fases e etc.

Na fase do Diagnostico, segundo o Guia de Referência PDSMT, é dada as seguintes

informações sobre essa fase:

A atividade de diagnóstico antecede o início da execução do processo e tem

como finalidade analisar a viabilidade de execução do projeto e, por

conseguinte, o início do desenvolvimento do processo. Através desta

atividade o cliente deve definir o fluxo do negócio que será automatizado e

os requisitos que o sistema deve conter. Estas definições devem ser realizadas

com o auxílio do analista de sistemas. Sendo assim, dois documentos serão

utilizados para iniciar o processo: o fluxo de negócio, cuja elaboração é

altamente recomendável e deve seguir as recomendações do BPMN

(Business Process Modeling Notation – Notação para Modelagem de

Processo do Negócio) e o documento de requisitos elaborado através do

template de Requisitos, cuja elaboração é o referencial para a definição do

escopo do projeto. (PDSMT, 2015, p. 12)

Page 41: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

40

Nessa fase somente dois papeis ainda existem, o cliente e o líder de projeto, onde eles

verificam a viabilidade de desenvolvimento do sistema. A descrição das atividades

dessa fase, consta no anexo do trabalho.

A fase de Concepção, segundo o PDSMT é descrita como:

A fase de concepção dá início ao desenvolvimento do software, por este

motivo as decisões sobre a viabilidade de desenvolvimento e a

disponibilidade da equipe já devem ter sido tomadas quando as atividades

desta fase começarem.

Essa fase do PDSMT, é onde possui mais atividade e onde emprega muito tempo

planejando e gerando artefatos como documento de visão, documento de requisitos,

cronograma, pontos por função, ata, diagrama de caso de uso, especificação de caso de

uso, protótipo e glossário.

No Projeto, conforme descrito no PDSMT, “é apresentar a estimativa de prazos e custos

para que seja aprovado pelo Cliente e, após a aprovação, definir os alicerces para

construção do sistema, tais como, arquitetura, modelo de dados e outros”. No projeto é

onde tem a mais intensa participação de diversos papeis.

Na Implementação, somente uma atividade ocorre, entretanto, é muito intensa e pode

ser a mais longa de todas, onde realmente o Software é construído. Segundo a PDS, o

objetivo dessa fase é “elaborar o código fonte da aplicação e realizar os testes iniciais

para certificar-se que o sistema ou módulo desenvolvido pode passar pela fase de testes

para os ajustes finais”.

Na fase de teste, conforme o PDSMT é “assegurar que o sistema será disponibilizado ao

usuário final com a menor chance possível de apresentar um comportamento

inesperado”. Essa fase tem um envolvimento muito próximo com a Implementação,

pois sempre que detectado um erro, ela retorna para a Implementação verificar e corrigir

o problema.

Na Homologação, de acordo com PDSMT, consiste em “certificar que o sistema está

pronto para ser utilizado pelo usuário final” e finalmente a fase de

Implementação/Encerramento, onde é feita a finalização do sistema, ou como descreve

o PDSMT, “objetivo marcar o encerramento de um projeto ou iteração de

desenvolvimento”.

Page 42: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

41

3.3. METODOLOGIA PROPOSTA

A metodologia proposta para atender a demanda do Governo do Estado de Mato Grosso

pela Instituto de Computação da Universidade Federal de Mato Grosso, é uma

metodologia que mescla Scrum e Gerenciamento de Processos de Negócios. Ao analisar

o PDSMT verifica-se a existência de muitos processos e papeis que são inviáveis de se

manter em uma equipe com estrutura reduzida como a utilizada pelo IC-UFMT, um

processo com difícil compreensão para quem está iniciando na equipe de um projeto já

existente, onde as atividades só seguem no fluxo, não existindo alternativas e além de

não proporcionar a entrega frequente que agregue valor ao cliente ao final de cada

iteração.

Uma tabela comparativa entre as duas metodologias a seguir:

Tabela 8Comparativo entre PDSMT e Metodologia Proposta

PDSMT METODOLOGIA PROPOSTA Papeis 13 7 Fases 7 5 Atividades 23 28 Participação ativa do cliente

Não Sim

Modelo Cascata Iterativo e evolutivo Metodologia baseada em

RUP Scrum

Notação gráfica

Fluxograma simples BPMN

Se fizermos uma analogia da metodologia proposta com o Scrum, veremos muitas

semelhanças, apesar da metodologia proposta possuir suas atividades mais detalhada, o

que ocasiona maior quantidade de atividades, papeis e fases. No Scrum o papel de

Product Owner está associado ao cliente e coordenador de projeto, do Scrum Master é

realizado parte pelo coordenador de projeto e as atividades realizada pelo time de

desenvolvimento são dividas para os papeis de analista de requisitos e negócios,

projetista de banco de dados, arquiteto de softwares, desenvolvedores e equipe de

qualidade. Não existe a necessidade de cada papel ser realizado por um profissional

diferente, a divisão é para deixar mais didático. Se a visão geral do Scrum for divido em

fases, obteremos basicamente 3 fases, planejamento, desenvolvimento e entrega. Na

Page 43: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

42

metodologia proposta existem 5 fases, a fase de planejamento é similar com a do Scrum,

onde é realizada a caso de negócio do projeto, declaração da visão do projeto, backlog

priorizado do produto e cronograma de planejamento da release, a metodologia

proposta atende essas atividades, de com uma outra abordagem, que se estende a duas

fases, planejamento do projeto e execução do projeto\planejamento do

desenvolvimento. No Scrum o que seria a fase de desenvolvimento, nessa metodologia

existe um desdobramento em duas fases, Execução do Projeto\Desenvolvimento de

Software e Execução do Projeto\Homologação do Software, onde o desenvolvimento

ocorre e as entregas periódicas acontecem. E a fase de entrega aqui é denominada de

Encerramento do Projeto, onde é feita as lições aprendidas, desmobilização da equipe e

encerramento do projeto.

Figura 9Visão Completa do Processo. Fonte: O próprio.

O processo proposto é mais detalhado por papeis, fases e atividades, para facilitar a

compreensão para novos integrantes no decorrer do projeto.

3.3.1. PLANEJAMENTO DO PROJETO

A fase de Planejamento do Projeto aborda os papeis do cliente, Coordenador de Projeto

(PMO) e Analista de Requisitos e Negócios. Nessa fase são entendidos os “por que”,

Page 44: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

43

riscos e prazo que o sistema deve ser elaborado.

Figura 10Fase de Planejamento. Fonte: o próprio.

A seguir as descrições das atividades da fase de Planejamento do Projeto:

Descreve a necessidade: o cliente justifica a necessidade do sistema e descreve

brevemente como imagina que o sistema atenderá sua necessidade.

Modelagem do Processo do Negócio: Realiza a modelagem macro do processo de

negócio e faz o levantamento de todos os artefatos necessários para tal, que serão base

para o levantamento de requisitos e criação dos artefatos de gestão. Como artefato de

entrega possui a ata de reunião.

Validar a Modelagem do Processo de Negócio: A validação da modelagem do processo

de negócio junto ao cliente para verificar se a modelagem está coerente.

Essa atividade recebe como entrada a Modelagem do Processo de Negócio e como saída

entrega a Ata de Reunião com parecer favorável, ou retorna para atividade anterior para

ser corrigida e novamente submetida.

Page 45: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

44

Elaborar Documento de Visão: O Documento de Visão é um artefato fundamental na

fase de concepção, através deste documento é possível firmar um acordo com o cliente

de quais os principais requisitos do sistema, quais funcionalidades serão abordadas e

quais as expectativas do cliente sobre a forma que o sistema auxiliará em suas

necessidades e quais leis e normas o sistema deve obedecer. Como artefato de entrega

possui o Documento de Visão.

Criar Repositório de Dados: o repositório de dados será composto de ferramentas Git

(Controlador de Versão), Redis, Docker, entre outros, que auxilie na organização dos

binários e documentação do sistema a ser desenvolvido.

Identificar os Riscos do Projeto: A identificação dos riscos pertinentes ao projeto, que

ameaça a sua obtenção de sucesso, como prazo de entrega, capacidade técnica etc.

Nessa atividade não existe entrega obrigatória conforme o PDSMT.

Elaborar Cronograma de Fase: Nesta tarefa é elaborada o Cronograma das fases

conforme a Modelagem de Processo de Negócios, repositórios de dados e identificação

dos riscos, para estimar os prazos. Nessa atividade não existe entrega obrigatória

conforme o PDSMT.

3.3.2 EXECUÇÃO DO PROJETO

A fase de Execução do Projeto\Planejamento, é uma fase subsequente da fase de

Planejamento, onde ainda são realizados os planejamentos do sistema, mas agora com

características mais técnicas e menos negocial. Esta fase é trabalhada pelos papeis do

Coordenador de Projetos, Analista de Requisitos e Negócios, Projetista de Banco de

Dados, Arquiteto de Software e Equipe de Qualidade.

Page 46: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

45

Figura 11Fase de Execução. Fonte: o próprio.

A seguir as atividades da fase de Execução do Projeto/Planejamento de

Desenvolvimento:

Monitorar e controlar o projeto e as entregas: Essa atividade encontra-se em transição,

com o início nesta fase, entretanto a maior parte da sua atividade acontece na fase de

Execução do Projeto/Desenvolvimento do Software. Essa atividade envolve atualização

do cronograma, dos riscos, do escopo e demais áreas da gestão. Ficar atento as entregas,

no que tange aos prazos e a qualidade. Atividade exercida pelo Coordenador de Projeto

(PMO). Nessa atividade não existe entrega obrigatória conforme o PDSMT.

Page 47: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

46

Elaborar Glossário: Essa atividade encontra-se em transição, com o inicio nesta fase,

entretanto a maior parte da sua atividade acontece na fase de Execução do

Projeto/Desenvolvimento do Software. Essa atividade descrever as informações técnicas

que seja de fácil entendimento a todos os participantes do projeto, inclusive para o

cliente. Atividade exercida pelo Coordenador de Projeto (PMO). Como artefato de

entrega possui o Glossário.

Elaborar Diagramas e especificar os Caso e Uso: o Diagrama de Caso de Uso é

importante por oferecer uma visão geral do sistema e dos usuários (atores) que irão

interagir com ele. Ao ver o diagrama o cliente deve ter uma idéia das principais

funcionalidades que o sistema deve possuir. Atividade exercida pelo Analista de

Requisitos e Negócios. Como artefato de entrega possui a Especificação de Caso de

Uso.

Obter o aceite do cliente: fase em que o cliente valida o que será desenvolvido e

concorda com o time o que foi proposto ou sugere alterações. Atividade exercida pelo

Analista de Requisitos e Negócios. Como artefato de entrega possui o termo de Aceite.

Como entrada essa atividade recebe o Diagrama de Caso de Uso e sua especificação, e

como saída o aceite do cliente, em caso de um aceite positivo, a atividade prossegue

para a próxima, caso contrário retorna à atividade anterior para correção.

Elaborar o protótipo com o cliente: elaborar e obter o aceite do cliente com o protótipo.

Atividade exercida pelo Analista de Requisitos e Negócios. Como artefato de entrega

possui a ata de Reunião.

Receber sugestão do cliente: a equipe válida com o cliente o protótipo proposto e sugeri

melhorias ou aprova para atividade seguinte. Como entrada essa atividade recebe o

protótipo e saída a resposta de uma validação junto ao cliente, caso tenha sido aprovado

sem sugestões de alteração a atividade segue o fluxo, caso contrário, ela retorna à

atividade para correções e posterior validação do cliente.

Modelar o banco de dados: criar um modelo que explique as características de

funcionamento e comportamento de um software a partir do qual ele será criado,

facilitando seu entendimento e seu projeto, através das características principais que

Page 48: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

47

evitarão erros de programação, projeto e funcionamento. Atividade exercida pelo

Projetista de Banco de Dados. Como artefato de entrega possui Documentação de

Arquitetura de Software.

Propõem a arquitetura do sistema: nessa tarefa são definidos os componentes de

software, suas propriedades externas, e seus relacionamentos com outros softwares,

além de ser realizada a documentação de tudo o que foi realizado, para posteriores

consultas. Atividade exercida pelo Arquiteto de Softwares. Como artefato de entrega

possui Documentação de Arquitetura de Software.

Receber sugestão e aceite do cliente: o cliente verifica a arquitetura de software

proposta e verifica a necessidade de alguma alteração. Como entrada esse processo

recebe a proposta de arquitetura de software, valida com o cliente com sugestões e caso

não haja correções, segue o fluxo. Entretanto, se a arquitetura proposta não atender o

cliente, o fluxo retorna para ser proposta outra arquitetura com sugestão fornecida pelo

cliente.

Elaborar Plano de Teste: nessa fase é elaborado um documento com uma abordagem

sistemática para o teste de sistemas com hardware ou software. Atividade exercida pela

Equipe de Qualidade. Como artefato de entrega possui Plano de Teste.

3.3.3. DESENVOLVIMENTO DE SOFTWARE

A fase de Execução de Projeto/Desenvolvimento de Software é onde os conceitos do

Scrum está mais presente, com ciclos definidos e qual a equipe que trabalha com

metodologia de desenvolvimento ágil Scrum irá trabalhar intensamente. As fases

anteriores não são características de metodologias ágeis, entretanto é a forma de

trabalho utilizada pelo Governo de Mato Grosso ao realizar o planejamento de Software

as empresas contratadas ou internamente.

Essa fase possui somente 4 atividades, sendo duas que vieram de transição iniciada na

fase anterior como Monitorar e Controlar os projetos e as entregas e Elaborar Glossário,

e duas atividades exclusivas dessa fase e que possui os loops de execução, tais

atividades são: Desenvolver as aplicações sobre os Casos de Uso e Elaborar Casos de

Teste.

Page 49: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

48

As seguintes atividades da fase de Execução de Projeto/Desenvolvimento de Software:

Monitorar e controlar o projeto e as entregas: Essa atividade encontra-se em transição,

com o início nesta fase, entretanto a maior parte da sua atividade acontece na fase de

Execução do Projeto/Desenvolvimento do Software. Essa atividade envolve atualização

do cronograma, dos riscos, do escopo e demais áreas da gestão. Ficar atento as entregas,

no que tange aos prazos e a qualidade. Atividade exercida pelo Coordenador de Projeto

(PMO). Nessa atividade não existe entrega obrigatória conforme o PDSMT.

Elaborar Glossário: Essa atividade encontra-se em transição, com o início nesta fase,

entretanto a maior parte da sua atividade acontece na fase de Execução do

Projeto/Desenvolvimento do Software. Essa atividade descrever as informações técnicas

que seja de fácil entendimento a todos os participantes do projeto, inclusive para o

cliente. Atividade exercida pelo Coordenador de Projeto (PMO). Como artefato de

entrega possui o Glossário.

Page 50: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

49

Figura 12Fase de Desenvolvimento de Software. Fonte: o próprio.

Desenvolver a aplicação sobre os Casos de Uso: São codificados os sistemas a partir de

informações do caso de uso proposto pela equipe e validado com o cliente. Atividade

exercida pelo Desenvolvedores. Como artefato de entrega possui o código-fonte ou

executáveis.

Elaborar Casos de Teste: aqui são elaborado um conjunto de condições usadas para o

teste de software. Atividade exercida pela Equipe de Qualidade. Como artefato de

entrega possui o Caso de Teste.

Page 51: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

50

3.3.4. HOMOLOGAÇÃO DO SOFTWARE

A fase de Homologação do Software também utiliza a metodologia ágil de

desenvolvimento de software, sendo similar ao um ciclo iterativo do Scrum, onde

executados os testes, corrigido os problemas encontrados e validado com o cliente. Essa

é uma fase muito importante para o êxito do software que está sendo desenvolvido.

Nesta etapa, ela está composta de 4 atividades, sendo que uma possui subatividades.

As atividades dessa fase são: Executar os casos de teste e corrigir bugs encontrados

(aqui existe subatividades), Elaborar Relatório de Teste, Elaborar Homologação com

cliente e Entregar Sistema/Release.

Na fase de Homologação, somente 3 papeis trabalham, sendo Analista de Requisitos e

Negócios, Desenvolvedores (somente quando é encontrado alguma falha durante a

execução dos testes) e Equipe de Qualidade.

Page 52: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

51

Figura 13Fase de Homologação. Fonte: o próprio.

A seguir a descrição de cada atividade da fase de Homologação:

Page 53: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

52

Executar os casos de testes e corrigir os bugs encontrados: aqui são testadas as

condições e obtido os resultados de onde será necessário executar alguma correção no

sistema. Atividade exercida pela Equipe de Qualidade em sincronia com os

Desenvolvedores, quando encontrada uma falha nos testes, os Desenvolvedores ficam

responsável pela correção e submeter novamente o caso de teste para equipe de

qualidade. Essa atividade é composta de subatividades conforme o fluxo a seguir:

Figura 14Subatividade de Executar os Casos de Teste e Corrigir bugs. Fonte: o próprio.

Sendo a atividade de executar os casos de testes e corrigir os bugs encontrados, inicia-se

aplicando o caso de teste, caso o teste seja satisfatório e não apresente erros, ele será

finalizado com sucesso, entretanto se o caso de teste apresente erro ou não seja

satisfatório, ela deve ser informada na ferramenta de bugs para a equipe de

desenvolvimento, e subsequente a Equipe de desenvolvimentos corrige os bugs

apresentado durante o teste. Como artefato de entrega possui o Caso de Testes.

Elaborar Relatório de Teste: aqui são produzidos os relatórios dos testes conforme o

que foi testado e seus resultados. Serve para nortear toda a equipe sobre os erros

cometidos e gerenciar para que futuramente não ocorra os mesmos erros, e caso ocorra,

já tem informações de subsidio para solução. Atividade exercida pela Equipe de

Qualidade. Como artefato de entrega possui o Relatório de Teste.

Elaborar Homologação: homologar o sistema com o cliente, verificando se a suas

necessidades foram atendidas e possíveis alterações no sistema ainda são permitidas,

desde que não altere o escopo inicial do projeto. Essa atividade é frequente, ao final de

Page 54: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

53

cada iteração é verificado se o que foi produzido agregara valor ao cliente. Atividade

exercida pelo Analista de Requisitos e Negócios. Como artefato de entrega possui o

Documento de Homologação.

Receber sugestões e aceito do cliente: receber sugestões e aceite do cliente na atividade

de homologação. Como entrada essa atividade recebe o documento de homologação e

faz a validação com o cliente, caso a atividade não tenha sugestões de alteração, o

cliente dá o aceite a atividade segue o fluxo, caso contrário, retorna para atividade de

homologação do cliente onde será feita as alterações solicitadas. Como artefato de

entrega possui o Termo de Aceite e Documento de Homologação.

Entregar Sistema/Release: nessa fase é realizada a entrega do que foi desenvolvido para

o cliente, podendo ser o sistema completo ou uma parte funcional e seus complementos.

Atividade exercida pelo Analista de Requisitos e Negócios. Como artefato de entrega

possui o Termo de Aceite.

3.3.5 ENCERRAMENTO DO PROJETO

A última fase do processo de desenvolvimento de software proposto é o Encerramento

do Projeto, onde como o Scrum, tem a função de documentar as lições aprendidas

durante o projeto para futuramente servir de aprendizagem e subsidio para decisões em

outros projetos.

Ele é composto somente de duas atividades e somente o Coordenador de Projeto tem

atribuições estabelecida, sendo as atividades de atualizar documento de lições

aprendidas e desmobilizar a equipe.

Page 55: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

54

Figura 15Fase de Encerramento. Fonte: o próprio.

Criar documentos de lições aprendidas: atualiza a documentação com as lições

aprendidas durante o projeto, podendo ser com realizar uma nova forma de testes como

uma adaptação da metodologia que apresentou resultados positivos etc. Essa atividade é

similar a retrospectiva do Sprint, uma grande oportunidade para rever tudo o que deu

certo e tudo o que pode ser melhorado para o próximo Sprint. Atividade exercida pelo

Coordenador de Projetos (PMO). Não possui artefatos de entrega obrigatório, mas é

sugerido a realização de uma ata com o conhecimento adquirido.

Desmobilizar as equipes: a equipe é desalojada desse projeto e fica disponível para

participar de outros projetos. Atividade exercida pelo Coordenador de Projetos (PMO).

Não possui artefatos de entrega obrigatório, entretanto recomenda-se a criação de uma

ata informado todos os participantes e o que foram realizados pelos mesmos.

Page 56: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

55

CAPÍTULO 4

CONCLUSÕES

A ideia de desenvolvimento de uma metodologia mesclada surgiu de uma dificuldade

enfrentada pelo Instituto de Computação da Universidade Federal do Mato Grosso, ao

atender o Governo do Estado de Mato Grosso, que propõe um processo de

desenvolvimento de software, baseado no tradicional modelo em cascata, com diversas

atividades, papéis e artefatos, que se mostra inviável no cenário do IC-UFMT, pois o

time de desenvolvimento é enxuto e possui problemas com turn-over funcional.

Sendo a metodologia proposta para resolução do problema, é uma mescla de PDSMT,

Scrum e BPMN, respeitando todas as entregas de artefatos solicitada pelo Governo do

Estado de Mato Grosso.

O PDSMT foi utilizado para basear-se no Planejamento do Projeto e Planejamento do

Desenvolvimento, além de nortear as atividades necessárias e os artefatos essenciais das

entregas.

O Scrum por ser considerada uma metodologia ágil que preza mais pelo gerenciamento

do processo e sendo menos inciso em técnicas de desenvolvimento, quando comparada

com outras metodologias ágeis com o Extreme Programming (XP) por exemplo,

mostrou-se apta ao alinhamento com PDSMT e BPMN.

E a notação de Processo de Negócios foi essencial como facilitador do entendimento,

por sua notação ser de fácil compreensão e de conhecimento comum de diversas áreas

profissionais, não ficando restritos a área de Tecnologia da Informação.

Durante a concepção da ideia nova da metodologia a ser criada, diversas dificuldades

foram encontradas, desde a escolha de uma metodologia ágil existente que poderia

atender à necessidade do IC-UFMT, em conjunto com o PDSMT e utilização de alguma

técnica que facilitasse a gestão do conhecimento e agregasse valor a metodologia, sendo

a escolha de BPMN por atender esses requisitos.

Para o futuro, esperasse a validação da metodologia proposta e informações dos

resultados obtidos, para compilação dos dados que gera indicadores para otimizar a

metodologia e aplicar ao máximo os conceitos de Gerenciamento de Processos de

Negócios, expandindo do Business Process Modeling Notation (BPMN) e sua

Page 57: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

56

aplicação projetos, não sendo restritos ao IC-UFMT e Governo do Estado de Mato

Grosso, podendo ser uma metodologia aderente a qualquer organização.

Page 58: UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE ... · METODOLOGIA DE SOFTWARE COM SCRUM E BPM AUREO CARNEIRO RIOS NETO Orientador: Prof. MSc. NILTON HIDEKI TAKAGI Monografia apresentado

57

REFERÊNCIAS

BIBLIOGRÁFICAS

ALVARES, S. O ciclo de vida BPM - Lecom, Lecom BPM. Disponivel em:

<http://www.lecom.com.br/blog/2013/08/28/o-ciclo-de-vida-bpm/>. Acesso em: 15 Junho

2016.

ASSOCIATION OF BUSINESS PROCESS MANAGEMENT PROFESSIONALS. BPM CBOK: Guia para o

Gerenciamento de Processos de Negócio. 1ª. ed. São Paulo: [s.n.], 2013.

BALDAM, R.; VALLE, R.; ROZENFELD, H. Gerenciamento de Processos de Negócio BPM: Uma

referência para implantação prática. 1ª. ed. Rio de Janeiro: Elsevier, 2014.

CRUZ, F. O guia completo do Scrum e da agilidade em projetos. 1ª. ed. São Paulo: BRASPORT ,

2014.

DENNIS, A.; WIXOM, B. H.; ROTH, R. M. Análise e Projeto de Sistemas. 5ª. ed. Rio de Janeiro:

LTC, 2014.

GOMES, A. F. Agile: Desenvolvimento de software com entregas frequentes e foco no valor de

negócio. 1ª. ed. São Paulo: Casa do Código, 2013.

MANIFESTO para o desenvolvimento ágil de software. Manifesto para o desenvolvimento ágil

de software, 20 Março 2001. Disponivel em:

<http://www.manifestoagil.com.br/principios.html>. Acesso em: 20 Março 2016.

SABBAGH, R. Scrum: Gestão Ágil para Projetos de Sucesso. São Paulo: Casa do Código, 2013.

SCRUMSTUDY. Um Guia para o Conhecimento em Scrum (Guia SBOK™). Phoenix: [s.n.], 2016.