SEMAT와 Essence는 끝없는 방법론 전쟁을 넘어, 모든 소프트웨어 개발에 공통된 본질(Kernel)과 일곱 개의 Alpha로 팀의 상태를 추적하는 길을 제시한다. Process-Essential 시리즈의 마지막 단계.
Dependency Injection을 프레임워크 사용법이 아니라 IoC와 결합도 관리의 기술로 다룬다. 주입 방식, Composition Root, 안티패턴, 생명주기, 컨테이너 vs Pure DI까지 정리하며 OO-Design Essential 시리즈를 마무리한다.
잦은 커밋·자동 빌드·빠른 피드백으로 통합 지옥을 없애는 Continuous Integration의 원칙과 파이프라인, 그리고 지속적 배포로 이어지는 길을 정리합니다.
Grady Booch의 OOAD를 길잡이 삼아 객체 모델의 4요소, 객체·클래스 식별, 관계와 책임 주도 설계, UML 표기법과 반복적 프로세스, 그리고 아키텍처적 시야까지 시스템 전체를 객체로 모델링하는 법을 정리한다.
Ivar Jacobson의 OOSE(1992)에서 유스케이스가 어떻게 탄생했고, 요구사항에서 분석·설계·테스트까지 이어지는 추적성을 어떻게 만들어내는지 살펴본다.
Walking Skeleton으로 배포 파이프라인부터 세우고, mock 기반 outside-in TDD로 협력 객체의 역할·메시지를 설계하며 객체지향 시스템을 키우는 방법을 정리합니다.
Gregor Hohpe의 The Software Architect Elevator를 따라 임원실과 기계실을 오가는 아키텍트의 역할을 정리합니다. 트레이드오프 소통, Conway의 법칙, 기술 리더십까지 다루며 Architecture-Essential 시리즈를 마무리합니다.
Ada Lovelace에서 현대 AI까지, 프로그래머라는 직업의 계보와 장인정신의 문화를 따라가며 시야를 넓히는 Craftsmanship Essential 시리즈의 마지막 교양 캡스톤.
Bertrand Meyer의 Object-Oriented Software Construction을 따라 객체지향의 원리와 계약에 의한 설계(Design by Contract)를 정리합니다. Precondition·Postcondition·Class Invariant, LSP, 그리고 방어적 프로그래밍과의 차이를 Python 예제로 다룹니다.
Alistair Cockburn의 유스케이스 작성법을 따라 액터의 목표를 중심으로 주 성공 시나리오와 확장을 기술하고, 목표 수준·범위·전제·보장으로 요구사항을 계약처럼 명세하는 방법을 다룹니다.
코드 냄새를 식별하고 Extract Function·Rename·Replace Temp with Query 같은 안전한 리팩터링을 테스트 안전망 위에서 작은 단계씩 실천하는 규율을 statement 예제로 익힙니다.
Martin Kleppmann의 DDIA로 신뢰성·확장성·유지보수성을 출발점 삼아 스토리지 엔진, 복제·파티셔닝, 트랜잭션 격리, 합의·CAP, 그리고 배치·스트림 처리까지 분산 데이터 시스템의 핵심 트레이드오프를 정리합니다.
Software Design Decoded가 관찰한 전문가들의 설계 사고 습관을 정리한다. 문제 재구성, 스케치, 트레이드오프, 시뮬레이션, 협업이라는 다섯 가지 생각하는 방식이 코드 이전의 설계를 어떻게 살아 움직이게 하는지 다룬다.
GoF 패턴을 그대로 베끼지 말고 현대 언어 기능으로 재해석한다. Protocol·Generic·Closure, 값 타입과 불변성, 고차 함수가 디자인 패턴을 어떻게 바꾸는지 Swift 코드로 살펴본다.
사용자 스토리는 완결된 명세서가 아니라 '대화를 위한 약속'입니다. 3C와 INVEST, 스토리 분할, 스토리 포인트 추정, 인수 조건까지 Mike Cohn의 User Stories Applied를 정리합니다.
TDD를 수년간 실천한 뒤의 솔직한 회고, London vs Classicist 테스트 더블의 트레이드오프, 그리고 TDD를 언제 적용할지에 대한 성숙한 판단을 정리합니다.
아키텍처를 측정 가능한 품질 속성으로 다루는 공학 방법론. QA 시나리오 6요소, 전술 카탈로그, ATAM 평가, Views & Beyond 문서화를 정리합니다.
The Pragmatic Programmer가 말하는 장인의 일상 습관을 정리한다. DRY와 직교성, 깨진 창문 이론, 예광탄, 계약에 의한 설계와 일찍 죽기, 리팩터링·자동화, 지식 포트폴리오까지 매일의 작은 실천으로 풀어낸다.
GoF의 23개 디자인 패턴을 생성·구조·행동 세 가족으로 정리하고, 의도·구조·결과(Consequences)의 엄밀함으로 패턴을 고르고 남용을 경계하는 법을 다룹니다.
Kent Beck의 Extreme Programming Explained를 따라 XP의 가치·원칙·실천, 짧은 피드백 루프, 변경 비용 곡선과 점진적 설계, 계획 게임까지 '변화를 끌어안는' 애자일의 핵심을 정리합니다.
Red-Green-Refactor 사이클, Test-First, Fake It/Triangulation, To-Do List, 그리고 xUnit 패턴을 Kent Beck의 Money 예제로 Python + pytest로 직접 키워 가며 익힙니다.
Eric Evans의 DDD를 통해 소프트웨어 복잡성은 기술이 아니라 도메인에 있다는 사실을 짚고, 유비쿼터스 언어·도메인 모델·바운디드 컨텍스트·전술적 설계로 도메인 지식을 코드에 녹이는 법을 정리한다.
SICP가 가르치는 추상화의 기술 — 프로시저 추상화, 재귀와 반복의 프로세스 형태, 고차 함수, 데이터 추상화 장벽, 환경 모델, 그리고 메타순환 평가기까지. 문법이 아니라 '추상화로 사고하는 법'을 익히는 장인 여정의 1단계.
Head First Design Patterns로 디자인 패턴의 직관을 잡는다. 변하는 부분을 캡슐화하고 합성을 선호하라는 OO 설계 원칙을 Strategy·Observer·Decorator·Factory 계열을 통해 익힌다.
Roger Pressman의 고전을 길잡이 삼아 소프트웨어 공학의 전체 지형도를 그린다. 프로세스 모델·요구사항 공학·설계와 품질·프로젝트 관리를 한눈에 조망하고, 이후 단계들이 이 지도 위 어디에 위치하는지 정리한다.
TDD와 리팩터링을 네 권의 고전(TDD By Example, Seven Years After, Refactoring, GOOS)으로 정복하는 마스터 로드맵입니다. 도장깨기 방식으로 진행 상황을 추적합니다.
소프트웨어 아키텍처를 4권의 고전 명저로 정복하는 마스터 로드맵입니다. 도메인 모델링부터 품질 속성, 분산 시스템, 아키텍트의 역할까지 4단계 도장깨기 방식으로 진행합니다.
소프트웨어 장인정신과 기초를 SICP·Pragmatic Programmer·Software Design Decoded·We Programmers 4권의 고전으로 4단계에 걸쳐 정복하는 마스터 로드맵입니다. 도장깨기 방식으로 진행 상황을 추적합니다.
객체지향 설계와 디자인 패턴을 6권의 고전으로 정복하는 마스터 로드맵입니다. 패턴 입문부터 GoF 정전, 현대 언어 적용, 계약에 의한 설계, OOAD, DI까지 도장깨기 방식으로 추적합니다.
Pressman의 큰 그림부터 XP, 사용자 스토리·유스케이스, CI, Essence까지 7권의 고전으로 애자일 프로세스와 요구사항을 도장깨기 방식으로 정복하는 마스터 로드맵입니다.