Como produzir software “coxa”

15, fevereiro, 2010 Genilto Sem comentários

Recebi hoje por email um texto retirado de um post do blog http://gc.blog.br, não preciso fazer nem comentários, o texto é fantástico. Segue parte do texto:

A história que você lerá a seguir é uma dramatização do que acontece diariamente no mundo do desenvolvimento de software carinhosamente entitulada Como desenvolver software “coxa”.

Imagine uma empresa que está com necessidades de desenvolver um software. E imagine também que esta empresa (cliente) contratou uma empresa de 3 letras para fazer o trabalho.

Então, o projeto começa com a empresa contratada fazendo uma análise extensa do que será desenvolvido. Caso você não saiba, estas empresas te fazem acreditar que o RUP tem uma fase de análise antes de tudo, quando isso na verdade caracteriza um processo de desenvolvimento waterfall que é bem diferente do processo de desenvolvimento iterativo do RUP.

Depois de analisar exaustivamente tudo que precisa ser feito, eles acham que sabem tudo que o cliente precisa e com isso acham que sabem exatamente quanto tempo irá levar. Baseado nisso é estipulado um prazo de entrega do software para o cliente, assim como é estipulado um preço fixo para o trabalho.

Fechado o contrato, o projeto é iniciado. E quando começa o projeto sempre acontece a mesma coisa: a equipe de desenvolvimento começa a descobrir que certas coisas não são tão simples quanto pareciam ser. A equipe se depara com vários problemas que não haviam aparecido na fase de análise e cada vez fica mais chocada com a quantidade de coisas novas que vão surgindo. Nesse momento a equipe percebe que o projeto, que estimou-se que precisaria de 4 meses para ser desenvolvido, na verdade precisa de 8 meses para ser desenvolvido!

Então alguém surge com a brilhante idéia de contratar mais pessoas para a equipe. Afinal de contas, da mesma forma que nove grávidas conseguem parir um filho em um mês, 20 desenvolvedores conseguem fazer na metade do tempo o trabalho que 10 fariam – parece perfeito!

Mas espera aí, o preço já está combinado com o cliente desde o início. Então contratar mais pessoas é a maior furada, porque o cliente não pagará nada a mais por isso e se o custo do projeto for maior a empresa não terá lucro. Pior ainda, a empresa pode ter prejuízo! Neste momento a empresa decide comuncar ao cliente que o projeto terá que atrasar.

Quando a empresa vai dar a notícia para o cliente o cara normalmente quer matar o gerente do projeto, quer se matar, ou OS DOIS (depende do tamanho do projeto)! Afinal de contas ele pagou 50% adiantado e quer logo o retorno do seu investimento. Se o projeto ia demorar 4 meses e agora vai demorar 8, significa que todo o seu planejamento financeiro e de retorno de investimento do software foram por água a baixo. Nesse momento o cliente bate na mesa com força e diz: “se virem, eu não quero nem saber como vocês vão fazer mas eu quero o meu software na data combinada!”.

Exatamente neste momento foi parido um software “coxa”!

Vou explicar fazendo uma analogia: qualquer criança de 10 anos sabe que não existe “bom, bonito e barato”. Ou é bom, bonito e CARO; ou é RUIM, bonito e barato; ou é bom, FEIO e barato. Não tem jeito, é assim que funciona, não é possível ter tudo ao mesmo tempo.

Com software funciona exatamente da mesma forma. Só o que muda são as dimensões: qualidade, tempo e custo. Da mesma maneira que não existe nada bom, bonito e barato, não existe software “bom, desenvolvido rápido e barato”. Ou é bom, desenvolvido rápido e CARO; ou é bom, DESENVOLVIDO EM MUITO TEMPO e barato; ou é RUIM, desenvolvido rápido e barato.

No caso deste projeto repare que duas das dimensões do software não podem ser alteradas: preço (porque já foi combinado com o cliente e está em contrato) e tempo (porque a data de entrega já está estipulada). Sendo assim, como não dá para ter tudo ao mesmo tempo, a qualidade vai para o brejo. Neste momento é que vem a ordem do gerente de projeto: “gente, faz qualquer coisa aí, o importante é entregar o que foi combinado com o cliente, não importa como, faz tudo nas coxas mesmo!!”. E mais um software “coxa” será entregue.

Se eu contar os softwares “coxa” que eu já ví por aí ninguém acredita. O mais bizarro deles e que não poderia deixar de ser citado tinha o seguinte código na tela de autenticação (PHP):

if (($_REQUEST["login"]  == "admin") && ($_REQUEST["senha"]  == "1234")) {
    header("Location: index_autenticado.php");
} else {
    header("Location: index.php?mensagem=Login%20invalido");
}

No final das contas, quando o projeto é entregue, o cliente vê as telinhas e se as telinhas estiverem aparecendo e estiverem no mínimo bonitinhas ele vai dar pulos de alegria! Eventualmente até irá contratar a empresa para outro projeto ou indicar para amigos e outros projetos dentro da sua empresa. Por baixo dos panos existe esse monte de lixo, mais ou menos como um vulcão que pode entrar em erupção a qualquer momento causando efeitos devatadores! Deixa só alguém pedir para trocar a senha do sistema para ver o que vai acontecer…

Para mim é claro como água: não adianta querer prever tudo que acontecerá no projeto e pré-fixar datas e valores. É receita certa para fazer lixo. Já está mais do que provado que não funciona, porque insistir no mesmo erro?

Se você que está lendo se identificou com a história (o que não é nem um pouco difícil), sugiro fortemente que você leia sobre um modelo de contrato de desenvolvimento de software proposto pelo XP que muito me agrada: o Contrato de Escopo Negociável. O artigo é bem grande mas vale apena ler até o final! Você vai perceber que as coisas não precisam ser assim tão tristes nos projetos de desenvolvimento do software.

Fonte: http://gc.blog.br

No final das contas, quando o projeto é entregue, o cliente vê as telinhas e se as telinhas estiverem aparecendo e estiverem no mínimo bonitinhas ele vai dar pulos de alegria! Eventualmente até irá contratar a empresa para outro projeto ou indicar para amigos e outros projetos dentro da sua empresa. Por baixo dos panos existe esse monte de lixo, mais ou menos como um vulcão que pode entrar em erupção a qualquer momento causando efeitos devatadores! Deixa só alguém pedir para trocar a senha do sistema para ver o que vai acontecer…

Para mim é claro como água: não adianta querer prever tudo que acontecerá no projeto e pré-fixar datas e valores. É receita certa para fazer lixo. Já está mais do que provado que não funciona, porque insistir no mesmo erro?

Se você que está lendo se identificou com a história (o que não é nem um pouco difícil), sugiro fortemente que você leia sobre um modelo de contrato de desenvolvimento de software proposto pelo XP que muito me agrada: o Contrato de Escopo Negociável. O artigo é bem grande mas vale apena ler até o final! Você vai perceber que as coisas não precisam ser assim tão tristes nos projetos de desenvolvimento do software.

Enquanto isso no paraíso…

30, janeiro, 2010 Genilto Sem comentários

Com toda essa chuva e tempo “loko” de ultimamente a gente não sabe mais o que dizer.
Como será que está o céu?

Pomba faz cocô em câmera do Google Street View

28, dezembro, 2009 Genilto Sem comentários

Bom, pra quem ainda nãoo conhece o google street view, é um serviço do google pelo qual você consegue ver imagens em 360° de algumas (muitas) ruas. Como eles conseguem isso? Batendo um monte de fotos e depois montando tudo.

Ok.

O objetivo deste post é mostrar a cagada que fizeram com isso. Veja a foto, que sensacional!!

Cagada no Google

Será que eles já limparam?

Veja o post original:
http://www.geek.com.br/blogs/832697706/posts/11952-pomba-faz-coco-em-camera-do-google-street-view

E o outro:
http://www.sott.net/articles/show/199490-Pigeon-defecates-on-a-Google-Street-view-camera

Valeu.

:)

Frases de Informática

27, dezembro, 2009 doors.f Sem comentários

Doors.f……

 

  • Programar não é criar um ser monotóno, é dar a vida a um ser que ainda não existe.
  •  

  • Se um dia a terra for dominada por máquinas, e nós escravizados por elas, então rezemos para que o mainframe seja da Microsoft.
  •  

  • Se o mundo for uma versão beta, nós somos os bugs.
  •  

  • Excel é como a mulher: maravilhoso, se você conseguir compreendê-lo.
  •  

  • Dorme filhinho, senão vem um vírus e te apaga da memória!
  •  

  • Nunca deixe um computador perceber que você está com pressa.
  •  

  • Errar é humano, persistir no erro é bug!
  •  

  • Um computador sem Windows é como um bolo de chocolate sem mostarda.
  •  

  • A diferença entre o Bill Gates e o Batman é que o Batman consegue derrotar o Pingüim.
  •  

  • Se chefe fosse arquivo, teria a extensão .fdp.
  •  

  • Se seu Windows não trava, reclame com a Microsoft.
  •  

  • Enquanto você lê esta frase, o Bill Gates está ganhando mais 1 milhão de dólares.
  •  

  • Aluno de informática não cola, faz backup.
  •  

  • 640kb sempre serão suficientes! (Bill Gates, em 1981)
  •  

  • Atenção, o vírus requer mais espaço para ser executado, por favor libere mais memória.
  •  

  • Quando o computador apresentar irregularidades, pode ser problema de BIOS(Bicho Ignorante Operando Sistema).
  •  

  • O Universo por nos conhecido é apenas uma versão beta.
  •  

  • O Natal das pessoas viciadas em computador é diferente. No dia 25 de Dezembro, o Papai Noel desce pelo cabo   de rede, sai pela porta serial e diz: Feliz Natal, ROM, ROM, ROM!
  •  

  • O problema do computador é o USB(Usuário Super Burro).
  •  

  • Sogra.exe – Ocupa muito espaço e não serve pra nada.
  •  

  • O que é pior, Sogra ou Windows?
  •  

  • Não confunda modess com modem, o slot é diferente.
  •  

  • Quem com vírus infecta, com vírus será infectado.
  •  

  • Quem clica seus males multiplica.
  •  

  • Meu computador não tem memória. Só uma vaga lembrança!
  •  

  • Se a mensagem não estiver clara, aumente o brilho da tela.
  •  

  • Quem nunca pirateou que atire o primeiro disco… que eu atiro uma cópia!
  •  

  • Errar é humano, colocar a culpa no computador é mais humano ainda.
  •  

  • Se o computador atrapalha os estudos, saia da escola.
  •  

  • O Linux é meu pastor e nada me travará.
  •  

  • Na informática nada se perde, nada se cria. Tudo se copia… e depois se cola.
  •  

  • Meu computador é pancadão, se não bater, ele não funciona.
  •  

  • A diferença entre um vírus e o Windows é que o vírus funciona.
  •  

  • O Windows é tão lento que não tem tempo de resposta, tem prazo de entrega.
  •  

  • Não sei usar bem o computador, será que sou analfabyte?
  •  

  • Teclado não instalado, favor apertar a tecla ENTER.
  •  

  • O verdadeiro problema do seu computador é a BIOS: Bicho Ignorante Operando o Sistema!
  •  

  • Todo mundo tem clientes, só analista de sistemas e traficante que tem usuários.
  •  

  • O único vírus que meu computador não tem é gripe.
  •  

  • O verdadeiro problema de seu computador está entre o monitor e a cadeira.
  •  

  • Só Ctrl+S Salva!
  •  

  • O Pato Donald trouxe o teclado e o Mickey Mouse.
  •  

  • Achoqueminhabarradeespaçosestáquebrada!
  •  

  • Devemos esquecer tudo de ruim deste mundo. O que é mesmo Windows?
  •  

  • A informática nasceu para resolver os problemas que antes não existiam.
  •  

  • Pra quem não sabe, Hardware é aquilo que você chuta e Software é aquilo que você xinga.
  • Uma impressora disse para outra: Essa folha é sua ou é impressão minha.
  •  

 

As melhores cantadas da vez!

21, dezembro, 2009 Genilto Sem comentários

Para quem nunca sabe o que dizer quando quer chegar na gatinha aqui vai algumas dicas. hehehehe