공부기록/아키텍처

클린 아키텍처 1장

DGL 2021. 7. 20. 16:52

설계와 아키텍쳐란?

아키텍처는 저수준의 세부사황과는 분리된 고수준의 무언가

설계는 저수준의 구조 또는 결정사항 들을 의미할 때가 많음

 

목표: 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화

 

사업 성공 → 개발자의 수는 증가했지만 → 코드 생산성은 한 곳으로 수렴

한 라인당 비용이 점점 증가하고 있음 → 이러한 비용 곡선은 사업 모델의 수익을 엄청나게 고갈시키며, 회사의 성장을 멈추게 하거나 완전히 망하게 만든다.

모두가 열심히 일하고 있기 때문에 더 절망적 → 개발자는 기능 개발보다는 엉망이 된 상황에 대처하는 데 소모하기 시작함

 

대다수의 개발자들: 뼈 빠지게 일한다.

"코드는 나중에 정리하면 돼. 당장은 시장에 출시하는 게 먼저야" → 라는 흔해 빠진 거짓말에 속는다.

이렇게 되면 정리를 결국 안하게 됨 → 시장의 압박은 절대로 수그러들지 않기 때문이다.

→ 결국 엉망진창이 되고, 망가짐

 

TDD로 개발하는 경우 → 결과적으로 더 빠르게 개발할 수 있었음

 

빨리 가는 유일한 방법은 제대로 가는 것이다.

 

최고의 선택지: 조직에 스며든 가신을 인지하여 방지하고, 소프트웨어 아키텍처의 품질을 심각하게 고민하기 시작하는 것