LabXP2026
Laboratório de Programação Extrema 2026
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, para desenvolver um sistema de software em equipe. Por meio 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
Nesse semestre, cada time receberá um espaço no gitlab para manter sua organização e sua documentação dentro da Organização.
Projetos Selecionados
- Cortext - Prof. Paulo Meirelles & Alexandre Hannud Abdo
- HubUSP - Neylor de Lima Fabiano & Fernanda Basso & Juliana Alberice
- Enciclopédia Digital - Marisa Midori
- Com-Arte - Hugo Quinta
- MetAMORfose - Luiza Carvalho
- USP Aberta - Jonathas Castilho
Dias importantes
- Aqui serão listadas as datas importantes da disciplina.
Critérios de Avaliação
Serão atribuídas duas notas neste semestre, conforme os critérios abaixo:
Nota 1
- três etapas: "Iniciante", "Saudável" e "Maduro"
- três aspectos: "Código", "Equipe" e "Projeto"
Etapa Iniciante
- peso: 20%
- Código
- repositório configurado
- licença de software
- ambiente de desenvolvimento configurado
- Equipe
- atribuições de papéis
- standup e mobs iniciais rolando
- ambiente de trabalho informativo criado
- definida política de horas extras
- planilha para controle de horas (aula e extra)
- Projeto
- meio de comunicação com cliente definido
Etapa Saudável
- peso: 30%
- Código
- commits frequentes
- início testes
- início pipeline de CI/CD (testes + entregável)
- Equipe
- bom rodízio de pares
- consistência em mobs
- Projeto
- boa comunicação com o cliente
- ter feito a primeira entrega
Etapa Maduro
- peso: 50%
- Código
- tracking
- testes automatizados
- cobertura de testes
- pipeline de CI/CD (testes + entregável)
- artefatos para continuidade do projeto
- Equipe
- TDD
- auto organização ("coach invisível")
- Projeto
- demais entregas
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 manutenibilidade entende-se documentação sobre como ter um ambiente de desenvolvimento completo com os testes passando, ponteiros para pontos interessantes no código para novos contribuidores, e funcionalidades mais simples para estes implementarem enquanto conhecem o sistema.
Professor e monitores
- Alfredo Goldman (gold@ime.usp.br)
- Ana Clara Lannes - (anaclaralannes@ime.usp.br) (monitora)
- Leonardo Gomes - (leonardogomes@ime.usp.br) (monitor)
Referências
Artigos úteis
Informações sobre a matéria
Material complementar
- 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