기능 구현 중심 개발의 문제-2에 이어서..


‘다른 요소의 무시’, 여러 가지를 같이 관리해야 하는데 한가지만 치우치면 다른 요소가 무시당하는 부작용이 발생한다. 예를 들면 우리나라는 70~90년대 경제 발전 중심으로 치우쳐 발전했다. 덕분에 경제는 발전했으나, 민주주의, 복지, 빈부격차, 문화, 인권은 더 안좋게 퇴보하기도 하는 등 부작용이 발생했다. ‘낙수효과’란 용어가 있다. ‘고소득층의 소득 증대가 소비 및 투자 확대로 이어져 궁극적으로 저소득층의 소득도 증가하게 되는 효과를 가르킨다.’ 그래서 고소득층, 대기업을 육성하듯이 경제, 복지, 정치, 문화, 인권 중에 경제를 우선으로 역량을 쏟아부으면 다른 분야도 낙수효과로 저절로 좋아질까. 좋아지는 분야도 있지만 처음부터 같이 신경써야 하는 부분도 있다. 우리나라 현대사를 보면 경제발전만 신경 쓰고 정치, 인권, 복지를 무시하여 몇십년동안 수많은 시민들이 억압 받고(광주사건등) 빈부 격차가 벌어졌다. 같이 관리 했으면 우리나라가 더 발전했을텐데, 지금의 사회를 이루기까지 지름길로 못가고 많이 돌아왔다. 소프트웨어도 기능 구현만 치우치면 소프트웨어에서 추구해야할 다른 좋은 가치를 의도적으로 또는 자기도 모르게 무시하게 된다. 


‘눈 앞의 이득이 큰 목표를 훼손한다.’, 기능 구현만 쫓게 되면 당장 눈 앞의 목표 달성에만 급급하게 된다. 세상에는 계획과 설계가 따르는 일이 많다. 집을 짓는 것도 설계와 계획이 필요하다. 축구도 포메이션 전술과 선수 배치등의 계획과 설계가 따른다. 연애도 설계와 계획이 따른다. 당장 오늘 데이트가 너무 좋아서 상대방의 마음은 아직인데 너무 앞서간다면 뜻대로 되지 않는다. 프로그래밍도 마찬가지다. 소프트웨어도 기능 구현을 넘어 유지보수성과 확장성을 고려한 계획과 설계가 있을 것인데 당장 기능 구현만 집착하다보면 소프트웨어의 큰 목표(=유연함, 유지보수성, 확장성, 재사용성 등)는 어긋나고 피해를 입는다. 단순히 이 목표를 놓치는 것에서 그치지 않고 심각한 피해를 끼칠수 있다. 기능 구현에 집착하다보면 코드가 중복되고 사이드 이펙트가 증가되는등 소프트웨어의 유연성에 직접적인 피해를 입힌다.


개발자가 기능 구현에만 치우치면, 기능 구현에 매몰되어 다른 소프트웨어의 중요한 가치를 보지 못한다. 의도를 했던 하지 않았던 다른 중요한 가치를 무시하게 된다. 그러다 보면 심지어 다른 중요한 가치를 훼손한다. 


Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요