당신이 본 최악의 기술 결정은 무엇입니까? [닫은]


10

여기에는 아키텍처 결정, 플랫폼 선택 또는 그러한 나쁜 선택이 부정적인 결과를 초래 한 상황이 포함됩니다.

답변:


22

몇 년 전 저는 데이터베이스 중심 응용 프로그램의 수석 개발자로 오류가 발생하기 시작했습니다. 데이터베이스 필드에 허용해서는 안되는 중복 값이 ​​있다는 사실까지 추적했습니다.

데이터베이스를 생산에 적용했을 때 데이터베이스에 고유 한 제약 조건을 설정하는 것을 잊어 버렸습니다. 나는 나를 교정 한 동료 개발자 중 한 명에게 ...

다른 개발자 : "아시다시피, 그 분야에는 고유 한 제약이있었습니다. 방금 제거했습니다."

: "왜 제거 했어?"

다른 개발자 : "몇 주 전에 그 작업을 수행했습니다. 고객으로부터 데이터 파일을 가져 왔는데 고유 제약 조건으로 인해 새 데이터가 차단되어 가져올 수 없었습니다. 따라서 제약 조건을 제거하여 가져 오기를 마칠 수있었습니다."

나 : "기존 데이터와 겹치는 새 데이터를 얻는 데 문제가 있다고 생각하고 데이터를 가져 오기 전에 누군가에게 언급하는 것에 대해 생각하셨습니까?"

다른 개발자 : (빈 응시)

: Facepalm.


아파요.


7

이것이 기술 결정 으로 간주되는지 확실하지 않지만 PHP로 작성된 CMS와 같은 문서 관리 웹 사이트를 4 년 동안 담당했습니다. 이 년 동안, 나는 아마도, 아마도, 같은 사람들 (관리자, 사용자, 기능 요청자)를 얻기 위해 여러 번 시도 아마도 , 요구 사항과 일의 미래 방향에 대해 함께 생각 앉아의 가능성을 고려한다. 그런 일은 없었어 항상“이 기능 추가”,“해당 기능 추가”였으며 모든 사람이 다른 사람들 이 웹 사이트를 사용 하는 모든 다른 방식을 행복하게 인식하지 못했습니다 . 내가 떠날 때, 그것은 상호 연결되어 있지만 관련이없는 기능의 큰 혼란이되었고, 나는 모든 기능을 알고있는 회사 전체에서 유일했습니다. 지금은 아무도 없습니다. 음 하하


컨설턴트를 탑승시킬 시간입니다!
커크 브로드 허스트


4

Telco 등급 음성 메일 시스템을 다시 작성합니다.

이전 시스템은 Unix에서 실행되었고 90 년대 후반 Microsoft의 COM 기술이 등장했습니다. 많은 개발자들이이 새로운 NT 기반 시스템을 연구하고있었습니다. 많은 노력을 기울인 후에도 그 성능은 여전히 ​​유닉스 시스템과 거의 같지 않았으며이 새로운 시스템을 구입 한 큰 고객이 화를 내었습니다. 회사는 팔려 야하고 어떤 사람들은 회사를 떠나야했습니다.

못 생겼어 : 조엘은 자신의 글 작성하기 전에이 모든 것은 약 2 년 일어난 이것은 당신이해야 결코 할 일, I 부


3

SVN 스냅 샷을 기반으로 첫 번째 릴리스 버전 이전 에 외부 라이브러리 (이 경우 Spring RCP ) 채택 프로젝트가 다소 죽어 가고 시체에 묶여 있음을 거의 보장합니다. 글쎄, 우리의 경우에는 더 나빴을 수 있습니다. 여전히 큰 위험입니다.


Argh, 당신은 내가 잊어 버렸던 과거의 또 다른 부분을 상기시켜주었습니다. Spring RCP의 스냅 샷을 기반으로 한 프로젝트 (내 대답에서 언급 한 것과 동일한 프로젝트)의 일부를 상속했습니다. 나는 왜 그런지 이해할 수 없었다. 번거롭지 만 아무것도 추가하지 않는 것 같습니다.
Dan Dyer

3

