개발을 부탁하기 전에 남아 있는 일
"어떤 기능이 필요하세요?"라는 질문만으로는 프로젝트를 시작하기 어려울 때가 많다. 불편한 업무는 분명한데, 무엇을 만들어야 해결될지는 아직 모르기 때문이다. 화면을 새로 만드는 게 답일 수도 있고, 이미 쓰는 도구의 설정을 바꾸면 끝나는 일일 수도 있다.
이때 필요한 사람은 문제를 함께 정리하고, 그 자리에서 직접 만들어 볼 수 있는 사람이다. 업무를 설명하는 자리와 소프트웨어를 만드는 자리 사이에서 빠지는 내용을 줄이는 것. VibeRick이 일하는 방식이 여기에 가깝고, FDE라는 개념을 빌리면 이를 조금 더 구체적으로 설명할 수 있다.
FDE에서 가져온 것
FDE는 Forward Deployed Engineer의 약자다. Palantir 출신 Nabeel Qureshi는 자신의 회고에서 고객 현장의 업무를 깊이 이해하고, 그 지식으로 문제를 해결하는 소프트웨어를 만드는 역할로 설명한다. 현장에서 만든 것을 공통 제품으로 정리하는 제품 개발팀의 역할도 함께 다룬다.
그 조직 구조를 작은 스튜디오에 그대로 옮길 수는 없다. 가져온 것은 한 가지다. 업무를 이해하는 사람과 구현하는 사람 사이의 거리를 없앤다는 점이다.
기능 요청을 업무의 끝까지 따라가 보기
신내하나약국의 가격택 도구가 좋은 예다. 겉으로 보면 엑셀에서 가격표를 뽑는 일이었다. 그런데 실제 업무를 따라가 보니 만들어야 할 것이 달라졌다.
- 약국에서 내보낸 엑셀은 열 이름과 제목 행 위치가 매번 다를 수 있다. 그래서 도구가 열의 의미를 추측하고, 사용자가 매핑을 확인해 저장하게 했다.
- 다음 달 엑셀을 다시 올렸다고 이전에 검수한 안내 문구가 사라지면 반복해서 쓸 수 없다. 재임포트는 가격과 규격만 갱신하고 문구는 보존한다.
- 브라우저 인쇄는 설정에 따라 가격택의 색 밴드가 빠진다. 그래서 서버에서 PDF를 만든다.
- 화면에서 보기 좋은 글씨와 매대에서 읽히는 글씨는 달랐다. 실제 매대 사진을 보고 배치를 다시 잡았다.
어느 것도 처음 요청서에는 없었다. 담당자와 작업 한 건을 끝까지 따라가 봐야 보이는 것들이다. 시간이 많이 드는 단계뿐 아니라 실수했을 때 영향이 큰 단계도 이때 표시해 두고, 그다음에 자동화할 부분과 사람이 맡을 부분을 나눈다. 이 도구에서 AI는 안내 문구의 초안만 쓰고, 최종 문구는 약사가 확인한다.
기존 도구로 충분한 구간은 남겨둔다. 새 프로그램이 필요하다는 결론부터 정해 놓으면, 고객은 필요 없던 시스템까지 운영해야 한다.
첫 버전은 작게, 검증은 실제 업무로
처음부터 모든 예외를 담으려 하면 쓸모가 있는지 확인하기까지 오래 걸린다. 그렇다고 화면만 있는 데모로 검증을 대신할 수도 없다. 범위는 좁히되, 자료를 받아 검수 가능한 결과물을 내는 흐름은 처음부터 끝까지 이어져 있어야 한다.
검증 기준은 작업 전에 정해 둔다.
- 정상 자료로 원하는 결과가 나오는가.
- 누락되거나 서로 맞지 않는 자료를 조용히 통과시키지 않는가.
- 담당자가 결과를 확인하고 고치는 데 얼마나 걸리는가.
- 실패했을 때 어디서 멈췄는지 알고 다시 처리할 수 있는가.
처리 시간은 생성과 검수를 합쳐서 본다. 생성이 빨라져도 담당자가 오류를 찾느라 더 오래 걸리면 개선이 아니다.
운영할 사람에게 넘기기
작동하는 첫 버전 다음은 팀이 쓸 수 있게 정리하는 일이다. 어느 계정으로 실행되는지, 비용은 어디서 발생하는지, 담당자가 바뀌면 누가 설정을 관리하는지까지 확인한다.
AI가 외부 시스템을 바꾸는 작업은 권한을 나눈다. 문서를 읽는 것과 수정하는 것, 메일 초안을 만드는 것과 발송하는 것은 다른 권한이다. 처음에는 결과를 사람이 검토하게 두고, 자동 실행은 허용 범위가 분명한 작업에만 붙인다.
인수인계에는 실행 방법과 함께 실패 기록을 보는 법, 재실행 방법, 사람이 처리해야 할 예외를 남긴다.
다음 프로젝트에 남기는 것
프로젝트가 끝나면 다음에도 쓸 수 있는 도구와 검증 방식이 남는다. 파일 형식을 검사하는 코드, 승인 전 미리보기, 실패한 작업만 다시 처리하는 구조 같은 것들이다. 다만 고객의 자료와 내부 판단 기준은 그 고객의 것으로 분리하고, 재사용은 권한이 있는 공통 구성요소에만 한다.
시작할 때 맞추는 질문
기능 목록이 아직 없어도 괜찮다. 다음 질문에 함께 답하는 것으로 시작한다.
- 지금 바꾸려는 업무와 담당자는 누구인가.
- 첫 결과물은 무엇이며 누가 어떤 기준으로 검수하는가.
- 사용할 수 있는 자료와 시스템 권한은 어디까지인가.
- 이번 범위에서 빼는 일은 무엇인가.
- 구축 이후 운영과 추가 변경은 누가 맡는가.
현재 쓰는 자료와 원하는 결과 예시만 있으면 어디부터 볼지 정할 수 있다. 프로젝트 브리프에 바꾸고 싶은 업무를 남겨 주세요.
참고 자료
- Nabeel Qureshi, Reflections on Palantir, 2024-10-15. "Forward deployed" 절.