공부기록/아키텍처
클린 아키텍처 1장
DGL
2021. 7. 20. 16:52
설계와 아키텍쳐란?
아키텍처는 저수준의 세부사황과는 분리된 고수준의 무언가
설계는 저수준의 구조 또는 결정사항 들을 의미할 때가 많음
목표: 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화
사업 성공 → 개발자의 수는 증가했지만 → 코드 생산성은 한 곳으로 수렴
한 라인당 비용이 점점 증가하고 있음 → 이러한 비용 곡선은 사업 모델의 수익을 엄청나게 고갈시키며, 회사의 성장을 멈추게 하거나 완전히 망하게 만든다.
모두가 열심히 일하고 있기 때문에 더 절망적 → 개발자는 기능 개발보다는 엉망이 된 상황에 대처하는 데 소모하기 시작함
대다수의 개발자들: 뼈 빠지게 일한다.
"코드는 나중에 정리하면 돼. 당장은 시장에 출시하는 게 먼저야" → 라는 흔해 빠진 거짓말에 속는다.
이렇게 되면 정리를 결국 안하게 됨 → 시장의 압박은 절대로 수그러들지 않기 때문이다.
→ 결국 엉망진창이 되고, 망가짐
TDD로 개발하는 경우 → 결과적으로 더 빠르게 개발할 수 있었음
빨리 가는 유일한 방법은 제대로 가는 것이다.
최고의 선택지: 조직에 스며든 가신을 인지하여 방지하고, 소프트웨어 아키텍처의 품질을 심각하게 고민하기 시작하는 것