LabXP2019
Laboratório de Programação Extrema 2019
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
- 9 - Caninos Loucos
- 10 - Drivers IIO
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:
https://forms.gle/t4gtdPpARnyY4HrU7
Respondam até a próxima quinta-feira (22/08) até às 12h.
Durante a aula, vamos analisar o resultado e formar os times.
Selecionados
FAU-ACESSO ABERTO: por uma plataforma de extroversão da produção intelectual - 8 pessoas
- César Gasparini Fernandes
- Larissa Goto Sala
- Leonardo de Carvalho Freitas Padilha Aguilar (coach)
- Mateus Agostinho dos Anjos
- Matheus Lima Cunha
- Nathalia Orlandi Borin
- Pedro Vítor Bortolli Santos
- Victor Andre Batistella
Repositório: https://gitlab.com/lcfpadilha/fau-aberta
EviDent: Aplicativo para divulgação de evidências científicas - 4 pessoas
- Éderson Cássio Lacerda Ferreira (coach)
- Eduardo do Nascimento Evaristo
- Renan Tiago dos Santos Silva
- Vitor Ricardo de Oliveira Leite
Repositório: https://gitlab.com/ebapp
Projeto de avaliações "em linha" (via Web) - 3 pessoas
- Laira das Almas Silva (coach)
- Otavio Ho Aragoi
- Liang Shen
Repositório: https://gitlab.com/lairaalmas/labxp2019
Arquigrafia: ambiente colaborativo web de imagens de arquitetura - 4 pessoas
- Gabriel Sarti Massukado
- Henrique cerquinho
- Pedro Paulo de Queiroz Bambace
- Robson Aleixo (coach)
Repositório: https://github.com/robson-aleixo/Arquigrafia-Laravel/blob/master/readme.md
Caninos Loucos - 2 pessoas
- Bruno Almeida Carneiro da Cunha
- Daniel Martinez (coach)
Repositório: https://github.com/r0zbot/labrador-linux
Professor e monitora
- Alfredo Goldman (gold@ime.usp.br)
- Thatiane de Oliveira Rosa - (thatiane@ime.usp.br) (monitora)
Grupos de discussão e anúncios
- Todos os alunos: https://groups.google.com/forum/#!forum/labxp-2019
- Coachs: https://groups.google.com/forum/#!forum/labxp-2019-coachs
Aulas
- 15/08 - Documentação e comunicação do projeto com GitLab e visão geral de tecnologias (stack) de desenvolvimento de softawre
- 20/08 - Apresentação de projetos candidatos
- 22/08 - Escolha dos projetos, formação dos times, dicas para iniciar o projeto
- 27/08 - Reunião com os clientes dos projetos escolhidos e desenvolvimento dos projetos
- 29/08 a 19/09 - Desenvolvimento dos projetos
- 19/09 - Palestra sobre Métodos Ágeis e Dívida Técnica- Dra. Graziela Tonin - professora da UFFS
- 23/09 a 15/10 - Desenvolvimento dos projetos
- Aula 15/10 - Primeira etapa de avaliação
- 17/10 a 22/10 - Desenvolvimento dos projetos
- 22/10 - Palestra sobre Design evolutivo de software em metodologias ágeis - Dr. Eduardo Guerra – professor do INPE
- 24/10 a 31/10 - Desenvolvimento dos projetos
- 31/10 - Palestra sobre Padrões e Linguagens Padrões - Joe Yoder
- 05/11 a 07/11 - Desenvolvimento dos projetos
- 07/11 - Segunda etapa de avaliação
- 18/11 a 21/11 - Desenvolvimento dos projetos
- 21/11 - Palestra com abordagem prática de TDD - João Daniel
- 25/11 a 03/11 - Desenvolvimento dos projetos
- 03/12 - Brunch e bate papo sobre métodos ágeis com as empresas Elo7 e SiDi/SAMSUNG
- 05/12 - Terceira etapa de avaliação
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.