여기 내 처지가 있습니다. 최근에 상속받은 여러 프로그램 중 하나는 백엔드에 끔찍한 데이터베이스로 구축되었습니다. 존경받는 제작자는 분명히 관계 개념을 이해하지 못했습니다. 고유 한 클라이언트 ID로 이름이 지정된 각각의 모든 클라이언트에 대한 테이블입니다. 암호로 명명 된 필드 82 개. 코드는 모두 수십 개의 연결된 인라인 SQL 문으로 절차 적입니다.
동일한 데이터베이스에서 실행되는 중요한 보조 응용 프로그램이 제공되지 않았으므로 처음부터 다시 작성해야했습니다. 나는 유일한 개발자이며, 내 시간의 적어도 절반이 작업에 의해 차지되기 때문에 나의 주요 책임조차도 아닙니다. 지금부터 30 일 동안 피할 수없는 마감일이 설정되었습니다.
내 경험이 없었음에도 불구 하고이 데이터베이스와 기존 응용 프로그램을보다 훨씬 더 잘 설계 할 수 있었을 것이라고 확신하지만 데이터베이스를 변경하고 기존 응용 프로그램을 조정하고 실제로하지 않은 것이 실제로 현실적인 것은 아니라고 생각합니다. 추가 응용 프로그램을 신속하게 작성해야하는 동안 아무것도 중단하지 마십시오.
그래서 내가 끔찍한 데이터베이스에 갇혀 있다고 가정 해 봅시다. 그런 나쁜 구조로 작업해야 할 때, 내가 쓴 내용은 완전히 부러 지거나 새로운 기능이 필요할 때까지 쌓아 두어야 할 기술적 부채 더미에 추가됩니까? 이 상황에 어떻게 접근하고 희망적인 기능을 갖춘 응용 프로그램 외에 좋은 점을 얻을 수 있습니까?
편집 : 누군가 관심이 있다면,이 끔찍한 데이터베이스와 그에서 실행 된 응용 프로그램을 폐기했습니다. 우리는 보조 응용 프로그램 (이 설정에 관여하지 않았 음)의 생성을 궁극적으로 두 명의 다른 계약자에게 아웃소싱하여 결국 우리를 넘어서서 아무것도 달성하지 못했습니다. 나는 오늘날에도 여전히 사용되고있는 3 일 만에 끔찍하고 부분적으로 기능적인 핵을 해킹해야했습니다.