# Content
> 소프트웨어의 구조는 소프트웨어를 만드는 조직의 구조를 따른다.
비즈니스에 기여하는 소프트웨어를 만들기 위해서는 조직의 구조부터 소프트웨어 아키텍처, 코드에 이르기까지 그 목적에 적합한 형태를 따라야 한다.
클린 코드를 실천하는 이유는 소프트웨어의 유지보수성과 유연성을 증가시키기 위함이다. 소프트웨어의 유지보수성과 유연성이 증가하면 MAU가 증가했을 때 소프트웨어의 구조를 분리하기 쉬워진다.(배달의 민족 역시 이용자가 폭증했을 때 이에 대응하기 위해 MSA를 적용했다.) 소프트웨어의 구조가 분리되면 조직을 동작하는 기능 단위로 분할해 움직이기도 쉬워진다.
선순환은 작은 단위에서부터 시작한다. 테스트를 쓰고 코드를 깔끔하게 유지하라.
- - -
## Reference
- [[케이크 자르기]]
- [[목적을 위한 정렬(alignment)]]
- - -