aplicação de métodos Ágeis na implementação do mr-mps-sw ... · um melhor gerenciamento dos...

12
Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas 25 WAMPS 2015 Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas Marcelo Rocha Sá 1 , Sandro Ronaldo Bezerra Oliveira 2 1 Jambu Tecnologia Consultoria e Engenharia Ltda. – Trav. Alenquer, 131 - Cidade Velha – Belém – PA – Brasil 2 Programa de Pós-Graduação em Ciência da Computação (PPGCC) – Universidade Federal do Pará (UFPA) - Rua Augusto Corrêa, 01 – Guamá – Belém - PA - Brasil [email protected], [email protected] Abstract. This paper aims to present the roadmap adopted by Jambu Tecnologia to implement the processes of MR-MPS-SW Level G in small sized software projects. We also discuss the results achieved of applying practices included in agile methods to the software process improvement context, and the lessons learned in conducting successfully a MA-MPS assessment of MR-MPS-SW Maturity Level G. Resumo. Este artigo tem como objetivo apresentar o caminho adotado pela Jambu Tecnologia para implementar os processos do nível G do MR-MPS-SW em projetos de software de tamanho pequeno. Também serão discutidos os resultados alcançados com a adoção de práticas constantes em métodos ágeis para o cenário da melhoria do processo de software, além das lições aprendidas na condução com sucesso de uma avaliação MA-MPS do nível de maturidade G do MR-MPS-SW. 1. Introdução Cada vez mais empresas e organizações necessitam de produtos com qualidade, livres de erros e com soluções imediatas. Para atender a esta demanda, empresas de software visam, em seus projetos, a diminuição de conflitos, o aumento da confiabilidade e a redução dos custos, resultando em maior satisfação do cliente [Travassos e Kalinowski, 2012]. Assim, pode-se perceber que o software tem estado cada vez mais presente no cotidiano das pessoas, porém a maioria dos projetos de software não atende aos objetivos traçados. Isso decorre da falta de processos adequados nas organizações em que eles são desenvolvidos [Rincon, 2009]. Para entregar sistemas de software com alta qualidade, as empresas têm adotado modelos de maturidade que visam a melhoria da qualidade dos processos de desenvolvimento. Neste contexto, modelos de qualidade são propostos a fim de medir e garantir a excelência do software produzido [Catunda et al., 2011]. Juntamente com a melhoria dos processos, a partir do ano 2000 surgiu uma tendência para o desenvolvimento ágil de sistemas de software devido a um ritmo acelerado de mudanças e inovações na tecnologia da informação, em organizações e no ambiente de negócios. Assim, os métodos ágeis preconizam menor burocratização e demandam maior esforço das pessoas envolvidas. Eles também permitem acolher mudanças mais naturalmente e adaptações em qualquer momento [Manifesto, 2001].

Upload: lytuong

Post on 22-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

25WAMPS 2015

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

Marcelo Rocha Sá1, Sandro Ronaldo Bezerra Oliveira2

1Jambu Tecnologia Consultoria e Engenharia Ltda. – Trav. Alenquer, 131 - Cidade Velha – Belém – PA – Brasil

2Programa de Pós-Graduação em Ciência da Computação (PPGCC) – Universidade Federal do Pará (UFPA) - Rua Augusto Corrêa, 01 – Guamá – Belém - PA - Brasil

[email protected], [email protected]

Abstract. This paper aims to present the roadmap adopted by Jambu Tecnologia to implement the processes of MR-MPS-SW Level G in small sized software projects. We also discuss the results achieved of applying practices included in agile methods to the software process improvement context, and the lessons learned in conducting successfully a MA-MPS assessment of MR-MPS-SW Maturity Level G.

Resumo. Este artigo tem como objetivo apresentar o caminho adotado pela Jambu Tecnologia para implementar os processos do nível G do MR-MPS-SW em projetos de software de tamanho pequeno. Também serão discutidos os resultados alcançados com a adoção de práticas constantes em métodos ágeis para o cenário da melhoria do processo de software, além das lições aprendidas na condução com sucesso de uma avaliação MA-MPS do nível de maturidade G do MR-MPS-SW.

1. Introdução

Cada vez mais empresas e organizações necessitam de produtos com qualidade, livres de erros e com soluções imediatas. Para atender a esta demanda, empresas de software visam, em seus projetos, a diminuição de conflitos, o aumento da confiabilidade e a redução dos custos, resultando em maior satisfação do cliente [Travassos e Kalinowski, 2012]. Assim, pode-se perceber que o software tem estado cada vez mais presente no cotidiano das pessoas, porém a maioria dos projetos de software não atende aos objetivos traçados. Isso decorre da falta de processos adequados nas organizações em que eles são desenvolvidos [Rincon, 2009].

