프로젝트의 상황, 계약 회사의 통제 수준, 계약 회사가 전체 수명주기 동안 사용자 지정 소프트웨어를 관리했는지 여부, 금액에 따라 실제로 달라지는 많은 문제와 같이 대답하기가 다소 복잡한 질문입니다. 코드베이스에 접근 할 수있는 다른 사람들의 "간섭", 관련된 모든 사람들의 태도, 프로젝트의 복잡성 및 사용 된 방법론 ...
모든 시스템에는 어느 정도의 기술 부채가 있습니다. 항상 깨끗한 코드 기반을 유지하기 위해 노력하는 개발자의 노력으로 인해 특히 눈에 띄지 않을 수도 있지만 시스템이 완벽하지 않으며 주요 재 설계로 인해 겉보기에는 결백하지만 오래 지속되는 문제가 분명해질 수 있습니다. 그렇다면 계약 회사는 어떻게 이것을 처리합니까?
많은 경우에 그렇지 않습니다. 종종 한 회사에서 소프트웨어를 작성하고 다른 회사에서 소프트웨어를 수정하는 경우가 많으며 계약을 체결 한 각 회사가 마감 기한이 지남에 따라 코드베이스가 실제로 엉망이되어 코드를 깨끗하게 유지하는 시간을 정당화하지는 않습니다 ( 마감일이 누락 될 위험이있는 경우 간혹 테스트를 거칩니다.
다른 경우에는 계약 프로젝트를 잘 관리 할뿐만 아니라 기존 코드베이스를 찾은 것보다 더 나은 상태로 유지할 시간을 찾는 회사를 찾습니다. 이들은 신중한 계획을 세우고 기술 부채의 원천 (보통 새로운 작업에 가장 큰 영향을 미치는 원천)을 파악하고 기술 부채 관리에 기여하는 테스트 사례 및 수정 사항을 제공하고이 모든 것을 프로젝트 일정에 반영하는 전략을 고안합니다. .
사용자 정의 소프트웨어가 중앙 제품을 작성하는 대신 기술적 부채를 보장합니까? 짧은 대답은 '아니오'이지만 적극적으로 다루지 않으면 기술 부채가 발생할 가능성이 높습니다. 이것은 다른 소프트웨어 프로젝트와 동일합니다. 전체 수명주기 동안 프로젝트를 완전히 제어하면 기술 부채를 처리 할 수있는 더 좋은 기회가 있습니다. 그렇지 않은 경우 이전 회사가 남긴 코드에서 발생했을 수있는 기술 부채를 처리해야합니다.
반면, 비즈니스 모델에 관계없이 소프트웨어 작성이 기술 부채를 보장하는지 묻는 질문이있는 경우. 대답은 절대적입니다. 실제 문제는 어떤 회사가 기술 부채를 어떻게 처리 하는가입니다. 가능한 빨리 기술 부채에 대해 상환하기 위해 예정된 시간에 발생하고 처리하도록하거나 지속적인 코드 기반을 관리하도록 하시겠습니까? 그 대답은 회사의 개별 우선 순위와 발생한 기술적 부채가 재정적으로 적절한 지 여부에 달려 있습니다.