Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de...

11
______________________ 1 Sociedade Educacional de Santa Catarina SOCIESC. e-mail: [email protected]. 2 Sociedade Educacional de Santa Catarina SOCIESC. e-mail: [email protected]. DESENVOLVIMENTO E APLICAÇÃO DE UMA FERRAMENTA PARA CONTROLE DE SOLICITAÇÕES E UTILIZAÇÃO DE SCRUM EM EMPRESA NIBSS: ESTUDO DE CASO Haissam Yebahi 1 , Luiz Camargo 2 Resumo: O sucesso de projetos na área da engenharia de software depende muitas vezes da aplicação das melhores práticas, de acordo com as características particulares do projeto e do conhecimento técnico dos responsáveis por garantir seu sucesso. As metodologias ágeis estão se tornando uma grande aliada em projetos de software, cujo principal objetivo está em realizar as entregas de forma mais rápida e assegurar a satisfação do cliente. O presente artigo tem como objetivo desenvolver uma ferramenta para melhorar a gestão de solicitações da área de TI e avaliar a utilização do scrum em ambiente corporativo para maximizar o retorno de investimento de acordo com as necessidades do negócio. Ao implantar a ferramenta de controle de solicitações, foi possível reportar as entregas para a gerência da TI e permitir aos coordenadores acompanharem o andamento de projetos e atividades executadas. A adoção do scrum está sendo feita gradativamente e o sucesso da utilização depende do apoio dos envolvidos e já se percebe um maior comprometimento da equipe em aumentar a qualidade do serviço prestado. Apesar dos benefícios propostos pelo scrum, deve ser considerado o tempo necessário para sua institucionalização e assim aumentar a satisfação dos envolvidos. Palavras-chave: Scrum. Metodologias ágeis. Processos de software. 1 INTRODUÇÃO Projetos na área de TI (Tecnologia da Informação) em ambiente corporativo são normalmente planejados de acordo com a necessidade dos envolvidos, que dependem de informações gerenciais para organizar e suprir as demandas internas. Mudanças durante o ciclo de vida de um software são quase que inevitáveis. O sucesso de projetos na área da engenharia de software depende muitas vezes da aplicação das melhores práticas, de acordo com as características particulares do projeto e do conhecimento técnico dos responsáveis pela execução (PFLEEGER, 2004). As metodologias ágeis vêm se tornando uma grande aliada em projetos de software que não necessitam de controles rígidos de documentação e permitem flexibilidade na execução das atividades. Um dos principais motivos para tal aceitação se deve ao foco em entregas rápidas e de forma incremental de acordo com as expectativas do cliente, o que torna os resultados visíveis em um curto intervalo de tempo. Em 2001, foi publicado o manifesto ágil, responsável por definir os princípios e práticas desta metodologia que mais tarde se tornou a Agile Alliance, uma organização não lucrativa que promove o desenvolvimento ágil (AGILE ALLIANCE, 2012). O scrum é fundamentado nas teorias empíricas de controle de processo utilizando uma abordagem iterativa e incremental para melhorar estimativas, controlar riscos e permitir manter o foco na entrega com maior valor de negócio ao cliente (SCHWABER & SUTHERLAND, 2011). No Scrum existe o product backlog, formado pelas solicitações do cliente, comumente denominado product owner, o qual seria responsável por definir prioridades e estaria inserido de forma mais transparente nas tomadas de decisões de entregas periódicas, denominadas de sprint. Outro papel importante é o scrum master, responsável por garantir que o scrum seja entendido e aplicado, além de prover suporte para o sucesso do projeto pela equipe de desenvolvimento (KNIBERG, 2007).

description

O sucesso de projetos na área da engenharia de software depende muitas vezes da aplicação das melhores práticas, de acordo com as características particulares do projeto e do conhecimento técnico dos responsáveis por garantir seu sucesso. As metodologias ágeis estão se tornando uma grande aliada em projetos de software, cujo principal objetivo está em realizar as entregas de forma mais rápida e assegurar a satisfação do cliente. O presente artigo tem como objetivo desenvolver uma ferramenta para melhorar a gestão de solicitações da área de TI e avaliar a utilização do scrum em ambiente corporativo para maximizar o retorno de investimento de acordo com as necessidades do negócio. Ao implantar a ferramenta de controle de solicitações, foi possível reportar as entregas para a gerência da TI e permitir aos coordenadores acompanharem o andamento de projetos e atividades executadas. A adoção do scrum está sendo feita gradativamente e o sucesso da utilização depende do apoio dos envolvidos e já se percebe um maior comprometimento da equipe em aumentar a qualidade do serviço prestado. Apesar dos benefícios propostos pelo scrum, deve ser considerado o tempo necessário para sua institucionalização e assim aumentar a satisfação dos envolvidos.