Para entregar sistemas de software com alta qualidade, as empresas têm adotado modelos de maturidade que visam a melhoria da qualidade dos processos de desenvolvimento. Neste contexto, modelos de qualidade são propostos a fim de medir e garantir a excelência do software produzido [Catunda et al., 2011].

Juntamente com a melhoria dos processos, a partir do ano 2000 surgiu uma tendência para o desenvolvimento ágil de sistemas de software devido a um ritmo acelerado de mudanças e inovações na tecnologia da informação, em organizações e no ambiente de negócios. Assim, os métodos ágeis preconizam menor burocratização e demandam maior esforço das pessoas envolvidas. Eles também permitem acolher mudanças mais naturalmente e adaptações em qualquer momento [Manifesto, 2001].

Page 2: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Artigos técnicos selecionados para apresentação

26 WAMPS 2015

Esta discussão baseia-se no fato de que governos e mercado, de maneira geral, esperam como diferencial, que as empresas comprovem a qualidade de seus processos de desenvolvimento e a maneira formal de se comprovar isso, atualmente, costuma ser opositora ao que preconizam os métodos ágeis [Travassos e Kalinowski, 2012]. As formas de desenvolvimento existentes dentro da área da Engenharia de Software são a origem dessa discussão. Isto ocorre devido às impedâncias existentes entre processos tradicionais, desenvolvidos no início do século XX baseados no modelo de produção Fordista para a indústria, e os processos ágeis baseados no Toyotismo (produção enxuta). Desta forma, pode-se dizer que o desenvolvimento ágil busca tratar o processo de produção de software de maneira diferenciada, uma vez que entende que se trata de um processo criativo e que produz um bem intangível. Porém, as normas e modelos tradicionais baseiam-se no pensar fordista, segundo o qual foram criadas, tratando a produção de software de maneira parecida com os produtos manufaturados.

O que se procura mostrar é que a implementação de um modelo de maturidade deve ser o máximo adaptativa possível à realidade da empresa/projeto. Assim, percebe-se a necessidade de procedimentos, produtos de trabalhos mais enxutos e softwares que auxiliem as empresas a obter um melhor gerenciamento dos seus processos de software, com o objetivo de unir conceitos de métodoss ágeis e processos constantes em programas como o MPS.BR – Melhoria do Processo de Software Brasileiro [SOFTEX, 2012] ou o CMMI – Capability Maturity Model Integration [SEI, 2010].

Deste modo, este trabalho tem por objetivo mostrar que a junção de um método ágil com um modelo de qualidade tradicional pode ser aplicável e viável, embora adaptações sejam necessárias. O modelo de qualidade escolhido faz parte do programa MPS.BR, o MR-MPS-SW – Modelo de Referência do MPS para Software, por ser capaz de atender às exigências internacionais para avaliação, definição e melhoria dos processos de software. Quanto aos métodos ágeis, foram usados os que se destacam pelas atividades práticas de gerenciamento de projetos, uma vez que o nível de maturidade do MR-MPS-SW a ser tratado nesta apresentação é o G, contendo os processos de Gerência de Projetos e Gerência de Requisitos [Sá e Oliveira, 2014].

Como solução para minimizar o cenário apresentado, a empresa Jambu Tecnologia foi uma das empresas vencedoras do Edital SECTI/PA de Seleção Pública para Melhoria do Processo de Empresas Paraenses de Software, usando o MPS.BR. Durante o trabalho de implementação deste programa, a empresa manteve sua cultura já ágil alinhada às práticas de maturidade. Assim, além desta seção introdutória este trabalho apresenta outras cinco seções: a Seção 2 apresenta a contextualização da empresa Jambu Tecnologia, destacando o cenário do desenvolvimento dos projetos de software antes da implementação do MR-MPS-SW; na Seção 3 é discutida a metodologia de implementação do MR-MPS-SW, bem como a melhoria e a maturação do processo; a Seção 4 apresenta uma sumarização das adaptações dos métodos ágeis e do modelo de qualidade usado neste trabalho, os principais resultados obtidos e as lições aprendidas com este estudo; e a Seção 5 apresenta as conclusões e os próximos passos para a otimização dos processos da Jambu Tecnologia.

Page 3: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

27WAMPS 2015

2. Contextualização e Cenário de Desenvolvimento de Software da Jambu Tecnologia

