알림 필수 구성 요소는 4가지다.
언제 + 어떻게 + 누가 + 무엇을 받을지 정하면 알림을 보낼 수 있다.
ex. (언제) 탐지가 발생하면 + (어떻게) 메일로 + (누가) 내가 + (무엇을) 탐지 이력을 알림
필수는 아니지만 구성 요소가 하나 더 있다. 알림을 왜(Why) 받는지다.
알림 배경과 목적이 여기에 포함된다.
일을 하다 보면 참 많은 알림을 보내고 받는다.
문제는 이런 알림들을 관리하는 시스템이 너무 많다는 것이다.
새로운 알림이 필요하면 새로운 알림 시스템을 개발하고 있다.
생각해보면 모든 알림은 같은 필수 구성 요소 (언제, 어떻게, 누가, 무엇) 들을 가지고 있다.
그런데 왜 범용적인 시스템으로 통합하지 못하고 자꾸만 새로운 것을 만드는 것일까?
이유는 우리가 새로운 알림을 보내려고 할 때, 왜(Why)를 가장 앞에 두고 생각하기 때문이다.
나머지 필수 구성 요소들은 배경과 목적에 종속되어 개발된다. 물론 이것이 잘못된 건 아니다.
범용적인 시스템을 만드는 것에 매몰되어 눈 앞의 문제 해결을 지연하는 것은 바보 같은 일이다.
그러나 너무 많은 알림 시스템을 운영하는 것이 괴롭다면,
새로운 알림이 앞으로도 많이 늘어나리라 예상되는 조직이라면 이 문제는 해결되어야 한다.
각 구성 요소를 기획 및 개발하는 비용이 같다고 가정하면,
알림 필수 구성 요소를 재활용하지 못하면 신규 개발 및 인수 인계 비용이 5배 더 크기 때문이다.