바닥코딩

소프트웨어 개발 방법론 본문

방법론과 DevOps/방법론&협업관리

소프트웨어 개발 방법론

개발공부개발공부 2022. 3. 22. 23:04

소프트웨어 방법론?

 소프트웨어 방법론이란 소프트웨어를 생산하는 데에 필요한 프로그래밍 개발 과정들을 정리하고 표준화하여 프로그래머들이 프로그래밍 개발과정에서 각개인이 개발과정에서 일관성을 유지하고 프로그래머들간의 효과적인 협업이 이루어질수 있도록 돕기 위한 방법론을 의미합니다.

 방법론이라는 것은 결국 IT개발 회사, 혹은 회사가 아니더라도 공동의 목적을 달성하기 위한 프로젝트의 방향성을 제시해 주는 역할을 합니다.

소프트웨어 방법론이 필요한 이유

  일단 소프트웨어 방법론은 어떠한 절대적인 개념은 아닙니다. 대표적인 방법론들이 있지만(구조적 방법론, CBD방법론, Agile 등등)  수 많은 소프트에어 실제 개발 과정에 대한 각각의 맞는 개발 방법을 정의하고 있기 때문에, 개발집단은 분석을 통해 상황에 맞는 개발방법을 채택해서 사용하는 것이 중요합니다.

 가령 혼자 프로젝트를 진행한다고 가정해 본다면 개발에서 보고나 인수인계는 고려 사항이 되지 않을 것입니다.  구성원이 본인 혼자인데 보고체계가 있을 이유가 없고 그 외에도 집단이 아니기 때문에 고려사항에서 제외해야할 항목은 많을 것입니다. 그렇지만 일반적으로 우리가 프로젝트를 진행하데 있어 하나의 프로젝트에는 여러 구성원들이 힘을 합쳐 개발을 진행하게 됩니다.  그 이유에는 프로젝트의 사이즈 라던가 업무 분담, 영역차이, 이해관계등 아무튼 여러 이유가 있겠지만, 사실  그 이유들 보다는 여기서 주목해야할 점은 결국 개발업무를 하는데 있어 집단이 형성되야 하는 것이 프로젝트 완수와 필연관계에 있다는 것입니다.

 하나의 집단이 프로젝트를 하는데 있어 얻는 이점이 더 많지만  이전에 혼자 프로젝트를 진행한다고 가정했던 경우와 비교해 봤을 때  얻게되는 리스크는 고려야하할 사항들이 많아진다는 것일 겁니다. 각각의 구성원들을 어떻게 역할분담 해야하지?, 일정은 어떻게 나눠야 하지? 산출물에 대한 명세는? 개발 도구 , 문서 파일 프로그램들은 뭘 쓰지? 이러한 여러 고려사항들의 발생에서 방법론은 절대적인 정답은 아니지만 개발 사업에 방향성을 제시해 줄 것입니다. 그리고 이는 소프트웨어 방법론이 필요한 이유와 직결됩니다.