Escolha metodológica - DesenhoMaster2017/SpaceShooter GitHub Wiki
Histórico de Revisões
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
19/08/2017 | 1.0 | Versão inicial | Isaac e Kleber |
Escolha Metodológica
Metodologia de Desenvolvimento
Em todo projeto de software, a escolha da metodologia é uma etapa de extrema importância devido ao fato que a metodologia escolhida irá definir o rumo e a que passo será ditado o ritmo do desenvolvimento do projeto. Com base nisso, este documento tem como finalidade de mostrar como foi definido a escolha do Scrum para o projeto e como será feita sua adaptação para o contexto da equipe.
O que é Scrum
Scrum é um framework utilizado para gerenciar o desenvolvimento de produtos complexos e não tão complexos de forma que possa empregar processos e técnicas que facilitem a organização e o desenvolvimento.
Scrum é um processo empírico, apoiado por 3 pilares: transparência, inspeção e adaptação.
Transparência: Aspectos significativos do processo deve estar visível aos seus responsáveis.
Inspeção: Os usuários Scrum deve inspecionar os artefatos e o progresso em direção a detectar possíveis alterações não desejadas.
Adaptação: Caso o processo esteja fora dos limites aceitáveis, o processo ou material sendo produzido deve ser ajustado. Sendo o ajuste realizado o mais breve possível para evitar mais desvios.
O Scrum prescreve 4 eventos formais dentro dos limites da Sprint:
- Reunião de planejamento da Sprint;
- Reunião diária;
- Reunião de revisão da Sprint;
- Retrospectiva da Sprint.
Por que escolher o Scrum?
1. Adaptabilidade: O controle do processo empírico e a entrega iterativa fazem com que os projetos sejam adaptáveis e aberto as incorporações de mudanças.
2. Transparência: O primeiro pilar da metodologia Scrum é a transparência. Todas as fontes de informações (quadro de tarefas, kanban, BurnDown) são compartilhadas gerando um ambiente de trabalho aberto
3. Feedback contínuo: O FeedBack contínuo, garante o segundo pilar do Framework que é a inspeção, sendo ele obtido através de processos como a reunião diária e a sprint review. A inspeção leva a adaptação, em um ciclo que acaba gerando uma melhoria contínua.
4. Melhoria contínua: As entregas melhoram progressivamente, Sprint por Sprint, através do processo de refinamento do Backlog e do processo em si.
5. Entrega contínua de valor: Os processos iterativos permitem a entrega contínua de valor tão frequente quanto exigido pelo cliente.
6. Eficiência: O Scrum prega o Time-boxing e a estimulação do trabalho não-essencial, para dessa forma conduzir a níveis mais altos de eficiência, não se perdendo tempo com coisas que não gerem valor à meta da sprint. Mantém o backlog priorizado com o que realmente deve entrar na próxima Sprint, deixando para um futuro incerto o que não é essencial a aplicação.
7. Motivação: É necessário um ambiente de alta confiança para que o time fique motivado e com vontade de ir em frente, em prol dos objetivos gerais da sprint. E os processos de conduzir a reunião diária e de Retrospectiva da Sprint conduzem a níveis mais altos de motivação entre os colaboradores.
8. Alta velocidade: Agilidade não é pura e simplesmente entregar software mais rápido e sim sobre entregar valor mais cedo. E isso é possível graças ao backlog priorizado.
9. Ambiente inovador: O ambiente é inovador pois os 3 pilares do Scrum: transparência, inspeção e adaptação forma um ciclo vicioso sendo a chave para a inovação.
Observando esses aspectos, percebe-se que a chance de revisitar o processo e ajustá-lo a cada sprint dá uma vantagem muito grande frente às metodologias tradicionais: a vantagem de poder errar, aprender com esse erro e corrigir rápido.
Valores do Scrum
Quando os valores de comprometimento, coragem, foco, transparência e respeito são assumidos e vividos pelo Time Scrum, os pilares do Scrum de transparência, inspeção e adaptação tornam-se vivos e constroem a confiança para todos. Os membros do Time Scrum aprendem e exploram estes valores à medida que trabalham com os eventos, papéis e artefatos do Scrum.
O Sucesso no uso do Scrum depende das pessoas se tornarem mais proficientes na vivência destes cinco valores. As pessoas se comprometem pessoalmente em alcançar estes objetivos do Time Scrum. O Time Scrum precisa ter coragem para fazer a coisa certa e trabalhar em problemas difíceis. Todos focam no trabalho da Sprint e nos objetivos do time. O Time Scrum e seus Stakeholders concordam em estarem abertos a todo o trabalho e aos desafios com a execução dos trabalhos. Os membros respeitam uns aos outros para serem pessoas capazes e independentes.
Adaptações iniciais ao projeto
Por se tratar de uma metodologia ágil, o Scrum pode ser adaptado de acordo com a equipe e as necessidades do projeto a ser desenvolvido. Dessa forma, inicialmente foram adaptadas algumas medidas dentro do scrum que pudesse se adequar a equipe, ao projeto e ao cronograma inicialmente pré-estabelecido.
- Daily Meeting: As daily meetings acontecerão de forma online, tendo a possibilidade de nos dias de aula acontecerem logo após o final da aula.
- Kanban: Devido a falta de espaço físico para a equipe, foi adotado o ZenHub que é integrado ao GitHub, para gerenciamento das issues e ter o controle do que cada um está fazendo.
- Pareamento: O pareamento não será obrigatório. Será de forma opcional no início de cada sprint, dependendo somente da disponibilidade da dupla e das necessidades da sprint.
- Sprint: Com o cronograma de atividades definido e visto o tempo que a equipe possui para entregar o produto, foram definidas que as sprints terão duração de 2 semanas, exceto sprints de ajustes.