Transcript of Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de...

Page 1: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

______________________ 1Sociedade Educacional de Santa Catarina – SOCIESC. e-mail: [email protected]. 2Sociedade Educacional de Santa Catarina – SOCIESC. e-mail: [email protected].

DESENVOLVIMENTO E APLICAÇÃO DE UMA FERRAMENTA PARA CONTROLE DE

SOLICITAÇÕES E UTILIZAÇÃO DE SCRUM EM EMPRESA NIBSS: ESTUDO DE

CASO

Haissam Yebahi1, Luiz Camargo2

Resumo: O sucesso de projetos na área da engenharia de software depende muitas vezes da

aplicação das melhores práticas, de acordo com as características particulares do projeto e do

conhecimento técnico dos responsáveis por garantir seu sucesso. As metodologias ágeis estão se

tornando uma grande aliada em projetos de software, cujo principal objetivo está em realizar as

entregas de forma mais rápida e assegurar a satisfação do cliente. O presente artigo tem como

objetivo desenvolver uma ferramenta para melhorar a gestão de solicitações da área de TI e

avaliar a utilização do scrum em ambiente corporativo para maximizar o retorno de investimento

de acordo com as necessidades do negócio. Ao implantar a ferramenta de controle de solicitações,

foi possível reportar as entregas para a gerência da TI e permitir aos coordenadores

acompanharem o andamento de projetos e atividades executadas. A adoção do scrum está sendo

feita gradativamente e o sucesso da utilização depende do apoio dos envolvidos e já se percebe um

maior comprometimento da equipe em aumentar a qualidade do serviço prestado. Apesar dos

benefícios propostos pelo scrum, deve ser considerado o tempo necessário para sua

institucionalização e assim aumentar a satisfação dos envolvidos.

Palavras-chave: Scrum. Metodologias ágeis. Processos de software.

1 INTRODUÇÃO

Projetos na área de TI (Tecnologia da Informação) em ambiente corporativo são normalmente

planejados de acordo com a necessidade dos envolvidos, que dependem de informações gerenciais

para organizar e suprir as demandas internas.

Mudanças durante o ciclo de vida de um software são quase que inevitáveis. O sucesso de

projetos na área da engenharia de software depende muitas vezes da aplicação das melhores

práticas, de acordo com as características particulares do projeto e do conhecimento técnico dos

responsáveis pela execução (PFLEEGER, 2004).

As metodologias ágeis vêm se tornando uma grande aliada em projetos de software que não

necessitam de controles rígidos de documentação e permitem flexibilidade na execução das

atividades. Um dos principais motivos para tal aceitação se deve ao foco em entregas rápidas e de

forma incremental de acordo com as expectativas do cliente, o que torna os resultados visíveis em

um curto intervalo de tempo.

Em 2001, foi publicado o manifesto ágil, responsável por definir os princípios e práticas desta

metodologia que mais tarde se tornou a Agile Alliance, uma organização não lucrativa que promove

o desenvolvimento ágil (AGILE ALLIANCE, 2012).

O scrum é fundamentado nas teorias empíricas de controle de processo utilizando uma

abordagem iterativa e incremental para melhorar estimativas, controlar riscos e permitir manter o

foco na entrega com maior valor de negócio ao cliente (SCHWABER & SUTHERLAND, 2011).

No Scrum existe o product backlog, formado pelas solicitações do cliente, comumente denominado

product owner, o qual seria responsável por definir prioridades e estaria inserido de forma mais

transparente nas tomadas de decisões de entregas periódicas, denominadas de sprint. Outro papel

importante é o scrum master, responsável por garantir que o scrum seja entendido e aplicado, além

de prover suporte para o sucesso do projeto pela equipe de desenvolvimento (KNIBERG, 2007).

Page 2: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

De acordo com o observatório da SOFTEX, responsável por realizar pesquisas voltadas ao

setor nacional de software e serviços de TI, o Brasil é constituído por empresas que formam a

chamada IBSS (Indústria Brasileira de Software e Serviços de TI), cuja receita provém de

atividades relacionadas a TI (e.g., desenvolvimento de software, consultoria, suporte técnico) e as

NIBSS (Não-IBSS), formadas por empresas com fonte de renda de outros setores econômicos que

realizam atividades internas de TI com a finalidade de obter melhorias nos processos internos

(SOFTEX, 2012).

O presente artigo tem como objetivo principal descrever o cenário atual de uma empresa

NIBSS, situada na cidade de Joinville, Santa Catarina, e avaliar a utilização de scrum na área de TI.

Os objetivos específicos deste projeto englobam desenvolver uma ferramenta de controle de