A Jambu Tecnologia (http://www.jambu.com.br/) é uma empresa privada, genuinamente paraense, centrada na produção de soluções tecnológicas, inovadoras e regionalizadas, para a gestão de conteúdo digital corporativo e de processos de negócio. É especializada em projetos que utilizam sistemas de software e hardware livres e abertos. Esta empresa vem desenvolvendo produtos e prestando serviços de software, e está estruturada com as seguintes unidades organizacionais: JambuTec, foco em projetos, consultoria e assessoria; JambuLabs, responsável pelo desenvolvimento de software por encomenda, interna e externa, foco do MR-MPS-SW; e Academia de Software Livre, com oferta de cursos e treinamentos de Software Livre.

Em 2009 as atividades de desenvolvimento de software iniciaram na JambuLabs, articulada especificamente para atender demandas locais em regime de contratos baseados em escopos negociáveis. A adoção dos métodos ágeis foi a estratégia escolhida para a gestão do processo de desenvolvimento de software desde o início. A equipe de desenvolvimento de software da Jambu Tecnologia iniciou as atividades com o estabelecimento do primeiro contrato de desenvolvimento de software de escopo aberto. Tratava-se de um projeto de alto grau de dificuldade em que o cliente não tinha pleno domínio dos requisitos e restrições, bem como visava atender um mercado restrito, muito normatizado e em constante mudança. A estratégia adotada foi de apresentar as práticas do método SCRUM [Schwaber e Beedle, 2008] ao cliente através de oficinas, de forma que este pudesse participar do processo de desenvolvimento e elicitação contínua dos requisitos. Oficinas de métodos ágeis, práticas do SCRUM, Product Owner (PO) e Scrum Master (SM) foram oferecidas à equipe e ao cliente.

Durante esta fase, a empresa não teve preocupação com a preservação dos artefatos do processo, com exceção do sistema de controle de versões e o gerenciamento da integração das porções de código. As principais ferramentas de gestão de projeto eram o Business Environment Canvas e o User Story Map, para a gestão e o controle dos requisitos, e o Kanban e o Gráfico Burn-down, para a gestão das tarefas de desenvolvimento de software.

O processo de elicitação dos requisitos iniciava com uma seção de brainstorm da equipe de desenvolvimento com o cliente, que neste momento assumia o papel de PO, e o SM como mediador e conselheiro das práticas, responsável pela definição dos principais objetivos do negócio e identificação das funcionalidades do projeto. As descrições dos cenários atual e desejado eram feitas pelo PO, e as partes interessadas foram identificadas como pessoas em seus papéis de uso no sistema, para as quais o software em desenvolvimento estava sendo feito. Os temas de negócio tratavam dos objetivos gerais do aplicativo e das principais funções a serem implementadas. Tudo era descrito em cartões adesivados e afixados no Canvas.

As funcionalidades descritas como User Stories eram priorizadas e organizadas no User Story Map, posteriormente, eram descritas e fixadas ao lado do Kanban. No início da Sprint, que representa um ciclo de desenvolvimento, uma cerimônia de planejamento era realizada em que para cada User Story uma ou mais tarefas de desenvolvimento eram descritas e recebiam uma estimativa de esforço baseada em uma rodada da técnica do Planning Poker [Cohn, 2005] pelos desenvolvedores. Ao longo da Sprint, os cartões de tarefas iam sendo transferidos de acordo com o estado definido pelo desenvolvedor, que assumiu a responsabilidade pela implementação.

Page 4: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Artigos técnicos selecionados para apresentação

28 WAMPS 2015

3. A Metodologia de Implementação do MR-MPS-SW Nível G na Jambu Tecnologia

Em agosto de 2012 a Jambu Tecnologia participou do Edital 02/2012 – Seleção Pública para Melhoria do Processo de Empresas Paraenses de Software, em que o Governo do Estado do Pará, por intermédio da Secretaria de Ciência Tecnologia e Inovação (SECTI), passou a apoiar financeiramente a implantação e a avaliação da melhoria do processo de software voltada à obtenção do Nível de Maturidade G do MR-MPS-SW em um grupo de cinco empresas de desenvolvimento de software estabelecidas no estado do Pará.

A metodologia adotada pela equipe de consultores para implantar o modelo compreendeu as seguintes fases: 1) diagnóstico; 2) treinamento/nivelamento da equipe; 3) implantação do processo; 4) maturação do processo; 5) pré-avaliação; 6) avaliação. Cada uma destas será melhor detalhada nas subseções a seguir.

