
시스템을 만드는 방식은 크게 두 가지다. 요구사항을 파악한 뒤 각 구성 요소를 설계하고 서로의 관계를 맞춰 전체를 만드는 방식이 있다. 반대로 우선 작동하는 최소 버전을 만들고, 요구사항을 충족하는지 확인하면서 부족한 부분을 계속 고치는 방식도 있다.
어느 쪽을 택할지는 일정과 자원, 품질 요구사항, 실패 비용에 달려 있다. 스타트업은 먼저 생각한 제품을 만들어 사회의 반응을 살펴볼 수 있다. 하지만 위성이나 장비를 화성 또는 우주정거장에 보내는 우주 기관은 실패 비용이 크기 때문에, 구성 요소마다 실제 상황을 가정해 충분히 시험하고 제대로 작동하는지 확인해야 한다. 프로그래밍에서도 애플리케이션을 하향식 또는 상향식으로 만들 수 있다.
각 구성 요소를 따로 살펴보고 설계하는 첫 번째 방식은 두 번째 방식보다 유지보수가 쉽다는 견해다. 구성 요소의 특성과 동작을 여러 조건에서 이해하고 있으면, 다른 상황에서 전체 시스템이 어떻게 움직이거나 바뀔지 파악하기 쉽다. 어떤 부분이 특정 조건에서 실패할 수 있는지, 시간이 지나면 작동을 멈출 수 있는지도 가늠할 수 있다. 구성 요소를 바꾸거나 시스템의 동작 방식을 수정하기도 수월하다.
코딩 에이전트가 늘면서 작동하는 버전을 빠르게 만들고 개선하는 두 번째 방식이 널리 쓰일 수 있다. 그러나 이 글은 코딩 에이전트를 활용하면 첫 번째 방식의 신중한 설계도 더 쉽게 할 수 있다고 본다. 각 구성 요소를 따로 분석하고, 구성 요소 간 관계와 다양한 조건에서의 동작을 정리할 수 있기 때문이다. 이런 지식을 스킬이나 마크다운 파일로 모아 다른 팀이나 에이전트와 공유할 수도 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요