solicitações, para melhorar o processo das entregas e ter um controle das atividades realizadas e

propor a utilização do framework scrum para maximizar o ROI (Retorno de Investimento) de

acordo com as metas da empresa. Para o controle de sprint e product backlog utilizados no scrum,

será desenvolvido um módulo integrado com o sistema de solicitações. Também será

disponibilizado um portal web, contendo indicadores gráficos para acompanhamento das

solicitações e manter a transparência do andamento das atividades.

Na primeira seção é apresentada uma introdução dos temas que serão abordados no artigo. Na

segunda seção é abordada uma introdução à engenharia de software e na terceira seção são

elencados os conceitos e a fundamentação teórica sobre metodologias ágeis com foco em scrum. Na

seção quatro é descrito como era o modelo da área de TI da empresa e na quinta seção é

apresentado o sistema desenvolvido para controle de solicitações e a proposta de utilizar o scrum

para melhorar o processo de entregas e resultados alcançados. A sexta e última seção apresenta as

conclusões do artigo.

2 ENGENHARIA DE SOFTWARE

Segundo IEEE (1990), a engenharia de software pode ser definida como a aplicação de uma

abordagem sistemática, quantificável e disciplinada para produzir sistemas de qualidade. Um dos

objetivos é reduzir os riscos de insucesso através da utilização de práticas e modelos bem aceitos

nas mais diversas áreas da computação.

Através da engenharia de software, surgiram diversas abordagens para tentar resolver e

controlar as mudanças e riscos de forma inerente dando origem aos modelos universais de processos

de software (PETERS; PEDRYCZ, 2001).

Conforme citado por Osiek (2011), o Standish Group, grupo responsável por coletar

informações de projetos de desenvolvimento de software e ambientes de TI, publicou em 2011 um

relatório relacionado a projetos de software no qual se registrou um percentual de 37% de sucesso, a

maior taxa desde 1994. A utilização de metodologias ágeis e o investimento em modernização de TI

estão entre as razões para esse aumento. Entre os fatores de insucesso podem ser citadas,

estimativas imprecisas de prazos, baixa comunicação, falta de comprometimento, compreensão

incorreta e baixa qualidade.

3 METODOLOGIAS ÁGEIS

Diferentemente dos modelos tradicionais de processos de software (e.g., cascata, espiral), os

métodos ágeis são formados por um conjunto de técnicas e práticas que tornam o desenvolvimento

de produtos mais iterativo, com a participação direta do cliente e a realização de entregas

incrementais. Isso permite oferecer um ambiente mais dinâmico e transparente, reduzir custos e

responder mais rapidamente as mudanças (MOREIRA; LESTER; HOLZNER, 2010).

Em 2001, quando foi realizada a publicação do manifesto ágil, foram definidos os valores que

geraram os princípios fundamentais utilizados na definição de ágil. Entre os princípios, podem ser

citados (ibidem):

A maior prioridade é a satisfação do cliente, entregando software cedo e com

frequência, com o objetivo de agregar o maior valor de negócio;

Page 3: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

Mudanças no mundo real são inevitáveis e são sempre bem vindas. Mesmo que

cheguem após iniciar o desenvolvimento do software, deve-se enfatizar e trabalhar

pensando que elas podem ser introduzidas a qualquer momento;

Desenvolver projetos em torno de indivíduos motivados e enfatizar a comunicação

direta entre os envolvidos, ao invés de utilizar ferramentas e processos mais

burocráticos; e

Produto funcionando é a medida primária de progresso e tarefas devem ser quebradas

até que se atinja um nível gerenciável e modular.

Em pesquisa realizada pelo Standish Group no ano de 2011, modelos ágeis representam três

vezes mais sucesso se comparados ao modelo tradicional em cascata, além de consumir menos

tempo e recurso (COHN, 2012).

Para obter maior sucesso e usufruir dos benefícios dos métodos ágeis, é necessário verificar se

os princípios são adequados e possíveis de serem aplicados no ambiente de trabalho. Resultados

ágeis dependem de equipes pequenas e próximas para facilitar a interação e comunicação entre os

envolvidos (MOREIRA; LESTER; HOLZNER, 2010).

3.1 Scrum

Scrum pode ser definido como um framework estrutural utilizado para gerenciar o

desenvolvimento de produtos, no qual é possível se utilizar de técnicas e processos de acordo com

as estratégias específicas desejadas, empregando uma abordagem iterativa e incremental focada em

equipes multidisciplinares (SCHWABER & SUTHERLAND, 2011).

O scrum possui a fundamentação originada das teorias empíricas de controle de processo e é

formado por três pilares de apoio (SCHWABER & SUTHERLAND, 2011):

