23
RAFAEL CARLOS ALCÂNTARA TAMAMARU Mapeamento de processos de gerenciamento de projetos de uma fábrica de software com base no SCRUM no con- texto do MPS-Br e CMMI Londrina 2009

Redmine e Scrum

Embed Size (px)

Citation preview

Page 1: Redmine e Scrum

RAFAEL CARLOS ALCÂNTARA TAMAMARU

Mapeamento de processos de gerenciamento de projetos de uma fábrica de software com base no SCRUM no con-

texto do MPS-Br e CMMI

Londrina 2009

Page 2: Redmine e Scrum

RAFAEL CARLOS ALCÂNTARA TAMAMARU

Mapeamento de processos de gerenciamento de projetos de uma fábrica de software com base no SCRUM no contexto do MPS-Br e

CMMI

Trabalho de Conclusão de Curso de Especi-

alização em Análise, Projeto e Gerência de

Sistemas com Ênfase em Inteligência em

Negócios – Residência em Software apre-

sentado à Coordenação do Curso de Ciência

da Computação da Universidade Estadual

de Londrina.

Orientador: Prof. Dr. Rodolfo Miranda Barros

Londrina

2009

Page 3: Redmine e Scrum

RESUMO

Este trabalho descreve os procedimentos e ferramentas utilizados para definir e ma-

pear os processos de Gerenciamento de Projetos da Fábrica de Software da empre-

sa LINT – Londrina Tecnologia da Informação, sediada em Londrina/PR, para aten-

der aos modelos MPS-Br (nível F) e CMMI (nível 2), com base nas práticas do S-

CRUM, já executadas nos projetos da fábrica de softwares da empresa até então.

Foram utilizadas ferramentas de apoio aos mapeamentos e um portal online basea-

do na tecnologia Microsoft Sharepoint Services para a divulgação dos processos e

suas instruções de trabalho.

Palavras-chave: Gerenciamento de projetos, SCRUM, CMMI, MPS-Br.

Page 4: Redmine e Scrum

SUMÁRIO

1 INTRODUÇÃO ................................................................................................................5

2 A EMPRESA LINT – LONDRINA TECNOLOGIA DA INFORMAÇÃO S.A. .......6

3 REFERENCIAL TEÓRICO ...........................................................................................7

3.1 O CMMI - CAPABILITY MATURITY MODEL INTEGRATION ..........................................7

3.2 O MPS BR - MELHORIA DE PROCESSOS DO SOFTWARE BRASILEIRO .....................8

3.3 O SCRUM..................................................................................................................9

4 DESENVOLVIMENTO.................................................................................................12

4.1 MAPEAMENTO DOS PROCESSOS ..............................................................................12

4.2 FERRAMENTAS..........................................................................................................13

5 RESULTADOS...............................................................................................................15

5.1 MAPAS DOS PROCESSOS..........................................................................................15

6 ANÁLISE DOS RESULTADOS...................................................................................19

7 RECOMENDAÇÕES E CONCLUSÃO ......................................................................21

REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................22

Page 5: Redmine e Scrum

LISTA DE FIGURAS

FIGURA 1. CAPACIDADES DE CADA NÍVEL DO MPS BR............................................9

FIGURA 2. COMPARATIVO MPS BR E CMMI ..................................................................9

FIGURA 3. MODELO DO SCRUM .....................................................................................10

FIGURA 4. MAPA DO PROCESSO DA FÁBRICA DE SOFTWARE DA LINT – MS

SHAREPOINT ........................................................................................................................13

FIGURA 5. AMBIENTE DE GERÊNCIA DE PROJETOS ...............................................14

FIGURA 6. MAPAS DOS PROCESSOS DE GERÊNCIA DE PROJETOS .................15

FIGURA 7. MAPA DO PROCESSO DE SOLUÇÃO DE PROBLEMAS .......................16

FIGURA 8. PROJETO PILOTO – CENSO ESCOLAR ....................................................17

FIGURA 9. ATIVIDADES NO REDMINE – DIVISÃO POR DATA.................................17

