LabXP2020

De CCSL
Revisão de 11h05min de 22 de setembro de 2020 por Joaofran (discussão | contribs) (definição inicial do semestre - avaliação e possíveis projetos)
Ir para navegação Ir para pesquisar

Laboratório de Programação Extrema 2020

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

- Digita Fácil - Lívia - KUnit - Marcelo - Monitoria do IME - Nina - GETREN - Vitória - Maratona - Pedro - FAU ABERTA - Beatriz - SPIRA - Renato - EviDent - Gabriela - Reconhecimento de Veículos - Guilherme - Museu da Pessoa - Danielle - Dente Virtual - Lisa - Cozo - João - Empresas DNA USP - Geciane - SortingHat - Thatiane - Portal Vestibulando - Ricardo

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.


Selecionados

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, de acordo com 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 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.


Professor e monitor

  • João Francisco Lino Daniel - (joaofran@ime.usp.br) (monitor)


Links e materiais úteis