The Software Factory 0.1 프리뷰
5장 의도를 실행 계약으로 바꾼다
무엇을 알면 일을 맡길 수 있는가
섹션 제목: “무엇을 알면 일을 맡길 수 있는가”리더가 목적을 설명했다고 곧바로 일을 맡길 준비가 끝나는 것은 아니다. 수행자는 어떤 자료를 써야 하는지, 무엇을 만들어야 하는지, 어디까지 행동할 수 있는지 알아야 한다. 결과를 수용할 사람도 어떤 조건과 증거로 판단할지 알아야 한다. 이 연결이 빠지면 수행자는 질문을 반복하거나 빈틈을 자기 가정으로 채운다. 결과가 나온 뒤에야 서로 다른 약속을 생각했다는 사실을 발견할 수 있다.
2장은 의도를 지속적인 기준으로, 3장은 정책과 계획을 서로 다른 변경 책임으로 설명했다. 4장은 결과의 증거를 다음 판단에 연결했다. 이 장은 그 관계를 개별 작업에 적용한다. 리더가 정할 것은 문서의 분량보다 맡길 수 있는 조건이다. 불확실한 부분이 있어도 시작할 수 있는지, 어떤 정보가 없으면 멈춰야 하는지 판단해야 한다.
P03 ‘실행 가능한 계약’은 입력·출력·권한·완료 증거·실패 처리를 작업에 명시하도록 제안한다. 이 책은 이 합의를 실행 계약이라고 부른다. 실행 계약은 작업을 맡기는 조건과 결과를 수용하는 조건을 연결한다. 특정 파일 형식이나 도구 호출의 문법을 뜻하지 않는다. 사람과 에이전트가 같은 기준을 확인하고 수행할 수 있어야 한다. 자동화된 수행을 늘려도 계약의 준비와 수용에 관한 책임은 식별할 수 있어야 한다.
목적을 작업의 입력과 결과에 연결한다
섹션 제목: “목적을 작업의 입력과 결과에 연결한다”계약의 출발점은 달성할 결과와 그 이유다. 이미 선택한 방법을 목적처럼 기록하면 방법을 바꿀 자유가 사라질 수 있다. 반대로 목적만 쓰고 사용할 정보와 산출물을 정하지 않으면 서로 다른 결과를 완료로 생각할 수 있다. 리더는 업무의 목적을 구체적인 결과에 연결하고 그 결과를 판단할 자료를 정한다.
예를 들어 사내 문의에 근거가 있는 답변 초안을 제공하는 업무를 맡긴다고 하자. 이는 원리를 설명하기 위한 가상 상황이다. 입력은 문의와 승인된 참고 자료다. 결과는 문의에 대한 초안과 그 답변을 뒷받침하는 근거다. 참고 자료에 답이 없거나 서로 충돌한다면 그 사실과 다음 확인 대상을 남기는 결과도 가능하다. 초안을 만드는 일과 직원에게 최종 답변을 발송하는 일은 다른 권한이다.
어떤 자료가 승인된 자료인지도 확인할 수 있어야 한다. 오래된 문서를 최신 기준으로 쓰거나 다른 업무의 정보를 섞으면 형식상 같은 결과라도 판단의 근거가 달라진다. 계약에는 자료의 출처와 적용 범위, 필요한 버전이나 시점을 연결한다. 자료가 없거나 접근할 수 없다면 수행자가 추정해서 채워도 되는지 정한다. 중요한 경계와 수용 기준을 임의로 만들어서는 안 된다.
결과의 형식은 다음 업무에서 사용할 수 있는 수준으로 정한다. 사람의 판단을 위한 설명과 다른 실행 주체가 사용할 구조가 함께 필요할 수 있다. 모든 정보를 하나의 형식으로 통일하기보다 공통으로 보존할 내용과 전달 방법을 나누어 본다. 내용의 해석이 필요한 조건은 담당자와 확인할 증거를 붙인다.
계약의 다섯 연결을 확인한다
섹션 제목: “계약의 다섯 연결을 확인한다”의도의 성공 기준은 달성하려는 결과를 판단할 기준이고, 완료 조건은 맡긴 작업에서 확인해야 할 조건이다. 수용 기준은 그 결과를 받아들일 판단 기준을 뜻하며, 작업의 완료 조건을 포함한다. 후속 사용자 결과가 남아 있다면 현재 작업을 수용한 범위와 이후에 확인할 약속을 나누어 기록한다.
다음 표는 P03을 작업에 적용하기 위한 설계 제안이다. 빈칸이 없다는 사실보다 각 항목이 실제 수행과 판정에 쓰이는지 확인해야 한다. 기존 정책이나 기준을 참조할 수 있다면 같은 내용을 다시 길게 작성할 필요는 없다.
| 연결할 조건 | 리더와 수행자가 확인할 질문 | 빠졌을 때 남는 판단 |
|---|---|---|
| 입력 | 어떤 자료와 현재 상태를 근거로 시작하는가 | 자료의 부족·충돌·접근 불가를 누가 판단하는가 |
| 출력 | 무엇을 만들며 다음 업무가 무엇을 사용할 수 있는가 | 중간 산출물과 최종 결과를 누가 구분하는가 |
| 권한 | 어떤 변경과 외부 행동을 허용하는가 | 경계를 넘는 행동과 예외를 누가 결정하는가 |
| 완료 증거 | 어떤 조건을 무엇으로 확인하고 누가 수용하는가 | 증거가 부족하거나 결과가 충돌하면 누가 판단하는가 |
| 실패 처리 | 언제 멈추고 무엇을 보존하며 어디로 돌아가는가 | 재시도·복구·범위 변경을 누가 결정하는가 |
가상 문의 업무에서도 자료를 검색할 권한, 초안을 저장할 권한, 외부에 답변을 발송할 권한을 나눌 수 있다. 초안에 근거가 연결되었다는 사실과 내용이 업무의 약속에 맞는다는 판단도 다르다. 실패 처리는 단순히 다시 실행한다는 말로 끝내지 않는다. 입력 부족과 권한 충돌, 실행 오류와 판정 보류는 필요한 다음 행동이 다르기 때문이다.
이 다섯 연결은 같은 책임자가 모두 관리할 수도 있다. 그 경우에도 어떤 판단으로 무엇을 허용했는지 구분해야 한다. 큰 조직은 기준을 제공하는 주체와 실행 기반을 제공하는 주체가 다를 수 있다. 9장은 이 관계의 책임 구조를 다룬다.
요청을 정리한 결과와 실행 승인을 나눈다
섹션 제목: “요청을 정리한 결과와 실행 승인을 나눈다”데모의 기능 요청서는 목표와 수용 기준을 필수 입력으로 받는다. 요청을 정리하는 에이전트는 종류·예상 위험·수용 기준·요약을 구조화해 돌려준다. 이 정리는 실행 승인과 별도 단계다.[S61] 계약의 일부를 요청서에서 받고 수행 전에 다시 확인하는 구조를 볼 수 있다.
리더가 검토할 것은 에이전트가 채운 항목의 개수가 아니다. 원래 목적이 기준에 남아 있는지, 자동으로 확인하기 어려운 약속이 빠지지 않았는지, 예상 위험을 실제 변경 뒤 다시 평가하는지다. 권한과 실패 경로가 공통 정책에 연결되어 있다면 간결한 요청서로도 시작할 수 있다. 반대로 필수 입력이 있다는 이유로 내용의 충분성까지 보장되지는 않는다.
형식 검증과 업무의 수용을 구분한다
섹션 제목: “형식 검증과 업무의 수용을 구분한다”MCP의 2025-06-18 버전 도구 명세는 입력과 선택적인 출력 구조를 정의하고, 통신 규약 오류와 도구 실행 오류를 구분한다.[S47] MCP는 모델이 외부 도구와 상호작용하는 연결 규약이다. 여기서 확인한 것은 명세의 구조이며 특정 구현을 실행한 결과는 아니다.
이 구조에서 이 책이 얻는 해석은 요청을 읽고 결과를 해석할 형식을 명시할 수 있다는 것이다. 그러나 형식이 맞는다는 사실로 업무의 목적이나 허용 권한까지 확인했다고 판단할 수는 없다. 근거가 없는 답변도 정해진 형식에 들어갈 수 있다. 실행이 성공해도 잘못된 대상에 행동했을 수 있다. 실행 계약은 형식의 확인과 업무의 수용 기준을 함께 연결해야 한다.
계약을 자동으로 확인할 수 있는 조건과 사람의 해석이 필요한 조건도 구분한다. 필요한 입력이 존재하는지는 정형 검사로 확인할 수 있다. 자료의 의미가 충돌하거나 사용자에게 할 약속이 달라지는 경우에는 해당 책임자의 판단이 필요할 수 있다. 이를 구분하지 않고 문서를 자세히 쓰는 것만으로 모든 해석이 같아진다고 가정해서는 안 된다.
명세에 적힌 입력 검증·접근 통제와 결과 확인의 조건이 실제 구현에서 어떻게 적용되는지 별도로 점검해야 한다. 실행 계약을 작성했다고 실제 권한이 제한되거나 검사 장치가 적용되었다는 뜻은 아니다. 이 책의 계약 제안을 특정 규약을 도입하면 완성되는 구조로 읽지 않는다.
권한은 계약과 실행 환경에서 함께 확인한다
섹션 제목: “권한은 계약과 실행 환경에서 함께 확인한다”P10 ‘범위가 정해진 자율성’은 영향과 복구 가능성에 따라 실행 권한과 정지 조건, 예외 경로를 정한다. 계약에도 이 범위를 연결한다. 목적을 달성하라는 지시가 필요한 모든 행동을 허용한다는 뜻이 되어서는 안 된다. 실행 주체가 가진 기술적 권한과 해당 작업에서 위임한 권한을 함께 확인해야 한다.
GitHub의 배포 환경 문서는 승인 조건이 있으면 승인 전에는 해당 환경의 비밀 정보에 접근할 수 없다고 설명한다.[S23] 확인한 것은 제품의 문서상 구조다. 계약의 조건을 실행 환경의 접근 제한에 연결할 수 있다는 해석은 가능하지만 실제 설정과 집행은 별도 확인이 필요하다.
가상 문의 업무에서 초안을 만드는 에이전트가 발송 도구에도 접근할 수 있다면, 발송하지 말라는 문장만으로 경계가 유지된다고 가정하지 않는다. 접근을 제한할 수 있는지, 발송 판단은 어떤 경로에서 이루어지는지 정한다. 불가피하게 넓은 권한이 필요한 경우에는 허용하지 않은 행동을 어떻게 발견하고 중단할지도 판단해야 한다. 12장은 이 집행과 검증을 구체화한다.
복구 가능성도 행동마다 다를 수 있다. 초안의 수정과 외부 발송의 취소는 같은 일이 아니다. 수행 전 결과의 영향을 확인하고 되돌리기 어려운 행동을 구분한다. 권한을 넓히려면 어떤 증거가 필요한지와 그 판단의 책임자를 계약에 남긴다. 실행자가 장애를 없애기 위해 스스로 경계를 완화하는 일과 위임받은 범위에서 방법을 조정하는 일을 구분한다.
완전한 명세를 기다리기보다 준비 상태를 판단한다
섹션 제목: “완전한 명세를 기다리기보다 준비 상태를 판단한다”2026년 8월 4일 한국어 문서 커밋이 확인되는 Vibe Up은 Shape Up의 작업 선택 원리를 검증·주의력·복잡도 예산으로 재해석한다.[S72] Shape Up 원작은 소요시간 추정과 이 문제에 쓸 의향이 있는 시간 상한을 구분한다.[S75] 이 앞선 작업의 질문을 계약에 적용하면 만들 수 있는지와 감당할 의향이 있는지를 나누어 판단할 수 있다.
실행 계약에는 필요한 검증 시간, 사람에게 돌아올 판단 부담, 새 의존 관계를 유지할 여력과 실행 비용의 한도를 연결한다. 한도를 넘으면 추가 자원을 승인할지, 범위를 줄일지, 중단할지 판단할 책임자도 정한다. 상한이 부족하다는 이유로 품질이나 정책 경계를 수행자가 낮추지는 않는다. 모든 계약에 같은 예산 표를 추가하기보다 결과의 영향과 반복 비용을 설명하는 데 필요한 항목을 선택한다.
탐색이나 여러 시스템이 연결된 업무에서는 모든 조건을 미리 알기 어려울 수 있다. 이 책은 계약의 준비 상태를 문서 완성도 대신 남은 불확실성의 영향으로 판단하도록 제안한다. 시작할 수 있는 작업, 범위를 제한해서 시작할 수 있는 작업, 필요한 판단까지 보류할 작업을 구분한다. 이는 업무의 상태를 설명하는 제안이며 새로운 패턴 이름이 아니다.
결과와 권한, 판정 기준이 분명하고 필요한 자료를 사용할 수 있다면 위임 범위에서 실행할 수 있다. 일부 불확실성이 남아도 허용한 범위의 탐색과 중간 결과를 만들 수 있다면 제한해서 시작할 수 있다. 반대로 자료 사용의 권한이 없거나 중요한 수용 기준이 충돌한다면 그 판단을 해결하기 전까지 해당 실행을 보류할 이유가 있다. 수행자가 추정해도 되는 가정과 책임자가 결정해야 하는 약속을 나눈다.
제한해서 시작할 때에는 무엇을 하지 않을지와 어떤 관찰 뒤에 다시 판단할지 정한다. 가상 문의 업무에서 자료의 최신성이 불분명하다면 후보 근거를 비교하는 조사까지 맡기고 최종 답변은 보류할 수 있다. 조사 결과가 언제나 답변 생성으로 이어져야 하는 것은 아니다. 부족한 정보와 충돌을 드러낸 결과도 다음 결정을 돕는 산출물이다.
준비 수준의 판정에는 비용도 든다. 작고 되돌리기 쉬운 반복 작업에 새로운 계약과 승인 절차를 모두 만들면 부담이 더 클 수 있다. 기존 계약의 적용 범위를 확인하는 짧은 기록으로 충분한지 먼저 본다. 반대로 여러 팀의 자원과 사용자 약속에 영향을 주는 작업에는 조건을 연결하는 비용을 감수할 이유가 커진다.
탐색 계약은 알아낼 결과를 정한다
섹션 제목: “탐색 계약은 알아낼 결과를 정한다”탐색에서 원하는 것은 이미 정한 기능의 완성보다 다음 판단에 필요한 정보일 수 있다. 이 경우 계약에는 확인할 가설과 관찰할 범위, 사용할 자원과 하지 않을 행동을 연결한다. 기대한 가설이 지지되지 않았어도 충분한 근거와 남은 불확실성을 제시했다면 탐색 결과를 수용할 수 있다.
실행 중 방법을 바꿀 자유도 필요하다. 다만 방법의 변경이 허용 자원과 정보의 범위, 외부에 할 약속을 바꾸는지 확인해야 한다. 탐색이라는 이유로 모든 행동을 예외로 처리하지 않는다. 새로운 자료가 필요하거나 결과의 영향이 커지면 해당 책임자의 판단으로 돌아간다.
리더는 탐색 결과의 보고를 다음 결정과 연결한다. 무엇을 확인했고 무엇을 아직 모르는지, 어떤 대안이 남았는지, 어떤 관찰이 판단을 바꿀 수 있는지 요구한다. 보고의 설득력과 근거의 충분성은 다른 평가 대상이다. 16장은 사람이 이 판단을 행사할 역량과 권한, 결과 피드백을 갖도록 하는 업무 설계를 다룬다.
변경 중에도 적용한 계약을 찾을 수 있어야 한다
섹션 제목: “변경 중에도 적용한 계약을 찾을 수 있어야 한다”실행이 길어지면 입력과 계획, 정책이 바뀔 수 있다. 계약을 최신 상태로만 덮어쓰면 이전 결과가 어떤 기준에서 만들어졌는지 알기 어렵다. 계약의 식별자와 적용한 기준, 변경 이유를 연결하고 변경이 진행 중인 작업에 미치는 영향을 판단한다. P13 ‘의도부터 결과까지 추적’은 이 연결을 유지하는 원리다.
계획의 순서를 바꾸는 일과 완료 기준을 낮추는 일은 다른 판단이다. 새로운 자료로 기존 기준이 부적절하다는 사실을 발견했다면 기준 변경의 책임자가 영향을 검토할 수 있다. 그 변경 뒤 과거 결과를 다시 확인할지, 진행 중인 실행을 계속할지 정해야 한다. 3장에서 나눈 정책과 계획의 변경 책임을 계약에서도 유지한다.
입력이나 실행 주체가 바뀔 때에는 계약이 여전히 실행 가능한지도 확인한다. 다른 에이전트가 같은 문장을 읽을 수 있어도 필요한 도구와 수행 능력이 없을 수 있다. 인간에게 일을 넘길 때 필요한 정보와 판정 방법도 달라질 수 있다. 계약의 공통 기준을 유지하는 것과 모든 실행 주체가 같은 능력으로 수행한다는 주장은 구분해야 한다.
리더는 계약이 실제 질문을 줄였는지 확인한다
섹션 제목: “리더는 계약이 실제 질문을 줄였는지 확인한다”P03의 유용성은 한 작업을 사람과 서로 다른 에이전트가 같은 기준으로 수행할 수 있는지에서 평가한다. 위임한 뒤 반복되는 질문이 자료를 찾지 못해서인지, 조건이 빠져서인지, 업무에 필요한 새로운 판단인지 구분한다. 질문을 줄이는 것만 목표로 삼으면 필요한 탐색과 예외 보고를 막을 수 있다.
P10은 허용 범위 밖의 실행과 정지 조건이 작동하는지 확인한다. 계약에 중단 조건이 있어도 실제 수행을 멈출 수 없다면 조건의 집행을 보완해야 한다. 권한 확대와 예외의 기록, 판정 대기와 잘못된 수용, 계약을 갱신하는 부담도 함께 관찰한다. 이 항목은 패턴의 효과를 평가하기 위한 제안이지 효과가 입증되었다는 주장이 아니다.
『More Effective Agile』의 요구 발견·정제와 품질·완료라는 주제에 대한 이 책의 재고찰 질문은 모호한 요청을 위임할 때 어떤 조건과 증거, 변경 책임을 연결할 것인가이다. 연결 범위는 원서 주제 연결의 범위의 공개 목차다.
리더가 확인할 핵심은 계약이 다음 수행과 수용 판단에 쓰이는가이다. 수행할 방법은 위임하되 어떤 약속을 지켜야 하는지와 어떤 조건에서 판단이 돌아오는지는 이어져야 한다. 다음 장은 이 계약을 검증 가능한 결과 단위로 나누고 통합의 책임을 연결하는 문제를 다룬다.
출처와 검토
섹션 제목: “출처와 검토”[S23], [S47], [S61], [S72], [S75]. 확인 범위와 한계는 출처 대장, 주요 주장의 성격은 자료 확인 범위에 기록한다. 기술 명세와 제품 문서의 구조를 조직의 업무 계약과 같은 것으로 취급하지 않았다. 실제 도구 실행·접근 제한의 집행·조직 성과·패턴 효과·원서 본문 대조는 검증하지 않았다.
이 장의 판단을 정리하셨나요?
추천 경로에서 다음