'아키텍트'에 해당되는 글 1

  1. 2021.06.18 [IT] 개발자에서 아키텍트로

[IT] 개발자에서 아키텍트로

2021. 6. 18. 13:28 | Posted by 꿈꾸는코난

< 개발자에서 아키텍트로 > | 마이클 킬링 지음 | 김영재 옮김 | 한빛미디어


소프트웨어 아키텍트의 역할은 중요하지만 아키텍트에 대해 제대로 설명하는 책을 별로 보지 못한 것 같다. 이런 상황에서 이 책은 소프트웨어 아키텍트가 무엇인지와 어떤 역할을 해야 하는지를 잘 설명해 주고 있다.

소프트웨어 아키텍트는 단순한 프로그램 매니저가 아니라 소프트웨어가 언제 어떻게 전달되는지를 결정하는 사람이다. 또한 소프트웨어가 비즈니스 목표에 부합하도록 만드는 사람이며, 코딩을 하지만 알고리즘이나 코드를 짜기 보다는 더 크고 많은 것을 설계하는 사람이다. 여러가지 역할에 대한 책임을 지며 동시에 모든 소프트웨어 개발 업무의 중심에 있는 사람으로 볼 수 있다.

소프트웨어 아키텍트는 엔지니어링 관점에서 문제를 정의하고, 시스템은 분리하고 책임은 위임한다. 시스템에 대한 큰 그림을 그리고 품질과 속성의 트레이드오프를 고려하는 사람이다. 기술 부채를 관리하고 팀의 아키텍처 설계 역량을 키우는 사람이다.

이 책은 크게 3부분으로 구성되어 있다. 1부는 소프트웨어 아키텍처에 대한 기본 개념을 설명한다. 소프트웨어 아키텍처의 핵심적인 원리와 설계의 기초를 다룬다. 2부에서는 아키텍처 설계의 기초에 대해 설명한다. 1부에서 설명한 디자인 싱킹의 원칙과 마인드셋을 기반으로 소프트웨어 아키텍처에 이러한 원칙을 적용하는 방법을 설명한다. 3부에서는 아키텍트의 핵심 역할 중의 하나인 이해 관계자의 의견을 받고 동료들의 생각을 정리하는 자신만의 도구상자를 만드는 방법을 설명한다.

아키텍처 설계를 위해서는 다양하고 복잡한 과정을 거치게 된다. 실제 잘 드러나지 않은 무엇인가를 구체화시켜야 한다. 이 책은 아키텍처 설계를 위한 다양한 방법을 소개하고 실제 사례 연구를 샘플로 추가하고 있다. 아키텍처 설계를 위해 가장 먼저 해야하는 일은 설계 전략을 고안하는 것이다. 만족스러운 설계와 설계의 최적점을 찾는 방법에 대해 잘 설명하고 있다. 위험을 관리하기 위해 어떻게 위험을 처리해야 하는지, 그리고 이를 바탕으로 실제 설계 계획을 세우는 방법을 설명하고 있다.

아키텍처 설계시 이해관계자와의 공감은 필수적이다. 이해관계자 맵을 만들고 비즈니스 목표를 공유하는 것이 중요하다. 그 이후에는 아키텍처의 요구사항을 파악하고 기능적인 요구사항과 아키텍처에 영향을 미치는 요소를 잘 선별해야 한다. 이 과정을 거쳐 아키텍처를 선택하고 아키텍처 디자인을 하게 된다. 아키텍처를 문서화하고 평가하는 과정도 필수적이다.

실제 프로젝트에서 유용하게 활용할 수 있는 다양한 방법론과 내용이 잘 설명되어 있는 책으로 생각된다. 이론적인 내용과 실제 업무에 적용할 수 있는 내용이 적절히 조화가 되어 있어서 현업에 적용해 보는 것도 무리없이 가능하다고 생각된다. 소프트웨어 아키텍트를 꿈꾸는 개발자, 그리고 소프트웨어 아키텍처를 설계하는 개발자라면 곁에 두고 종종 참고할 만한 책이라고 생각된다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이전 1 다음