세이해피
소프트웨어 단기 성과주의의 결과 기술 부채(Technical debt) 본문
소프트웨어 업계에는 단기 성과주의의 결과를 일컫는 기술 부채(technical debt)
- 장기적으로 보고 코드와 프로세스를 정교하게 설계하기보다는, 단기적인 코드 수정, 즉 "핵(hack)"을 우선시하면 결국 미래에 코드를 재작성, 재구성함으로써 갚아야 할 부채가 쌓이게 됨.
- 프로젝트를 단기에 신속히 진행할 수 있으므로 기술 부채의 누적이 꼭 해로운 것은 아니나, 끓는 물속의 태평한 개구리가 아리라 성실한 관찰자의 태도를 견지해야 함
- ex) 집수리시 작은 것이 파손되면 당장 DIY방식 (일명 강력 테이프 방식)으로 수리를 하고 싶어짐 -> 저렴하고 신속하기 때문 -> 그러나 건축 기준에 미치지 못하는 땜빵식 수리는 장기적으로 더 많은 비용을 잡아 먹음. (집을 팔 때가 되면 더 큰돈을 들여서 그 부분을 재수리해야 하는 사태가 벌어짐)
스타트업 문화는 이 개념을 다른 유형의 '부채'에까지 확대함
- 경영 부채
: 장기적으로 경영 팀의 구성원이나 절차를 제대로 정비하지 못하여 나중에 문제가 생기게 될 가능성을 뜻 함. - 설계 부채
: 일관된 제품 설계 언어나 브랜드의 스타일 가이드를 갖추지 못하는 것을 의미. - 다양성 부채
: 조직의 다양화를 위한 인력 채용을 등한시하는 것을 뜻 함
이런 모델은 관계 부채, 다이어트 부채, 청소 부채 등 다른 분야로 확장되어, 근시안적 사고의 의도하지 않은 결과를 설명할 수 있다.
이런 부채들의 영향은
- 이런 상황에서는 꾸준히 상환하지 않으면 빚이 걷잡을 수 없이 커짐
- 손쓸 수 없을 만큼 엉망이 된 집, 점점 늘어나는 허리둘레, 갈수록 악화되는 관계
이런 형향을 설명하는 일반적인 모델은 경로 의존성(path dependence) 개념(경제학에서 나온 용어)
- 지금 내릴 수 있는 결정이나 선택할 수 있는 경로는 과거에 한 결정에 의존한다는 뜻.
- 무해해 보이는 결정이나 사건이, 결국 장기적인 결과에 막대한 영향을 주거나 제한을 가하게 되는 경우가 있음.
- ex) 별 고민없이 특정 소프트웨어를 이용해서 프로젝트를 관리하는 선택 -> 회사가 성장하고 사용자가 늘면 결국 그 소프트웨어가 최선이 아니라는 것이 드러남. -> 모든 데이터가 그곳에 저장되어 있다 보니 제품을 바꾸려고 하면 큰 혼란이 생김
이 경로 의존성의 제한을 유예하는 경제학에서 가져온 모델 - 선택 유보(preserving optionality)
- 미래의 선택을 유보하는 결정을 의미
- 결정을 앞두고 있을 때는 결정을 유예할 수도 있고(회색적 사고), 더 많은 정보를 얻을 때까지 기다리거나 확신이 생길 때까지 선택을 미루고 기다릴 수 있음
그러나, 선택적 유보는 적당히 해야 함 (세상일이 다 그러함)
- 대학에서 전공 선택을 유보할 수 있지만 제때 졸업을 하려면 어느 시점에는 반드시 하나를 선택해야 함.
- 전공과 학위주제를 계속 유예하면 학교를 더 다녀야함.
선택 유보의 단점은 더 많은 자원이 요구되어 비용이 증가하므로 -> 선택 유보와 경로 의존성 사이에서 적절한 균형을 찾아야 함.
균형을 유지하는데 도움이 될 생각 모델 사전 예방 원칙 (precautionary principle)
- 만약 어떤 조치가 얼마나 큰 피해를 일으킬지 알 수 없다면 정책을 시행하기 전에 엄청나게 주의를 해야 함
- ex) 어떤 물질이 암을 유발한다고 믿을 만한 이유가 있다면, 사정 예방 원칙에서는 그 물질을 통제하지 않아서 사람들을 암에 걸릴 위험에 빠뜨리느니 과학계가 유해성의 정도를 밝힐 때까지 엄격히 통제하는 편이 낫다고 봄
출처 인용 : 슈퍼 씽킹 | 가브리엘 와인버그, 로건 매켄 | 김효정 옮김 | 까치
- 가브리엘 와인버그 : 덕덕고(DuckDuckDuck)창립자 / 트랙션(Traction) 공동 집필
[- 더 알아보기 -]
1. 6가지 기술부채와 해결 방법
https://www.techtarget.com/searchitoperations/tip/6-technical-debt-examples-and-how-to-solve-them
6 technical debt examples and how to solve them | TechTarget
Technical debt can accumulate silently and quickly -- unless you know where to look. Explore six examples of where to find it and how to deal with it.
www.techtarget.com
6가지 기술부채
- 코드 품질 (열악한 )
- IT리더쉽 (제대로 갖춰지지 않은)
- 팬데믹과 원격근무에 기반한 기술부채
- 문서화가 없음
- 개인의 job 유지를 위한 정보 은닉 (협력 부족, 문서, 주니어 멘토링 부족)
- 소트트웨어 테스팅 (불충분한)
2. 기술 부채의 일반적인 원인 더보기
https://en.wikipedia.org/wiki/Technical_debt
Technical debt - Wikipedia
From Wikipedia, the free encyclopedia Software development concept In software development, technical debt (also known as design debt[1] or code debt) is the implied cost of future reworking required when choosing an easy but limited solution instead of a
en.wikipedia.org
'기업_스타트업 > 스타트업' 카테고리의 다른 글
왜 투자 받아야 할까 (0) | 2023.06.03 |
---|---|
리스크 회피(de-risking) - 실수를 줄이기 위한 추정을 검증하는 과정 (0) | 2023.03.11 |
창업가가 경영자가 한번은 듣거나 보게될 말(명언)과 글 (2) (0) | 2022.12.18 |
투자자로 부터 자금 유치 규칙 (0) | 2022.12.17 |
창업가가 경영자가 한번은 듣거나 보게될 말(명언)과 글 (1) (0) | 2022.05.10 |