시스템..
시스템이란 단어에는 꽤 심오한 철학이 있습니다.
[시스템의 사전적 의미]
1) 어떤 과업의 수행이나 목적 달성을 위해 공동 작업하는
조직화된 구성 요소의 집합.
2) 지정된 정보 처리 기능을 수행하기 위하여 조직화되고
규칙적으로 상호 작용하는 기기, 방법, 절차, 그리고 경우에 따라
인간도 포함하는 구성 요소들의 집합.
저는 일에 있어서 시스템을 좋아하고 소통을 싫어합니다.
그렇다고 제가 대화하기 싫어하는 인간상은 아니고.. ㅎㅎ;
오히려 수다쟁이에 가까운데. 친목엔 그러하고.
일, 즉 SW개발에는 불필요한 소통을 최대한 줄여야 합니다.
문서화..
문서화도 결국 소통입니다. 사람이 읽어야 하고
그것을 행해야 하는데, 문제는 그것을 하든 안하든 일이 된다는 거죠.
시스템이란 것은 그 중간과정을 행하지 않으면
언제든지 올스톱되는 것입니다. 그게 바로 절차란 것이죠.
시스템이란 릴레이경주의 바통같은 것입니다.
바통을 전달받지 않으면 달리는게 다 의미가 없습니다.
바통이라는 선명한 시스템 구성요소가 있기 때문에
경주의 주자들은 바통을 안전하고 딜레이없고 속도를
유지하면서 전달받기 위한 여러가지 아이디어를 도출해 냅니다.
왜? 경주라는 것은 타임워치라는 선명한 평가요소가 있으니까요.
예를 들어 무기를 구매한다고 합시다.
무기를 구매하기 위해서는 신분증명이 있어야 하고
해당무기의 자격증이 있어야 하고 무기를 구매한 후에는
1개월마다 분실하지 않았음을 증명해야 한다고 칩시다.
이것을 소통과정이나 문서화로 고객에게 잘 알려주면
구매의 프로세스가 문제없이 잘 진행될까요?
민증, 여권, 운전면허증, 누군가는 추천장을 가지고 올 것이고
권총, 라이플, 수류탄, 쌍절봉, 철인3종경기 자격증이 등장하고
무기를 구매한 뒤에는 연락두절될 것입니다.
그러나 시스템이란 것은 이런 겁니다.
여권번호를 조회하면 보안등급이 나오고
보안등급을 제출하면 소유 가능한 무기종류코드가 나오고
국가에 돈을 지급하면 1개월 소유권과 권리코드가 발급되며
권리코드를 무기상점에 제출하면 무기를 살 수 있습니다.
이때 무기상점은 개인의 여권번호를 직접 받지 않아서
개인정보의 유출이 없고, 권리코드를 국가에 제출하지 않으면
밀반입 세무조사로 처벌을 받으니 무조건 따라야 합니다.
또한 1개월 소유권을 구매하면서 카드번호등을 국가에 지출하였으니
1개월마다 무기를 진짜 소유하고 있음을 해당 기관에 방문하여
확인시켜주지 않으면 해당 카드로 상당한 벌금이 나오게 한다면
1개월마다 방문하지 않을 사람이 없습니다.
이 과정에 소통이 필요한가요? 문서가 필요하나요? ㅎ
절차에 따라서 달라면 주고, 가라면 가고, 손해본다고 하면
두눈 번쩍 뜨고 상황을 이해하려고 달려들 겁니다.
이게 바로 시스템입니다.
프로그래밍은 애초에 시스템입니다.
완벽한 문법속에서 각종 절차를 만들어낼 수 있으며
컴파일오류를 통해 100% 사용자의 행동제어가 가능합니다.
소통이 왜 필요하고 문서가 왜 필요한가요?
그게 꼭 필요하다면 그건 설계를 잘못한 겁니다.
이 API의 절차와 규칙을 따르지 않고서는
도저히 컴파일오류를 없앨 수 없어야 합니다.
시스템의 사전적 의미 2)를 보면 재밌는 내용이 있습니다.
"경우에 따라 인간도 포함하는"
그렇습니다. 인간도 시스템의 일부가 될 수 있습니다.
정치계를 보면 시스템이란 말이 자주 등장합니다.
사실 정치야말로 끝내주는 절차적 시스템장치입니다.
매 절차적 과정에서 코드발급(승인과정)이 있어야 하고
그 메소드로써 인간이라는 슈퍼컴퓨터를 이용합니다.
훌륭한 시스템에는 기계장치로써의 인간이 포함되어야 합니다.
시장의 변화무쌍한 상황과 사용자의 엉뚱한 오인사용을
통찰력있고 신축성있게 대처할 수 있는 바로 인간이 필요합니다.
산술연산, 기억장치의 에러가 잦은 인간을 보완할 수 있는
응용프로그램을 제공해 준다면 더욱 좋겠죠~ ㅎ
댓글을 쓰려면 로그인이 필요합니다.