Transparência: Tornar visíveis aspectos significativos do processo aos responsáveis e

permitir que compartilhem de um mesmo entendimento através de um padrão comum;

Inspeção: Deve-se realizar com frequência a verificação dos artefatos do scrum, bem

como o progresso dos objetivos e detectar variações indesejáveis; e

Adaptação: Quando for detectado que um ou mais aspectos do processo foram

desviados para fora dos limites, devem ser realizados ajustes o mais rápido possível

para minimizar estes desvios. No scrum existem quatro oportunidades formais para

inspeção e adaptação: reunião de planejamento, reunião diária, reunião de revisão e

retrospectiva de sprint.

Time scrum

No scrum, a execução das atividades é determinada de acordo com os papéis dos envolvidos,

que devem estar comprometidos com os objetivos. Ao definir os times (i.e. equipe scrum), os

membros devem ter autonomia para decidir executar o trabalho da melhor forma possível e assim

obter maior flexibilidade e produtividade. Cada membro da equipe possui um papel definido. Entre

os papéis para cada membro da equipe estão (SCHWABER & SUTHERLAND, 2011):

Product owner

Ou dono do produto, tem sólidos conhecimentos a respeito das necessidades e é responsável

por maximizar o retorno de investimento e garantir que a equipe agregue valor ao negócio. Sua

responsabilidade estende-se em definir os itens que fazem parte do product backlog para garantir

que a equipe de desenvolvimento entenda as necessidades e possa trabalhar de forma a alcançar os

objetivos. Deve estar presente sempre que possível para esclarecer eventuais dúvidas da equipe de

desenvolvimento (MOREIRA; LESTER; HOLZNER, 2010).

Scrum Master

Page 4: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

É responsabilidade do scrum master ou líder do time scrum, implementar os métodos, valores e

práticas do scrum e fazer com que sejam entendidos e aplicados tanto pela equipe de

desenvolvimento quanto pelo product owner. Também é responsável por motivar a equipe a se

auto-organizar, remover impedimentos que comprometam a entrega, realizar o acompanhamento e

ser uma pessoa colaborativa, responsável, comprometida e influente (ibidem).

Equipe Desenvolvimento

É formada pelos profissionais responsáveis por realizar as entregas ou versões funcionais ao

final de cada sprint. Normalmente, equipes scrum são formadas por até doze pessoas e todos devem

estar comprometidos com o sucesso do projeto. A equipe deve ser pequena o suficiente para se

manter ágil e grande o suficiente para completar uma parcela significativa do trabalho (ibidem).

Product Backlog

Um dos artefatos gerados no scrum é o product backlog, uma lista ordenada e priorizada pelo

product owner, contendo informações suficientes para as atividades serem estimadas e permitir a

uma equipe scrum, controlar o que deve ser feito. Histórias de usuários, melhorias, correções e

tarefas fazem parte do product backlog. A prioridade pode ser definida de acordo com os atributos,

como por exemplo, valor, risco e necessidade. Itens de maior prioridade devem ser listados no topo

e devem ser mais detalhados do que itens com menor prioridade (SCHWABER & SUTHERLAND,

2011).

Sprint

Um dos eventos mais importantes no scrum são os sprints, pois através deles são determinadas

as histórias que serão executadas pela equipe de desenvolvimento. Possuem um tamanho pré-

definido, normalmente entre uma e quatro semanas e ao final devem gerar uma versão incremental,

potencialmente utilizável do produto (KNIBERG, 2007).

Sprints possuem um objetivo, escopo e prazo definido, portanto podem ser comparados a um

projeto e permitem previsibilidade para garantir a inspeção e adaptação do progresso em direção à

meta definida (ibidem).

O planejamento é sempre feito no início de um sprint e envolve tanto a equipe quanto o

product owner. As histórias são estimadas pela equipe até que se atinja a duração do sprint.

Somente deve ser incluído o que for possível de ser entregue, respeitando-se os prazos estabelecidos

de acordo com a duração do sprint (ibidem).

Após a definição, não devem ser incluídos novos itens, porém pode-se deixar um intervalo de

tempo livre para correção de bugs e urgências ou até mesmo uma lista de itens desejados para serem

incluídos ao final, caso haja tempo disponível (ibidem).

Sprints curtos tornam entregas mais ágeis e melhoram o feedback, sprints longos possuem mais

tempo para executar as atividades, garantir a entrega e se recuperar de possíveis imprevistos. Sprints

podem ser cancelados antes do término previsto quando as metas não puderem ser alcançadas,

ocorrerem mudanças nas prioridades ou seu objetivo se tornar obsoleto (SCHWABER &

SUTHERLAND, 2011).