3.1. Diagnóstico

O processo de implantação do modelo MR-MPS-SW na Jambu Tecnologia iniciou com a elaboração de um diagnóstico realizado em maio de 2013. Nesse diagnóstico foi elaborado o primeiro levantamento sobre quais atividades do processo estavam sendo realizadas e a análise acerca da aderência ao modelo, confrontando-se o que se fazia com as recomendações do modelo, o que poderia ser mudado, além da identificação dos resultados esperados que não existiam no processo em curso na empresa. A partir daí um planejamento foi definido.

3.2. Treinamento/Nivelamento da Equipe

Considerando-se que a equipe da Jambu Tecnologia já tinha iniciado o processo de consolidação das práticas ágeis, a capacitação para a implementação do MR-MPS-SW ocorreu com a oferta e a participação nos cursos com os seguintes conteúdos programáticos: Melhoria do Processo de Software; o Modelo MR-MPS-SW; os Processos de Gerência de Projetos e Gerência de Requisitos; e Métodos Ágeis. Além disso, o curso oficial C1- MR-MPS-SW de Introdução ao Modelo de Referência para Software foi ofertado para alguns membros da Jambu Tecnologia.

3.3. Implantação do Processo

No MR-MPS-SW, a definição de projeto é “um empreendimento realizado para criar um produto. O projeto caracteriza-se por temporalidade e resultado, produto único e elaboração progressiva” [SOFTEX, 2013]. A temporalidade na definição de projeto significa que todos os projetos possuem um início e um fim bem definidos e estabelecidos. O fim do projeto é atingido quando os objetivos do projeto tiverem sido alcançados, quando se tornar claro que os objetivos não serão ou não poderão ser alcançados ou ainda quando o projeto for cancelado [SOFTEX, 2013].

Page 5: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

29WAMPS 2015

Assim, a implantação de um modelo de qualidade na Jambu Tecnologia influenciou todas as áreas operacionais da empresa, não somente a de desenvolvimento de software, mas o setor de consultoria, de suporte, o administrativo, o financeiro e o marketing, que passaram a adotar métodos ágeis nas suas estratégias de gestão. Desta forma, mesmo as atividades operacionais passaram a ser controladas e monitoradas pelo uso do Kanban. A implantação consistiu inicialmente em se revisar as práticas e os fluxos do processo vigentes e a devida comparação com as recomendações do MR-MPS-SW. Assim, foram feitos os primeiros mapeamentos do processo e a definição clara das atividades a serem realizadas.

A adequação dos métodos ágeis, notadamente SCRUM, foi a estratégia escolhida para garantir a implementação dos processos do Nível G do MR-MPS-SW. Ao longo do projeto de implementação, definiu-se um Guia de Implementação dos Processos do Nível G do MR-MPS-SW usando Métodos Ágeis (SCRUM, XP – eXtreme Programming, TDD – Test Driven Development, Kanban, User Story Map, Planning Poker, Risk Agile, entre outros), cujo foco estava em orientar a adequação dos processos de software organizacionais nos dois contextos. O referido Guia atendeu principalmente as outras empresas de desenvolvimento de software participantes do Edital na implementação do programa de definição e melhoria dos processos organizacionais na área de software, além da investigação e da disseminação do conhecimento nas práticas propostas pelos modelos de qualidade de software e pelos métodos ágeis. O processo foi executado da seguinte forma:

1. Cerimônia de definição da Visão: contemplando a elaboração do mapa preliminar de estórias de usuário e respectivos Canvas de negócio e de projeto, como forma de identificação dos requisitos. Levantamento de custos, orçamento e da proposta para o cliente. Aceite comercial e efetivação da contratação. Vale ressaltar que esta fase do processo possui a participação do Stakeholder (Cliente) e do Product Owner;

2. Cerimônia de Planejamento: definição e refinamento da visão do projeto com a presença dos Stakekholders; elaboração do mapa de estórias de usuários detalhado; definição das Sprints (retratando o cronograma do projeto);

3. Desenvolvimento das Sprints e geração dos Releases dos produtos no projeto desenvolvido. Estas duas últimas fases contam com a participação efetiva do Time de Desenvolvimento, do Scrum Master e do Product Owner;

4. Review e Retrospectiva, onde o Product Owner analisa a entrega realizada pelo desenvolvimento da Sprint e o Time, juntamente com o Scrum Master, identificam as lições aprendidas do processo;

