Proposta do Trabalho Prático
Objetivo:
Projetar e implementar um jogo para ensinar conceitos de Engenharia de Software (ES), montando um processo de desenvolvimento com elementos dos métodos dos agilistas.
Enunciado:
O seu grupo foi contratado como time de desenvolvimento de um jogo cujo objetivo é ensinar conceitos de Engenharia de Software. Para isso, o grupo deve montar um processo de desenvolvimento a partir de elementos dos seguintes métodos dos agilistas:
- Scrum
- XP (Extreme Programming)
- Lean Development
- Crystal Clear
- Feature-driven development (FDD)
O jogo pode ser desenvolvido usando qualquer tecnologia (linguagem de programação; ambiente: computador pessoal, WWW, celular ou tablete) e focar-se no ensino de qualquer um dos temas que serão tratados na disciplina (requisitos, processos, etc). Recomenda-se o uso de tecnologias com as quais tenha-se familiaridade para evitar acúmulo no esforço de aprendizado. Além disso, o estilo do jogo fica a critério do grupo podendo escolher entre jogos de plataforma, corrida, luta, esporte, simulação, musical, estratégia, aventura, tabuleiro, ação, quebra-cabeça, etc. Finalmente, cabe a cada grupo preparar o roteiro do jogo e selecionar o motor de jogo (game engine) mais apropriado, justificando sua decisão.
Os métodos dos agilistas que o grupo pretendem usar devem ser negociados com o monitor Miguel Ramos (miguel.ramos@dcc.ufmg.br). Essa negociação será feita levando em consideração dois aspectos: (1) a preferência do grupo por algum dos métodos e (2) a ordem de formação dos grupos. Para formar um grupo, deve-se postar no Blog da turma o nome e o email de cada integrante, bem como a preferência por algum método se existir. Toda evidência de aderência ao processo deve estar justificada e postada no Blog, bem como todos os objetos entregáveis que o processo exige. Essas postagens serão consideradas para fazer a maior parte da avaliação.
Recursos:
-
Podem ser consultados os trabalhos feitos em semestres anteriores como guia. Isso pode ajudar tanto na ideia de um projeto quanto nas atas dereunião. Os TPs podem ser acessados nos seguintes enlaces:
- 2º semestre de 2013, com o professor Sérgio Crespo - acesse o blog
- 1º semestre de 2014, com a monitora Luciana Lourdes - acesse o blog
- 2º semestre de 2014, com a monitora Kattiana Constantino - acesse o blog
Um artigo do SBGames de 2012, publicado no blog do professor Sérgio, dá sugestões de métodos para o desenvolvimento de jogos.
Nos seguintes links vocês podem achar motores de jogos para diferentes linguagens: Várias linguagens e Motores Web (html5).
Informações Importantes:
-
O TP estará descolado das aulas teóricas da disciplina. Enquanto as aulas teóricas seguem uma certa sequência o grupo deverá trabalhar desde agora com vários aspectos que não estão presentes nas aulas teóricas ou que serão tratados apenas no final do semestre.
-
É importante estudar a fundo o processo que usará para implementar o projeto.
-
Podem ser acessados os trabalhos dos semestres anteriores, mas as propostas de jogos devem ser diferentes: no tema ou na tecnologia empregada. Por exemplo: um grupo do semestre pas sado escolheu o tema CMMI e usaram flash/actionscript. Assim, se alguém quiser escolher este tema não pode usar a tecnologia flash.
-
Inicialmente, só serão aceitos grupos com 5 ou 6 estudantes. Um dos membros do grupo deve colocar na seção de comentários deste post o nome do grupo (devem escolher um nome para o grupo), e o nome e endereço de correio eletrônico de cada um dos cinco ou seis membros. Somente depois que o grupo listar os 5 ou 6 alunos, será possível adicioná-los como autores para que possam postar sem restrições no blog.
-
O desenvolvimento deverá ser do tipo interativo incremental, entregas frequentes, controle de versão, dirigido por testes, o grupo deve investir na maturidade do processo.
-
O cliente do jogo é o monitor Miguel Ramos.
Avaliação:
-
O trabalho será avaliado, principalmente, com relação a aderência a um processo e justificativas das tomadas de decisão! Esta parte da avaliação equivale a 60% do total.
-
O jogo desenvolvido será também avaliado entre os alunos que deverão ordenar os resultados dos grupos. Esta parte equivale a 40% do total.
-
O grupo também será avaliado em termos de conseguir se organizar para trabalhar de maneira contínua e distribuída, evitando o padrão de "picos de esforço". Isto é, um esforço de algumas horas um dia antes ou no dia de um ponto de verificação. Uma das maneiras de verificação será em função das publicações no blog.
-
Cada grupo deve ser o usuário do experimento de outro grupo, de forma a testar o aprendizado dos conceitos.
-
Os grupos devem promover seminários de 10 a 20 minutos, informando o desenvolvimento do projeto, as decisões tomadas, as dificuldades encontradas, o cronograma e os avanços obtidos referentes à apresentação anterior. As datas de apresentação estão postadas na página do professor Rodolfo Resende.
Grupo Bla
ResponderExcluirNomes:
Edmar Batista edmarbpaiva@gmail.com
Vitor vitorfaria017@outlook.com
Samuel Vieira samuelvieira03@gmail.com
Tomas Correa tomassc99@gmail.com
Thalia thaliacampolina@gmail.com
Paulo paulo.freitas@dcc.ufmg.br
Preferimos o método Scrum pois é mais utilizado e por ser o mais simples e de fácil adoção e adaptação.
Vamos desenvolver usado a engine GameMaker.
O Rodrigo Oliveira (rroliveira.1208@gmail.com) entrou para o nosso grupo antes da primeira apresentação do trabalho, mas não postamos essa informação aqui, portanto ele está sem acesso ao blog. Teria como adicioná-lo? Obrigada!
ExcluirOlá Thalia,
ExcluirJá enviei um convite para o Rodrigo (rroliveira.1208@gmail.com). Se tiver algum problema, avise-me.
Graxa e Software
ResponderExcluirNosso processo de desenvolvimento escolhido será XP (Extreme Programming). Esta escolha se baseia no fato de que é um dos que mais vemos em prática no mercado. Também gostamos do que o Rodolfo falou a respeito deste processo e por isso ele foi o que consideramos mais atraente para o trabalho.
Nomes:
David Andrade - dav1d@dcc.ufmg.br
Gustavo Bastos - gbastos@dcc.ufmg.br
Ricardo Barbosa - rbk@dcc.ufmg.br
Tiago Castro - tiagooc@dcc.ufmg.br
Rodrigo Lemos - rodrigolc@dcc.ufmg.br
Olá,
ResponderExcluirSó pra avisar que já encaminhei o convite pra que os integrantes dos grupos "Bla" e "Graxa e Software" sejam autores do blog. Não tenho certeza, mas acho que para isso precisam ter uma conta de gmail.
Prezados, ainda estou sem grupo. Existe algum grupo que tenha espaço para mais um integrante? Juan Oliveira. ( juanoliveira@dcc.ufmg.br )
ResponderExcluirGrupo Scrummando
ResponderExcluirAna Paula Lima - anapnlima4@gmail.com
Douglas Sales Silva - wdouglassales@gmail.com
Flavio Airjan - airjanmadureira@gmail.com
Matheus Araujo - matheus.ld.araujo@gmail.com
Richard Maxwell - rmax03@gmail.com
Álvaro Souza - alvarodccufmg@gmail.com
Nosso grupo escolheu o Scrum como processo de desenvolvimento, pois acreditamos ser o método no qual nós iremos nos adaptar melhor e
assim gerenciar nosso tempo e entregar um bom produto. Além disso estamos interessados no uso do Kanbam como técnica para controlar as atividades durante as sprints e ter um bom controle do tempo.
Já foi enviado um convite para os integrantes do grupo Scrummando para serem autores do Blog
ResponderExcluirGrupo Encanadores
ResponderExcluirLuiz Santos - luiz.h.sts@gmail.com
Lucas Maciel - lucasmaciel82@gmail.com
Victor Silva - rodrigues.victor.vsr@gmail.com
Matheus Azeredo - math.azeredo@gmail.com
Henrique Jonas - hjhenriquesesi@gmail.com
O processo de desenvolvimento é o Scrum, Alguns membros do grupo já possuem familiaridade. Além disso, há diversas ferramentas para auxiliar o processo e vasto conteúdo disponível para suporte.
Prezados alunos,
ResponderExcluirO livro Scrum and XP from the Trenches disponível em
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
tem boas avaliações no sítio da WWW da Amazon... A combinação SCRUM e XP tem boa sinergia.
Grupo Graxa e Software
ResponderExcluirNosso grupo possui três propostas, cada uma contempla uma categoria de jogo diferente.
A primeira proposta é a de um workshop em uma terra mitológica na Terra Média que abstrai os conceitos de desenvolvimento orientado a testes. Um dos personagem será o Dwarf Thráin, ele será encarregado de operar as ferramentas de testes. Será enviado para Thráin um projeto seguido de requisitos, que são representados como situações da vida real. Por exemplo, o projeto é um avião e os requisitos serão: voar, suportar peso, velocidade mínima de voo etc. Ao criar as ferramentas de teste, cabe ao Mago Deveuz usará seus conhecimentos de alquimia para combinar recursos e criar o projeto baseando-se nos testes de Thráin. Cabe a Deveuz ponderar os custos dos recursos para que a alquimia não saia muito caro.
A segunda proposta será de um jogo de plataforma onde o jogador será um herói que correrá por todo um processo de desenvolvimento de software. Deverá desviar de bugs durante o desenvolvimento, eliminá-los durante a inspeção, evitará clientes desejando alterar requisitos e outros desafios por exemplo.
A terceira proposta será de um jogo mais complexo que simulará uma empresa de desenvolvimento de software, onde o personagem será um agente de transformação que acompanhará todo o processo desde a acatamento da proposta pela empresa até a manutenção do software. A ideia é que será um jogo 2D visto por cima, estilo RPG retro, que se passa dentro da sede da empresa onde podem ser encontrados diversos tipos de funcionários (desenvolvedores, analista de requisitos, inspetor de qualidade etc). O jogador terá que passar por desafios tais como: Definir se os requisitos são funcionais ou não funcionais, ponderar os atributos de qualidade dependendo da demanda do projeto, fazer inspeções frequentes para evitar bugs (ou até mesmo sabotagem!).
Grupo SprintStream
ResponderExcluirLucas Emerick - lukatiniz@gmail.com
Thiago Tenaglia - tlct22@gmail.com
Hugo Lopes - hugo_a_moura@hotmail.com
O método escolhido pelo grupo foi o Scrum, pois representa melhor nossa realidade e também é um método já conhecido por alguns membros.
Segue o link para a primeira apresentação do grupo Scrummando:
ResponderExcluirhttps://drive.google.com/open?id=0BzuxMJxtRiFLeThuMElPcmdJN00&authuser=0
O objetivo geral foi apresentar e justificar as primeiras decisões tomadas pelo grupo
Segue status do nosso kanban:
ResponderExcluirTarefa------------------------------------------------------------------------Responsável-------Prioridade--Coluna do kanban
Criar tela de login e efetivá-lo no BD-----------------------------None------------------Average-----Product Backlog
Criar tela das perguntas-----------------------------------------------None------------------Average-----Product Backlog
Configurar repositório e ambiente de desenvolvimento----matheusldaraujo--High----------In Progress
Criaçao do banco de dados (usuario, questao)---------------matheusldaraujo--High-----------In Progress
Fazer Documentacao inicial da execução do sistema-----matheusldaraujo--Average-----Sprint Backlog
Configurar Jenkins no Servidor-------------------------------------Flavioairjan---------Average-----In Progress
Trabalhos de Semestres----------------------------------------------DSilva----------------Average-----In Progress
Criar perguntas e respostas do nível 1--------------------------anapnlima-----------Average-----In Progress
Informações do jogo----------------------------------------------------anapnlima-----------Average-----Sprint Backlog
Principal objetivo dessa sprint é criar um MVP (mínimo produto viável)
Olá Pessoal,
ResponderExcluirSó para lembrar que a ideia é que, os avanços no desenvolvimento do jogo que demonstram a aderência ao processo escolhido, devem ficar em novas postagens neste blog (não devem ser enviadas por e-mail ou escritas na seção de comentários). Na proposta do trabalho vocês podem encontrar os links dos blogs dos semestres passados para vocês conferirem e terem uma ideia do tipo de postagens que devem fazer. Se vocês estiverem tendo algum tipo de problema para criarem novas postagens, por favor me avisem.