Um product backlog nunca está completo e deve ser atualizado constantemente incluindo,

removendo ou repriorizando itens para refletir as mudanças, devido a suas características dinâmicas.

Ciclo de vida

As iterações do scrum (figura 2) iniciam-se com uma reunião de planejamento de sprint, que

envolve o scrum master, o product owner e a equipe responsável por executar os itens selecionados

para o sprint backlog. O product owner deve estar presente, pois é ele quem define os objetivos que

devem ser alcançados, esclarece eventuais dúvidas para a equipe e define o que deve ser entregue.

Page 5: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

Figura 2 – Ciclo de vida do Scrum

Fonte: Adaptado de MARCIEL (2009)

A equipe é responsável por estimar as atividades que serão executadas e discutir as dúvidas

existentes. O scrum master atua como um facilitador da reunião e outras pessoas podem participar

da reunião desde que contribuam de alguma forma. (MOREIRA; LESTER; HOLZNER, 2010):

Realizada a definição dos itens do sprint backlog, a equipe inicia a execução das atividades.

Diariamente devem ser realizadas reuniões de aproximadamente quinze minutos entre a equipe e o

scrum master, para identificar e remover possíveis obstáculos, manter o foco da equipe e atualizar o

progresso de execução das tarefas do sprint backlog. Através da comunicação, os membros da

equipe podem colaborar para atingir o objetivo da melhor forma possível e aumentar a qualidade

das entregas (SCHWABER & SUTHERLAND, 2011).

A equipe realiza o acompanhamento do progresso através de gráficos de burndown que exibem

informações para avaliar se os objetivos serão alcançados no prazo definido e verificar a velocidade

da equipe. A comparação é feita entre as estimativas feitas no início do sprint e as atividades

concluídas.

Ao finalizar um sprint, deve ser realizada uma reunião de revisão, cujo objetivo é identificar o

que ficou pronto, identificar os problemas ocorridos durante o sprint e como eles foram resolvidos.

O resultado dessa reunião é um product backlog revisado com as possíveis atividades que serão

executadas no próximo sprint (SCHWABER & SUTHERLAND, 2011).

Como etapa final, a equipe deve fazer uma reunião de retrospectiva para analisar como está a

relação entre os envolvidos, processos e ferramenta, verificar pontos que devem ser melhorados e

discutir melhorias que poderiam ser feitas no próximo sprint.

4 MODELO DA ÁREA DE TI DO ESTUDO DE CASO

O modelo da área de TI deste estudo de caso é dividido em equipes formadas por analistas de

negócio e desenvolvedores, para atender as demandas das áreas de negócio (e.g., controladoria,

comercial, manufatura) que prestam suporte e atendimento às solicitações dos usuários.

As demandas mantidas internamente são divididas entre customizações para o ERP (Enterprise

Resource Planning – Sistemas para Planejamento de Recursos Corporativos) e sistemas legados.

4.1 Contextualizações do problema

Tanto as solicitações quanto os projetos não possuem um controle centralizado das

informações referentes às demandas existentes para as equipes de TI. Quando se trata de projetos, o

Page 6: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

controle é realizado pelo gerente responsável que gerencia e transforma as necessidades em tarefas,

para que elas possam ser executadas pela equipe de desenvolvimento.

Na Figura 3, encontra-se o procedimento comum existente para executar as solicitações.

Inicialmente as demandas são enviadas pelos solicitantes por email, o analista de TI responsável

pela área de negócio avalia se a solicitação é pertinente e encaminha para a equipe responsável por

executar a tarefa. Dependendo da complexidade, os analistas realizam especificações funcionais e

técnicas, detalhando as atividades que devem ser executadas pelos desenvolvedores.

Figura 3 – Processo atual de solicitações para a área de TI

De forma geral, é possível avaliar que não existe um controle efetivo de prazos para iniciar e

terminar as solicitações. O objetivo desse projeto está relacionado a melhorar a gestão e o processo

das entregas, torná-las mais frequentes e reportar os resultados a gerência.

5 FERRAMENTAS DESENVOLVIDAS PARA AVALIAÇÃO DO ESTUDO DE CASO

Esta seção descreve as ferramentas e atividades desenvolvidas durante o projeto, as tecnologias

utilizadas e por fim a proposta de melhorar o processo de entregas utilizando scrum.

5.1 Ferramenta para controle de solicitações

A ferramenta (Figura 4), desenvolvida em Oracle forms para ser executada diretamente no ERP

Oracle E-Business Suite, permite cadastrar as solicitações e controlar as atividades dos

desenvolvedores sem focar no micro gerenciamento.

Figura 4 – Tela para cadastro de solicitações

Usuário encaminha solicitação para TI

