Pular para o conteúdo principal

A morte pela documentação

Frequentemente nós tendemos a pensar na documentação como um componente adicional a um projeto em vez de uma parte real do projeto. A verdade sobre este assunto é que a documentação pode fazer a diferença entre o sucesso e o fracasso de um projeto.

Vez após vez, organizações têm criado bons produtos mas não investido os recursos necessários em sua documentação. Muitos desses produtos se tornaram um fracasso de mercado, não por serem maus produtos, mas porque as pessoas não sabiam como usá-los.

Havia uma grande organização de software que costumava fazer bons pacotes de desenvolvimento. A versão 3 de um software desta companhia era muito bem aceito e tinha grande chance de se tornar a plataforma de desenvolvimento dominante em uma área específica.

Querendo dominar o mercado, a organização investiu todos os seus recursos na versão 4. A interface com o usuário foi mudada na versão 4. Mudaram as opções. Mudaram as chamadas. Mudaram tanto que os usuário teriam dúvidas se a versão 4 era o mesmo produto que a versão 3.

De fato, foi criado um produto de desenvolvimento que estava bem à frente de seu tempo e teria impulsionado dramaticamente a programação. O que aconteceu, na verdade, é que a coisa toda se inverteu e o software foi descontinuado. Enquanto isso, outra organização liberou o software de desenvolvimento que se tornou padrão de fato.

O que deu errado? Como essa organização falhou tão miseravelmente?

Ela vendeu o produto por dois preços. Pelo primeiro preço a empresa entregava apenas a mídia. Pelo segundo preço (quase duas vezes mais) entregava aos usuários a mídia e milhares de páginas de manuais de como usuá-lo.

Muitos programadores pensaram que mudando da versão 3 para a versão 4 estariam fazendo uma mudança evolucionária, e não compraram os manuais. Sem os manuais, os desenvolvedores se perderam sem conseguir imaginar como fazer o que eles precisavam fazer. Frustrados e aborrecidos, os desenvolvedores abandonaram o pacote.

Aqueles que adquiriram os manuais foram literalmente esmagados pelos milhares de páginas espalhadas por cinco livros que se referenciavam mutuamente de tal modo que os usuários tinham que ter todos os livros abertos ao mesmo tempo de maneira a imaginar como fazer o que precisavam fazer. Estes que gastaram o dinheiro extra também abandonaram a nova plataforma.

Naturalmente a plataforma morreu; não porque não era boa, mas porque a documentação a matou. Documentação escrita adequadamente, empacotada adequadamente como um produto de qualidade, deveria impulsionar a empresa para uma posição invejável.

Quando você projetar sua documentação, tenha em mente essa história e assegure que seus produtos não se tornem presa do mesmo fato. Esta catástrofe é bastante fácil de prevenir, mas você deve fazer um esforço consciente de fazer isso.

Traduzido do livro SOFTWARE PROJECT MANAGEMENT FOR DUMMIES de Teresa Luckey e Joseph Phillips lançado em 2006 pela Wiley Publishing.

Comentários

Postagens mais visitadas deste blog

Lazarus - Acessando banco de dados com SQLdb - Parte I

Para fazer nossa primeira aplicação usando banco de dados no Lazarus vamos usar o SQLite e o conjunto de componentes nativo SQLdb. Inicialmente vamos apresentar passo como essa aplicação foi criada. Essa foi a maneira que eu fiz, e eu agradeço sugestões e questionamentos que pessoas que já passaram por essa experiência. Depois irei fazer algumas considerações sobre o uso do SQLdb. SQLite SQLite é uma biblioteca que implementa um motor de banco de dados SQL. É livre para qualquer finalidade, seja uso particular ou comercial. Lê e escreve em um único arquivo que pode ter além de tabelas, índices, gatilhos e visões. Executa em várias plataformas e é indicado para aplicações embarcadas. Maiores detalhes podem ser encontrados no site oficial. Para usá-lo, baixe-o do site e faça a instalação adequada para o seu sistema operacional. No Windows isso é muito simples, apenas copie sqlite3.dll para o system32 da pasta do sistema operacional. Existe uma ferramenta de linha de comando chamada

Tipos de dados no SQLite

Em SQLite, diferente de outros motores de banco de dados, o tipo de dado de um valor está associado com o valor propriamente dito, e não com o seu contêiner. É um sistema de tipo dinâmico. Um campo de uma tabela em SQLite pode receber qualquer tipo de dado. Assim, o SQLite simplesmente ignora o tipo informado no comando CREATE TABLE. Então, dizemos que no SQLite existem classes de armazenamento. E essas classes são: NULL - como em qualquer outro banco de dados. INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor. REAL - valor de ponto flutuante armazenado em 8 bytes. TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE. BLOB - armazena um blob, como indica o nome. Uma coluna INTEGER PRIMARY é uma exceção. Só aceita números inteiros. Qualquer valor em um comando SQL tem uma classe de armazenamento implícita. Durante a execução do comando SQL, o SQLite pode converter valores entre classes numéricas (INTEGER e REAL)

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer