Qual a pior decisão de tecnologia que você já viu? [fechadas]


10

Isso inclui decisões de arquitetura, escolhas de plataforma ou qualquer situação em que uma escolha tão ruim leve a consequências negativas.

Respostas:


22

Anos atrás, eu era o desenvolvedor líder de um aplicativo centrado no banco de dados que começou a gerar erros. Eu rastreei até o fato de que havia valores duplicados em um campo do banco de dados que não deveriam ter permitido.

Eu estava me esquecendo de esquecer de definir uma restrição exclusiva no banco de dados quando o coloquei em produção, porque era tão óbvio que esse campo precisava de um. Eu comiserava com um dos meus colegas desenvolvedores que me corrigiram ...

Outro desenvolvedor : "Ah, você não se esqueceu, havia uma restrição exclusiva nesse campo. Acabei de removê-lo."

Eu : "Por que você o removeu?"

Outro desenvolvedor : "Eu fiz isso algumas semanas atrás. Estava recebendo arquivos de dados do cliente e eles não foram importados porque a restrição exclusiva estava bloqueando os novos dados. Portanto, removi a restrição para poder concluir a importação".

Eu: "Você parou para considerar que talvez houvesse um problema se estávamos obtendo novos dados que se sobrepunham aos dados existentes e pensamos em mencioná-los a alguém antes de importá-los?"

Outro desenvolvedor : (blank stare)

Eu : Facepalm.


Isso dói.


7

Não tenho certeza se isso conta como uma decisão de tecnologia , mas fui responsável por um site de gerenciamento de documentos semelhante ao CMS, escrito em PHP por quatro anos. Ao longo desses anos, tentei várias vezes levar as pessoas (gerentes, usuários, solicitantes de recursos) a talvez, possivelmente, como, talvez , considerar a possibilidade de sentar juntos e pensar nos requisitos e na direção futura da coisa. Isso nunca aconteceu. Sempre foi "adicionar esse recurso", "adicionar esse recurso", e todos sabiam alegremente todas as diferentes maneiras pelas quais todos os outros usavam o site. Quando saí, tornou-se uma enorme bagunça de recursos interconectados, mas não relacionados, e eu era o único em toda a empresa que conhecia todos os recursos. Agora, ninguém faz. Mwahaha.


Hora de contratar um consultor!
precisa saber é o seguinte


4

Reescrevendo um sistema de correio de voz de qualidade Telco.

O sistema anterior estava rodando em Unix e por volta dos anos 90 surgiu a tecnologia COM da Microsoft. Muitos desenvolvedores estavam trabalhando neste novo sistema baseado em NT. Depois de muito esforço, seu desempenho ainda não era o mesmo do sistema Unix e um grande cliente que comprou esse novo sistema estava chateado. A empresa teve que ser vendida e algumas pessoas tiveram que deixar a empresa.

Foi feio. Tudo isso aconteceu cerca de dois anos antes de Joel escrever seu artigo: Coisas que você nunca deve fazer, parte I


3

Adotar uma biblioteca externa (neste caso, o Spring RCP ) antes de sua primeira versão, com base em um instantâneo SVN. É praticamente garantido que o projeto acabará mais ou menos morto e você se encontrará amarrado ao cadáver. Bem, no nosso caso, poderia ter sido pior. Ainda é um grande risco.


Argh, você acabou de me lembrar de outra parte do meu passado que prefiro esquecer. Eu herdei parte de um projeto (o mesmo projeto que mencionei na minha resposta) que foi construído em uma captura instantânea do Spring RCP. Eu nunca consegui entender o porquê. Não parecia acrescentar nada além de aborrecimentos.
Dan Dyer

3

Um exemplo que me lembro envolveu o comprometimento com um servidor de aplicativos Java específico desde o início, apesar de ele ainda não possuir os recursos necessários para o projeto, apenas um roteiro para quando eles seriam implementados. Naturalmente, o fornecedor não entregou tão rapidamente quanto o indicado originalmente, o que deveria ter sido um grande problema, mas na realidade foi apenas uma das muitas trepadas no caminho lento para o fracasso.

A maioria dos casos desse tipo de problema que encontrei envolveu o comprometimento com uma tecnologia não comprovada / imatura, geralmente porque alguém influente no lado técnico é um proponente do desenvolvimento orientado pelo currículo.


1

Há três anos, nosso departamento BusDev disse que precisavam desenvolver seu sistema de gerenciamento de conteúdo no Documentum porque as empresas farmacêuticas que estavam tentando acessar conheciam o nome e estavam confortáveis ​​com a tecnologia. Então gastamos muito dinheiro para construí-lo e arquivamos 12 meses depois.

Em fevereiro deste ano, eles anunciaram que o novo sistema seria baseado no Sharepoint 2010. Quer adivinhar por quê? Porque, de repente, ESTE era o nome conhecido pela Pharmas e com o qual eles estavam confortáveis!
Vamos ver o que 2012 traz!

\\ uSlackr


0

Escrevendo sistemas operacionais modernos em C / C ++. Sabemos desde o Morris Worm (final dos anos 80) que é uma linguagem completamente inadequada para a criação de software em rede, mas isso não impediu ninguém de fazê-lo, o que basicamente significa IMO por negligência criminal.


5
-1 Sou eu, ou é a quinta ou a sexta vez que você postou sobre C ser um erro? O FUD é cansativo. Só porque você não pode codificar C sem cometer um erro de segurança não significa que outras pessoas não possam. Você não pode odiar um idioma com base em quais más práticas são possíveis.
alternativa

2
Ele é FUD a afirmar que o fato de que "C é uma linguagem ruim" É de conhecimento comum objetiva.
alternativa

2
@mathepic: Eu disse algo tão nebuloso que é "uma linguagem ruim"? Eu disse que não é adequado para a criação de programas, como sistemas operacionais, que têm requisitos de segurança. E isso é fato objetivo e conhecimento comum.
Mason Wheeler

6
@mathepic: Estou com Mason nisso. É amplamente conhecido e aceito que o tratamento de strings em C causa estouros de buffer e, em uma linguagem de programação adequada, não . Não importa o quão bom você pense que está "codificando C de maneira confiável e consistente" (pff), um idioma que aumenta desnecessariamente a incidência de bugs é um idioma ruim.
Timwi

3
@ Timwi: A resposta original dizia "C / C ++". No C ++, o tratamento de cadeias não causa estouros de buffer. Não que eu goste muito std::string, mas funciona, e junto com os modelos de classe de contêiner pode eliminar uma grande classe de erros em potencial.
David Thornley

0

O que eu vi....

Na década de 1980, havia uma empresa chamada Prime que produzia computadores executando uma versão do banco de dados Pick e BASIC. O departamento de usuários do local em que eu trabalhava na época em que comprei um estava absolutamente convencido de que isso economizaria muito dinheiro, que eles obteriam o processamento e os resultados desejados com um analista de negócios em um quarto de tempo. Não demorou muito para que houvesse quatro analistas de programadores em tempo integral e um atraso no trabalho.

Grande erro ao estimar o que a tecnologia faria por eles.


11
Boa e velha picareta. Sempre questionei ter uma linguagem de sistema operacional / banco de dados / programação com o nome de si. (por exemplo, Dick Pick)
Bill
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.