[ATA] Decisões de metodologia

Na reunião de hoje, o Goroba propôs que experimentemos algumas mudanças na metodologia do grupo (a essa altura eu prefiro não atribuir um nome específico à metodologia para não ofender as definições corretas, e porque eu não manjo o suficiente para isso). Essas mudanças visam restabelecer a disciplina de alguma metodologia no grupo, pois ultimamente, devido a diversos motivos, o nosso Scrum tem estado meio abandonado (sorry, Vinícius). Seguem as decisões tomadas:

[size=14pt]I. Iterações, epics, stories e tasks.[/size]

[ul][li]Continuaremos usando o esquema de iterações. Mas elas serão menos restritivas: se for preciso estendê-las, estendê-las-emos, e se pudermos encurtá-las, será permitido.[/li]
[li]As stories e tasks continuam com a mesma relação, mas iremos nos esforçar para que elas sejam menores e mais atômicas.[/li]
[li]Introduziremos as epics, que correspondem a objetos maiores. Epics se decompõem em stories ou outras epics.[/li][/ul]

[size=14pt]II. Organização, Disciplina, Métricas e Retrospectivas.[/size]

size=12pt Organização:[/size]

Formaremos um ambiente informativo, com a intenção de tornar fácil (se não trivial) identificar o atual estado de trabalho do grupo a qualquer momento. Para isso entoxaremos informações, tabelas e esquemas em uma lousa (ver II.3 abaixo). Para manter ela atualizada, membros serão designados como Trackers. A princípio, serão 2 que de tempos em tempos revezarão com outros membros.

Também teremos dois Coaches para auxiliar nesse processo de mudança. Por enquanto, eles serão o Goroba e o Coelho.

size=12pt Disciplina:[/size]

Temos que nos esforçar para seguir as decisões tomadas. Se não for possível, relatar na retrospectiva mais próxima (ver II.4) para que haja uma mudança.

(Desenvolvedores) Trabalharemos usando pair programming.

Cada responsável por um papel especial (Coach, Tracker, etc) deverá esforçar-se para cumprir seu papel.

size=12pt Métricas:[/size]

[ul][li]Burn up/Burn down.[/li]
[li]Kanban[/li]
[li]Matriz de competências[/li]
[li]Auto-avaliação de participatividade[/li]
[li]Auto-avaliação nico-nico[/li]
[li]Pareamentos atuais[/li]
[li]Gráfico de branches[/li]
[li]Taxas de variação no humor do Coelho (NGFFFFFFFFFFF)[/li][/ul]

size=12pt Retrospectivas:[/size]

MUITO IMPORTANTE. Como isso tudo é experimental, precisamos saber se está ou não funcionando. Em parte porque algumas coisas naturalmente vão se tornando desnecessárias, como os Coaches e os Trackers. E em parte porque de fato pode ser que simplesmente não esteja funcionando do jeito que está. É para isso que servem as RETROSPECTIVAS. Nelas discutiremos o que deu certo e o que deu errado e bolaremos as mudanças que acharmos necessárias.

Por isso mesmo, é importante que o maior número possível de membros envolvidos esforcem-se para estar nas retrospectivas.

[size=14pt]III. Projetos atuais, metas e objetivos.[/size]

size=12pt Projetos atuais:[/size]

----[III.1.1] Expansões do Horus Eye:

[ul][li]Refatoração das heranças em componentes.[/li][/ul]

----[III.1.2] Novas features e maior usabilidade na UGDK:

[ul][li]Sistema de scripts.[/li]
[li]Jogo-exemplo em Python: Asteroids.[/li]
[li]Jogo-exemplo em Lua: STG.[/li][/ul]

----[III.1.3] Pirates: FROZEN.
----[III.1.2] Projeto Rogue-like usando UGDK (brocoli e Coelho)
----[III.1.2] Engine FLAMECREST usando LÖVE (Miojo e Wil)

size=12pt Metas e objetos globais a longo² prazo.[/size]

[ul][li]Ser o melhor grupo de jogos do mundo[/li]
[li]Atrair membros não programadores[/li]
[li]Mais jogos[/li]
[li]Mais popularidade para o site[/li]
[li]Horus Eye 2.X.X[/li]
[li]Fazer a UGDK ser AWESOME[/li]
[li]Voltar a ter as “sextas-feiras casuais” (aka games+pizza)[/li]
[li]Contruir um ambiente de grupo realmente divertido e estimulante[/li][/ul]

É importante notar que essas decisões estão TOTALMENTE sujeitas a mudanças, que serão decididas por meio das retrospectivas.

É isso aí. Se não está funcionando, alguma coisa tem que mudar. :wink:

Eu realmente gostaria de acompanhar essas mudanças e tentar ajudar, mas - ao menos nesse primeiro semestre - não tem jeito. :-\

