-
다음 강의 소식을 궁금해하시는 분들이 종종 계시는데, 현재 작업 중인 강의는 '유지보수성 향상'에 초점을 맞추고 있습니다. 이번 강의 역시 평소처럼 객체지향 설계 관점에서 코드를 이해하고, 수정하기 쉽게 만드는 기법들을 정리하려고 합니다. 개인적으로 병행하는 일이 있어서 작업 속도가 다소 느리지만, 분량이 많지는 않아서 조만간 마무리할 수 있을 것 같습니다.
이번에는 기존과는 조금 다르게 '패턴 언어(Pattern Language)' 방식으로 설계 기법을 정리하고 있는데요. 최근에는 언급되는 빈도가 낮아졌지만 다양한 원칙, 기법, 프랙티스들의 관계와 혼용 방법을 체계화하고 설명할 수 있는 유용한 도구라고 할 수 있습니다. 예전부터 패턴 언어 형식을 빌려 강의 자료를 만들고 싶다는 생각을 품고 있었는데 이번 강의를 만들면서 즐거운 마음으로 시도해 보고 있습니다.
지금 준비하고 있는 강의와는 별개로 유지보수성과 관련된 최근의 고민을 덧붙이자면 요즘 들어 AI와 설계의 관계를 다루는 강의를 만들어보라는 요청이 종종 들어오고 있습니다. AI 시대에서는 설계가 중요하지 않다는 이야기를 빈번하게 듣다보니 한번 만들어보고 싶기는 합니다. 다만 아직까지는 설계 관점에서 AI를 어떻게 활용해야 하는지 실험해 보는 단계다 보니 아직 본격적으로 작업을 시작하지는 못하고 있습니다.
설계는 유지보수성과 관련이 있고, 유지보수성 저하는 비용 증가로 귀결되기 때문에 설계는 여전히 중요하고, 어떻게 보면 더 중요해졌다고 볼 수 있습니다. 단위 시간에 생산되는 코드의 양이 증가했기 때문에 이 코드들을 유지보수하는 비용을 컨트롤하지 못하게 될 경우 생산성이 급격하게 저하될 수 있기 때문입니다. 케이스별로 AI에게 전적으로 위임할지, 주도권을 가지고 직접 드라이브할 지 결정하기 위해서는 프로덕트와 도메인과 코드의 구조에 대한 날카로운 시각을 유지하는 것이 중요합니다.
AI에게 위임할 수록 AI가 설계를 결정할 수 있도록 적절한 컨텍스트를 제공하고 코드의 품질을 판단할 수 있는 설계 지식이 필요할 수 밖에 없습니다. 결국 우리가 설계를 개선하는 이유는, 변화하는 사용자의 요구사항에 가장 기민하게 대응할 수 있는 상태를 만들고 싶기 때문이니까요.
만들고 싶은 자료들이 많은데 조금씩 만들어가다 보면 언젠가는 전체적인 그림을 완성할 수 있을 거라고 생각합니다. 우선 지금 만들고 있는 강의부터 마무리해야겠습니다.'설계 이야기' 카테고리의 다른 글
소프트웨어 아키텍처 (5) 2025.06.19 설계 트레이드오프 (11) 2024.10.23