소프트웨어 아키텍처 문서화, 한 권으로 마스터하세요!

『소프트웨어 아키텍처 문서화』
폴 클레멘츠, 데이비드 갈란 외 지음 | 송재하 박미율 이진희 김정호 옮김
560쪽 | 40,000원| 2009년 2월 10일 출간예정 | 소프트웨어 아키텍처 시리즈 3
폴 클레멘츠, 데이비드 갈란 외 지음 | 송재하 박미율 이진희 김정호 옮김
560쪽 | 40,000원| 2009년 2월 10일 출간예정 | 소프트웨어 아키텍처 시리즈 3
아키텍처 문서의 목적은 아키텍처 문서를 읽는 사람들에게 시스템의 기본 개념을 명확하게 전달하는 데 있다.
2년 전인 2007년 5월, 소프트웨어 아키텍처 분야의 바이블로 통하는 『소프트웨어 아키텍처: 이론과 실제』의 출간은 소프트웨어 아키텍처에 관한 갈증을 해소하는 촉촉한 단비와도 같았습니다. 그러고 나서 1년 반이 훌쩍 넘는 시간이 흘러 드디어 이 책 『소프트웨어 아키텍처 문서화』을 펴낼 수 있게 됐군요.

그렇다면 소프트웨어 아키텍처 문서화는 왜 필요한 것일까요? 아키텍처 문서화 작업은 아키텍처를 수립하는 과정에서 화룡점정에 해당합니다. 완벽한 아키텍처라 하더라도 그 내용을 제대로 전달할 수 없다면 아무 쓸모가 없습니다. 강력한 아키텍처를 만들려면 모호함 없이 자세히 기술하고 다른 사람들이 필요한 정보를 손쉽게 찾을 수 있는 형태로 내용을 구성해야 합니다. 그렇게 해두지 않으면 그 아키텍처는 활용할 수 없는 무용지물이 되고 맙니다.
나의 목표는 규범이 될 수 있는, 적절한 형식을 갖춘 아키텍처 설명서를 작성해서 이것으로 부서 간의 우선순위를 정하고, 개발을 병렬로 진행하며, 기존 시스템을 이전하는 작업을 관리하는 등의 일을 처리하는 데 기준으로 쓰일 수 있게 하는 것입니다.문서화. 뭔가를 기록에 남기고 정리한다는 건 결코 쉬운 일이 아닙니다. 게다가 단순히 그저 기록에만 의미를 두는 것이 아니라 "사람들", 혹은 "지금 일을 까마득히 잊어버린 미래의 내"가 들춰봐도 이해할 수 있는 수준으로 만들어야 하기 때문에 더욱 중요합니다.
- 어느 대형 금융서비스사의 소프트웨어 아키텍트
결국 문서화는 아키텍처를 구축해서 제대로 활용하기 위한 커뮤니케이션, 의사소통의 수단이 되는 것이죠. 따라서 그저 겉만 번드르르한 문서를 만드는 게 목적이 되어서는 절대로 안 될 일이죠.
아키텍처를 어떤 식으로 문서화해야 다른 사람들이 아키텍처를 제대로 활용하고, 유지하고, 이를 통해 시스템을 제대로 구축할 수 있을까?제대로 된 문서로서 의사소통을 하는 것이 최대의 목적이라면, 사실 이 책의 저자들이 주장하는 바대로, 문서화에서 기본적인 수칙은 우리가 흔히 알고 있는 것과 크게 다르지 않습니다.
1. 읽는 사람의 관점에서 문서를 작성한다
2. 불필요한 반복을 피한다
3. 모호함을 피한다
4. 표준 체계를 따른다
5. 근거를 남겨둔다
6. 문서는 항상 최신 내용을 담되 너무 앞서나가지 않는다
7. 목적에 맞게 작성됐는지 사후 검토한다
저자들은 예상 밖으로(?) 평이하고도 이해하기 쉬운 설명으로 (물론 역자분들의 훌륭한 번역에 힘입어 쉽게 이해할 수 있었지만) 소프트웨어 아키텍처 문서 활용과 문서화 전략의 큰 얼개부터 시작해서 실현 가능한 목표를 알려줍니다. 그러고 나서 아키텍처 뷰를 뷰타입으로 분류하고 예제를 제시하면서 실질적인 지침을 소개합니다. 관련 뷰를 문서로 만들고 뷰 개괄 문서에 적용되는 관련 정보 보강작업 등 아키텍처 문서화의 핵심 내용을 설명하는 부분이죠. 마지막으로 관련 뷰에 해당하는 그밖의 정보를 찾아낸 다음 정보 패키지를 만드는 과정에 대해 설명합니다.

