2004년 7월 16일 금요일

상대시각과 절대시각

현대의 모든 산업 분야에서 각 팀의 개발은 동시에 진행된다.
requirement가 완성되기 전에 design이 시작되고
design이 완성되기전에 구현하고
구현 도중에 디버깅도 하고
test도 하고 피드백도 하고..


그러다 보니 조금 엉키면 문제가 매우 복잡해지는 것 같다.
서로가 다른 input, output data를 가지고 생각을 한다.
requirement 쪽에서는 이미 어떤 문제를 생각하고 있긴 한데,
아직 design에 넘겨주지 않은 것도 있고..


이미 예측해서 문제를 해결해둬야 한다. (확장성)
어느정도의 확장성을 지녀야 하는 지 쉽게 추정할 수가 없다.


그렇다고 해서 앞 레벨의 output을 마냥 기다리면 concurrnet development라고 할 수가 없다.
앞에서 아직 주지 않은 것들을 미리 만들어둬야 하는 것이다.
그러다 보면 만들어 놨는 데, 쓸모없는 부분도 생기고
양쪽에서 중복되게 만들기도 하고 intepace가 호환이 안되기도 한다.


서로 다른 data를 보면서 자신에게 잘못이 없다고 싸우기도 하고
모호한 용어를 쓰면 communication이 잘 안되기도 한다.


예를 들자면 "가장 최근의 데이터"라는 용어는 매우 모호한 표현이다.
모두가 다른 data를 가지고 있는 상황에서 가장 최근이 뭔지 알 수가 없다.
A 모듈이 생각하는 최근 데이터는 하루전 것이고 B 모듈이 생각하는 최근 데이터는 3시간 전 것일 수도 있다.


'최근'이라는 단어의 상대성 때문이다.
e-mail을 보낸 시점에서 최근과 e-mail을 읽는 시점에서 최근은 또 다를 수가 있다.


이럴 때는 '몇월몇일몇시의 데이터' 이런 식으로 절대시간을 가지고 대화해야 한다.


information의 전달 시간이 0이 아닌 조직에서는 그렇다.
(물리적으로 이상적인 상황이 아니면 세상 모든 조직은 information이 확산되는 데 시간이 소요된다.)


 


@ communication을 쉽게하려면 '상대시각' 대신 '절대시각'을 쓰자.

댓글 없음:

댓글 쓰기