LabXP2018
Laboratório de Programação Extrema 2017
As metodologias ágeis de desenvolvimento de software têm se mostrado bastante eficazes para o desenvolvimento de sistemas de software. Neste curso, os estudantes utilizam a metodologia de Programação eXtrema (XP), sob a orientação do professor e monitor (meta-coach), para desenvolver um sistema de software orientado a objetos de alta complexidade. Através dessa experiência prática no laboratório, se faz possível a aquisição de conhecimentos e a assimilação de práticas das metodologias ágeis que serão extremamente importantes para o estudante em sua futura carreira, seja ela acadêmica ou empresarial, como desenvolvedor de software.
Projetos
Projetos da vida real com os mais variados temas com o único requisito de possuírem licença livre.
Possibilidades
Software para escolha dos grupos de acordo com os questionários: https://github.com/rafamanzo/xpteamwise
Indicar preferência de projeto
Cada aluno deverá indicar 3 projetos, em ordem de preferência, bem como compartilhar conosco algumas informações para que possamos selecionar os projetos e compôr os times.
Selecionados
Professor e monitores
- Alfredo Goldman (gold at ime.usp.br)
- Diogo - (diogojpina em gmail com) (monitor)
Grupos de discussão e anúncios
- Todos os alunos: https://groups.google.com/forum/#!forum/labxp2018
- Coaches: TODO
Links e materiais úteis
- Link para o curso online do Udacity sobre testes: https://www.udacity.com/course/cs258
- Resumo do capítulo 3 do livro Agile Retrospectives, Making Good Teams Great. Liderando Retrospectivas
- Manifesto ágil: http://agilemanifesto.org/iso/ptbr/
- Survey agile: http://www.versionone.com/about-us/press-releases/article/VersionOne-Releases-9th-Annual-State-of-Agile-Survey-Results/
Dias importantes
Stand-up com os coaches
- A decidir
Test Day
- Cada equipe escolherá um dia em que estarão concentrados apenas em testes.
Refactoring Day
- Cada equipe escolherá um dia em que estarão concentrados apenas em refatoração.
Retrospectiva
Adicionar relato sobre as retrospectivas feitas no curso.
Critérios de Avaliação
Serão atribuidas duas notas neste semestre, de acordo com os critérios abaixo:
Nota 1
- Etapa/Feedback 1 (15%)
- Infraestrutura instalada
- Equipe organizada
- Etapa/Feedback 2 (20%)
- Planejamento/Comunicação Interna e Externa (8%)
- Repositório/Commits frequentes/Testes (4%)
- Integração continua "inicial" (4%)
- Rodízio de Pares (2%)
- Ao menos uma entrega ao cliente (2%)
- Etapa/Feedback 3 (65%)
- Tracking (10%)
- Integração contínua (10%)
- TDD (5%)
- Cobertura dos testes (10%)
- Entregas (10%)
- Auto-organização do time (10%)
- "Artefatos" para garantir a continuidade do projeto (10%)
Notas 2
- Individuais:
- Presença (25%)
- Avaliação do Coach, meta-coaches avaliam os coaches (25%)
- Equipe:
- Satisfação do cliente (25%)
- Projeto (funcionalidades implementadas + manutenibilidade - como outra equipe pode continuar o projeto) (25%)
obs.: Por manutenabilidade entende-se documentação sobre como ter um ambiente de desenvolvimento completo com os testes passando e ponteiros para pontos interessantes no código para novos novos contribuidores e funcionalidades mais simples para estes implementarem e conhecerem o sistema.
Organização do almoço às {segundas|quartas}
Acesse: Comida