소프트웨어 컨플릭트 2.0 (위키북스, 2007)

Note: 2007/5/13에 블로그에 작성한 글을 옮겨왔습니다.

1045774396.jpg

 

"소프트웨어 컨플릭트 2.0: 시대를 뛰어넘는 즐거운 논쟁 (위키북스, 2007)"

소프트웨어 공학을 전공했음에도 개인적으로 스티브 맥코널류 의 책들을 지루해 합니다. 아니 지루해 했습니다. "말로는 누가 못하나..."와 같은 식의 사고를 가진 사람 중에 하나이지요. 그럼에도 "소프트웨어 컨플릭트 2.0"은 너무 재밌었습니다 (사실, 관리적인 측면을 다루는 후반부는 조금 지루했습니다.)

수십년이 지난 과거에 대해서 얘기하는 책임에도 단지 사용되는 프로그래밍 언어와 유행하는 패러다임의 차이 정도를 제외하고는 지금의 현실과 너무나 동일합니다. 에이다의 유행에서 자바의 유행으로 구조적 패러다임에서 객체지향 패러다임으로의 유행으로 바꾸어서 보면 모든 설명이 그대로 맞아 떨어집니다.

도구에 대한 맹신을 통해 품질측정과 설계가 자동화 될거라고 착각하는 사람들과 내용보다 표현에 치중하는 사람들에 대해 경고하고 있지만, 지금도 사람이라는 가치를 배제하고 UML교를 숭배하는 사람들을 볼 때면 표기법만 달라졌을 뿐이군요. (UML 비하 발언 아닙니다. 제가 참여하고 있는 모임명이 UML5라고요 ^^)

 사람과 경험을 중요시 해야 한다는 그의 논지는 애자일스럽다라고 표현하겠습니다. XP와 같은 방법론이 이름을 가지기 오래전부터 사람이 중심이고 경험이 최고의 가치라고 생각했군요. 그럼에도 아직도 적용되지 않고 있나봅니다.

 학회와 실무의 괴리감에 대해서도 핵심을 콕찝어서 비판하고 해결책을 찾습니다. 주변 개발자분들 중 상당수는 학교라는 집단 자체를 싫어합니다. 반대로 학교에서는 실무에 대해서 가치없는 일이라고 치부하기도 하지요. 상호협력의 시너지를 기대해봅니다.

 "현존하는 최고의 제품들은 모두 개인이 설계한 작품이다."라 는 구절이 있습니다. 맥클라나한이 휴가 기간동안 혼자서 만들었다는 스트럿츠(Struts) 프레임웍 (J2EE 패턴의 구현체로 볼 수 있으니 혼자서 설계한 작품이 아니라고 반박할 수 있겠지만 혁신임에는 틀림없기에...)이나 한슨이 PHP 작업을 하다가 단순 반복 작업이 지루해서 만들어냈다는 루비 온 레일스(Ruby on Rails) 프레임웍을 보더라도 복잡도가 크게 증가했다는 현재의 시스템에도 이 말은 참으로 맞아 떨어집니다.

 마치 한편의 역사책을 보는 것 같았습니다.  반복되는 역사속에서 똑같은 실수를 되풀이하는 미련한 짓은 그만두고 지금이라도 사람과 경험이라는 가치를 찾아야 할 것 같습니다. 개개인이 이런 가치를 구성하기 위해서는 "행복"이 우선되어야 하지 않을까요? ^^'

덧1) 컴퓨터 과학분야에서 가장 많이 참조되는 논문이면서 아무도 읽지 않는 논문이 1장에 등장하는 파나스의 논문이라고 글을 본 기억이납니다. 그 만큼 중요하면서도 "뻔한 얘기"라는 사고에 묻힌거겠지요. 저 역시 유명한 참조문헌은 읽어보지도 않았던 것 같네요 ...

덧2) 정말 오랜만에 감상평이군요. 사실 "경험"이 라는 키워드에 집중하면서부터 꽤나 재밌게 읽은 책들에 대해서도 "경험이 부족하니까..."라며 많이 지나쳤습니다. 지금 생각하면 경험이 풍부한 고수가 바라보는 시각만 필요한게 아닌 것 같네요. 앞으로는 부담없이 개인적인 생각을 올려보려고 합니다.