한 가지 예는 아직 프로젝트에 필요한 기능이 없었지만 구현시기에 대한 로드맵이라는 사실에도 불구하고 특정 Java 애플리케이션 서버에 대한 초기 커밋과 관련이있었습니다. 당연히 공급 업체는 원래 지시 한대로 신속하게 제공하지 않았는데, 이는 큰 문제 였지만 실제로는 실패로가는 길에있는 많은 문제 중 하나 일뿐입니다.

내가 겪은 이런 종류의 문제의 대부분은 입증되지 않은 / 미성숙 한 기술에 헌신하는 것과 관련이 있습니다. 종종 기술적 인 측면에 영향을 미치는 누군가가 이력서 중심 개발의 지지자이기 때문입니다.


1

3 년 전, BusDev 부서는 Documentum에 컨텐츠 관리 시스템을 구축해야한다고 말했다. 왜냐하면 제약 회사는 이름을 알고 기술에 익숙했기 때문입니다. 그래서 우리는 그것을 짓기 위해 많은 돈을 썼고 12 개월 후에 그것을 선반에 놓았습니다.

올해 2 월에 그들은 새로운 시스템이 Sharepoint 2010을 기반으로 할 것이라고 발표했습니다. 왜 그런지 추측하고 싶습니까? 갑자기, 이것은 Pharmas에 의해 알려진 이름과 그들이 편안했던 이름 이었기 때문에!
우리는 2012 년에 무엇을 가져 왔는지 볼 것입니다!

슬랙 서


0

C / C ++로 최신 운영 체제 작성 모리스 웜 (80 년대 후반) 이후로 네트워크 소프트웨어를 구축하기에는 전혀 부적합한 언어라는 것을 알고 있었지만, 그로 인해 다른 사람이이를 막을 수는 없었으며, 이는 기본적으로 형사 과실 IMO에 해당합니다.


5
-1 나입니까, 아니면 C가 실수라고 게시 한 5 ~ 6 회 정도입니까? FUD가 피곤합니다. 그냥 있기 때문에 당신이 하지 않은 평균 다른 사람들이 할 수없는 보안 실수없이 코드 C 할 수 없습니다. 어떤 나쁜 습관이 가능한지에 따라 언어를 싫어할 수는 없습니다.
대안

2
그것은 이다 "C 나쁜 언어는"사실이 객관적 상식이다 상태로 FUD.
대안

2
@mathepic : "나쁜 언어"인 것 같은 말을 했습니까? 보안 요구 사항이있는 운영 체제와 같은 프로그램을 작성하는 데 전혀 적합하지 않다고 말했습니다. 그리고 그것은 객관적인 사실과 상식입니다.
메이슨 휠러

6
@mathepic : 저는 Mason과 함께 해요. C에서 문자열을 처리하면 버퍼 오버플로가 발생 하고 적절한 프로그래밍 언어에서는 그렇지 않다는 것이 널리 알려져 있습니다 . "안심하고 일관성있게 C를 안전하게 코딩 (pff)"한다고 생각하더라도 버그 발생률을 불필요하게 증가시키는 언어는 나쁜 언어입니다.
Timwi

3
@Timwi : 원래 답변은 "C / C ++"입니다. C ++에서 문자열 처리는 버퍼 오버 플로우를 유발하지 않습니다. 나는 큰 팬이 std::string아니지만 작동하지만 컨테이너 클래스 템플릿과 함께 잠재적 인 큰 오류를 제거 할 수 있습니다.
David Thornley

0

내가 본 것 ....

1980 년대에 프라임 (Prime)이라는 회사가있었습니다.이 회사는 Pick 데이터베이스와 BASIC 버전을 실행하는 컴퓨터를 생산했습니다. 내가 구입했을 당시 내가 일했던 곳의 사용자 부서는 이것이 돈을 절약하고 1/4 시간에 한 명의 비즈니스 분석가가 원하는 처리 및 결과를 얻을 것이라고 확신했습니다. 4 명의 풀 타임 프로그래머 분석가와 백 로그 작업이 있기까지는 그리 오래 걸리지 않았습니다.

기술이 그들에게 어떤 역할을하는지 추정하는 데 큰 실수가 있습니다.


1
좋은 오래된 선택. 나는 항상 OS / 데이터베이스 / 프로그래밍 언어의 이름을 따서 질문했다. (예 : Dick Pick)
Bill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.