Métricas de qualidade
Para garantir a qualidade de um software é necessário medir seus atributos. No desenvolvimento deste trabalho mediremos a qualidade do software a partir dos atributos gerados pelo Sonar e GitHub, segue a lista de atributos:
Sonar:
- CodeSmell
- Confiabilidade
- Segurança
- Manutenabilidade
- Duplicações
- Tamanho do código
- Nível de complexidade
Github:
- Quantidade de Issues
- Commits que falharam
- Qualidade de processo (entregas)
Para cada atributo, estabelecemos um valor máximo ou mínimo aceitável. Não encontramos nenhuma recomendação amplamente aceitável de valores, logo utilizaremos valores que consideramos plausíveis e que garantam a qualidade do nosso código. O Sonar dá uma nota para cada atributo que ele mede, e no nosso projeto definimos para cada atributo as seguintes notas mínimas: esperamos ter ao menos B de Confiabilidade, D de Segurança, B de Manutenibilidade e no máximo 5% de Duplicações. A complexidade será considerada por método, classe e arquivo, sendo no máximo 3 pontos para os métodos, 12 para as classes e 30 para os arquivos. CodeSmells são práticas ruins de programação, acreditamos que 30 CodeSmells em todo o projeto é um valor aceitável. Quanto aos atributos medidos pelo GitHub, consideramos que 5 issues não resolvidas é um valor aceitável para um projeto do tamanho do LedsZeppelin. Aceitaremos o valor de 5 commits que falharam por sprint. A qualidade de processo será avaliada através da constância das entregas, a equipe espera entregar uma quantidade fixa de funcionalidades a cada sprint e com ajuda da nossa ferramenta de CI, o Travis, esperamos garantir que as entregas sejam disponibilizadas ao cliente no dia da entrega.