FIGURA 10. TICKETS NO REDMINE – FUNCIONALIDADES DO PROJETO ..........18

FIGURA 11. ARQUIVOS DO PROJETO ...........................................................................18

FIGURA 12. RASTREABILIDADE NO PROJETO ...........................................................18

FIGURA 13. RELATÓRIO DE HORAS POR RECURSO ...............................................19

FIGURA 14. RELATÓRIO DE HORAS POR ATIVIDADE ..............................................19

Page 6: Redmine e Scrum

5

1 INTRODUÇÃO

O constante estado de mudança pelo qual passa o mundo atual tem

motivado as organizações, cada vez mais, a rever seus processos de produção e de

gestão. No âmbito da tecnologia este estado é muito mais evidente, o que resultou

no surgimento de diversos modelos da maturidade em desenvolvimento de software,

como o CMMI (Capability Maturity Model Integration) e o MPS-Br (Melhoria de Pro-

cessos do Software Brasileiro).

Junto com o direcionamento à melhoria de processos, metodologias

de Gerenciamento de Projetos têm sido bastante difundidas no mercado também e,

em desenvolvimento de software, o SCRUM, metodologia ágil para gestão e plane-

jamento de projetos, passa a ser bastante difundido no mercado, com resultados

comprovados de até 40% em ganhos de produtividade.

Diante do mercado altamente competitivo, a empresa LINT identifi-

cou a necessidade de buscar diferenciais de modo a tornar sua fábrica de software

mais competitiva, e a definição de seus processos de desenvolvimento de projetos

de acordo com os padrões do mercado supracitados foi a solução encontrada.

O objetivo deste trabalho é apresentar os métodos utilizados pela

LINT na definição, mapeamento e documentação de seus processos de fábrica de

software como também apresentar alguns resultados já obtidos desta padronização

de processos.

Page 7: Redmine e Scrum

6

2 A EMPRESA LINT – LONDRINA TECNOLOGIA DA INFORMAÇÃO S.A.

A LINT é uma empresa prestadora de serviços de TI para grandes

empresas de tecnologia, em regime de "outsourcing" e "offshore", constituída em re-

gime de Sociedade Limitada em maio de 2007 e transformada para o regime de So-

ciedade Anônima de capital fechado em outubro de 2007.

A LINT atua nas áreas de Desenvolvimento e Manutenção de Soft-

ware (Offshore Software Development Center), e também no Suporte e Consultoria

de Softwares de Gestão (ERP).

A missão da Lint é "Ser uma empresa Classe Mundial provedora de

serviços e infra-estrutura de outsourcing para empresas de tecnologia de grande

porte, comprometida com os mais elevados padrões de administração, qualidade,

ética e responsabilidade social, contribuindo para a competitividade de seus clientes

e para o desenvolvimento regional".

Page 8: Redmine e Scrum

7

3 REFERENCIAL TEÓRICO

3.1 O CMMI - Capability Maturity Model Integration

Na década de 80, o Insituto de Engenharia de Software dos Estados

Unidos criou o CMM (Capability Maturity Model) para avaliar a qualidade dos softwa-

res que estavam sendo desenvolvidos nas organizações.

Na década de 90 então, surgiram modelos buscando atingir diversas

áreas do conhecimento (desenvolvimento e engenharia de softwares, análise de sis-

temas, aquisições, procesos, etc). Por existirem vários modelos diferentes, para dife-

rentes áreas, o CMM passou a ser inviável para as organizações, pois gerava um

alto custo, cada área necessitava atender a um modelo diferente. Foi daí que surgiu

o CMMI (Capability Maturity Model Integration), que consiste numa integração des-

tes diversos modelos.

Após definidos e mapeados os processos do CMMI, é fundamental

que os mesmos estejam documentados, atualizados e disponíveis para todos os en-

volvidos no processo.

O CMMI é dividido em 5 estágios:

1. Inicial – Processos não definidos, informais.

2. Gerenciado – os requisitos são gerenciados e os processos são

