
소프트웨어의 지혜
블로그 by 김익환
서울공대. 스탠포드 전산학 석사. 미국 실리콘밸리에서 20년 글로벌 소프트웨어 회사 근무. 한국에서 안랩 부사장, KAIST겸직교수등 20년간 소프트웨어 회사 개발역량 글로벌화 컨설팅 수행. “대한민국에는 소프트웨어가 없다”, “글로벌 소프트웨어를 말하다, 지혜” 등 5권의 저서 출간.

All of Software
블로그 by 전규현
27년간 한글과컴퓨터, 안랩 등에서 수많은 소프트웨어를 개발하였다. 그 과정에서 경험한 실리콘밸리의 개발 문화와 소프트웨어 공학을 국내의 대기업부터 중소기업에 이르는 수많은 회사에 전파하고 글로벌 수준의 소프트웨어 역량을 갖출 수 있도록 컨설팅하고 있다. 저서는 “소프트웨어 개발의 모든 것”과 “소프트웨어 스펙의 모든 것” 있다.
투명한 개발 문화의 효과
흔히 투명한 개발이 효율적이고 좋다고 한다. 그 진정한 의미를 알아보자. 투명한 개발이란 개발에 관련된 거의 모든 정보와 지식이 공유되는 것을 말하지만 추가로 내가 강조하고 싶은 것이 따로 있다. 거의 모든 결정의 과정 및 결과가 공개되고 기록되는 것이다. 이것의 효과는 꽤 대단한다. 이슈관리시스템을 이용하여 모든 정보를 공개하는 것도 좋은 방법이다. 결정해야
고쳤으니 테스트 해주세요.
여기 두가지 테스트 방법이 있다. 우리 회사는 어떤 방법을 사용하고 있나 생각해보자. 첫째, 테스트 도중에 버그를 고쳐서 좀더 안정된 버전을 테스트팀에 계속 전달하는 방식이다. 테스트 한사이클을 도는데 2주일이 걸린다고 생각해보자. 테스트 기간내내 테스트 팀은 버그를 지속적으로 발견하여 보고를 할 것이다. 개발팀은 동시에 버그를 수정한다. 그리고 다음날 개발팀은 테스트팀이 보고한 버그를
거의 다 만들었어요.
"거의 다 만들어서 2주후에 개발이 끝나요" 이 말을 이해할 수 있는가? 우리 주변에서 소프트웨어를 개발할 때 흔히 들을 수 있는 말이다. 개발자들도 이렇게 얘기하고 관리자나 경영자도 대충 알아듣는다. 하지만 이런 대화는 여러 오해를 양산한다. 영업 담당자는 2주후면 고객에게 소프트웨어를 제공할 수 있는 것으로 착각하기도 하고, 경험이 좀 있는 관리자는 아직
인해전술이 오히려 프로젝트를 망친다.
일정이 촉박하다고 프로젝트를 빨리 끝내고 싶은 마음에 프로젝트 초기부터 대거 인력을 투입하면 오히려 프로젝트를 망칠 가능성이 더 높아진다. 프로젝트 초기에 분석/설계 단계에는 그렇게 많은 인력이 필요하지 않다. 많은 인력을 분석도 안된 프로젝트에 투입을 하면 놀 수 없는 개발자들이 인터페이스도 정의가 안된 모듈이나 라이브러리를 만들기 시작한다. 이것들 중 대부분은 나중에 다시
1:10:100 rule
소프트웨어를 개발하는데 있어서 꼭 알아야 할 규칙이 하나 있다. 바로 "1:10:100 rule"이다. 성숙한 개발문화를 가지고 있는 회사는 전 직원들이 진정으로 그 의미를 알고 있고 실행하고 있다. 하지만 우리나라의 크고 작은 대부분의 소프트웨어 회사 임직원들은 그 의미를 모르거나 알고 있어도 단어의 의미로만 알고 있고 진정으로 깨우치고 있지는 못하다. 소프트웨어를 개발하면서 발생하는