Analista avalia solicitação

Encaminha especificação para

equipe de desenvolvimento

Entregas são feitas de acordo com a

prioridade e urgência

Page 7: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

5.2 Portal web de indicadores

Para facilitar a análise e interpretação dos dados, foram criados gráficos disponibilizados

através de um portal web na intranet da empresa. O portal foi desenvolvido utilizando a linguagem

PHP (Hipertext PreProcessor) e o framework MVC (Model View Controller – Modelo Visão e

Controle) Code Igniter, que permite separar os componentes em camada e desenvolver as

funcionalidades de forma modular.

Os gráficos foram feitos utilizando-se a API (Application Programming Interface – Interface de

Programação de Aplicativos) escrita em Javascript e disponibilizada pelo Google, denominada

Google Chart Tools, que permite criar diversos tipos de gráficos de forma bastante simplificada.

Entre os indicadores criados estão o gráfico por categoria sintético (e.g., melhorias, correções,

novos sistemas), atividades em aberto por área de TI e percentual de atividades concluídas no prazo.

5.3 Adaptação do framework scrum para o estudo de caso

Como etapa final, foi proposta a utilização do framework scrum com o objetivo de ter uma

melhoria no processo e tornar as entregas mais frequentes, maximizando o retorno para as áreas de

negócio.

Juntamente com o sistema de controle de solicitações, foi desenvolvido um módulo para manter

o product backlog, realizar o controle de sprints e acompanhar os sprints através de gráficos de

burndown.

Tanto os usuários chave quanto os analistas de negócio são candidatos a assumir o papel de

product owner, por serem as pessoas responsáveis por solicitar as necessidades para atender as

áreas de negócio. Ao realizar o cadastro de um product owner no sistema, devem ser associadas as

áreas de negócio, ou seja o product backlog será mantido por área de negócio.

Quando a solicitação for realizada por um usuário chave da área de negócio, somente as

informações básicas da atividade serão exibidas para preenchimento, as demais informações

utilizadas para gerenciamento pela TI serão preenchidas posteriormente pelos analistas ou durante a

realização do planejamento do sprint.

As estimativas serão feitas em horas e a prioridade ficou definida por um número, pois muitas

das solicitações sempre eram cadastradas como urgentes, dificultando visualizar qual era mais

importante.

A equipe de desenvolvimento responsável por executar as solicitações é formada por analistas e

desenvolvedores da própria empresa e de empresas terceirizadas. Os coordenadores e analistas de

TI são os candidatos a serem os scrum master dependendo da equipe em questão e atuam como

facilitadores para tornar o scrum aplicável e remover impedimentos da equipe.

A duração inicial para um sprint é de uma semana. Ao cadastrar um sprint são informados o

objetivo, data para início e término e são associados o product owner, scrum master e membros da

equipe responsáveis pelo desenvolvimento. Durante o planejamento do sprint, ficou decidido que os

envolvidos deveriam estar presentes. Nessa etapa, são realizadas as estimativas e escolhidas as

solicitações que devem ser entregues no prazo do sprint. Uma solicitação ficou definida como

pronta, quando estiver concluída, testada pelo product owner e liberada em produção. Para manter a

transparência, o acompanhamento do sprint pode ser realizado por todos os envolvidos no sprint,

através dos gráficos de burndown.

As reuniões diárias foram definidas para serem feitas na parte da manhã e de forma rápida, com

tempo máximo de vinte minutos. As retrospectivas e revisões de sprint foram estipuladas para

serem feitas no último dia do sprint, com tempo máximo de uma hora.

5.4 Resultados obtidos

Foram coletados dados das solicitações cadastradas no período de aproximadamente um ano.

Analisando esses dados, é possível observar na figura 5 que em média 30% das atividades eram

entregues dentro do prazo previsto.

Page 8: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

Figura 5 – Solicitações concluídas no prazo previsto

Ao avaliar a utilização do scrum, foi possível verificar uma melhora na eficiência quanto aos

apontamentos de atividades e prazos, já que as solicitações começaram a ter data de previsão para a

entrega. Como apenas alguns sprints foram feitos, não é possível afirmar que a eficiência melhorou

totalmente, mas no gráfico da figura 5, percebe-se um ganho significativo quanto a entregas feitas

no prazo previsto e ao melhor gerenciamento das solicitações pelas equipes de desenvolvimento.

Com a ferramenta de controle de solicitações e os indicadores, foi possível analisar a natureza

das solicitações, quais áreas de negócio possuem mais solicitações e facilitar a comunicação com as

áreas dos usuários sobre as demandas existentes para a TI. Entre os resultados, destacam-se a

possibilidade de planejar semanalmente o atendimento das solicitações, melhorar o

