Ana səhifə

Melhoria do Processo de Desenvolvimento de Software no Contexto de Jogos


Yüklə 21.05 Kb.
tarix17.06.2016
ölçüsü21.05 Kb.
Melhoria do Processo de Desenvolvimento de Software no Contexto de Jogos

Vicente Vieira Filho 1

Reginaldo Guimarães valadares 2

Scylla cabral da costa neto 2


1{vvf}@cin.ufpe.br

2{reginaldo, scylla}@jynx.com.br

__________________________________________________________________________________________



Resumo

A indústria de jogos, pressionada pelos defeitos de implementação, atrasos no cronograma e cortes de funcionalidades, estão começando a enxergar a melhoria do processo como uma solução para os problemas de qualidade. A evolução nos processos de desenvolvimento, no entanto, não segue um padrão organizado, podendo tornar infrutífero todo o esforço de melhoria. Este trabalho aborda a melhoria estruturada do processo como um caminho para o desenvolvimento eficiente de jogos.

Keywords: Melhoria de Processo de Desenvolvimento de Software, Processo de Desenvolvimento de Software, Qualidade de Software.

__________________________________________________________________________________________

1 Introdução


O desenvolvimento de jogos de qualidade com elevada produtividade, dentro de prazos estabelecidos e sem necessitar de recursos adicionais é, sem dúvidas, um grande desafio da indústria de jogos. A qualidade dos produtos de software, no entanto, está fortemente relacionada à qualidade do processo de desenvolvimento[6].

Dessa forma, o amadurecimento das atividades de desenvolvimento e manutenção de software depende da definição e uso de processos de software. Esta tarefa envolve a complexa inter-relação de fatores organizacionais, culturais, tecnológicos e econômicos [6].

No entanto, os processos são definidos pelo tipo de ambiente (empresa, cultura, tecnologia etc.) no qual e portanto devem ser moldados à realidade de cada empresa, ou ainda de cada projeto.

Em muitos casos, a melhoria consiste na adoção não planejada de um determinado processo, como o RUP ou o XP, por exemplo, acarretando em uma outra série de problemas.

O objetivo deste pôster é o de compartilhar a experiência obtida na implementação de um projeto de melhoria estruturada de processo de software em uma empresa de desenvolvimento de jogos, a Jynx Playware [3].

2 O Problema


A melhoria do processo de software têm sido um dos grandes desafios para as empresas que almejam a qualidade de seus produtos e do seu processo e este desafio é agravado no contexto de jogos.

O desafio inicia com a associação intrínseca da melhoria de processo com a disciplina de engenharia de software. A engenharia de software é vista tradicionalmente entre desenvolvedores de jogos como uma atividade complexa, estática e seguida por enormes cargas de documentação e overhead. Esta visão termina sendo estendida e associada também à atividade de melhoria do processo.

O desafio continua, e se agrava, quando a iniciativa de melhorar o processo está desprovida de um modelo de melhoria ou guia para planejar e realizar ações de melhoria. Neste caso, a falta de um guia para a execução das atividades implica no não-cumprimento de ações importantes para o projeto. Vários problemas surgem nesse cenário, como a perda de foco e do apoio necessário para a continuidade do projeto.

A adoção de um processo pronto sem a devida adequação às necessidades da empresa é também uma abordagem fadada ao insucesso, pois é sabida a dificuldade de um único processo satisfazer a qualquer tipo de empresa ou projeto, com diferentes culturas, áreas de atuação, tecnologias de desenvolvimento entre outros fatores. Em suma, processos devem ser modelados a uma determinada situação. Se essa adequação foi feita de forma não planejada, o risco de fracasso no projeto de melhoria aumenta consideravelmente.


3 Estado da Arte


A indústria de jogos possui uma resistência histórica à engenharia de software, acentuada pela contraposição inevitável entre a natureza lúdica do desenvolvimento de jogos e a rigidez intrínseca das disciplinas de engenharia. Não há literatura acerca dessa matéria que relate a utilização de modelos para a melhoria estruturada de processos de desenvolvimento de jogos. Acredita-se que a evolução de tais processos desenvolvidos nas empresas de jogos ocorre de forma ad-hoc, baseada apenas na experiência da equipe.

As empresas de software tradicionais, por outro lado, vêm utilizando sistematicamente padrões testados e reconhecidos para a melhoria estruturada de processos de desenvolvimento. Entre os modelos mais conhecidos estão o SPICE (Software Process Improvement Capability and dEtermination), o IDEAL (Initiating, Diagnosing, Establishing, Acting and Learning) e o PDCA.


4 Abordagem escolhida


A solução abordada neste trabalho consiste na adoção da melhoria do processo de software, com base em um modelo para guiar as atividades de melhoria, de modo que o atual processo da empresa seja refinado e amadurecido para gerar um processo único em sintonia com a empresa ou projeto.

A utilização de um modelo para guiar as atividades de melhoria visa o cumprimento de todas as atividades relevantes ao projeto de melhoria. E ainda, a escolha do processo atual da empresa como base para as atividades de melhoria do processo visa garantir a definição de um processo próprio e sintonizado com a empresa.

