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

사용자 삽입 이미지
소프트웨어 아키텍처 문서화
폴 클레멘츠, 데이비드 갈란 외 지음 | 송재하 박미율 이진희 김정호 옮김
560쪽 | 40,000원|  2009년 2월 10일 출간예정 | 소프트웨어 아키텍처 시리즈 3

아키텍처 문서의 목적은 아키텍처 문서를 읽는 사람들에게 시스템의 기본 개념을 명확하게 전달하는 데 있다.

2년 전인 2007년 5월, 소프트웨어 아키텍처 분야의 바이블로 통하는 『소프트웨어 아키텍처: 이론과 실제』의 출간은 소프트웨어 아키텍처에 관한 갈증을 해소하는 촉촉한 단비와도 같았습니다. 그러고 나서 1년 반이 훌쩍 넘는 시간이 흘러 드디어 이 책 『소프트웨어 아키텍처 문서화』을 펴낼 수 있게 됐군요.

[##_1R|1083395456.gif|width="98" height="110" alt="사용자 삽입 이미지"|_##]이 책은 말 그대로 소프트웨어 아키텍처 문서를 작성하는 책임을 진 아키텍트와 기술문서 작성자, 아키텍처 문서를 받아서 활용하는 개발자라면 꼭 읽어야 할 필독서라고 할 수 있습니다. 물론 기본적으로 소프트웨어 아키텍처 개념은 이해하고 읽어야 하죠. 이 책은 『소프트웨어 아키텍처: 이론과 실제』의 9장에서 1개 장으로 다뤘던 각론을 책 한 권으로 상세히 설명하고 집대성한 "울트라얼티밋확장판"이라고 할 수 있습니다.

그렇다면 소프트웨어 아키텍처 문서화는 왜 필요한 것일까요? 아키텍처 문서화 작업은 아키텍처를 수립하는 과정에서 화룡점정에 해당합니다. 완벽한 아키텍처라 하더라도 그 내용을 제대로 전달할 수 없다면 아무 쓸모가 없습니다. 강력한 아키텍처를 만들려면 모호함 없이 자세히 기술하고 다른 사람들이 필요한 정보를 손쉽게 찾을 수 있는 형태로 내용을 구성해야 합니다. 그렇게 해두지 않으면 그 아키텍처는 활용할 수 없는 무용지물이 되고 맙니다.

나의 목표는 규범이 될 수 있는, 적절한 형식을 갖춘 아키텍처 설명서를 작성해서 이것으로 부서 간의 우선순위를 정하고, 개발을 병렬로 진행하며, 기존 시스템을 이전하는 작업을 관리하는 등의 일을 처리하는 데 기준으로 쓰일 수 있게 하는 것입니다.
- 어느 대형 금융서비스사의 소프트웨어 아키텍트
문서화. 뭔가를 기록에 남기고 정리한다는 건 결코 쉬운 일이 아닙니다. 게다가 단순히 그저 기록에만 의미를 두는 것이 아니라 "사람들", 혹은 "지금 일을 까마득히 잊어버린 미래의 내"가 들춰봐도 이해할 수 있는 수준으로 만들어야 하기 때문에 더욱 중요합니다.

결국 문서화는 아키텍처를 구축해서 제대로 활용하기 위한 커뮤니케이션, 의사소통의 수단이 되는 것이죠. 따라서 그저 겉만 번드르르한 문서를 만드는 게 목적이 되어서는 절대로 안 될 일이죠.

아키텍처를 어떤 식으로 문서화해야 다른 사람들이 아키텍처를 제대로 활용하고, 유지하고, 이를 통해 시스템을 제대로 구축할 수 있을까?
제대로 된 문서로서 의사소통을 하는 것이 최대의 목적이라면, 사실 이 책의 저자들이 주장하는 바대로, 문서화에서 기본적인 수칙은 우리가 흔히 알고 있는 것과 크게 다르지 않습니다.

1. 읽는 사람의 관점에서 문서를 작성한다
2. 불필요한 반복을 피한다
3. 모호함을 피한다
4. 표준 체계를 따른다
5. 근거를 남겨둔다
6. 문서는 항상 최신 내용을 담되 너무 앞서나가지 않는다
7. 목적에 맞게 작성됐는지 사후 검토한다


저자들은 예상 밖으로(?) 평이하고도 이해하기 쉬운 설명으로 (물론 역자분들의 훌륭한 번역에 힘입어 쉽게 이해할 수 있었지만) 소프트웨어 아키텍처 문서 활용과 문서화 전략의 큰 얼개부터 시작해서 실현 가능한 목표를 알려줍니다. 그러고 나서 아키텍처 뷰를 뷰타입으로 분류하고 예제를 제시하면서 실질적인 지침을 소개합니다. 관련 뷰를 문서로 만들고 뷰 개괄 문서에 적용되는 관련 정보 보강작업 등 아키텍처 문서화의 핵심 내용을 설명하는 부분이죠. 마지막으로 관련 뷰에 해당하는 그밖의 정보를 찾아낸 다음 정보 패키지를 만드는 과정에 대해 설명합니다.

[##_1L|1795022396.jpg|width="189" height="250" alt="사용자 삽입 이미지"|_##]여태까지 사람들은 소프트웨어 아키텍처를 건축물의 아키텍처에 비교를 하곤 했습니다. 허나 이 책의 저자들은 아키텍처와 문서화를 새의 날개에 비유합니다.

예를 들어 날개는 수없이 많은 깃털로 이뤄져있습니다. 언뜻 보면 이 깃털은 모두 같은 모양과 패턴으로 수많은 깃털이 그저 반복 조합되어 날개를 구성한 것이라 생각할 수 있지만, 자세히 살펴보면 깃털 하나 하나 안에는 하위구조가 있으며 각 깃털도 체계적으로 변형되어 있습니다. 따라서 모두 비슷해보이지만, 절대 같은 깃털은 하나도 없다는 사실을 알게 됩니다.

날개는 무게의 경량성, 공기역학적 우수성, 뛰어난 보온성 등과 같은 엄격한 품질 속성을 지닙니다. 또한 수백만 번 날갯짓을 해도 끄덕없을 만큼의 안전성을 자랑하죠. 또한 날개를 펼치고 퍼덕이며 접는 등의 미세한 움직임으로 동작을 제어하는 동적 행위도 가능합니다. 이 부분이 바로, 저자들이 소프트웨어를 건축보다는 날개에 비유하고자 한 최대의 유사점이 아닐까 싶습니다.

새는 어떻게 날까?를 고민하고 그 자연의 섭리에 대해 경외감을 가져본 사람이라면, 구조, 하위구조, 변형을 동반한 복제, 행위, 품질속성, 시스템 전반의 속성 등을 분석해서 기록하는 일은 새의 날갯짓을 이해하고 분석하는 일보다는 조금은(!) 쉽다고 하지 않을까요? 소프트웨어 아키텍처의 문서화는 바로 이 지점에서 시작하는 일입니다.

마지막으로 정말 이 어려운 책을 긴 시간동안 훌륭히 번역해주신 역자분들께 정말 깊은 감사 말씀 전합니다. 에이콘 소프트웨어 아키텍처 시리즈 에디터도 겸하시면서 훌륭한 윤문 실력을 뽐내며 독자들이 읽기 편한 책을 완성하고자 끝까지 애써주신 송재하님, 일도 당연히 잘 하시고 자타가 공인하는 정말 뛰어난 역자 박미율님, 미국 오라클 본사에서 엔지니어로 일하시다 실리콘밸리에서 벤처 창업해서 일하고 계시는 이진희님(이 책을 번역하는 사이에 한국에서 결혼식도 올리셨죠), 현업에서 아키텍트로 바쁘게 활동하시면서도 책을 끝까지 잘 마무리해주신 김정호님 역자분들 정말 고생 많으셨습니다. 제가 개인적으로 지난 해 6월부터 일찌감치 번역 마치신 이 책의 역자분들의 쪼임을 받았던지라(편집출간 빨리 안 해주냐고!) 정말 시원섭섭하네요. ^^ 모든 역자분들 참 좋아하지만, 이렇게 최선 다해주시고 애써주시는 분들 만나면 정말 눈시울이 시큰할 만큼 감사하거든요. 모두 고생 많으셨습니다. ^^/

이 책은 지금 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 독자분들의 뜨거운 호응에 힘입어 절찬 예약판매중입니다. :)
CC

크리에이티브 커먼즈 라이센스 에이콘출판사에 의해 창작된 이 저작물크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.


  • jaehas| Feb 04, 2009

    김희정 부사장님은 글을 참 잘 쓰시는군요. (최소한 저희 역자서문 보다는 훨씬 잘 쓰셨네요. ^.^)
    부사장님도 고생 많으셨습니다.
    그저 책을 읽어 보신 눈 있는 분들의 따가운 질책이 두려울 뿐입니다.

  • 짱가| Feb 04, 2009


    멋진 책 번역 감사드립니다.

  • 고이고이| Feb 04, 2009

    마감하시느랴 수고하셨어요 ^^

  • 헝그리맨| Feb 04, 2009

    개발자가 곶감보다도 무서워 한다는 "문서화"에 대한 책이군요.
    새의 날개에 대한 비유가 멋져서 한 번 읽어보고 싶습니다.
    혹시 이벤트는 없는지요 ^^;

  • dawnsea| Feb 04, 2009

    번역하기 정말 어려웠을 것 같습니다;;
    역자님들의 노고가 느껴집니다 ㅠ.ㅠ


    고생 많으셨습니다.


  • 애드리아나| Feb 04, 2009

    소프트웨어 아키텍처 문서화 책으로 스터디를 진행합니다.

    http://cafe.naver.com/architect1

  • 레몬에이드| Feb 05, 2009

    드디어 이책이 나왔군요 +ㅁ+
    역시 재하님... 역시 에이콘!

  • 프리버즈| Feb 05, 2009

    워낙 유명한 원서라서 " Documenting Software Architectures" 로 알고 계신 분들도 많을텐데, 원서 제목도 블로그에 써 두시는 것도 좋을듯 ㅎㅎ

  • miyul| Feb 05, 2009

    김희정 부사장님, 황지영 대리님, 수고 많으셨습니다.
    진행 상황이 궁금해서 한번 들어와봤는데 드디어 출간이네요. 막판 검토작업에는 기여를 많이 못한 것 같아 죄송스러운 마음도 들지만, 긴 시간동안 여러 사람들의 노력이 들어간 책이 나온다니 너무 뿌듯하고 기쁩니다. ^^

  • 에이콘| Feb 05, 2009

    에고옹... 과찬의 말씀이시구요. 전 그저 책에 있는 내용 짜깁기한 뿐이란 거 다 아시면서.-0-; 독자분들의 반응을 두근거리는 마음으로 기다려보아요. ^^

  • 에이콘| Feb 05, 2009

    고맙다고 해주시니 되레 저희가 감사합니다.

  • 에이콘| Feb 05, 2009

    고맙습니다. :)

  • 에이콘| Feb 05, 2009

    무섭지만 달콤한 곶감만큼이나 그 맛을 느끼실 수 있을 거에요. 이벤트는 날이면 날마다 오는 게 아니라서요~ 없습니다. ^^;

  • 에이콘| Feb 05, 2009

    dawnsea님도 고지가 얼마 남지 않았네요. 힘내세요!

  • 에이콘| Feb 05, 2009

    네. 드디어! ^^ 재하님을 아시나봐요?

  • 에이콘| Feb 05, 2009

    좋은 스터디 기획해주셔서 감사합니다. 여러분처럼 열심히 공부하는 개발자분들이 있으셔서 저희 같은 출판사도 좋은 책 펴내고 기획할 수 있는 가치를 부여받는 거겠죠. :)

  • 에이콘| Feb 05, 2009

    네~ 꼼꼼한 프리버즈님. 태그에 등록해둘게요. 하지만 앞으론 한글 제목에 더욱 친숙해지시게 만들어 드려야죠~ ^^

  • 에이콘| Feb 05, 2009

    열심히 해주셨잖아요. 감사합니다. 미율님. 매우 길고 힘든 작업이었던 건 제가 더 잘 알고 있으니, 다시 힘내셔서 다음 책도 꼭 함께 해주세요! ^^/

  • 외발자전거| Feb 11, 2009

    반양장(?)에 따끈따끈한 문서화 책!!! 오전에 받았습니다.
    문서화 책을 위해서 이론과 실제를 다시 읽고 있는데 아직 3/4가 남았네요..
    힘내서 어서 읽고 문서화로 넘어가야겠습니다.

    수고하셨습니다.
    고맙게 잘 읽겠습니다.

  • 이석준| Feb 12, 2009

    역자분 및 편집자께서도 고생 많으셨을것 같네요. 잠깐 내용을 봤는데 깔끔하게 작업하신것 같습니다. 아키텍처 평가 번역팀도 좀 더 분발해야겠다는 생각이 드네요. ^^

  • 에이콘| Feb 12, 2009

    외발자전거님, 감사합니다. 문서화 책 읽으시고 많은 도움 받으시면 정말 큰 보람 느끼겠네요! 후기도 남겨주세요~ :)

  • 에이콘| Feb 12, 2009

    고맙습니다. 이석준 차장님께서 번역하시는 아키텍처 평가도 그에 못지 않은 훌륭한 책이 되리라 기대합니다. 당연히 해내실 걸로 믿어요!!

  • 김정호| Feb 15, 2009

    모든 역자분들 수고 많으셨습니다.  특히 리더인 재하의 노력에 고맙다는 뜻을 전하고 싶구요... 출판을 담당해주신 김희정 부사장님, 황지영 대리님 정말 수고가 많으셨습니다. 대박 냅시다. !!!  

  • 아빠곰| Feb 17, 2009

    대단한 역자들과 대단한 출판사의 역작 2네요....^^ 김부사장님 대단하십니다. 출판을 축하드립니다. 재하야 축하해...^^

  • 에이콘| Feb 17, 2009

    네, 진짜로 대박내요! ^^ 책 많이 많이 홍보해주세요!

  • 에이콘| Feb 17, 2009

    고맙습니다. :) 모든 칭찬은 역자분께 돌려주세요~

  • 짱가| Feb 19, 2009

    주문해서 읽고 있습니다..매우 맘에 드네요~
    평가에 대한책도 매우 매우 기다리고 있답니다~

  • 에이콘| Feb 23, 2009

    짱가님, 정말 감사합니다.

    독자의 좋은 평을 받는 것보다 기쁜 일이 어디 있을까요.

  • 지니뤼| Mar 18, 2009

    원서를 여러 차례 읽어보려 시도했지만, 아무래도 언어의 미묘한 차이 탓에 맥락과 저자의 정확한 뜻을 파악하고 제 것으로 만들기에는 많은 아쉬움이 있었습니다. 그런 저에게 이 책은 단비와 같았습니다. 개발자들간의 의사소통을 위해 가장 어려우면서도 중요한 문서화 작업화 대해 올바른 지침과 자신감을 불어넣어준 역자분들께 감사 드립니다. 감동입니다. ^^