planejados, executados medidos e controlados.

3. Definido – os processos são bem definidos e descritos em pa-

drões, procedimentos, ferramentas e métodos.

4. Gerenciado quantitativamente – Os objetivos quantitativos dos

processos são definidos e utilizados como critérios no gerenciamen-

to.

5. Otimizado – A partir das variações do processo, do seu enten-

dimento quantitativo, os processos são continuamente melhorados.

O CMMI é um modelo internacional muito valorizado por empresas

no mundo inteiro, em algumas delas como pré-requisito na contratação de serviços.

Entretanto, o custo para a certificação ainda é muito alto, o que motivou a criação do

MPS Br, que será abordado no próximo item deste trabalho.

Page 9: Redmine e Scrum

8

3.2 O MPS Br - Melhoria de Processos do Software Brasileiro

O MPS Br trata-se de um movimento para melhoria e um modelo de

qualidade de processos de desenvolvimento de software. É um modelo brasileiro

que surgiu devido à grande quantidade de desenvolvimentos de software no país,

com as empresas buscando intensamente a melhoria do processo para alcançar pa-

drões internacionais de qualidade e produtividade. Foi criado com foco em pequenas

e micro empresas, para as quais as certificações estrangeiras são inviáveis devido

ao alto custo para obtenção.

Assim como o CMMI, o MPS Br é dividido em níveis de maturidade,

porém, este é dividido em 7 níveis:

A. Em otimização;

B. Gerenciado quantitativamente;

C. Definido;

D. Largamente Definido;

E. Parcialmente Definido;

F. Gerenciado;

G. Parcialmente Gerenciado.

Cada nível possui capacidades definidas, conforme a figura 1. Na

fábrica de software da LINT, inicialmente, estão sendo tratados os processos em

conformidade com o nível F do MPS Br, que corresponde ao nível 2 do CMMI. A fi-

gura 2 ilustra um comparativo entre os níveis de maturidade do MPS Br e os está-

gios do CMMI.

Page 10: Redmine e Scrum

9

Figura 1. Capacidades de cada nível do MPS Br

Figura 2. Comparativo MPS Br e CMMI

3.3 O SCRUM

Scrum é uma metodologia ágil para gestão e planejamento de proje-

tos de software. No Scrum, os projetos são dividos em ciclos (tipicamente mensais)

chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjun-

Page 11: Redmine e Scrum

10

to de atividades deve ser executado. Metodologias ágeis de desenvolvimento de

software são iterativas, ou seja, o trabalho é dividido em iterações, que são chama-

das de Sprints no caso do Scrum.

As funcionalidades a serem implementadas em um projeto são man-

tidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint,

faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o

Product Owner prioriza os itens do Product Backlog e a equipe seleciona as ativida-

des que ela será capaz de implementar durante o Sprint que se inicia. As tarefas a-

locadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.

