LabXP2021
Laboratório de Programação Extrema 2021
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 monitores (meta-coaches), 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.
Devido à pandemia de COVID-19, esta edição de LabXP foi realizada remotamente, utilizando o Google Meet para aulas síncronas e palestras, e o Discord para desenvolvimento remoto.
Palestrantes externos
Revejam palestrantes internacionais da edição 2020 em: https://uclab.xyz/youtube
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:
Terça-feira 31/08/21
- Birdscapes - Guto Carvalho
- APPerception - Rômulo Bertuzzi
- Teste e Acerte - Luiz Menezes dos Santos
- Cadeia de Custódia - Mara Pires
- Documentos Digitais - Mara Pires
- Residencial para Idosos Lar Santana - Vyvyanne Pazzini e Raquel Moraes
- Kernel Workflow - kw - Paulo Meireles e Rodrigo Siqueira
Quinta-feira 02/09/21
- BE-UPP Avaliação da Qualidade de Vida - Marcelo Semiatzh
- Agendamento Virtual de Salas de Atendimento no Centro Escola do Instituto de Psicologia - Pablo Castanho
- SysCPE - Natan Figueiredo
- Avaliação da qualidade de imagem de produtos Elo7 - Leonardo Wolter e Samara Alves
- SAPHIRA - Andre Biondi Casaes
- Plataforma iMago - Artur Rozestraten e Luis Felipe Abbud
- Extração de tecnologias emergentes Fiocruz - Samara Alves
- Medidor de Aprendizado no iTuring - Thales
- SPIRA - Renato Cordeiro
Indicar preferência de projeto
Cada aluno deverá indicar 3 projetos, em ordem de preferência, bem como compartilhar conosco algumas informações para podermos selecionar os projetos e compôr os times.
Dias importantes
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, 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
- 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
- Projeto
- meio de comunicação com cliente definido
Etapa Saudável
- peso: 30%
- Código
- testes
- commits frequentes
- início de integração contínua (CI)
- 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
- integração contínua para valer
- cobertura de testes
- 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 monitor
- Alfredo Goldman (gold@ime.usp.br)
- Renato Cordeiro - (renatocf@ime.usp.br) (monitor)
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