본문 바로가기

Trivia

자기조직적 시스템 (self restructuring)..

  엔트로피 법칙은 물리학에서 가장 유명한 법칙중 하나입니다.
 쉽게 말해 모든 에너지는 무질서를 향해 나아간다는 뜻입니다.

 이 자연 현상은 전혀 관계없어 보이는 곳에서도 발견됩니다.
예를 들면 소프트웨어 개발에서도 꾸준히 리팩토링(관리)을 하지않으면 점점 무질서를 향해 달려갑니다.
사실 소프트 웨어는 현실과 밀접한 관련을 맺고 있기에 그 영향을 벗어날수가 없습니다.

 이러한 무질서를 관리하려면 꾸준히 청소해주고 정리해주어야만 합니다.
이것을 다시보면 얼마전에 쓴 글(애자일 단상)에서 언급한 끊임없는 개선 ,
CI(Continuous Integration 점진적통합) 등과 일맥 상통하는 이야기입니다.

 이것과 연계하여 SOA를 생각하며 떠오른 단상이지만 ,

자기조직적인 시스템을 만드려면 어떻게 해야할까요?

 결합도를 줄이고,추상화(SOA)를 시키고,패턴을 적용하고, 등등 방금 언급한 것은
사실 변화와 확장에 유연한 시스템을 구축하는 방법이지 자기 조직적인 시스템을 구축하는
기술은 아닌것 같습니다.

 먼저 조직적이란 말을 살펴보면 ,

조직화  - 시스템 내부 (인프라,설계 구조) 최적화
          - 시스템 외부 (비지니스프로세스) 최적화

으로 내부와 외부로 나눌수 있을것 같습니다.

 이러한 작업은 처음 시스템을 구축할때 내부 및 외부의 최적화를 통해 이루어지는데,
내부의 변화(소스의 변경, 인프라의 확장, 추가기능) 및 외부의 변화(기업환경의 변화, 부서이동 및 변경, 비지니스정책변화)등등의 이유로 점점 무질서 및 복잡화가 진행됩니다.

 이러한 내,외부의 변화에 가장 알맞은 시스템 및 프로세스는 없으며 끊임없는 개선만이 해답일듯합니다.

 이러한 끊임없는 개선을 주도하는것은 보통 사람이지만, 이것을 시스템차원에서 주도 또는 지원하게
한다면
그것이 다음세대에서 구현해야할 목표가 되지 않을까요?

 라는 짧은 단상입니다;