Com relação aos modelos, os mais conhecidos e amplamente utilizados são o modelo PDCA e o modelo IDEAL [9]. Ambos os modelos consistem em um ciclo de atividades modelado para guiar a melhoria contínua. O PDCA é amplamente utilizado na área de negócios enquanto o IDEAL é voltado para a área de desenvolvimento de software.

O estudo desenvolvido e apresentado neste trabalho foca no modelo IDEAL e no modelo CMMI [8] - modelo utilizado por muitas organizações para identificar as melhores práticas e auxiliar no crescimento da maturidade do processo em desenvolvimento - e é fruto do resultado obtido na implementação de um projeto de melhoria do processo de software na empresa Jynx Playware.


4.1 Modelo IDEAL


O IDEAL é um modelo de melhoria organizacional, desenvolvido pelo SEI, que funciona como um guia para iniciar, planejar e implementar as ações de melhoria. O modelo IDEAL forma a infra-estrutura para guiar a organização no desenvolvimento de um programa efetivo de melhoria de processo.

Figura 1: Modelo IDEAL

O modelo consiste em 5 fases. A fase Inicial é responsável por colocar em prática a estrutura necessária para o sucesso do esforço de melhoria. Esta estrutura compreende tanto aspectos relacionados à infra-estrutura (recursos humanos e materiais) como o reconhecimento do estímulo para a mudança e contexto. O estímulo para a mudança influencia ativamente a visibilidade, controle e sucesso do projeto de melhoria enquanto o contexto é importante para definir as metas de negócio na empresa com relação ao projeto de melhoria. É fundamental alinhar as metas de negócio às metas do projeto de melhoria para construir e manter o patrocínio tão necessário ao projeto de melhoria.

A fase seguinte, a fase de Diagnóstico, é responsável por determinar o estado atual e o estado almejado. O diagnóstico está associado ao processo corrente, em que são encontrados os seus pontos fortes e fracos para a elaboração de uma série de recomendações.

As recomendações possuem grande importância na fase seguinte, a fase de Estabelecimento, para o planejamento específico de como alcançar o estado desejado. Dentre outras atividades, a fase é responsável planejar detalhadamente as ações de melhoria definindo calendário, tarefas, milestones, responsabilidades, entre outros.

As atividades planejadas durante as três fases anteriores são implementadas na fase de Atuação. Esta fase é responsável pela definição do processo propriamente. O processo é definido por grupos (TWG’s – Technical Work Groups) da própria empresa com o propósito de solucionar as necessidades identificadas previamente. O processo é definido e consigo também as ferramentas, conhecimentos e habilidades necessários para a sua implantação. Após a definição do processo, ainda na fase de Atuação, é escolhido um ou mais projetos pilotos para testar a solução encontrada. O processo é então refinado, a partir da experiência obtida com os projetos pilotos, e implantado na empresa inteira.

A fase de Aprendizado finaliza o ciclo de melhoria. Nesta fase as experiências obtidas durante o ciclo IDEAL são revisadas para determinar o que foi concluído, se o esforço de melhoria completou as metas almejadas e como a empresa pode implementar mudanças de forma mais efetiva e eficiente no futuro. Melhorar a habilidade de implementar mudanças é, aliás, uma das metas do modelo IDEAL. A revisão da experiência adquirida durante o ciclo proporciona a confecção de recomendações e propostas para melhorar futuras implementações de mudanças.

Ao final do ciclo IDEAL, como visualizado na figura, retorna-se a fase de Diagnóstico. A intenção é melhorar continuamente o processo. No contexto do presente estudo, a melhoria contínua representa alcançar progressivamente níveis de maturidade maiores do CMMI.


6 Conclusão

Os resultados do programa de melhoria de qualidade Jynx ainda estão sendo colhidos. Avanços já podem ser vistos, no entanto, na confiança da equipe em implantar a iniciativa e no comprometimento de todo o time e da alta gerência com as atividades e objetivos do projeto. A expectativa inicial é que em dois anos o projeto apresente um retorno satisfatório sobre o investimento, com melhorias significativas na qualidade dos jogos desenvolvidos pela empresa.

7 Referências





  1. Fiorini, Soeli T., Staa, A., Baptista, Renan M. Engenharia de Software com CMM, Brasport, 1998.

  2. GameDev.net. Game Unified Process, http://www.gamedev.net/reference/articles/article1940.asp (26/08/04)

  3. Jynx Playware. http://www.jynx.com.br (06/08/04)

  4. Mark C. Paulk, Charles V. Weber, Bill Curtiss e Mary Beth Chrissis. The Capability Maturity Model: Guidelines for Improving the Software Process. Addison-Wesley, 1995.

  5. McConnell, S. Software Project Survival Guide: How to be sure that your first Important Project isn’t your last, Microsoft Press, 1998.

  6. Rocha, Regina R. C. Maldonado, José C. Weber, Kival C. Qualidade de Software: Teoria e Prática, Prentice Hall, 2001.

  7. Rollings, A., Morris, D. Game Architecture and Design. Ed. Coriolis, 2000.

  8. Software Engineering Institute. The CMMI main page, http://www.sei.cmu.edu/cmmi/ (26/08/04)

  9. Software Engineering Institute. The Ideal Model, http://www.sei.cmu.edu/ideal (26/08/04)


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©kagiz.org 2016
rəhbərliyinə müraciət