포스트

모던 소프트웨어 엔지니어링 후기


모던 소프트웨어 엔지니어링 후기

배경

소프트웨어 엔지니어링 관련해서 좋은 리뷰를 받고 있는 책이라서 읽어봤습니다. 특히 개발 속도와 품질의 균형에 대한 고민이 있던 차에 이 책을 접하게 되었습니다.

핵심 메시지

개발 속도와 품질은 서로 상반되는 개념일까? 빠르게 개발하면서도 높은 품질을 유지할 수 있는 방법은 없는 걸까? 이 책은 그런 질문에 대한 해답을 제시합니다.

흥미롭게도, 최근에 인프런에서 토비님의 발표를 봤는데, 해당 발표에서 말하고자 하는 핵심 내용과 이 책의 메시지가 일맥상통한다는 생각이 들었습니다.

소프트웨어 개발자는 언제나 주어진 요구 사항을 구현하기 위해서 코드를 작성합니다. 그 과정에서 품질 좋은 코드를 작성하는 것이 개발자의 의무입니다.

품질 좋은 코드의 특징과 이점

품질 좋은 코드는 다음과 같은 특징을 가집니다:

  • 결합도를 낮추고 응집도를 높임
  • 테스트 작성이 용이함
  • 가독성이 뛰어남
  • 리팩토링이 쉬움

이러한 특징들은 결국 다음 요구 사항에 대응하기 쉽게 만들어줍니다.

레버리지 효과

좋은 코드를 만드는데 공을 들이는 것은 레버리지가 좋은 활동입니다. 초기에는 ‘잘’ 설계하기 위해서 시간을 쏟는 것보다 되는 대로 만드는 쪽이 빠르게 개발할 수 있는 방법이라 여겨집니다.

하지만 특정 분기점을 넘는 순간부터는 무질서도를 관리하는 비용이 더 커져서 오히려 개발이 느려집니다. 이런 상황은 실무를 해보신 분들이라면 누구나 공감하는 문제일 것입니다.

개인적 소감

저자는 이론적인 설명에 그치지 않고 실제 경험을 바탕으로 구체적인 상황들을 제시합니다. 특히 기술 부채가 누적되면서 개발 속도가 급격히 떨어지는 순간들을 생생하게 묘사한 부분이 인상적이었습니다.

개발자는 언제나 리팩토링을 염두에 두고 코드의 점진적 개선을 해나가야 하며, 소프트웨어의 복잡성을 관리해야 합니다. 이 일은 특정 개발자 개인의 일이 아니라, 개발 조직 전체가 공감하는 행위가 되어야 한다는 점에서 깊이 공감했습니다.

후기

추천 정도: ⭐️⭐️

기준표

  • ⭐ 상황에 따라서 읽어야 한다
  • ⭐️⭐️ 읽어두면 좋다
  • ⭐️⭐️⭐️ 개발자 필독서 수준

소프트웨어 엔지니어링의 기본기를 다시 한번 점검하고, 개발 조직의 문화에 대해 생각해볼 수 있는 좋은 기회를 제공하는 책이었습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.