A contratação dos projetos é precedida de cerimônias de elicitação dos requisitos, onde são realizadas reuniões de brainstorm com o cliente e seus representantes. Um levantamento das funcionalidades centrais são definidas em quadros de Business Model Canvas e/ou Project Model Canvas. A partir da devida organização e priorização dos temas de negócio, são definidos quantos ciclos de desenvolvimento serão necessários para a execução das funcionalidades do produto. Cada um destes ciclos representa o conceito de projeto para a Jambu Tecnologia, contando com uma periodização bem definida de atendimento do escopo do produto. A proposta desta organização e priorização é sempre feita com base nas recomendações de contratação usando escopo aberto, de forma que o desenvolvimento dos produtos nos projetos possa evoluir com o aprendizado do Time. Negócios que não admitem contratos de escopo aberto só poderão ser aceitos se o Time possuir o domínio do problema apresentado.

Page 6: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Artigos técnicos selecionados para apresentação

30 WAMPS 2015

Após o aceite e a devida contratação do projeto, um Product Owner, ou grupo de Product Owners, deve ser devidamente alocado e uma primeira cerimônia de planejamento do projeto deve acontecer com a participação do Stakeholder, Product Owner, Scrum Master, Time de Desenvolvimento e Secretária (apoio administrativo). Com isso, são definidos os seguintes artefatos para o projeto:

• Mapa de Estórias de Usuário, como pode ser visto na Figura 1, representando o Escopo, o Ciclo de Vida, o Cronograma e as Personas do projeto. Assim, cada uma das estórias de usuário deve receber o entendimento do Product Owner. Ao longo da geração das inúmeras versões deste mapa, fotos são capturadas para representar a evolução do Cronograma em módulos funcionais e Sprints;

Figura 1. User Story Map Setorizado

• Quadro de Riscos, com todos os riscos planejados de acordo com a probabilidade e o impacto, bem como ações de mitigação e contingência com os responsáveis pelo monitoramento, como visto na Figura 2(a);

• Quadro de Análise de Viabilidade do Projeto, analisando aspectos técnicos, operacionais, de custo e de prazo para a realização do projeto;

• Quadro dos Recursos Humanos, representando as pessoas responsáveis por cada um dos perfis definidos no processo da Jambu Tecnologia;

• Quadro Kanban de cada uma das Sprints, representando as tarefas (planejadas, não planejadas e de teste) realizadas pelo Time de Desenvolvimento, com as devidas estimativas de Tamanho, Tempo e Custo;

Page 7: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

31WAMPS 2015

• Gráfico de Burn-up da Sprint, como visto na Figura 2(b), orientando o monitoramento e o controle pelos envolvidos no projeto no que tange aos aspectos previamente planejados (Escopo, Tempo, Custo, Recursos Humanos e de Infraestrutura, Riscos, etc.).

(a) (b)

Figura 2. (a) Quadro de Monitoramento dos Riscos; (b) Gráfico de Burn-up da Sprint

3.4. Maturação do Processo

Com o processo devidamente definido, foram realizados os refinamentos das práticas, o estabelecimento de indicadores, a definição de cerimônias como marcos de projeto e pontos de controle, conforme a elaboração do guia do processo de implementação do MR-MPS-SW adotando práticas ágeis, definido na Subseção 3.3.

Foi definido que o repositório de artefatos do processo seria um sistema de Enterprise Content Management, o Alfresco ECM, baseado em software livre já em uso na Jambu Tecnologia antes da implantação do MR-MPS-SW. Este sistema possui suporte a várias ferramentas de colaboração e de gestão do conhecimento, bem como a capacidade para coletar e construir o índice de busca automatizada, baseado em metadados e full indexing, com controle de segurança baseada em papéis e informações de relevância para a preservação e acesso ao conhecimento.

Checklists para a análise da aplicação do processo foram elaborados para se garantir que as cerimônias estavam sendo executadas na sequência correta, com todos os artefatos gerados e coletados. Assim, foi definida uma atividade de garantia da qualidade do processo, como por exemplo gravações de áudio ou vídeo das cerimônias, captura de fotos dos quadros, preenchimento adequado e preservação dos cartões de estórias de usuário, de tarefas, de risco, entre outros, bem como a geração de planilhas e outros documentos necessários. Os cartões em que são descritas as estórias de usuário e as tarefas receberam indicadores de progresso, esforço, autoria e rastreabilidade.

Page 8: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Artigos técnicos selecionados para apresentação

32 WAMPS 2015

