EVOLUÇÃO DE SOFTWARE

quarta-feira, 4 de julho de 2007

Evolução de Software - Algumas Considerações

Ao longo do curso, pôde-se perceber a complexidade na tarefa de evoluir um software. Inicialmente, tivemos contato com as leis de Lehman, que serviram para nortear nossos estudos. Dessas 8 leis, destaco a 1a lei, que trata da mudança contínua - um software deve ser constantemente adaptado, caso contrário se torna progressivamente menos satisfatório e a 8a lei, relacionada ao feedback - processos de evolução de software são sistemas de feedback em múltiplos níves, múltiplos laços e múltiplos agentes, e devem ser tratados como tal para que possam ser modificados e/ou melhorados com sucesso.
Na tarefa de evoluir o SimulES, pudemos perceber que melhorar, documentar, rastrear e refatorar são tarefas complexas que exigem muita colaboração dos integrantes da equipe. realizamos várias melhorias no jogo, como: melhoria na dinâmica da partida, introduzindo a idéia de 2 rodadas, melhoria da documentação, utilização de cenários, produção do Léxico do SImulES e revisão das cartas. Foi possível também apontar vários problemas, como a lentidão da partida, excesso de cartas de problemas, entre outros. Tivemos a oportunidade de obter um valioso feedback de jogadores convidados, o que contribuiu sensivelmente para a melhoria do jogo.
Visando manter a rastreabilidade do SimulES ao longo das evoluções feitas, foi realizado um processo manual para controlar todas as versões de cenários produzidas, sendo necessário ainda definir a granularidade de uma mudança e as considerações a serem feitas pela equipe.
Sendo assim, pode-se concluir que a evolução de software é uma tarefa complexa, que exige dedicação e observação das boas práticas adquiridas em sala de aula com o Prof. Julio.

Última Aula

Nessa aula, consolidamos a idéia de 2 rodadas no SimulES. Foi realizada a técnica de "brainstorming" para melhorar ainda mais o jogo, e chegamos a uma proposta excelente de um tabuleiro central para ajudar a dinâmica e localização do jogador na rodada.
Foram consolidadas ainda, algumas regras que estavam em aberto e por fim, decidimos os tópicos da monografia que será escrita por toda a equipe.

Jogando o SimulES: Feedback dos jogadores convidados

Após uma série de reuniões, modificações das regras, refatoração das cartas e melhoria da dinâmica do jogo, foi feito um convite para que outros alunos pudessem experimentar a nova versão do jogo SimulES. Isso seria de suma importância pois pela primeira vez iríamos obter um feedback dos usuários finais.
Foram recrutados dois grupos de 4 componentes para jogar. O primeiro grupo possuia uma documentação que consistia nos cenários do SimulES e uma complementação a respeito do jogo. O segundo grupo possuia uma documentação diferente do primeiro grupo, incluíndo o Léxico do SimulES no lugar da complementação. Isso permitiria avaliar a documentação baseado em como os jogadores entenderiam a dinâmica do jogo.
Ao iniciar a partida, pudemos perceber que apenas 1 aluno no primeiro grupo leu a documentação. Isso prejudicou um pouco o dinamismo do jogo, pois trata-se de um ambiente com um pouco de complexidade para aprender sem ler as regras. Algumas dúvidas surgiram, como em que momento deveriam produzir artefatos ou jogar o dado para comprar cartas. A partida foi se tornando divertida e proveitosa para os jogadores, porém com o passar do tempo os jogadores foram acumulando problemas (a proporção das cartas de problema é mais que o dobro das cartas de conceito) e a partida tornou-se monótona. O término do jogo se deu pelo encerramento do tempo.
A segunda partida foi marcada pela ausência da maioria dos componentes. Somente uma aluna se fez presente para experimentar o SimulES. A fim de que ela pudesse ter contato com o jogo, os alunos da cadeira de Evolução de Software jogaram a partida com a aluna. Isso influênciou diretamente o dinamismo da partida, pois os jogadores já eram experientes.
Podemos tiram algumas lições baseadas no feedback dos jogadores:
  • A leitura da documentação é proveitosa no que diz respeito a dinâmica do jogo. Isso ficou comprovado pelo aluno que realizou a leitura.
  • A proporção das cartas de conceitos e problemas é muito desigual. Isso afeta o dinamismo da partida a médio prazo. Torna-se necessário criar mais cartas de conceito, visto que existem pouco menos da metade que as cartas de problemas.
  • Nenhum jogador inspecionou sequer um artefato. Devemos ver porque isso ocorreu e se está diretamente ligado ao desenvolvimento do jogo.
  • A divisão de rodadas no jogo melhora o dinamismo porém aumenta a complexidade e sofisticação do SimulES com relação ao entendimento.
  • Cartas bem humoradas como o filho do Chefe e a engenheira Paula são bem vindas.
  • Os jogadores não tiveram dificuldades em interpretar as cartas de problemas e conceitos.

Sendo assim, pode-se concluir que estamos no caminho certo de evolução e que com mais algumas modificações, o SimulES tem tudo para se tornar uma referência no ensino da engenharia de software.