체계와 창의력이라는 기묘한 단짝

등록일: 2014. 08. 21

소프트웨어 크리에이티비티 2.0

  • 로버트 L. 글래스 지음
  • 박재호, 이해영 옮김
  • 488쪽
  • 25,000원
  • 2009년 05월 28일

어떤 사람은 체계와 창의력을 기묘한 단짝이라 칭했다. 두 단어가 우리 마음속에 완전히 다른 이미지를 떠올리기 때문이다. 그런데 어떻게 두 가지를 한꺼번에 고려하란 말인가?

체계라고 하면, 한 가지 목표를 향하여 똑같은 자세로 발맞춰 행군하는 획일주의 군대가 떠오른다.

창의력이라 하면, 자기 박자에 맞추어 자기 길을 선택하는 개인주의 탐구자가 떠오른다. 체계와 창의력, 둘 사이에는 공통점이 없어 보인다.

그런데 잠시만 생각하면 우리 삶은 언제나 두 가지가 뒤섞여 있다는 사실을 깨닫는다. 음악을 감상할 때 우리는 연주자가 주의 깊게 제작된 작품을 연주하는 절도와 즉흥적으로 표현하는 창의력을 모두 즐긴다. 과학을 사랑하는 사람들은 과학이 우리에게 안겨주는 놀라운 선물이 과학적인 방법이라는 체계에서 나온다는 사실을 이해한다. 과학적 방법이라는 틀에서 우리는 편의적이고 창의적이고 유용한 발견을 (때로는 우연히) 얻어낸다.

시를 쓰는 사람들은 시 형식이 창의력을 구속하기보다 새로운 가능성을 제시한다는 사실을 안다. 운율을 맞추려고 고민하는 과정에서 (알맞은 단어가 눈에 띄기 바라는 마음으로 사전을 가나다순으로 뒤지는 등) 체계적으로 운율이 맞는 단어를 찾거나 창의적인 시어로 자신의 생각을 표현한다.

소프트웨어를 제작하는 과정도 크게 다르지 않다. 여기서도 체계와 창의력이라는 기묘한 단짝이 필수적이다. 예를 들면, 설계는 창의력이 필요하고 구현은 체계가 필요하다. 설계 방법론은 흔히 설계를 체계화된 활동으로 변환하려 들지만, 새로운 문제가 계속 쏟아지는 한 성공은 절대로 불가능하다. 물론 구현 단계에서도 창의력은 필요하다. 멍청한 컴퓨터에게 바람직한 해법을 하나하나 묘사하는 구현 단계에서는 엄청난 체계가 필요하지만, 완벽한 설계란 불가능하므로 설계에서 놓친 문제를 해결하려면 구현 단계에서도 창의력은 필수적이다.

체계와 창의력이라는 기묘한 단짝은 소프트웨어를 유지보수하는 단계에서 특히 가치를 발한다. 유지보수 단계로 접어든 소프트웨어는 창의적인 유지보수 담당자에게 대단히 체계적인 제약을 부과한다. 유지보수 담당자는 기존 기능을 그대로 유지하면서 새 기능을 추가해야 한다. 이렇듯 제약이 심한 환경에서 창의력을 발휘하기란 참으로 어렵다. 대다수 프로그래머가 유지보수 업무를 회피하는 진짜 이유가 여기에 있다. 소프트웨어 제작이라는 복잡한 세상에서 (위반해서 안 되는 체계적인 제약을 받으며 창의력을 발휘하는) 유지보수보다 더 복잡한 활동은 없으리라 생각한다.

체계와 창의력을 적으로 보려는 시각이 없지 않다. 특히 소프트웨어 세상이 그렇다. 체계 진영은 소프트웨어를 좀 더 효율적으로 개발하려면 체계를 늘여야 한다고 주장한다. 창의력 진영은 오히려 체계를 줄여야 소프트웨어 효율성이 높아진다고 주장한다. 전투는 이미 벌어졌고, 사람들은 편을 가르고, 각 진영은 자기네만 옳다고 주장한다.

우리 분야가 발전하려면 체계와 창의력이라는 기묘한 단짝을 조화롭게 활용하는 방법을 찾아야 한다. 두 진영은 그만 무기를 내려놓고 협력할 방도를 모색해야 마땅하다.