QUALIDADE DE SOFTWARE
Leonardo A Alves
QUALIDADE
   O desenvolvimento
    de software deve
    empregar
    mecanismos para
    garantir que os
    esforços sejam
    devidamente
    direcionados a um
    objetivo comum.
QUALIDADE
PREMISSAS DE DESENVOLVIMENTO DE
SOFTWARE TRADICIONAL

 Linearidade (seqüencial)
 Determinismo (base de resultados)

 Especialização

 Foco na execução

 Crescimento exponencial do custo de
  alteração (indústria típica)
 A aceitação desta premissa tem como
  conseqüência natural uma busca por processos
  determinísticos, já que estes prometem menos
  alterações e maior previsibilidade.
RESULTADOS DO DESENVOLVIMENTO
 TRADICIONAL




Bem sucedidos – O projeto é finalizado no prazo, dentro do orçamento e contendo
todas as funcionalidades especificadas.

Comprometidos – O projeto é finalizado e um software operacional é entregue,
porém o orçamento e o prazo ultrapassam os limites estipulados, e, além disso,
o software entregue possui menos funcionalidades do que o especificado.

Fracassados – O projeto é cancelado em algum momento durante
o desenvolvimento.
QUALIDADE




Desenvolvimento iterativo em cascata.
QUALIDADE: CRITÉRIO DE FINALIZAÇÃO

Um dos aspectos mais importantes a serem estabelecidos durante os
Procedimentos de qualidade é o critério de finalização do desenvolvimento
de um software.

É importante estabelecer que em todas as fases
há um critério de finalização.
COMO FAZER A QUALIDADE FALHAR
 Ausência de automatização nos testes
 Qualidade não é aplicada em todas as fases

 Falta de modelo coorporativo de qualidade

 Deficiência em testes

 Sob pressão os testes são deixados de mão

 Ausência de ambiente de testes

 Planejamento individual

 Falta de comunicação
QUALIDADE




   Qualquer tipo de erro gera custo Financeiro
    a Organização.
BENEFÍCIOS DA QUALIDADE

 Tornar o ciclo de desenvolvimento confiável
 Garante a ação corretiva no desenvolvimento

 Amplia a chance de sucesso com a socialização do
  projeto
 Amplia a produtividade com o projeto bem
  definido
 Reduz a desorganização

 Minimiza (ou Zera) o Retrabalho

 Evita a propagação de erros.

 Automação dos testes reduz custos do projeto
PRÁTICA DA QUALIDADE
 Especificação de requisitos (fase)
 Verificação dos requisitos (verificação da qualidade)



Para cada fase uma contra-fase de verificação, que
 pode ser feita com uma reunião de planejamento,
 ou com o apoio do teste. (base de metodologias
 ágeis)
QUALIDADE DE SOFTWARE
   Próximo encontro: Metodologias àgeis

Qualidade de software3

  • 1.
  • 2.
    QUALIDADE  O desenvolvimento de software deve empregar mecanismos para garantir que os esforços sejam devidamente direcionados a um objetivo comum.
  • 3.
  • 4.
    PREMISSAS DE DESENVOLVIMENTODE SOFTWARE TRADICIONAL  Linearidade (seqüencial)  Determinismo (base de resultados)  Especialização  Foco na execução  Crescimento exponencial do custo de alteração (indústria típica)  A aceitação desta premissa tem como conseqüência natural uma busca por processos determinísticos, já que estes prometem menos alterações e maior previsibilidade.
  • 5.
    RESULTADOS DO DESENVOLVIMENTO TRADICIONAL Bem sucedidos – O projeto é finalizado no prazo, dentro do orçamento e contendo todas as funcionalidades especificadas. Comprometidos – O projeto é finalizado e um software operacional é entregue, porém o orçamento e o prazo ultrapassam os limites estipulados, e, além disso, o software entregue possui menos funcionalidades do que o especificado. Fracassados – O projeto é cancelado em algum momento durante o desenvolvimento.
  • 6.
  • 7.
    QUALIDADE: CRITÉRIO DEFINALIZAÇÃO Um dos aspectos mais importantes a serem estabelecidos durante os Procedimentos de qualidade é o critério de finalização do desenvolvimento de um software. É importante estabelecer que em todas as fases há um critério de finalização.
  • 8.
    COMO FAZER AQUALIDADE FALHAR  Ausência de automatização nos testes  Qualidade não é aplicada em todas as fases  Falta de modelo coorporativo de qualidade  Deficiência em testes  Sob pressão os testes são deixados de mão  Ausência de ambiente de testes  Planejamento individual  Falta de comunicação
  • 9.
    QUALIDADE  Qualquer tipo de erro gera custo Financeiro a Organização.
  • 10.
    BENEFÍCIOS DA QUALIDADE Tornar o ciclo de desenvolvimento confiável  Garante a ação corretiva no desenvolvimento  Amplia a chance de sucesso com a socialização do projeto  Amplia a produtividade com o projeto bem definido  Reduz a desorganização  Minimiza (ou Zera) o Retrabalho  Evita a propagação de erros.  Automação dos testes reduz custos do projeto
  • 11.
    PRÁTICA DA QUALIDADE Especificação de requisitos (fase)  Verificação dos requisitos (verificação da qualidade) Para cada fase uma contra-fase de verificação, que pode ser feita com uma reunião de planejamento, ou com o apoio do teste. (base de metodologias ágeis)
  • 12.
    QUALIDADE DE SOFTWARE  Próximo encontro: Metodologias àgeis