[Book] Software Creavity


이 책은 로버트 L 글래스의 작품으로, 오래전에 나온 책이지만, “이 분의 내공은 정말 굉장하구나”란 느낌을 받게 한다.

이분의 책은 “우리가 알지 못한 소프트웨어 공학의 사실과 오해”를 통해 처음 접하게 되었는데, 그 당시 충격을 받을 정도였다. 엄청난 대가가 햇병아리에게 어마어마한 내용을 가르치는 느낌을 받을 정도였으니까..

Anyway, 이 책의 내용은 소프트웨어는 창의적 능력이 필요한 것인지 아니면 규율이 필요한 것인지를 다룬다.

결국, 규율을 중시하는 프로세스 oriented이냐 아니면 유연함을 중심하는 창의성 oriented이냐이다.

결론만 놓고 보면 그때그때 달라요 인거 같다. agile이 나온것도 보면 waterfall의 반대작용으로 나온것이고 덜 규율적이고 덜 문서작업을 하도록 하기 위한 것으로 생각된다.

pattern이 있으면 anti-pattern이 있듯이 뭐가 좋다고 하면 거기에 반대해서 다른게 나오고 그러는 것 같다.

이 책에서 또 한가지 놀랐던 것은 A-7프로젝트의 SCR이었다. Software Cost Reduction(SCR) – 이것은 내가 한라공조의 HVAC controller를 모델링할때 reference하기 위해 많이 봤던 프로젝트였다… 그 프로젝트의 실체와 전말을 그 책을 알게되어 놀랐다. SCR이라는 프로젝트가 formal specification의 우수성을 입증하기 위해서 실시한 것이었으나, 시간이 지날수록 본래의 목적을 달성하지 못하였고… 해군들은 결국 기존의 소프트웨어를 사용하고, 연구팀에서 수행하던 코드들은 전부 버렸다는 사실에 깜짝 놀랐다.

대학원때 정형검증쪽을 공부하면서 형식주의자가 된다는 것은 상당히 매력이 있는 것 같았고, 수리철학을 공부하면서도 그 내용에 매료되었었는데, 정형명세의 한계를 알고 좀 기분이 좋지는 않았다.

하지만, 무엇이든 좋은 점이 있으면 나쁜 점이 있는 법이고, 그런 의미에서 봤을 때 형식주의적 접근법이 만능이 될 수 없다는 것은 인정해야 할 것 같다. 많은 경험을 해볼 수는 없었지만, 분명 형식주의적 접근법은 매력적이고 나를 흥분시키는 방법임에는 분명한 것 같다. 다른 사람들이 쉽게 그것을 하지 못한다는 것이 내겐 더 매력적이었던 거 같기도 하고..

그런 방법이 대중화되는 것은 좀 쉽지 않을 것 같다. 다만 정형검증의 application이라고 할 수 있는 모델 기반의 test case 자동 생성은 그나마 성과라면 성과랄까…하지만 그것도 약점이 있긴 하겠지만..

이 책을 실용서라고 할 수 있을까 라고 물어본다면 긍정적 답변을 하긴 어려울 것 같다. 하지만 소프트웨어 공학의 근간을 연마하기 위한 목적이라면 매우 유용한 책임에는 틀림없다. Technic적인 것을 찾기 위해 읽으려고 한다면 실망이 클 것이고 이 무슨 개풀뜯는 소리냐고 할지 모르겠다.

프로세스에 대해 개발자들에게 무조건 닥치고 지키라고 강요하는 그런 사람들(품질관리자, 경영자, 프로세스 컨설턴트)이 있다면 이 책을 권하고 싶다. 이해할 수 있을지 모르겠지만..이해한다면 많은 반성을 하게 할 책이라고 생각한다.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s