태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

소프트웨어 프로젝트 성공이란?

2009/02/03 12:38 by 전규현
 All of Software 블로그를 RSS Feed에 등록을 해 놓으시면 편리하게 받아보실 수 있습니다. rss RSS Feed

소프트웨어 프로젝트 성공을 한마디로 말하면 다음과 같습니다.

"주어진 시간에 주어진 비용으로 요구된 품질의 제품을 만들어 내는 것"

여기서 가장 중요한 것은 시간과 비용입니다. 어차피 품질도 시간과 비용에 귀결됩니다. 
소프트웨어 공학은 이 둘을 충족시키기 위해서 즉, 최소비용으로 최소시간에 소프트웨어를 개발하기 위해서 40년간 연구되어온 실전 학문입니다. 즉 연구소에서 연구만 한 것이 아니라 실제 프로젝트에 적용이 되면서 계속 발전해 온 것입니다.

이 문장에는 많은 함축적인 의미가 있습니다. 
고객과 합의한 스펙은 만족했으나 최종 제품이 고객의 요구를 만족시키지 못하면 분석부터 잘못된 것이므로 진정한 성공으로 보기 어렵고, 개발과정에서 개발자를 너무 밤낮, 주말 가리지 않고 혹사해서 개발자가 몇몇 퇴사를 했다면 비록 종료 날짜는 지켰어도 시간과 비용 면에서 성공적이지 못하다고 할 수 있습니다.

하지만 몇몇 프로젝트에서는 프로젝트 성공을 절차를 지키는 것으로 굳고 믿고 있는 경우가 많습니다. 방법론의 프로세스를 따르고 그에 따르는 산출물들을 만들어내는 것을 중요하게 생각합니다. 특히 공공 프로젝트에서는 별 쓸모도 없는 문서를 많이 만들어 내야 하는 경우가 많은데, 담당자가 무슨 문서가 필요한지를 모르니 나중에 있을 문제를 회피하고자 대부분 그냥 모든 문서를 다 요구합니다. 문서를 봐도 뭔지 잘 모르고 그냥 책꽂이에만 장식을 해 놓고, 나중에 문제 생기면 어차피 개발자를 부를 것이면서 장식용 문서 또는 감사용 문서를 요구하는 것이지요. 또 중간에 감수도 있어서 중간에 요구하는 문서도 만들어내야 합니다.
이렇게 절차와 문서를 요구하는데도 잘 안되니 절차를 잘 안 지키는 것으로 생각하고 중간 마일스톤 단위로 또다시 점검을 하겠다고 하는 것인데, 무지가 가장 무섭다고 하는 말이 딱 떠오릅니다.

이런 환경에서 꾸준히 일을 하다 보니 개발자도 소프트웨어 개발에 꼭 필요한 문서가 뭔지 잘 모르고 문서를 제대로 만드는 훈련이 못하게 됩니다. 그리고 나서 자기 회사의 솔루션을 개발할 때는 헷갈리는 상황이 됩니다. 기존에는 갑이 요구하는 절차와 문서에 불평을 많이 했지만, 진짜 제대로 할 기회가 오면 제대로 하기 어려운 것입니다. 훈련이 안되어 있으니까요. 그렇게 부적합한 절차와 많은 문서를 만드느니 그냥 주먹구구식으로 똘똘 뭉쳐서 열심히 개발하는 것이 더 잘 됩니다. 이 방식으로 성공한 많은 선배들이 있으니까요. 

소프트웨어를 왜 개발하고 있고 어떻게 하는 것이 성공적인 개발인지 다시 한번 생각해 봤으면 합니다.
저작자 표시 비영리 변경 금지

전규현 소프트웨어이야기

Trackback Address: http://allofsoftware.net/trackback/66 관련글 쓰기
문서를 작성하면 더 오래 걸린다는 고정관념

최근에 국내 유수 대학의 컴퓨터 공학 교수를 만난 적이 있다. 그 교수님도 문서를 작성하면서 Software를 개발하면 더 오래 걸린다고 굳게 믿고 있었다. 어느 정도 이해가 되는 상황이다. 원래 소프트웨어 공학은 실전에서..

이슈를 모으기도 정말 어렵다.

많은 회사들이 개발 프로세스 개선을 하겠다고 선진 개발 방법론을 흉내내거나 실패한 대기업의 프로세스를 가져다가 적용하곤 한다. 복잡한 프로세스와 많은 Template를 가져다가 적용해보려고 하는데 대부분은 실패를 한다. 기초..

변화에 실패하는 9가지 고정관념

회사는 끊임없이 변화하지 않으면 지속 성장하지 못한다. 하지만 변화는 피와 살을 깍는 고통을 동반하고 또 많은 회사가 변화에 실패해서 성장하지 못하거나 사라져간다. 보통의 사람들은 대부분 변화를 싫어하고 기존에 하던대로 계속..

좋은 프로그래머가 되는 24가지 방법

1. 프로그래밍에 열정이 있어야 한다. 열정이 없고 즐기지 못하면 평생하기 어려운 일이다. 2. 프로그래밍 기초 원리를 완전히 이해해야 한다. 원리를 모르면 근본적인 해결을 할 수 없다. 3. 문제 해결 능력을 키워야 한다...

요즘 실리콘밸리에서는...

얼마전 실리콘밸리의 한 Startup company에서 CTO로 일하고 있는 오랜 친구가 한국에 놀러와서 같이 여행을 갔다. Informix에서 소프트웨어 엔지니어로 시작해서 한 20년 정도 일한 중국인 친구다. 같이 일을..

전문가 vs. 책임자

우리나라 조직문화는 전문가보다 책임자를 선호한다. 조직의 장이 책임을 지고 모든 일을 알아서 하는 것이다. 상명하복 관계 위주다. 경영자가 SW개발에 대해서는 잘 모르는 경우 누구 한명이 책임지고 개발해줬으면 하는 생각을 하..

소프트웨어 회사의 자산은?

소프트웨어 회사의 자산은 무엇일까? 흔히 개발자가 소프트웨어 회사의 재산이라고 한다. 이런 회사일 수록 회사가 가지고 있는 것은 정말 개발자밖에 없다. 또한 파악하기 어려운 한 무더기의 소스코드가 있다. 개발자들이 나가면 이..

관리자가 이런 일까지?

우리나라 SW 조직에서 관리자란 위치는 참 애매한 위치다. 물론 전문 관리자라면 얘기가 다르지만 왕년에 SW를 조금 개발해 본 경우가 애매하다. 개발팀에서 가장 경험이 많은 SW 개발자들이 주로 팀장이 되곤 한다. 이 경우와..

과거의 성공이 발목을 잡을 때

수많은 소프트웨어 회사들이 첫번째 성공을 거두고 나서 두번째 도약에 실패하고 사라져간다. 물론 첫번째 성공도 어렵지만 이미 성공의 경험이 있고 방법을 알고 있는 회사들이 두번째 또는 세번째에는 많이 실패하는 이유가 무엇일까?..

스펙을 제대로 작성하는 것은 구식이다?

'소프트웨어 개발 방법이 얼마나 발전했는데 아직도 스펙을 제대로 작성하고 개발을 하는가?' 라고 하면서 스펙 작성에 반대하는 주장을 하는 사람들이 있다. 스펙, 설계를 작성하고 구현을 하고 테스트를 하는 방식으로 개발하는 것..