초보 개발자

소프트웨어 개발방법론: 무엇을 선택할까? 어떤 기준으로 결정할까? 본문

컴퓨터공학 전공/소프트웨어공학

소프트웨어 개발방법론: 무엇을 선택할까? 어떤 기준으로 결정할까?

mandudu 2022. 12. 8. 02:05

** 본 글은 차성덕 교수님의 소프트웨어공학이야기 책을 정리한 글입니다. **

 

소프트웨어 개발방법론은 여러 가지가 있고, 사람마다 견해가 다르다. 

경험한 개발방법론을 추천해주는 사람도 있지만 무엇을 채택해야 할지에 대한 답은 쉽게 내릴 수 없다.

적용된 분야가 다를 수 있고, 내가 경험해보지 않았다는 점 또한 큰 요소이기 때문이다.

 

- 작은 크기의 개발프로젝트는 사실 개발방법론에 큰 영향을 받지 않는다.

특정 개발론이 아닌 개발자들의 개인적 능력, 팀의 협력이 중요하다.

- 큰 크기의 프로젝트는 체계적인 계획과 적절한 개발방법론의 선택이 중요하다.

어떤 단계 및 절차를 거쳐 개발할 것인지에 대한 문서: 소프트웨어 개발 계획서 / 프로젝트 관리계획서

 

소프트웨어 개발 계획서 / 프로젝트 관리계획서

  • 단계별로 어떤 작업이 수행되어야 하는가
  • 단계별로 각자의 역할과 책임이 무엇인가
  • 어떤 툴을 사용하여 어떤 작업을 할 것인가
  • 다음 단계로 넘어갈 수 있는 기준은 무엇인가
  • 어떤 결과물이 생성되야 하는가 
    • 뒤에 쓰이지 않는 결과물은 생성하지 않도록 해야 한다.
    • 개발에서 생성된 각종 결과물들은 상호 연관되므로 변경 시 확인이 필요하다 (형상관리)
  • 각 작업의 진행도를 어떻게 확인할 것인가 - 객관적/물리적 지표
    • 예측치와 현재 요구사항 개수의 차이 (예측치가 없다면?)
    • 이미 식별된 요구사항에 대한 변경 빈도

 

어떤 방법론을 선택하든 개발자들이 따라야 하는 원칙은 존재한다.

ex) 요구사항 분석 - stakeholder의 참여, 의견 수렴 및 반영

ex) 시스템 테스트 계획 - stakeholder의 승인을 구한 후 관련자료를 남겨두기