7.1. 계획(Plan)
DevOps의 첫걸음: 계획(Plan) 단계
DevOps 접근 방식에서 ‘계획(Plan)' 단계는 프로젝트의 성공을 위한 필수적인 출발점입니다.
이 단계는 프로젝트의 목표와 범위를 정의하고, 필요한 리소스와 일정을 계획하며, 팀 간 협업을 촉진하는 전략을 수립합니다.
계획 단계는 세 가지 핵심 구성 요소로 나눌 수 있습니다
요구 사항 수집, 목표 설정, 그리고 리소스 계획.
요구 사항 수집
프로젝트를 시작하기 전에는 사용자의 필요와 기대를 정확히 파악하는 것이 중요합니다. 이를 위해서는 스테이크홀더 인터뷰, 시장 조사, 경쟁 분석 등을 통한 철저한 요구 사항 수집 과정이 필요합니다. 예를 들어, 소프트웨어 개발 프로젝트의 경우, 기능적 요구 사항(소프트웨어가 수행해야 할 작업)과 비기능적 요구 사항(보안, 성능, 유지 관리성 등)을 명확히 정의해야 합니다.
- 스테이크홀더 인터뷰: 프로젝트에 영향을 받는 모든 개인 또는 그룹과의 대화를 통해 필수적인 정보와 요구 사항을 파악합니다.
- 시장 조사: 유사 제품이나 서비스에 대한 시장 조사를 통해 고객의 기대와 업계의 표준을 이해합니다.
- 경쟁 분석: 경쟁사의 제품을 분석하여 미흡한 점이나 고객의 불만 사항을 파악하고, 이를 개선할 기회로 활용합니다.
예시: 한 소프트웨어 회사가 온라인 교육 플랫폼을 개발하는 경우, 사용자 설문을 통해 학습자들이 원하는 콘텐츠 유형과 인터페이스 기능을 조사할 수 있습니다. 또한 경쟁 분석을 통해 기존 교육 플랫폼들이 제공하지 않는 독특한 기능을 식별할 수 있습니다.
목표 설정
프로젝트의 목표는 구체적이고, 측정 가능하며, 달성 가능해야 합니다. SMART 기준(구체적, 측정 가능, 달성 가능, 관련성, 시간 기반)을 적용해 목표를 설정하면 프로젝트 팀이 명확한 방향성을 가지고 일할 수 있습니다. 예를 들어, “결제 프로세스를 개선하여 결제 시간을 현재의 30초에서 20초로 단축한다”는 목표는 이러한 기준에 부합합니다.
- SMART 기준 적용: 구체적이고 측정 가능하며 달성 가능하고 관련성이 있으며 시간 기반의 목표를 설정합니다.
- 분명한 마일스톤 정의: 프로젝트의 주요 단계별로 세부 목표를 설정하여 팀의 진행 상황을 모니터링할 수 있습니다.
예시: 위에서 언급한 온라인 교육 플랫폼 개발 프로젝트의 목표는 "2024년 말까지 새로운 학습 관리 시스템을 론칭하여 사용자 만족도를 현재보다 20% 향상시킨다."가 될 수 있습니다. 이 목표는 팀이 진행 상황을 정확하게 평가할 수 있게 합니다.
리소스 계획
적절한 리소스 배분은 프로젝트의 효율적인 진행을 보장합니다. 이에는 인적 자원, 기술적 자원, 그리고 시간적 자원의 관리가 포함됩니다. 각 팀 멤버의 역할과 책임을 명확히 하고, 필요한 하드웨어와 소프트웨어를 준비하며, 각 단계의 기한을 설정합니다. 리소스 계획의 중요한 부분은 위험 관리입니다. 예상치 못한 문제에 대비하여 예비 계획을 마련하는 것이 중요합니다.
- 인적 자원 관리: 각 팀 멤버의 역할과 책임을 명확히 합니다.
- 기술적 자원 할당: 필요한 기술적 도구와 소프트웨어를 제공합니다.
- 시간 관리: 각 프로젝트 단계의 기한을 설정하고, 일정을 관리합니다.
- 위험 관리: 예상치 못한 문제에 대비하여 계획을 수립합니다.
예시: 개발 팀은 인력 부족의 리스크를 관리하기 위해 유연한 인력 배치 계획을 세웁니다. 예비 인력을 확보하거나, 외부 전문가와 계약을 맺어 필요시 신속하게 대응할 수 있는 방안을 마련합니다.
계획 단계에서 수립된 명확하고 실현 가능한 계획은 전체 DevOps 사이클의 효과성과 효율성을 높이는 데 결정적인 역할을 합니다.
이 단계에 충분한 시간과 노력을 투자하는 것은 DevOps 접근 방식에서 매우 중요한 첫걸음입니다.
source: DevOps/7.Devops_Lifecycle/7.1.md