O quadro de Mapa de Estórias de Usuário foi setorizado, como visto na Figura 1, e aprimorado de forma a receber alguns indicadores, como por exemplo: a indicação do cronograma de projeto com a data inicial e final das Sprints planejadas; uma coluna para a identificação de problemas no desenvolvimento das funcionalidades ao longo da Sprint, bem como os impedimentos do processo; e a identificação do Time de desenvolvimento que participa do projeto para o devido rastreamento a partir do registro de fotos executadas ao longo do processo de desenvolvimento.

Foi implementada e incluída no processo uma estratégia de gestão do risco, baseada em [Oliveira et al., 2013], bem como a elaboração de um cartão de identificação e rastreamento de riscos.

3.5. Pré-Avaliação

Antes de submeter os projetos à avaliação oficial, a equipe de implantação aplicou novamente o questionário para realização de um Gap Analysis e assim identificar possíveis problemas de conformidade com o processo. Após essa atividade, foi aplicado o questionário de avaliação, de forma que toda equipe pudesse refletir sobre as práticas do processo nos projetos selecionados e a adequação ao modelo MR-MPS-SW.

3.6. Avaliação

A avaliação seguiu o processo definido no Guia de Avaliação do MPS.BR [SOFTEX, 2013]. Para que a avaliação fosse conduzida com sucesso, foram necessários alguns princípios: Comprometimento do patrocinador; Motivação; Confidencialidade; Percepção dos benefícios; e Credibilidade. A avaliação aconteceu nos dias 26 e 27 de setembro de 2014 e foi concluída sem nenhuma não conformidade (ajuste requerido) detectada pela equipe de avaliação por parte da Jambu Tecnologia, o que deixou a equipe motivada com o processo. Alguns achados detectados pela equipe de avaliação foram:

• Pontos Fortes: algumas atividades de processos de níveis superiores de maturidade já são executadas (por exemplo, Garantia da Qualidade, Gerência de Configuração, Medição); ambiente de trabalho amistoso; espírito de equipe e de cooperação; facilidade de comunicação; foco na inovação; equipe comprometida com a organização; valorização dos recursos humanos; desafios que geram oportunidades de crescimento pessoal e de aprendizagem;

• Oportunidades de Melhorias: poderia ser elaborada uma representação esquemática das informações dispostas no Painel da sala de desenvolvimento no processo; a política poderia ser revista de forma a deixar detalhes operacionais descritos somente no processo organizacional; avaliar a possibilidade de automatizar a rastreabilidade vertical, associando diretamente a história à porção de código na ferramenta Github; aprimoramento da área de Engenharia de Software, em especial na parte de arquitetura e integração contínua.

Page 9: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

33WAMPS 2015

4. Adaptação dos Métodos, Resultados e Lições Aprendidas do Estudo de Caso

Os elementos inovadores do estudo de caso realizado, tratam-se em explorar o uso de evidências que tragam agilidade para a implementação do Nível de Maturidade G do MR-MPS-SW, como:

• o uso de Quadros tipo Canvas para a representação de Cronograma, Escopo do Produto (Mapa de Estórias de Usuário), Tratamento da Lista de Impedimentos, Problemas (como pode ser visto na Figura 3(a)), Desvios e Mudanças, Acompanhamento do Projeto, Burn-up, Gerenciamento de Riscos, Lições Aprendidas, Indicadores, Gestão do Conhecimento, Plano do Projeto;

• a definição e o uso de inúmeros padrões de cartões visuais para representar de maneira diferenciada as informações que compõem detalhes sobre User Stories, System Stories, Impedimentos, Problemas, Mudanças, Tarefas (como pode ser visto na Figura 3(b)), Riscos, entre outros;

(a) (b)

Figura 3. (a) Modelo de Cartão para Descrever os Problemas/Desvios do Projeto; (b) Modelo de Cartão para

Descrever as Tarefas do Kanban

• o uso de mídias, como Áudio e Vídeo, para registrar as discussões realizadas e as ações tomadas ao longo das cerimônias (Planejamento, Reuniões Diárias, Review e Retrospectiva), bem como Fotos para monitorar/acompanhar o andamento do projeto a partir das evoluções registradas nos Quadros;

• o uso de Reposiório ECM, como o Alfresco, para catalogar e indexar as várias mídias geradas ao longo do desenvolvimento dos projetos;

• geração de um Guia de apoio à implementação do Nível G do MR-MPS-SW a partir da adoção de métodos ágeis, e sua disseminação para a comunidade de desenvolvimento de software do estado do Pará.

Page 10: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Artigos técnicos selecionados para apresentação

34 WAMPS 2015

Além disso, pode-se definir como principais lições aprendidas da experiência executada:

• para um controle da implementação fiel de todas as práticas ágeis no Nível G do MR-MPS-SW foi necessária a adoção de resultados esperados constantes em níveis superiores de maturidade, como: Garantia da Qualidade, a partir da contratação de uma Secretária que auditava a geração das evidências (Quadros, Áudios, Vídeos, Fotos, Checklists) e a sua manutenção no reposiório de conteúdo; Gerência de Configuração, adoção de um Repositório de Conteúdo (Alfresco) que permitia a manutenção, indexação e versionamento dos Ativos dos Projetos; Medição, a partir da geração de indicadores gráficos em Quadros para o acompanhamento diário dos projetos pelo Scrum Master e Time;

• a equipe precisou ser mais comprometida e envolvida com a execução dos projetos, em razão do controle maior que se tinha na geração das evidências para o atendimento dos resultados esperados do Nível G do MR-MPS-SW;

• antes do uso do MR-MPS-SW as cerimônias ágeis eram realizadas, porém sem uma Agenda prévia e um compromisso com horário e datas para a realização destas. A partir do MR-MPS-SW houve um controle e um atendimento mais rigoroso dos prazos para a realização das cerimônias;

• uso de ferramentas de software para apoio na geração e no controle das evidências de atendimento ao Nível G do MR-MPS-SW, como: Alfresco para o gerenciamento do conhecimento e gerência de requisitos; Gitlab e GIT para o versionamento; Ubuntu e Eclipse IDE como plataforma de desenvolvimento; e Jenkings e OpenStack (KVM e LXC) para integração contínua.

Para a adequada integração das práticas ágeis aos resultados esperados do MR-MPS-SW, algumas adaptações foram realizadas para a Jambu Tecnologia, a saber:

• criação de padrões de cartões visuais para representar as informações necessárias que caracterizam o atendimento aos resultados esperados do MR-MPS-SW, como Escopo, Riscos, Desvios, Rastreabilidade, entre outros;

• geração de outros Indicadores visuais nos vários Quadros (Canvas) para ajudar no monitoramento dos projetos, como Índice de Retrabalho, Esforço dispendido por cada tipo de Cartão, Instabilidade do Escopo do Projeto, entre outros;

• como ao longo do projeto havia a ocorrência de Estórias Não Planejadas, adotou-se o Burn-up para acompanhar o atingimento das Metas da Sprint;

• registros das cerimônias e da evolução dos Quadros a partir de mídias em Áudio, Vídeo e Fotos, e sua catalogação, indexação e versionamento em um repositório.

Page 11: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW Nível de Maturidade G na Jambu Tecnologia: Resultados e Lições Aprendidas

35WAMPS 2015

5. Considerações Finais

Após a avaliação bem sucedida, a Jambu Tecnologia continuou refletindo sobre o processo institucionalizado e todas as áreas estratégicas da empresa estão agora envolvidas com a consecução de estratégias de negócio centradas na busca de um lugar de destaque no cenário nacional de software. Ao longo da implementação da melhoria do processo, constatou-se que com criatividade pode-se adotar os métodos ágeis alinhados às práticas do MR-MPS-SW, em consonância com os fundamentos e princípios do Manifesto Ágil [Manifesto, 2001]. A experiência descrita neste relato de experiência demonstra que a aderência a um modelo de qualidade, a priori prescritivo, quando devidamente implementado, não conflita com as práticas ágeis e pode manter produtivas as micro e pequenas empresas de software que as adotem.

Os resultados alcançados confirmam a importância estratégica no processo da avaliação MPS no estado do Pará, centrado na busca da formação e do fortalecimento da massa crítica local, e na oferta e na procura de serviços, que poderá culminar, dependendo da continuidade dos investimentos públicos, na preparação para a disputa e captura de mercados em âmbito nacional e internacional, além do local.

A Jambu Tecnologia tem ratificada a meta de manutenção do processo em contínua revisão e obtenção de níveis superiores de maturidade. Durante a elaboração deste relato de experiência, foi iniciada, em novembro de 2014, a implantação do modelo CMMI-DEV Nível de Maturidade 2, que será concluída em dezembro de 2015, quando ocorrerá a avaliação oficial. Caso seja aprovada, a Jambu Tecnologia será a primeira empresa da região Norte do Brasil a obter níveis de maturidade do CMMI. A migração do MR-MPS-SW para CMMI deu-se em razão da empresa estar desenvolvendo projetos em parceria com empresas internacionais nos EUA, e estas empresas solicitarem a adequação aos seus processos.

