LabXP2026: mudanças entre as edições

De CCSL
Ir para navegação Ir para pesquisar
(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 2025 =
= 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 listados todos os 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)


= Dias importantes =
* 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%)


== Test Day ==
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.


* 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.




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]
 
 


* [Leonardo Gomes] - (leonardogomes@ime.usp.br) (monitor)




= Referências =
= Referências =


== Links e materiais úteis ==
== 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

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



Slides das aulas



Referências

Artigos úteis

Informações sobre a matéria

Material complementar