본문 바로가기
개발/소프트웨어 공학

소프트웨어 개발에 대한 오해와 실체

by re-hwi 2021. 12. 30.

이 단원에는 본격적인 개발자의 고민, 사람들이 가지고있는 개발자라는 직업의 인식을 설명한다.

 

나도 개발자라는 직업에 대해 가지고 있었던 여러 오해가 있었는데 이 단원을 통해 궁금증을 해소 할 수 있었다.

 

내가 가진 첫번째 오해는 작업을 하는 인원이 많으면 작업이 훨씬 쉬울것이다. 라고 생각했었는데 사실은 인원이 많을수록 작업은 더뎌지고 더욱 어려워진다는 것이였다. 

 

두번째 오해는 유지비용이 실제 설계할때의 비용보다 거의 대부분 훨씬 많이 나간다는 것이다.

 

나는 작품을 만들 때 만들면 끝인줄 알았다.

 

물론 여러가지 버그들이 있으면 패치를 통해 수정한다는 것은 알았지만, 그래도 처음 개발할 때의 단계가 가장 많은 비용을 쓰는 줄 알았다.

 

하지만 유지비용으로 인해 사라지는 프로젝트가 생각보다 되게 많다는걸 알았다.

 

개발 비용과 유지비용
개발 비용 33%
유지 비용 67%

 

  1. 소프트웨어와 관련된 질문
    1. 소프트웨어 시스템을 개발하는데 드는 비용중 코딩에 드는 비용은 20%밖에 되지 않는다.
    2. 중간사이즈의 시스템을 만드는데 한 프로그래머가 일년에 만드는 실행 코드는 평균 5000줄 이하 밖에 되지 않는다.

사용자에게 배달되는 소프트웨어의 시스템의 실행코드 1000줄당 예상되는 오류의 개수는 4개 미만이다.

    1. 사용자가 발견하는 소프트웨어 시스템의 오류는 제안서와 사용자 요구사항에 대한 잘못된 이해에서 기인하는 경우가 많다. (개발 단계중 요구사항 분석 단계에 해당)
  1. 소프트웨어의 위기
    1. 소프트웨어 생산성이 사용자의 서비스에 대한 요구를 따라가지 못한다.
    2. 소프트웨어의 품질이 향상되지 못한다.
    3. 대부분의 경우 프로그램 개발 일정과 소요비용의 예측이 매우 부정확하다.
  2. 소프트웨어의 위기의 해결책 
    1. 소프트웨어의 시스템개발은 일반적인 인식보다 더 어려우며, 그원인을 찾는것이 소프트웨어의 위기를 해소하기 위한 첫 걸음이다.
    2. 한가지 작업에 많은 사람이 붙는것이 좋지는 않지만, 프로젝트의 참여한 모든 사람이 문제점에 대한 정확한 인식과 목표를 가지고 조직적으로 해결하면 프로젝트를 성공적으로 완수 할 수 있다.
  3. 소프트웨어에 대한 오해

Q. 개발자에게 필요한 최신 기기를 도입하였으니 좋은 제품을 빠른 시일내에 완수할 것이다.

A. 개발은 사람이 하는 인간공학적인 측면이 강하며 개발 과정에서 좋은 도구나 기계가 사람을 대치하지는 못한다.

 

Q. 엔지니어들이 요구분석을 하고 있으면 생산적이지 못한 일을 하고있는 것이다.

A. 앞에 작성한 글처럼 개발자에게 분석이란, 첫번째 창조를 하고 있는것이다. 먼저 자신이 무엇을 창조해야하는지 정확히 알고 목표를 뚜렷히 가져야만 좋은 결과물을 얻을 수 있다.

 

Q. 공정이 지연될 때 인력을 더 투입하면 해결될 것이다.

A. 앞에서 말했듯 개발은 인력이 많으면 소요시간이 더 소요된다. 새로 투입된 사람들을 교육하고 의사소통에 많은 시간을 소요해야함으로 개발 활동시간이 더 줄기 때문이다. 

 

Q. 일단 프로그램을 만들어놓으면 우리의 할 일은 끝난다.

A. 앞에서 말했듯 개발은 완성되고 끝나는것이 아니다. 소프트웨어는 유지보수를 포함한 장기적인 안목에서 다루어져야한다. 시스템을 완성시키고 사용자가 실 사용을 하는것은 새로운 임무의 시작이다.

 

반응형

댓글