acompanhamento dos desenvolvedores, além de melhor comprovação das atividades executadas

pelas equipes.

O gráfico da figura 6 permite avaliar que em média 50% das solicitações existentes são

relacionadas a melhorias, 18% são de correções e 25% estão relacionadas à extração de

informações. As demais são referentes ao desenvolvimento de novos sistemas e infraestrutura.

Figura 6 – Total de atividades cadastradas por categoria

Foi solicitado as equipes responsáveis por realizar os sprints de avaliação, responderem um

questionário (quadro 1) com o objetivo de avaliar o comprometimento dos envolvidos e comprovar

algumas das melhorias propostas pelo scrum.

Page 9: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

A primeira pergunta foi realizada para verificar o conhecimento dos envolvidos sobre métodos

ágeis antes de realizar o projeto. A segunda pergunta teve o objetivo de verificar se as equipes

estavam interessadas em realizar as entregas de acordo com prazos definidos, para melhor

satisfação dos usuários. A terceira pergunta objetivou avaliar a importância dos stakeholders

(product owner) para definir as necessidades e assegurar que a interação entre os envolvidos,

proposta pelo scrum, iria auxiliar em melhor compreensão das necessidades. A quarta pergunta teve

o objetivo de comprovar que as atividades não estavam sendo totalmente estimadas, que por sua vez

afetavam os prazos de entrega. Já a quinta pergunta, serviu para verificar o comprometimento dos

envolvidos em realizar a gestão das solicitações na ferramenta desenvolvida. Por fim, a última

pergunta teve o objetivo de avaliar a motivação das equipes em continuar utilizando o scrum após

realizar os sprints de avaliação.

Quadro 1 – Tabulação das respostas do questionário após realizar sprints de avaliação

Item a responder Sim Não Às vezes

Conhecimento de métodos ágeis antes

deste projeto? 3 participantes 4 participantes Nenhum

É importante controlar solicitações e

definir prazos para entrega? 7 participantes Nenhum Nenhum

É fundamental a participação do product

owner para entender as necessidades? 7 participantes Nenhum Nenhum

Ao cadastrar uma nova solicitação realiza-

se a estimativa dessa solicitação? 2 participantes 1 participante 4 participantes

Você registra todas as solicitações no

sistema de solicitações? Nenhum 1 participante 6 participantes

Você se sente motivado em utilizar o

scrum para melhorar a gestão e controle

das solicitações? 3 participantes 4 participantes Nenhum

De acordo com as respostas do questionário no quadro 1, foi possível avaliar que poucos

envolvidos tinham conhecimento sobre metodologias ágeis, porém alegaram a importância em

realizar o controle dos prazos de entrega e a participação do product owner para definir as

necessidades. Conforme as informações apresentadas no gráfico da figura 5, as entregas fora do

prazo foram originadas principalmente pela falta de estimativas e devido ao baixo

comprometimento em realizar o controle das solicitações. Por fim, apenas alguns dos membros das

equipes se mostraram motivados em utilizar o scrum, apesar do apoio dos coordenadores e gerentes

de projetos.

6 CONCLUSÃO

Esse trabalho teve como objetivo favorecer a melhoria do processo de gestão de solicitações na

área de TI em uma empresa situada em Joinville, Santa Catarina, através do desenvolvimento e

aplicação de uma ferramenta e a utilização do scrum como metodologia ágil, para melhorar o

comprometimento das equipes com as entregas.

De acordo com os dados coletados e exibidos na figura 5, foi possível avaliar que em média

70% das solicitações não eram entregues no prazo. Isso permite fazer uma analogia com as

pesquisas feitas na área da engenharia de software e demonstrar que elas são condizentes

principalmente pela falta de estimativas e comprometimento dos envolvidos. Para mudar esse

quadro, foi proposta a adoção do scrum com a intenção de realizar uma melhoria contínua no

processo e assim tornar as entregas mais frequentes.

Page 10: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

Por meio da figura 6, foi possível identificar que muitas das solicitações existentes são

relacionadas à extração de informações das bases de dados. Como a empresa possui uma ferramenta

de BI (Business Intelligence) disponível para algumas áreas de negócio, sugeriu-se aos

coordenadores que avaliassem a possibilidade de utilizar o BI para extração de informações e assim

reduzir o número de solicitações relacionadas a este tipo de atividade.

Os dados coletados no quadro 1 permitem demonstrar que algumas das práticas existentes no

scrum como, por exemplo, a participação direta do product owner, é importante para melhorar a

compreensão das necessidades e a importância em definir as entregas para aumentar a satisfação de

todos os envolvidos.

Recentemente, com uma mudança na área de TI, grande parte dos profissionais de TI foi