As práticas absorvidas, assim como as amadurecidas durante a implantação do MR-MPS-SW, estão em pleno uso pela Jambu Tecnologia e estão sendo aplicadas no desenvolvimento de mais um de seus produtos. Este produto consiste na geração de um aplicativo de gestão de projetos de software baseado em métodos ágeis, que simplifica a coleta de indicadores do processo por meio da captura de fotos dos quadros no ambiente de desenvolvimento, o que deverá favorecer a garantia da qualidade do processo e de projetos da empresa usuária e de seus clientes. Este produto está sendo financiado pelo Edital 003/2014 – Programa de Incentivo à Inovação em Microempresas e Empresas de Pequeno Porte – INOVAPARÁ/TECNOVA, financiado pela FAPESPA e SECTI.

A partir da reflexão continuada do processo de software que a Jambu Tecnologia vem empreendendo, demonstrada na sistematização do presente relato de experiência, é previsível o alcance de níveis superiores de maturidade, sem abrir mão dos fundamentos ágeis, e a ocupação de um lugar de destaque entre as empresas brasileiras de software.

Vale mencionar, ainda, que parte desta pesquisa já havia sido apresentada na Trilha da Indústria do CBSOFT, como visto em [Sá e Oliveira, 2014], porém em 2014 o trabalho de melhoria estava em andamento, onde os vários ativos usados para evidenciar a implementação do Nível G do MR-MPS-SW ainda estavam em fase de maturação na organização, ou seja, o trabalho abordava apenas a ideia do que estava sendo usado na empresa. Já o trabalho proposto neste artigo apresenta de fato o resultado da implementação após a avaliação oficial no modelo MR-MPS-SW, apresentando as lições aprendidas e os resultados obtidos.

Page 12: Aplicação de Métodos Ágeis na Implementação do MR-MPS-SW ... · um melhor gerenciamento dos seus processos de software, ... e Academia de Software Livre, ... do modelo MR-MPS-SW

Artigos técnicos selecionados para apresentação

36 WAMPS 2015

6. Agradecimentos

Este trabalho recebeu apoio financeiro da SECTI – Secretaria do Estado do Pará em Ciência, Tecnologia e Inovação, a partir do Edital 02/2012. Além disso, esta iniciativa bem sucedida recebeu o apoio técnico do Projeto SPIDER, vinculado ao PPGCC-ICEN-UFPA.

Referências

Catunda, E., Nascimento, C., Cerdeiral, C., Santos, G., Nunes, E., Shots, N., Shots, M., Rocha, A. R. (2011) “Implementação do Nível F do MR-MPS com Práticas Ágeis do Scrum em uma Fábrica de Software”. In: X SBQS. Curitiba – PR.

Cohn, M. (2005) “Agile Estimating and Planning”. Prentice Hall.

Manifesto (2011) “Manifesto for Agile Software Development”. Disponível em: http://www.agilemanifesto.org/. Último Acesso em Setembro/2015.

Oliveira, S. R. B., Santos, B., Neto, B., Cardoso, P. (2013) “RisAgi: Uma Metodologia Ágil para Gestão de Riscos em Projetos de Desenvolvimento de Software”. In: IX WAMPS. Campinas – SP.

Rincon, A. M. (2009) “Qualidade de Software”. In: XI Encontro de Estudantes de Informática do Tocantins. pp. 75-86.

Sá, M. R., Oliveira, S. R. B. (2014) “Implementação do Modelo MPS para Software, Nível G de Maturidade, usando Metodologias Ágeis: Um Caso de Sucesso em uma Empresa de Micro Porte”. In: V CBSOFT – Trilha da Indústria. Macéio – AL.

Schwaber, K., Beedle, M. (2008) “Agile Software Development with Scrum”. Pearson Education International.

SEI – Software Engineering Institute (2010) “Capability Maturity Model Integration for Development – CMMI-Dev”. Versão 1.3. Carnegie Mellon University.

SOFTEX – Associação para Promoção da Excelência do Software Brasileiro (2012) “Melhoria do Processo de Software Brasileiro – Guia Geral MPS de Software:2012”. Brasil.

SOFTEX – Associação para Promoção da Excelência do Software Brasileiro (2013) “Melhoria do Processo de Software Brasileiro – Guia de Avaliação:2013”. Brasil.

Travassos, G. H., Kalinowski, M. (2012) “iMPS 2011 - Resultados de Desempenho das Empresas que Adotaram o Modelo MPS de 2008 a 2011”. In: SOFTEX. São Paulo.