예를 들어 날개는 수없이 많은 깃털로 이뤄져있습니다. 언뜻 보면 이 깃털은 모두 같은 모양과 패턴으로 수많은 깃털이 그저 반복 조합되어 날개를 구성한 것이라 생각할 수 있지만, 자세히 살펴보면 깃털 하나 하나 안에는 하위구조가 있으며 각 깃털도 체계적으로 변형되어 있습니다. 따라서 모두 비슷해보이지만, 절대 같은 깃털은 하나도 없다는 사실을 알게 됩니다.
날개는 무게의 경량성, 공기역학적 우수성, 뛰어난 보온성 등과 같은 엄격한 품질 속성을 지닙니다. 또한 수백만 번 날갯짓을 해도 끄덕없을 만큼의 안전성을 자랑하죠. 또한 날개를 펼치고 퍼덕이며 접는 등의 미세한 움직임으로 동작을 제어하는 동적 행위도 가능합니다. 이 부분이 바로, 저자들이 소프트웨어를 건축보다는 날개에 비유하고자 한 최대의 유사점이 아닐까 싶습니다.
새는 어떻게 날까?를 고민하고 그 자연의 섭리에 대해 경외감을 가져본 사람이라면, 구조, 하위구조, 변형을 동반한 복제, 행위, 품질속성, 시스템 전반의 속성 등을 분석해서 기록하는 일은 새의 날갯짓을 이해하고 분석하는 일보다는 조금은(!) 쉽다고 하지 않을까요? 소프트웨어 아키텍처의 문서화는 바로 이 지점에서 시작하는 일입니다.
마지막으로 정말 이 어려운 책을 긴 시간동안 훌륭히 번역해주신 역자분들께 정말 깊은 감사 말씀 전합니다. 에이콘 소프트웨어 아키텍처 시리즈 에디터도 겸하시면서 훌륭한 윤문 실력을 뽐내며 독자들이 읽기 편한 책을 완성하고자 끝까지 애써주신 송재하님, 일도 당연히 잘 하시고 자타가 공인하는 정말 뛰어난 역자 박미율님, 미국 오라클 본사에서 엔지니어로 일하시다 실리콘밸리에서 벤처 창업해서 일하고 계시는 이진희님(이 책을 번역하는 사이에 한국에서 결혼식도 올리셨죠), 현업에서 아키텍트로 바쁘게 활동하시면서도 책을 끝까지 잘 마무리해주신 김정호님 역자분들 정말 고생 많으셨습니다. 제가 개인적으로 지난 해 6월부터 일찌감치 번역 마치신 이 책의 역자분들의 쪼임을 받았던지라(편집출간 빨리 안 해주냐고!) 정말 시원섭섭하네요. ^^ 모든 역자분들 참 좋아하지만, 이렇게 최선 다해주시고 애써주시는 분들 만나면 정말 눈시울이 시큰할 만큼 감사하거든요. 모두 고생 많으셨습니다. ^^/
이 책은 지금 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 독자분들의 뜨거운 호응에 힘입어 절찬 예약판매중입니다. :)
분류없음
2009/02/04 17:07
트랙백 2 : 댓글 29
트랙백 주소 :: http://www.acornpub.co.kr/blog/trackback/302
[아키텍처 문서화] 120 페이지까지 읽는중...
Tracked from 대한민국 대표 개발자 [짱가™] 2ed 2009/02/24 10:56 DELETE기존에 정리된 자료로만 학습을 해 왔고 SAIP 2ed를 보면서 생각해 왔던 것을 이 책에서 명확하게 정리를 해 주고 있다. 이제 1/4 가량 보고 있고 각 뷰타입과 스타일에 대한 설명을 보고 있는데 ..
소프트웨어 아키텍처 문서화
Tracked from Smack`s Weaving The Framework 2009/04/09 14:25 DELETE카네기 멜론 대학에서 소프트웨어 아키텍처를 가르치는 저자가 2002년에 발간한 책이 , 2월에 번역서로 출판 되었네요. 소트프웨어 아키텍처를 문서화 하는 개론서이며, 카네기멜론에서 수학..






