
적정
원서의 제목은 Just enough software architecture 이다. Just enough가 한글로 “적정”인데 제목만 보고 여기서 말하는 적정의 수준은 어느 정도가 되야하는지 궁금했다. 왜냐면 과유불급이라고 넘침은 모자람만 못하고, 또 모자라면 그것도 문제이기 때문이다.
결론적으로 적정의 수준은 공학적 이익과 비용의 균형을 맞추는 것을 말한다.
소프트웨어 아키텍처
소프트웨어 아키텍처는 왜 필요할까?
- 시스템의 복잡성이 점점 더 증가되어
- 인간이 이해하고 기억하기 쉽게 문제를 작게 만드는 것(분할, 지식, 추상화)이 필요하기 때문이다.
리스크 주도 접근법
이 책은 소프트웨어 아키텍처의 접근을 리스크 관리 측면에서 즉 리스크를 줄이는 기법을 사용해서 접근을 한다.
리스크 주도 모델은 개발자가 최소한의 아키텍처 기술을 적용하여 가장 시급한 리스크를 줄이도록 한다.
그리고 다음과 같은 3단계를 거치면서 반복하는 과정이라고 한다.
- 리스크 식별 및 우선 순위를 지정하고
- 적용할 기법을 선택 및 적용하고
- 리스크가 감소 되었는지 평가 한다.
리스크
책에서 이야기 하는 리스크의 정의는 "인지한 실패 확률 x 인지된 영향"이라고 정의 한다.
즉, 인지되지 않은 실패 확률은 리스크로 판단할 수 없고, 실패로 인한 영향도 파악할 수 없다면 리스크는 확인할 수 없다는 것이다.
여기서 리스크는 “소프트웨어 엔지니어링 리스크” 와 “프로젝트 관리 리스크”로 나눈다. 이 말을 기술적인 리스크와 관리적인 리스크로 볼 수 있는데, 일반적으로 엔지니어링 리스크는 제품의 분석, 설계 및 구현과 관련된 사항이고, 프로젝트 관리 리스크는 일정, 작업 순서, 팀 규모 등과 관련된 것들이다.
리스크의 식별
요구사항을 가지고 시작할 수 있고, 개발하는 소프트웨어의 도메인에 따라 주로 발생하는 원형적 리스크(prototypical risk)도 있다

기법
아키텍처 설계에 들이는 노력은 실패 리스크에 상응해야 한다.
이는 기법을 지나치게 적용하거나 너무 적게 적용하지 않는다는 뜻이다. 즉 효율성에 주목을 해야 한다.
애자일 프로세스에 적용

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