시스템개발 및 운영에서 팀의 구조는 매우 중요하다.
프로젝트 유닛
프로젝트 유닛은 하나의 시스템을 개발하는 최소 단위이다.
- 프로젝트 매니저 : 요구사항을 각 스크럼 팀에 분배하고 관리하며 다른 팀 간의 조율, 프로젝트 관리에 관련한 작업을 수행한다.
- 프로덕트 매니저 : 고객으로부터 시스템에 대한 요구사항을 수집하고 분석하여 시스템에 대한 요구사항을 정의하고 우선순위를 결정한다.
- 아키텍트 : 전체 시스템에 대한 구조를 설계한다.
- 스크럼 팀 : 하나의 스크럼 팀은 마스터를 포함하여 4~7명 정도로 구성된다.
- 스크럼 마스터 : 프로젝트 매니저로부터 받은 요구사항을 개발자에게 나눠주고 관리하는 역할을 한다.
- 개발자 : 마스터로 부터 받은 태스크를 구현한다.
- 테스트 : 해당 스크럼 팀에서 개발한 코드나 기능에 대해서 테스트를 진행한다.
관리 조직
- 프로그램 매니저 : 필수적으로 필요하며, 여러 개의 프로젝트를 동시에 관리하며 커뮤니케이션과 서비스에대한 운영, 고객지원, 판매 등 전반적인것을 관리
- 수석 프로덕트 매니저 : 팀 규모가 클 경우 존재한다.
- 엔터프라이즈 아키텍트 : 팀 규모가 클 경우 분업의 용도로 사용하는데 전체 시스템에 대한 전체적인 구조와 비느니스와 개발 간의 기술적인 소통 채널이 된다.
공통팀
- 빌드 엔지니어 : 전체적인 빌드 배포를 담당하는 엔지니어로 빌드 환경과 테스트 자동화 환경을 구축한다.
- 개발 환경 관리 엔지니어 : 개발환경에 필요한 전반적인 부분을 관리한다.
- 성능 엔지니어 : 전체 시스템에 대한 통합테스트와 시스템 테스트 집중관리한다.
- 프로젝트 관리 오피스 : 각 프로젝트 진행 상황을 모니터링하고 일정을 관리한다.
운영팀
- 인프라 엔지니어 : 하드웨어 장비에 대한 설치, 설정과 운영 담당
- 솔루션 엔지니어 : 미들웨어 운영
- DBA : 데이터베이스 운영자
계속해서 모니터링을 해야하므로 24/7 운영을 한다.
- Hand Over : 근무 시간이 끝난 후에 다음팀에게 인수인계 하는것
서비스 운영
관리자 : 서비스에 대한 관리를 한다.
고객지원 : 기술지원이나 고객 불만 접수 같은 고객 지원 서비스를 담당한다.
이 글은 코드프레소 DevOps Roasting 코스를 수강하면서 작성한 글입니다.
'소프트웨어 공학 > 소프트웨어 개발과 테스트' 카테고리의 다른 글
[SW] 코드 리뷰 (0) | 2020.01.27 |
---|---|
[SW] JIRA를 이용한 스크럼 프로젝트 관리 (0) | 2020.01.27 |