deslocada para um novo projeto. Devido a essas mudanças, o número de analistas e coordenadores

que auxiliariam a adoção do scrum reduziu-se consideravelmente, o que dificultou o gerenciamento

das equipes e a realização de sprints para a coleta de mais dados.

Avaliando a situação em que esse projeto se encontra, é possível concluir que apesar de difícil

adoção, a aplicação de scrum em empresas NIBSS é factível de ser utilizada. As equipes devem ser

motivadas e cobradas a realizarem o controle das atividades para que todos possam usufruir dos

benefícios propostos pelo scrum. Porém, a adoção e institucionalização devem ser feitas de forma

incremental para que o scrum seja aceito pelas equipes, melhorando o comprometimento, a

qualidade e a satisfação de todos os envolvidos.

Para permitir uma melhoria continua na ferramenta desenvolvida e no processo de controle das

solicitações, sugere-se utilizar alguma métrica para melhorar as estimativas das atividades (e.g.,

planing poker, pontos por história), criar rotinas para envio de notificação de informações por

email, como por exemplo, atividades pendentes em sprints, atividades concluídas ou atividades não

entregues no prazo e a criação de relatórios de produtividade por equipes e relatórios gerenciais.

REFERÊNCIAS

AGILE ALLIANCE. The Agile Manifesto. Disponível em: <http://www.agilealliance.org/the-

alliance/the-agile-manifesto>. Acesso em: 22 jan. 2013.

COHN, Mike. Agile Succeeds Three Times More Often Than Waterfall. Disponível em:

<http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-more-often-than-waterfall>.

Acesso em: 24 jan. 2012.

IEEE, Standard Glossary of Software Engineering Terminology. IEEE Std.610.12-1990, 1990,

p.67. Disponível em: <http://www.idi.ntnu.no/grupper/su/publ/ese/ieee-se-glossary-610.12-

1990.pdf>. Acesso em 22 jan. 2013.

MARCIEL. Scrum. Disponível em: <http://blog.marciel.org/?p=66>. Acesso em: 28 jan. 2013.

MOREIRA, M.E.; LESTER M.; HOLZNER S. Agile for Dummies. Indianapolis: Wiley

Publishing Inc., 2010.

OSIEK A. B. Sucesso de projetos. Disponível em:

<http://blog.mhavila.com.br/2011/06/18/sucesso-de-projetos-atualizado>. Acesso em: 24 jan. 2013.

PETERS, J. F.; PEDRYCZ W. Engenharia de Software: Teoria e Prática. 2. ed. Rio de Janeiro:

Campus, 2001.

PFLEEGER, S. L. Engenharia de Software: Teoria e Pratica. São Paulo: Prentice Hall, 2004.

Page 11: Desenvolvimento e Aplicação de uma Ferramenta para Controle de Solicitações e Utilização de SCRUM em Empresa NIBSS: Estudo de Caso

KNIBERG, Henrik. Scrum e XP direto das Trincheiras: Como nós fazemos Scrum. InfoQ.com:

2007. Disponível em: <http://www.infoq.com/resource/minibooks/scrum-xp-from-the-

trenches/pt/pdf/ScrumeXPDiretodasTrincheiras.pdf>. Acesso em: 10 set. 2012.

SCHWABER Ken.;SUTHERLAND Jeff. Guia do Scrum. Disponível em:

<http://scrum.org/Portals/0/Documents/Scrum%20Guides/Scrum%20Guide%20-

%20Portuguese%20BR.pdf>. Acesso em: 21 jan. 2013.

SOFTEX. Observatório Softex. Disponível em:

<http://www.softex.br/observatoriosoftex/_home/default.asp>. Acesso em: 25 jan. 2013.

DEVELOPMENT OF A REQUEST CONTROL TOOL AND USING SCRUM IN A

CORPORATE ENVIRONMENT: CASE STUDY

Abstract: Success on software engineering projects often depends of using best practices,

according to the particular characteristics of the project and the technical knowledge of those

responsible for ensuring its success. Agile methodologies are becoming a great ally in software

projects, where the main objective is make deliveries faster and ensure customer fulfillment. This

article aims to develop a tool to improve the management of IT requests and evaluate the use of

scrum in a corporate environment to ensure return on investment in accordance with business

needs. With the request control tool it was possible to report deliveries and allow coordinators to

monitor the progress of projects and activities. The successful use depends on the commitment and

support of those involved, the adoption is being done gradually, a greater commitment is seen of

staff to increase quality of service. Despite the benefits offered by scrum, the time required for its

institutionalization should be considered and thus increase the satisfaction of those involved.

Keywords: Scrum. Agile Software Development. Software Management.