LabXP2020
Laboratório de Programação Extrema 2020
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 de projetos
Organizados por ordem de apresentação
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.
O formulário de escolha de projetos já está disponível em:
Selecionados
Professor e monitor
- Alfredo Goldman (gold@ime.usp.br)
- João Francisco Lino Daniel - (joaofran@ime.usp.br) (monitor)
Grupos de discussão e anúncios
- Todos os alunos:
- Coachs:
Aulas
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/
- Métodos Ágeis: http://www.desenvolvimentoagil.com.br/
- DDD (Notas do livro by Leonardo Leite): https://polignu.org/artigo/notas-sobre-ddd
Dias importantes
Stand-up com os coaches
Todas as terças-feiras letivas, às 13:45
Test Day
- Cada equipe escolherá um dia em que estará concentrada apenas em testes.
Refactoring Day
- Cada equipe escolherá um dia em que estará concentrada apenas em refatoração.
Critérios de Avaliação
Serão atribuídas 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%)
Nota 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.