Uma coisa que talvez ajude a estimular a vontade de ter as coisas “feitas/done” é estabelecer um ou dois compromissos grandes para o ano. Quero dizer: quando tínhamos em mente que o Horus Eye precisava estar pronto para a apresentação, todo mundo estava dando gás o máximo possível. Com o segundo projeto, não nos comprometemos em entregar nada e talvez isso tenha acabado com o “senso de urgência” em cumprir as tarefas.

Uma coisa que eu vejo que motiva muita gente é participar de competições. Na área de games, há um monte delas. Desde de a Imagine Cup até os jams, que são mais acessíveis. Sei que já houve uma discussão quanto a participação em competições, mas acho que seria saudável rever o assunto. Em particular, quando eu vi isso, não pude deixar de pensar que era o USPGameDev (ou membros) que deveria estar na reportagem.

Mas se de fato o pessoal não é favorável a competições grandes e nem quer participar de nenhuma pequena/rápida, ainda dá para pender para o lado acadêmico. Acho que esse é um pequeno buraco conceitual que temos: nos apresentamos como grupo de “estudo e desenvolvimento de games”, mas a gente negligencia a parte do estudo. O que eu quero dizer é, existe a SBGames e outros congressos que poderíamos almejar participar - e também acompanhar o que está sendo publicado e pesquisado. Assim, um dos “compromissos motivacionais” poderia ser: submeter um pôster (para artigo ainda não rola) na trilha de Computação ou projeto no Festival de Jogos da SBGames.

Como somos um grupo inserido na universidade, deveríamos dar mais atenção à ideia desse último parágrafo.

Era isso que eu queria falar.
Desculpem pelo texto longo (espero que vocês não liguem o TLDR) ;D

Abraços!

Vinícius

Nós temos pensados em participar de Jams ultimamente. O brocoli inclusive tentou agitar para participarmos de um que teve um tempo atrás, mas com a falta de tempo do pessoal acabou que não pudemos levar a ideia adiante.

Inclusive, um cara que veio para um dos meus cursos de LÖVE, também chamado Vinícius, sugeriu que nós mesmos “hospedássemos” um Game Jam. Eu passei a ideia adiante para o Giuliano com a lista de requisitos infraestruturais, e ele disse que ia ser difícil principalmente por que normalmente esses Jams levam mais de um dia e portanto seria necessário pernoitar no Biênio, por exemplo.

Mas eu acho que vamos continuar tentando. Esse semestre que tá meio tenso pra muita gente.

E sobre as pesquisas mais acadêmicas, de fato precisamos investir mais nisso. Eu tenho pesquisado algumas técnicas avançadas de programação com C++ e padrões de design/arquiteturais frequentemente usados no desenvolvimento de games (pretendo a princípio fazer meu TCC em algo que tenha a ver com isso). Assim que voltar a ter um tempo, vou continuar minhas pesquisas para ver o que encontro por aí =D. Incentivo qualquer um do grupo que queira me acompanhar, ou ir atrás da sua própria pesquisa.

Um dos frutos dessas minhas pesquisas foi a ideia (no ata acima) de refatorar o Horus Eye, passando as principais heranças para o padrão “Component” (ele não é muito bem definido, então esse nome pode causar confusões). Eu expliquei a ideia pro pessoal, e eles gostaram e começaram a implementar. Na verdade, todos já estavam vendo que precisava mudar alguma coisa, pois o código estava muito rígido, difícil de mudar e propenso demais a BLOBs. Eu só sugeri uma possível solução que me parecia promissora.

O Henrique estava cuidando de implementar disso, e parece que já está praticamente feito, a menos de um bug na animação de morte. Com isso, ficará bem mais fácil acrescentar conteúdo ao jogo.

Concordo com o Vínicius com o que ele falou do “senso de urgência” quando fizemos a primeira versão do Horus Eye… Acho que seria bom pensarmos em algo assim, pra apresentar algum projeto no próximo Encontro BCC ou outro evento :stuck_out_tongue:

Quanto às Game Jams… Depois de fazer o Asteroids básico em 1 final de semana até acho mais possível fazermos hahaha
Mas o problema-mor ainda é o tempo, essas coisas levam alguns dias de muita correria pra fazer o jogo, acredito que para a maioria de nós é meio tenso dispor desse tempo pra gastar assim esses dias…
Ainda assim, não custa ficar de olho nelas… Vai que alguma apareçe num momento “mais propício” para a gente? :stuck_out_tongue:

Concordo com a estipulação de algum compromisso grande. Conforme terminarmos o semestre e terminar de “arrumar a casa”, vale a pena discutir isso aí =)
Os Jams, como o Wil apontou, estão na nossa mente, mas tanto o Wil e o Omar já apontaram o maior problema, que é o tempo/disponibilidade para participar. Teria que realmente combinar e se preparar com certa antecedência…