💸 기술 부채 개념, 유형, 해결 방법

기술 부채라는 단어를 많이 들어보셨을것 같은데요,

인포그랩에서 기술 부채에 대한 개념, 유형 및 해결 방법에 대해 잘 정리한 글이 있어 공유드립니다.


기술 부채는 시간이 더 걸릴 수 있는 더 나은 접근 방식을 취하는 대신 쉽지만 제한된 솔루션을 선택할 때 필요한, 향후 재작업의 암묵적 비용을 뜻하는 말입니다.

(1992년 워드 커닝햄이라는 컴퓨터 프로그래머가 이 용어를 정의했다고 합니다.)


쉽지만 제한된 솔루션을 사용할 경우 빠르게 적용할 수 있는 장점이 있지만

시스템 장애 상황이나 추가 개선 작업이 생겼을 때 이로 인해 더 큰 개발 공수가 들어갈 수 있는 기술 부채가 발생하게 되는데요,

어감상 기술 부채가 부정적인 표현으로 들릴 수 있지만 이를 잘 알고 관리하면 개발을 진전시키는데 도움이 됩니다.


소프트웨어 엔지니어 마틴 파울러가 구분한 기술 부채 유형은 다음과 같습니다.


📌 신중하고 의도적인 기술 부채(Prudent & Deliberate)

팀이 부채를 지고 있다는 걸 알지만 ‘더 빠른 출시 보상이 부채 상환 비용보다 더 큰지’ 여부 고려


📌 신중하지 못하고, 의도적인 기술 부채(Reckless & Deliberate)

좋은 설계 관행 알고, 실천할 수 있지만 깔끔한 코드를 작성할 시간이 없어 ‘빠르고 지저분하게’ 진행하기로 한 결과


📌 신중하되, 의도하지 않은 기술 부채(Prudent & Inadvertent)

좋은 소프트웨어를 개발했고, 코드도 깔끔했지만 시간이 지나서야 ‘설계가 어땠어야 한다’는 걸 깨달은 결과


📌 신중하지 못하되, 의도하지 않은 기술 부채(Reckless & Inadvertent)

잘 몰라서 발생한 결과


글에서 정리한 기술 부채 해결 방법으로 다음과 같습니다.


📌 기술 부채 목록 관리

  • 프로젝트 회고해 기술 부채를 목록으로 정리, 공유

  • 기술 부채 발생할 때마다, 이 부채 해결에 필요한 작업을 예상되는 노력, 일정과 함께 기록

  • 팀에서 기술 부채 해결 여부와 해결 시점 논의, 해결 방안 수립


📌 좋은 기술 부채와 나쁜 기술 부채 구분

  • 이렇게 기술 부채를 구분하면 가장 큰 문제와 우선순위를 정하는 데 도움이 된다


📌 리팩토링

  • 업무 수행하면서 필요한 부분 정리, 조금씩 리팩토링

  • 대규모 리팩토링할 때 팀에 상황 공유, 기술 부채 위험과 비용 알림


📌 테스트 코드 작성

  • 코드가 복잡할수록, 리팩토링 규모가 클수록 버그 없이 코드를 한 번에 수정하기 어렵다

  • 부작용 방지하려면 테스트 코드 작성


📌 품질 표준 설정, 준수

  • 품질 표준을 설정하여 코더가 엉성한 코드를 배포 못하도록 한다


📌 갑작스러운 규정·일정 변경 X

  • 개발자 관련 규정 지속 변경, 마감일 바꾸면 기술 부채를 피하기가 어렵다

  • 현실적인 일정, 방법론, 작업량을 제공해 기술 부채를 관리하도록 한다


좀 더 자세한 내용은 공유드린 원문 링크를 참고해주세요.


📚 원문

  • https://insight.infograb.net/blog/2024/06/05/technical-debt-return/

기술 부채 어떻게 상환할까?

InfoGrab Insight

기술 부채 어떻게 상환할까?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 7월 8일 오전 2:45

 • 

저장 18조회 2,522

댓글 0

    함께 읽은 게시물

    🕊️ 스프링 부트 인터뷰 질문 - 심화편

    📌 스프링 부트가 제공하는 기본 어노테이션에는 어떤 것이 있나요? - @SpringBootApplication - @Controller - @RestController - @Service - @Repository - @Autowired 📌 스프링 부트 의존성 관리란 무엇입니까? 📌 스프링 부트에서 웹이 아닌 애플리케이션을 만들 수 있을까요? 📌 스프링 부트의 내장 톰캣 서버의 포트를 바꿀 수 있을까요? 📌 스프링 부트 톰캣 서버의 기본 포트는 몇번인가요? 📌 내장 톰캣 서버를 교체할 수 있나요? 📌 스프링 부트 ... 더 보기

    Spring Boot Interview Questions Advanced.

    Medium

    Spring Boot Interview Questions Advanced.

     • 

    저장 98 • 조회 3,663


    Spring 면접 전 살펴보기 위한 Q&A 35가지 (2024년 ver)

    ... 더 보기

    Top Spring Framework Interview Questions | Baeldung

    Baeldung

    Top Spring Framework Interview Questions | Baeldung

     • 

    댓글 7 • 저장 1,250 • 조회 21,013


    10년차 테크리드가 알려주는 '츠요츠요(강한) 엔지니어' 되는 법 🚀

    Q

    ... 더 보기

    私が「つよつよエンジニア」になるまでにした7つの習慣 - Qiita

    Qiita

    私が「つよつよエンジニア」になるまでにした7つの習慣 - Qiita

     • 

    저장 78 • 조회 3,921


    ChatGPT 런칭시, 5일만에 백만명의 사용자가 등록하면서 역사상 가장 빠르게 1백만 사용자를 획득한 서비스가 되었었는데요.


    그런데 이번 이미지 생성 모델 출시 후 인터넷이 지브리피케이션되면서, 한시간만에 백만명의 사용자를 획득했다고 합니다.


    생산성이고 뭐고, 역시 재미난게 짱짱맨이네요.

    조회 2,296


    누구나 쉽게 이해할 수 있는 MCP 가이드

    ... 더 보기

     • 

    저장 41 • 조회 2,850


    도망친 곳에 낙원은… 있었다

    학생 때는 회사 생활이 두려웠어요. 미디어에 비친 회사 생활은 수직적이고 권위적이었거든요.

    ... 더 보기

     • 

    댓글 1 • 저장 15 • 조회 6,181