개발기초

개발 방법론 (Development Methodology)에 대해서

Veams 2023. 4. 19.

개발 방법론(Development Methodology)은 소프트웨어 개발 프로젝트의 생명주기를 관리하고 가이드하는 일련의 절차, 원칙, 프로세스, 도구 및 기술들을 포함하는 체계적인 접근 방식입니다. 개발 방법론은 프로젝트의 계획, 요구 사항 분석, 설계, 구현, 테스트 및 유지 보수와 같은 개발 과정에 대한 효율성과 품질을 향상시키는 데 도움이 됩니다.

 

방법론은 여러가지가 있겠지만, 폭포수 모델, 애자일, 데브옵스, 프로토타입, 스파이럴을 예시로 알아보겠습니다.

 

폭포수 모델(Waterfall Model)

  • 전통적이고 순차적인 개발 방법론으로, 각 단계가 완료될 때까지 다음 단계로 진행하지 않는 방식입니다. 
  • 요구사항 정의, 설계, 구현, 테스트, 유지보수 단계로 구성됩니다.
  • 단계가 순차적으로 진행되기 때문에, 변화나 수정이 어려울 수 있습니다.
  • 계획 및 문서화에 중점두며 변경 사항에 대처하기 어려워 실제 프로젝트에서의 유연성이 떨어진다.
  • 요구사항의 변동성이 적고, 명확한 목표와 일정이 정해진 경우에는 폭포수 모델 등의 순차적인 방법론이 적합합니다.

애자일(Agile)

  • 반복적인 개발 방법론으로, 짧은 주기 개발하고 검토하여 요구사항이나 디자인을 수정하는 방식입니다.
  • 변화에 대한 적응력이 뛰어나고, 프로젝트의 전체 진행 상황을 빠르게 파악할 수 있습니다.
  • 대표적으로 스크럼(Scrum), XP(eXtreme Programming) 등이 있습니다.
  • 빠른 개발과 유연성이 필요한 경우에 적합합니다.
  • 요구사항이 불분명하거나 변경이 예상되는 경우에는 애자일 등의 반복적인 방법론이 적합합니다.

 

데브옵스(DevOps) 방법론

  • 개발(Dev)과 운영(Ops) 팀 간의 협업 및 통합을 강조하는 방법론입니다.
  • 개발, 테스트, 배포, 모니터링 등의 프로세스를 자동화하고 지속적인 통합(CI) 및 지속적인 배포(CD)를 적용합니다.
  • CI/CI를 통해 개발 및 배포 속도를 향상시키고 소프트웨어 품질을 개선하는 데 목표를 두고 있습니다. 
  • 조직 내의 커뮤니케이션  협업 문화를 강화하고 빠른 피드백  개선 사이클을 통해 비즈니스 가치를 높이는 것을 목표로 합니다.

프로토타입(Prototype)

  • 초기 버전의 상품 및 서비스를 만든 뒤, 사용자의 의견을 빠르게 수용하며 요구사항을 검증하고, 수정 및 개선 합니다. 이를 통해 점차 발전시켜 나가는 방식입니다.
  • 사용자와의 소통을 강조하며, 빠른 피드백을 통해 개발 과정에서 발생할 수 있는 문제점을 조기에 발견하고 해결할 수 있습니다.
  • 빠른 시간 내에 원하는 결과물을 얻을 수 있는 장점이 있습니다.

스파이럴(Spiral)

  • 반복적이고 증분적인 개발 프로세스와 위험 분석 및 관리를 결합한 방법론입니다.
  • 목표 설정 - 위험 분석 - 소프트웨어 개발 및 검증 - 다음 단계 작업 계획
  • 프로젝트를 여러 단계로 나누고 각 단계에서 위험을 평가하여 불확실성을 줄이고 프로젝트의 성공 가능성을 높이는 것을 목표로 합니다.
  • 위험 요소가 높고 복잡한 프로젝트에 적합하며, 조기에 위험을 감지하고 대응할 수 있습니다.
  • 과도한 문서화와 관리 비용이 발생할 수 있으며, 일정 및 예산 추정이 어려울 수 있습니다.

 

 

https://au.indeed.com/career-advice/career-development/software-development-methodology

 

What Is a Software Development Methodology? (With 11 Types)

Learn about software development methodology, including its definition, 11 types of software development methodologies and tips for choosing the right process.

au.indeed.com

https://positiwise.com/blog/what-is-software-development-methodology/

 

What is Software Development Methodology?

This article is about software development methodologies, explaining the basic definition of the most popular development method followed in the IT industry.

positiwise.com

https://www.tatvasoft.com/blog/top-12-software-development-methodologies-and-its-advantages-disadvantages/

 

Top 12 Software Development Methodologies

The software development methodology is a framework that is used to structure, plan, and control the process development of an information system.

www.tatvasoft.com

 

댓글