소프트웨어 공학으로의 산책

환영(Illusion)을 깨는 소프트웨어공학

그림의 주인공은 떨어지고 있을까요, 곤드레만드레 술에 취해 퍼져있을까요?

, 순식간에 우리는 그림 구석구석까지 보았을까요?

물론 보았습니다. 망막에 전달되었을 겁니다. 무엇이라고 단언하지 못할 정도의

짧은 시간에도 훈련된 우리의 머리는 벌써 판단 작업을 끝낸 상태에 빠지게

됩니다. 그림을 잘 보면 두 가지의 묘한 이미지가 들어오는데, 이렇게 모든 것을 인지하지

않고 자기식대로 읽어버린 것을 일루전(Illusion), 환영이라 합니다.

사람은 태어나면서 많은 환영을 갖게 됩니다. 그 중에는 진실이라고 믿을만한 것도 있으며

믿어서는 안될 것들, 그리고 믿었던 것들이 어느 순간에 깨어지면서 또 다른 진실이 만들어

지는 수도 있습니다. 모든 진실들은 환영과 같고 현실과 비교적 닮아있어 기대에 어긋나는

일들이 없는 것을 신뢰할만한 것 진실이라고 여기게 됩니다. 하지만 깨어진 것이 다시 진실

이 될 때도 있습니다.

……그때가 옳았어

하며 말입니다. 어째서일까요? 무엇이 깨어진 진실을 원래의 위치에 둘 수 있게 하는가에

대해 곰곰이 생각해보면 시간과 장소, 주위의 여건에 따라 맞는 진실이 각각 다르다는 것을

알 수 있습니다. 이전에 비해 다른 상황에서 진실은 깨어졌지만 또 다른 언젠가의 상황에서

는 깨어진 진실이 요긴하게 쓰일 일도 있을 것입니다.

우리는 컴퓨터에 흥미를 가지고 프로그래밍을 공부하면서 방법론이라는 말을 자주 접하게

됩니다. 방법론이란 무엇일까요? 어떠한 것을 처리하는 체계적인 무엇이라 할 수 있으며

그 어떠한 것이란 등장시기, 배경, 활용자원 등에 따라 그 시점에 동원할 수 있는 모든 것,

동원할 수 있지만 동원해서는 안 되는 것 등을 포함하게 됩니다. 이것은 개발 방법론

이라는 것 또한 범용적으로 적용될 수는 없으며 대상에 따라 적절히 첨가, 수정, 제거의

작업을 거쳐 재정립되어야 함을 말합니다.

, 여러분은 익스트림(eXreme)방법론, RUP(Rational Unified Process), CBD(Component

Based Design), 마르미 방법론 등의 것을 접해본 적이 있으실 겁니다. 또는 소프트웨어

개발분야로 진출하게 되면서 앞으로 접하게 되실 겁니다. 이러한 방법론은 흔히 기업의

최신기술 도입 과시용으로 선전에 사용되곤 합니다. 그러나 도입처와 원출처와는 상황이

똑 같을 수는 없습니다. 소프트웨어의 수요처가 같지도 않고, 수요처가 같다 하더라도

구태여 현재의 시스템으로 충분히 운용이 가능한 것을 재개발 하지는 않을 것이기 때문

입니다. RUP나 마르미 등을 도입하였다 하여 해당 기업이 기술원처와 같은 환경을 가질

수는 없으며 전체 공정 중 하나만 제거하려 하여도 큰 혼란에 빠지게 될 것입니다.

아이스크림을 샀는데 단 맛이 나지 않는 아이스크림이 되어버리기 일쑤입니다.

그래서 현재의 기업들은 각 기업 고유의 방법론을 구축하기도 합니다. 삼성SDS의 삼성SDLC,

동부정보기술의 동부SDLC, 현대정보기술의 HKMC , 그렇다면 기업의 고유의 방법론만으로

먹고 살 수 있는가 하면 그렇지 만도 않습니다. 많은 인력이 지금 이순간에도 전직을 희망

하고 있으며 습득한 방법론과는 달리 이리 튀고 저리 튀어버리는 프로젝트에 많은 날을

한숨과 함께 밤을 새는 개발자들의 유서와 같은 푸념을 여기저기서 쉽게 접할 수 있습니다.

같은 기업에서라도 해당 프로젝트에 따라 방법론은 다르게 구축되어야 합니다. 이전의 고객의

특정상품의 것이 현재 구축 하고자 하는 상품에 꼭 맞을 리 없습니다. 왜냐하면 우리는

생각, 정신을 구축하는 일을 하고 있기 때문입니다. 가능했다면 벌써 누군가가 개발카핑머

신을 만들어서 떼돈을 벌었을 것입니다. 이 방법론들은 소프트웨어 공학을 기초로 만들어

지고 소프트웨어 공학은 과학을 기초로 합니다. 과학이 호기심에 대한 충족이라면 공학은

현실에 대한 충족이라 할 수 있습니다. 과학을 현실로 도입시켜 유용하게 만드는 문이라고

할 수 있겠습니다. 이 소프트웨어 공학을 토대로 각 기업의 방법론 들이 구축되고 유명한

방법론들을 앞세워 과시도 하게 되는 것입니다.

때문에 방법론은 훔치고 감상을 할지언정 주입할 만한 것은 못됩니다. 누구의 피가 깨끗

하다고 해서 자고 있을 때 슬며시 주사기로 조금 빼서 내 몸에 놓고, 안심하며 잠에 들었

다가는 이틑날 평소 친한 지인들에게 둘러 쌓여 향을 피울지도 모를 일입니다.

이렇게 겉보기에 좋아 보이는 것들은 나도 그렇게 될 수 있다는, 또는 이전에도 성공했으니

이번 또한 성공할 수 있을 거라는 선입견, 환영을 가지게 합니다. 특정 방법론은 현재,

하고자 하는 일에 꼭 맞을 수는 없기 때문에 잔업이나 밤샘, 프로젝트 중도 포기

등의 부작용을 겪는 일이 다반사입니다. 그러나 소프트웨어 공학에 대해 잘 체득하고 있다

면 다른 방법론을 가지고 현재의 일에 잘 맞게 만드는 가공을 할 수 있을 겁니다. 어렵고

가공에 필요한 자원을 확보하기 위해 프로젝트에 참여하는 여러 이해관계자들을 설득 시켜

야 하는 수고가 있지만 일단 가공된 상태에서의 도입에 의한 부작용은 최소화 될 것입니다.

다운로드
bb_farmerain_farmerain.jpg (10.6KB)

의견 0 신규등록      목록