LabXP2026: mudanças entre as edições
(Criou página com '= Laboratório de Programação Extrema 2025 = 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...') |
Sem resumo de edição |
||
| (3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
= Laboratório de Programação Extrema | = 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. | 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 = | = Projetos = | ||
| Linha 9: | Linha 11: | ||
== Projetos Selecionados == | == Projetos Selecionados == | ||
* Aqui serão | * [[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. | |||
| Linha 28: | Linha 105: | ||
* [http://www.ime.usp.br/~gold/ Alfredo Goldman] (gold@ime.usp.br) | * [http://www.ime.usp.br/~gold/ Alfredo Goldman] (gold@ime.usp.br) | ||
* [Ana Clara Lannes] - (anaclaralannes@ime.usp.br) (monitora) | * [https://www.linkedin.com/in/ana-clara-lannes-1502a2239/ Ana Clara Lannes] - (anaclaralannes@ime.usp.br) (monitora) | ||
* [https://www.linkedin.com/in/leosilvagomes/ Leonardo Gomes] - (leonardogomes@ime.usp.br) (monitor) | |||
= Slides das aulas = | |||
* [https://docs.google.com/presentation/d/1c8cqbZ2nuA8OGsEe-60ArA5_cu0lGA-0fuzTahuC8pg/edit?usp=drive_link 26/03 - Aula sobre DevOps] | |||
= Referências = | = Referências = | ||
== | == Artigos úteis == | ||
* [https://scholar.google.com.br/citations?view_op=view_citation&hl=en&user=Cgl09uMAAAAJ&cstart=20&pagesize=80&sortby=pubdate&citation_for_view=Cgl09uMAAAAJ:DkZNVXde3BIC Being agile in a data science project] | |||
* [https://scholar.google.com.br/citations?view_op=view_citation&hl=en&user=Cgl09uMAAAAJ&cstart=20&pagesize=80&sortby=pubdate&citation_for_view=Cgl09uMAAAAJ:gKiMpY-AVTkC Is It Possible to Apply Agile Methods to Contribute to the Linux Kernel?] | |||
* [https://scholar.google.com.br/citations?view_op=view_citation&hl=en&user=Cgl09uMAAAAJ&cstart=100&pagesize=100&sortby=pubdate&citation_for_view=Cgl09uMAAAAJ:u-coK7KVo8oC Group-development psychology training: The perceived effects on agile software-development teams] | |||
* [https://scholar.google.com.br/citations?view_op=view_citation&hl=en&user=Cgl09uMAAAAJ&cstart=100&pagesize=100&sortby=pubdate&citation_for_view=Cgl09uMAAAAJ:ZzlSgRqYykMC Having fun doing research on agile methods] | |||
== Informações sobre a matéria == | |||
* [https://docs.google.com/presentation/d/1e7cOFU-zsWddrRfdtC9ImVZMLrLdQMic82ramVMzJ_0/edit?usp=sharing Apresentação do curso] | |||
* [https://agilealliance.org/resources/experience-reports/continuous-improvement-of-an-xp-laboratory-course-an-18-year-history/ Continuous Improvement of an XP Laboratory Course: An 18 year History] | |||
* [https://scholar.google.com.br/citations?view_op=view_citation&hl=en&user=Cgl09uMAAAAJ&cstart=200&pagesize=100&sortby=pubdate&citation_for_view=Cgl09uMAAAAJ:9ZlFYXVOiuMC Being extreme in the classroom: Experiences teaching XP] | |||
== Material complementar == | |||
* Link para o curso online do Udacity sobre testes: https://www.udacity.com/course/cs258 | * Link para o curso online do Udacity sobre testes: https://www.udacity.com/course/cs258 | ||
Edição atual tal como às 17h32min de 2 de abril de 2026
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)
Slides das aulas
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