the five orders of ignorance viewing software development as knowledge acquisition and ignorance...

26
The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Upload: samuel-da-costa-covalski

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

The Five Orders of Ignorance

Viewing software development as knowledge acquisition and

ignorance reduction

Page 2: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Autor: Phillip G. Armour

Communications of the AcmOctober 2000Vol. 43, No. 10

Page 3: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Agenda

Software como um meio de armazenar conhecimento;

Os cinco níveis de Ignorância;

Os cinco níveis de ignorância no desenvolvimento de software.

Page 4: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Meios para Armazenar Conhecimento

1. DNA;2. Cérebros;3. Hardware;4. Livros;

1. DNA;2. Cérebros;3. Hardware;4. Livros;5. Software;

Page 5: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Vantagens do Software

Conhecimento Ativo; Escapou do confinamento e a

volatilidade dos cérebros; Evita a Passividade dos livros; Possui a flexibilidade e velocidade de

mudança, que não existe no DNA ou HW.

Page 6: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Mas, se o Software não é o produto. O que é o produto dos nossos esforços de desenvolver software?

É o CONHECIMENTO contido no software.

É fácil produzir softwares simples pois ele não contém muito conhecimento.

Page 7: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

A parte difícil de fazer um sistema não é o desenvolvimento, mas saber o que desenvolver.

O desafio está em adquirir o CONHECIMENTO necessário.

Dessa forma desenvolver software não é uma atividade de:

PRODUTO-PRODUÇÃOCONHECIMENTO-AQUISIÇÃO

Page 8: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Os Cinco Níveis de Ignorância

Baseado no que sabemos e no que não sabemos, é possível classificar nossa ignorância em cinco níveis.

Esses níveis podem ser úteis em entender o que é necessário para reduzir nossa ignorância e desenvolver um sistema que funcione.

Page 9: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Nível 0 de Ignorância (0OI)Falta de Ignorância

Quando você sabe alguma coisa e pode demonstrar isso de uma forma tangível.

Quando você sabe alguma coisa e pode demonstrar isso de uma forma tangível.

Exemplo: O autor gosta de velejar. Tendo um barco e um lago, isso é facilmente verificado.

Page 10: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

1º Nível de Ignorância (1OI)Falta de Conhecimento

Quando você não sabe alguma coisa é consegue prontamente identificar.

Quando você não sabe alguma coisa e consegue prontamente identificar.

Exemplo: O Autor não sabe falar russo. Mas ele sabe que pode resolver isso, tendo aulas de russo, lendo livros, etc.

Page 11: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

2º Nível de Ignorância (2OI) Falta de Auto Conscientização

Quando você não sabe que você não sabe alguma coisa;

Ou seja, você não é apenas ignorante de alguma coisa (1OI), você também desconhece esse fato.

Page 12: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

2º Nível de Ignorância (2OI) Falta de Auto Conscientização

Logo, você não sabe o suficiente para saber que você não sabe o suficiente.

Logo, você não sabe o suficiente para saber que você não sabe o suficiente.

O autor não consegue dar um exemplo.

Page 13: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

3º Nível de Ignorância (3OI)Falta de Processo

Quando você não sabe um meio eficiente de descobrir que você não sabe que você não sabe alguma coisa.

Essa falta de processo apresenta um grande problema:

Page 14: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

3º Nível de Ignorância (3OI)Falta de Processo

Se você tem 3OI, você não sabe de um meio para descobrir que existem coisas que você não sabe que você não sabe.

Page 15: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

3º Nível de Ignorância (3OI)Falta de Processo

Então você não pode mudar as coisas que você não sabe que você não sabe, em coisas que:

1. Que você sabe;

2. Que você sabe que você não sabe.

Page 16: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

4º Nível de IgnorânciaMeta Ignorância

Quando você não sabe sobre os 5 níveis de ignorância.

Page 17: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Os Cinco Níveis de Ignorância

No Desenvolvimento de Sistemas

Page 18: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Nível 0 de Ignorância

Como 0OI é conhecimento, este é o elemento funcional que você entendeu e incorporou ao sistema com sucesso.

Quando você tem 0OI, você tem a SOLUÇÃO do problema.

Page 19: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

1º Nível de Ignorância (1OI)

As variáveis são conhecidas mas não os seus valores.

Quando você tem 1OI, você tem a PERGUNTA.

Page 20: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

2º Nível de Ignorância (2OI)

Apresenta um problema, pois: Apresenta um problema, pois:1. Você não tem a resposta;

Apresenta um problema, pois:1. Você não tem a resposta;2. Você não tem nem mesmo a pergunta!

Apresenta um problema, pois:1. Você não tem a resposta;2. Você não tem nem mesmo a pergunta!

É nesse ponto que começamos vários projetos;

Page 21: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

3º Nível de Ignorância (3OI)

Junto com 2OI apresenta um REAL PERIGO!

Você não tem um meio de resolver sua falta de auto conscientização no período que você tem disponível.

Page 22: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

3º Nível de Ignorância (3OI)

Todas as metodologias de desenvolvimento são processos de 3OI;

Objetivo é mostrar as áreas em que você não tem conhecimento.

Page 23: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Conclusões

Os níveis críticos aparentam ser 2OI e 3OI;

O ponto critico é que a aplicação de processos (e metodologias) de 3OI NÃO fornecem a REPOSTA, mas sim a PERGUNTA;

Page 24: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Conclusões

Como um modelo de negócios, temos trabalhado olhando para essas ferramentas para a coisa errada;

Esperamos RESPOSTAS, mas não é isso que elas fazem.

Page 25: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Conclusões

Um sistema funcional é produto da atividade de descobrir as coisas;

O sistema funcionando é a PROVA de que o conhecimento foi adquirido;

De uma forma pragmática, o objetivo é resolver nossos níveis de ignorância para 0OI.

Page 26: The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction

Conclusões

É possível utilizar os níveis de ignorância para categorizar:

1. O que sabemos;2. O que sabemos que não sabemos;3. Estimar o que não sabemos que não

sabemos;4. Atribuir um processo e uma

metodologia de forma apropriada.