1990년대 후반, C언어와 오라클 DB를 사용하던 시절부터 지금의 클라우드 네이티브에 이르기까지 IT를 둘러싼 환경은 끊임없이 변화하고 있다. 이런 변화를 소프트웨어 개발 방법론의 관점에서 보면, '복잡성(Complexity)'에 대한 통제와 비즈니스의 '유연성(Flexibility)'에 대한 요구에 대처하기 위해 끊임없이 방법을 바꿔온 과정이라는 생각이 든다.
소프트웨어 개발은 데이터를 중심으로 통제하던 시기, 구조를 조립해 재사용하려던 시기, 그리고 속도를 위해 형식을 최소화하던 시기를 지나왔다. 그리고 이제는, 파편화된 시스템 사이의 ‘약속’을 먼저 정의하는 Spec-Driven이 새로운 기준이 되고 있다.
이 글은 그 나선형 진화의 기록이다. 1. 1990년대: '정보공학'의 시대 1990년대 PC 통신을 넘어 인터넷이 세상을 연결하기 시작한 2000년 무렵까지도 기업 시스템의 근간은 여전히 메인프레임이나 C/S(Client-Server) 환경이었다. 당시 개발의 제1원칙은...