A BiteMark Field Book

9장. 애플리케이션은 라이프사이클을 고정한 것이다

업무란 무엇인가 v0.5.0

모든 운영 객체는 라이프사이클을 가진다. 하지만 모든 라이프사이클이 같은 크기의 애플리케이션을 받을 자격은 없다.

명함 발급은 작은 앱이면 된다. 요청됨, 제작중, 전달완료 정도면 충분하다.

퇴사 처리는 큰 앱이어야 한다. 퇴사예정, 서류준비, 급여/연차정산, 장비회수, 계정회수, 권한폐기, 퇴사완료, 기록보관이 필요하다.

여기에는 법적 리스크, 보안 리스크, 비용 리스크, 인수인계 리스크가 걸려 있다. 같은 CRUD라도 필요한 통제 밀도가 다르다.

애플리케이션을 단순 CRUD로 정의하면 얕다. CRUD는 저장 문법일 뿐이다. 업무 앱의 본체는 상태 전이와 통제다.

요소
Application
정의
Lifecycle object manager
요소
CRUD
정의
lifecycle을 저장, 조회, 변경, 종료하는 persistence primitive
요소
Workflow
정의
허용된 상태 전이
요소
Policy
정의
누가 어떤 전이를 할 수 있는지
요소
Evidence
정의
왜 그 전이가 정당한지
요소
Report
정의
현재 상태와 이력의 집계

좋은 업무 앱은 입력 폼 모음이 아니다. 이 객체는 지금 어느 상태인지, 다음 가능한 액션은 무엇인지, 그 액션을 하려면 어떤 입력값이 필요한지, 누가 승인해야 하는지, 어떤 증빙이 붙어야 하는지, 상태 전이 이력은 추적되는지, SLA/SLO 위반은 보이는지 답하는 기계다.

대부분의 회사는 스프레드시트 목록과 폼 사이에서 멈춘다. 그래서 엑셀은 있는데 운영 시스템은 없다. 폼은 있는데 상태 전이가 없다. 담당자는 있는데 권한과 증빙이 없다.

애플리케이션은 라이프사이클을 고정한 것이다. 더 정확히 말하면, 객체의 상태 전이, 권한, 증빙, 기록, 리포트를 CRUD 위에 올려놓은 것이다.

Early Reader Feedback

원고 피드백 남기기

읽다가 헷갈린 곳, 더 듣고 싶은 사례, 동의하기 어려운 문장을 알려주세요. 공개 댓글이 아니라 저자에게만 전달되는 피드백입니다.

본문에서 문장을 드래그한 뒤 누르면 선택 문장이 함께 저장됩니다.

피드백 유형

BiteMark Press는 Cloudflare Web Analytics로 익명 트래픽을 보고, 동의한 경우에만 GA4와 Microsoft Clarity를 켭니다.