Utilização da Gestão do Conhecimento nas Metodologias
Ágeis para Melhoria da Qualidade de Software
Universidade Federal de SergipeDepartamento de ComputaçãoSistemas de Informação
Última Atualização em junho de 2010
Diego Armando de Oliveira MenesesFelipe José Rocha VieiraRoberto Pizzi Gomes Neto
2Qualidade de Software
Introdução
➢ Qualidade de Software, Métricas, Processos de Desenvolvimento – termos
que estão presentes no jargão dos analistas de sistemas;
➢ Busca por metodologias que garantam o bom desenvolvimento do
software;
➢ A eficácia na utilização destes princípios é comprovada;
➢ O processo de desenvolvimento de software é composto por pessoas,
ferramentas e processos;
3Qualidade de Software
Introdução
➢ Mas não se pode minimizar a importância das pessoas;
➢ Publicação do manifesto ágil;
➢ Qual dos dois focos é o mais importante?
• A flexibilidade da metodologia ágil.
• A robustez do processo de desenvolvimento “tradicional”.
4
Este artigo tem o intuito de reduzir os problemas da falta de documentação
presente na metodologia ágil, tentando ao máximo absorver o conhecimento
presente nos colaboradores através de técnicas da gestão do conhecimento com o
apoio de ferramentas da baseadas nos princípios colaborativos da Web 2.0, buscando
o melhoramento da qualidade do processo e produto de software.
Qualidade de Software
5Qualidade de Software
Sumário
➢ Introdução
• Trabalhos relacionados
➢ Referencial Teórico
• Gestão do conhecimento
• Web 2.0
• Metodologias ágeis
• Qualidade de software
➢ Qualidade de software e metodologias ágeis
➢ Utilização da gestão do conhecimento no XP para melhoria da qualidade
➢ Conclusão
6Qualidade de Software
Trabalhos relacionados
➢ Parreiras e Oliveira – Gestão do conhecimento em processos de
desenvolvimento de software;
➢ Black e Jacobs – Web 2.0 para a qualidade de software;
➢ Namioka e Bran – Qualidade de software mesmo com metodologias ágeis;
7Qualidade de Software
Gestão do conhecimento
➢ Estratégias e práticas para identificar, criar, representar, distribuir e
permitir a adoção de ideias e experiências.
➢ Hierarquia DIKW
• Dado
• Informação
• Conhecimento
• Sabedoria
8Qualidade de Software
Web 2.0
➢ Formas de publicar, compartilhar e organizar informações;
➢ “É a mudança para uma Internet como plataforma, e um entendimento
das regras para oferecer sucesso nesta nova estrutura.” (O' Reilly);
➢ Serviços e não softwares empacotados.
9Qualidade de Software
Metodologias ágeis
➢ O que são metodologias ágeis?
➢ Diferença entre metodologias ágeis e tradicionais;
➢ Ponto de vista relevante;
➢ Características das metodologias ágeis;
➢ O que é manifesto ágil.
10Qualidade de Software
Metodologias ágeis
➢ “Equilíbrio entre nenhum processo e muito processo, provendo apenas o
suficiente de processo para obter um retorno razoável”;
➢ “Caracterizadas como um antídoto contra a burocracia”.
Martin Fowler, 2003
11Qualidade de Software
Qualidade de software
➢ “Qualidade é a adequação ao uso. É a conformidade às exigências” (ISO);
➢ “Qualidade é o grau em que um conjunto de características inerentes a
um produto, processo ou sistema cumpre os requisitos inicialmente
estipulados para estes” (ISO 9000);
➢ “Software é conjunto completo ou apenas uma parte dos programas,
procedimentos, regras e documentação associada de um sistema
[computacional] de processamento de informação” (ISO/IEC 2382-1,
1993);
12Qualidade de Software
Qualidade de software
➢ Programa fácil de usar;
➢ Funciona de acordo com as regras estabelecidas e documentadas;
➢ Possui integridade dos dados em momentos de falha;
➢ Facilidade de manutenção e extensibilidade;
➢ “A totalidade de características de um produto de software que lhe
confere a capacidade de satisfazer necessidades explícitas e implícitas”
(ISO/IEC 9126);
13Qualidade de Software
Qualidade de software
➢ Qualidade total:
• Múltiplas disciplinas;
• Controle do processo;
➢ Gestão da qualidade total:
• Estratégia de alto nível;
➢ Fomentar a qualidade;
14
Qualidade de software e Metodologias ágeis
➢ Crise do software;
➢ Como definir se um software tem qualidade?
➢ McCall e ISO 9126.
Qualidade de Software
15
Qualidade de software e Metodologias ágeis
Revisão do Produto
- Manutenibilidade- Flexibilidade- Testabilidade
Operação do Produto
- Corretude- Confiabilidade- Eficiência- Integridade- Usabilidade
Implantação do Produto
- Portabilidade- Reusabilidade- Interoperabilidade
Qualidade de Software
16
Qualidade de software e Metodologias ágeis
Qualidade de Software
Funcionalidade Satisfaz às necessidades?
Confiabilidade É imune a falhas?
Usabilidade É fácil de usar?
Eficiência É rápido e “enxuto”?
Manutenibilidade É fácil de modificar?
Portabilidade É fácil de usar em outro ambiente?
17
Qualidade de software e Metodologias ágeis
Qualidade de Software
18
Utilização da gestão do conhecimento no XPpara melhoria da qualidade
➢ Qualidade é possível com metodologias ágeis
• Sempre?
➢ GC apreende conhecimento “perdido” pela XP
➢ Como?
Qualidade de Software
19
Utilização da gestão do conhecimento no XPpara melhoria da qualidade
➢ Web 2.0 capta conhecimento sem stress
• Blog;
• Wiki;
• Rede social;
• Microblog.
Qualidade de Software
20
CONCLUSÕES
Qualidade de Software
21
PERGUNTAS?
Qualidade de Software
22
\o/ FIM! \o/
Qualidade de Software