A cada dia de uma Sprint, a equipe faz uma breve reunião (normal-

mente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento so-

bre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do

dia que se inicia.

Ao final de um Sprint, a equipe apresenta as funcionalidades imple-

mentadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospec-

tive e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ci-

clo. Como na figura 3.

Figura 3. Modelo do SCRUM

Page 12: Redmine e Scrum

11

Page 13: Redmine e Scrum

12

4 DESENVOLVIMENTO

A metodologia para definição e mapeamento dos processos deveria

atender a todos os modelos apresentados no referencial teórico deste trabalho, ou

seja, a fábrica de software da LINT deveria continuar trabalhando com a metodologia

do SCRUM, porém neste momento, atendendo ao CMMI nível 2, ou MPS Br nível F.

4.1 Mapeamento dos processos

O primeiro passo no mapeamento dos processos da fábrica de soft-

ware da LINT foi a definição da notação que seria utilizada, e posteriormente, uma

ferramenta que desse suporte ao processo.

A notação escolhida foi a BPMN (Business Process Modeling Notati-

on), que vem se consolidando como o mais importante padrão de notação gráfica

aberta, e verificou-se que a ferramenta BPM BizAgi ( http://www.bizagi.com ) poderia

dar suporte ao mapeamento dos processos da LINT em conformidade com a nota-

ção escolhida.

Conforme supracitado, é fundamental que os processos estejam do-

cumentados e disponíveis para as pessoas que estão envolvidas, para tanto, foi dis-

ponibilizado um portal da Fábrica de Software da LINT no ambiente do Microsoft

SharePoint Server, plataforma de colaboração utilizada pela empresa em sua intra-

net. Neste portal, foi criada uma área de processos, em formato de Wiki, onde foi in-

serida uma figura ilustrando os processos da fábrica de software da forma como eles

acontecem, conforme apresentado abaixo, na figura 4, com links para os processos

da fábrica. Desta forma, todas as pessoas envolvidas no processo em questão, po-

dem acessá-lo em detalhes na intranet da LINT.

Page 14: Redmine e Scrum

13

Figura 4. Mapa do processo da fábrica de software da LINT – MS Sharepoint

4.2 Ferramentas

Foi necessária a seleção de ferramentas que pudessem dar suporte

aos processos definidos. Como este trabalho trata dos processos de Gerência de

Projetos, este item apresenta a ferramenta Redmine, que foi escolhida dentre uma

série de opções analisadas, pois permite realizar todos os controles previstos nos

processos em questão, possibilita integração com o ambiente Subversion (Gerência

de Configuração), e trata-se de um sistema open source, adaptável, e de fácil manu-

tenção. A figura 5 ilustra a página inicial do Redmine.

Page 15: Redmine e Scrum

14

Figura 5. Ambiente de gerência de projetos

Listadas abaixo seguem algumas funcionalidades da ferramenta de

gerência de projetos da fábrica de softwares da LINT:

• Suporte a múltiplos projetos;

• Controle de acesso customizável;

• Monitoramento de tickets;

• Calendário e Gráfico de Gantt;

• Gerenciamento de notícias, arquivos e documentos;

• Notificações por e-mail;

• Wiki por projeto;

• Fórums por projeto;

• Monitoramento de tempo;

• Campos customizáveis;

• Integração com o Subversion;

• Suporte à autenticação LDAP;

• Suporte a auto-registro de usuários;

• Suporte ao português do Brasil;

• Suporte a diversas bases de dados.

Page 16: Redmine e Scrum

15

5 RESULTADOS

A proposta deste trabalho foi a apresentação da metodologia e resul-

tados obtidos com o mapeamento e definição dos processos de fábrica de software

da empresa LINT. Seguem abaixo os resultados obtidos até o momento no âmbito

da Gerência de Projetos.

5.1 Mapas dos processos

O processo de gerência de projetos é composto por dois subproces-

sos, conforme foi apresentado na figura 4. A figura 6 ilustra os processos de Plane-

jamento de projeto e Acompanhamento de projeto, respectivamente.

Figura 6. Mapas dos processos de gerência de projetos

Em caso de detecção de problemas no acompanhamento do projeto,

o processo de solução de problemas deve ser iniciado, conforme mapa de processo

ilustrado na figura 7.

Page 17: Redmine e Scrum

16

Figura 7. Mapa do processo de solução de problemas

O sistema de gerência de projetos Redmine já está instalado, confi-

gurado e sendo utilizado nos projetos da fábrica de software da LINT. Foi definido

um projeto da fábrica para validar os processos e ferramentas definidos. Todo o pla-

nejamento e acompanhamento deste trabalho foram feitos com base no processo

definido e com o apoio da ferramenta selecionada. Seguem abaixo as visões obtidas

ao final do trabalho. A figura 8 ilustra a página inicial do projeto piloto Censo Escolar.

Page 18: Redmine e Scrum

17

Figura 8. Projeto piloto – Censo Escolar

A figura 9 ilustra a visualização das atividades do projeto no ambien-

te do Redmine.

Figura 9. Atividades no Redmine – Divisão por data

Foi adotado como padrão na fábrica de software da LINT, que os

projetos seriam divididos em funcionalidades, que seriam divididas em atividades do

projeto. Todos estes itens são criados em forma de tickets, variando apenas o tipo

de ticket a ser criado. A figura 10 ilustra a visualização dos tickets do tipo funcionali-

dade do projeto Censo Escolar.

Page 19: Redmine e Scrum

18

Figura 10. Tickets no Redmine – Funcionalidades do projeto

A ferramenta de gerência de projetos selecionada permite a carga

de arquivos do projeto, conforme apresentado na figura 11.

Figura 11. Arquivos do projeto

Um dos problemas encontrados no decorrer do projeto piloto foi a

questão da rastreabilidade dos projetos, que foi solucionada por meio do ambiente

de documentos do Redmine. Para cada Funcionalidade do projeto é criado um do-

cumento do Redmine que é alterado pelos desenvolvedores, conforme figura 12.

Figura 12. Rastreabilidade no projeto

Page 20: Redmine e Scrum

19

6 ANÁLISE DOS RESULTADOS

A utilização do software Redmine como apoio ao processo de ge-

rência de projetos na fábrica de software da LINT mostrou-se bastante eficaz, ge-

rando resultados gerenciais importantes como a possibilidade de se ter uma visão

geral do andamento do projeto e a visualização de relatórios dinâmicos, conforme

exemplificado nas figuras 13 e 14.

Figura 13. Relatório de horas por recurso

Figura 14. Relatório de horas por atividade

O sistema Redmine mostrou-se bastante eficiente no tratamento do

processo e apresenta uma grande vantagem, que é o fato de ser totalmente adaptá-

Page 21: Redmine e Scrum

20

vel, de código aberto, o que possibilita explorar seu banco de dados com novas im-

plementações adequadas às necessidades da fábrica.

Page 22: Redmine e Scrum

21

7 RECOMENDAÇÕES E CONCLUSÃO

Verificou-se a partir deste trabalho que o mapeamento de processos

é de fundamental importância para a eficiência na execução e gerência de projetos.

Os sistemas selecionados atenderam ao processo de forma eficaz e devem dar su-

porte à evolução dos processos daqui pra frente.

Os demais processos do nível 2 do CMMI e nível F do MPS Br estão

em processo de definição. Recomenda-se que, após a execução de alguns projetos

com base nestes processos, e tendo a fábrica de software naturalmente adiquirido

maior nível de maturidade nos mesmos, sejam mapeados os processos para evolu-

ção nos níveis dos modelos abordados.

Page 23: Redmine e Scrum

22

REFERÊNCIAS BIBLIOGRÁFICAS

Goldenson, D. R. and Gibson, D. L. (CMU/SEI-2003-SR-009) “Demonstrating the Impact and Benefits of CMMI: An Update and Preliminary Results” Special Report, Disponível em: <http://www.sei.cmu.edu/publications/documents/03.reports/03sr009.html>. Bissi, W. (2007) “SCRUM - METODOLOGIA DE DESENVOLVIMENTO ÁGIL - Revi-são Bibliográfica” Centro Universitário de Maringá - CESUMAR. Soares, F. S. F., Mariz, L. M. R. S., Cavalcanti, Y. C., Rodrigues, J. P., Neto, M. G., Bastos, P. R. et al. “Adoção de SCRUM em uma Fábrica de Desenvolvimento distri-buído de Software” - Centro de Informática – Universidade Federal de Pernambuco (UFPE). MPS.BR - Melhoria de Processo do Software Brasileiro - Guia Geral (Versão 1.2) (2007) – SOFTEX Reis, C.R., Fortes, R. P. M. (2003) “Caracterizacão de um Processo de Software pa-ra Projetos de Software Livre” Instituto de Ciˆencias Matemáticas e de Computação - Universidade de São Paulo. Bitencourt, M (2007) “Modelagem de Processos com BPMN” <http://www.baguete.com.br/artigosDetalhes.php?id=320>. Bizagi process modeler - http://www.bizagi.com/esp/.