1.3) IT 개발 방법론
이전 과정에서 학습한 개발 프로세스는 말 그대로 개발을 위한 과정이었다. 이 개발 프로세스는 진행 환경에 따라 다른 방식으로 실전에서 적용할 수 있는데, 이를 '개발 방법론'이라 부른다. 환경에 해당하는 요소로는 개발 계획의 시간 규모, 투입된 인력의 특징, 체계적인 업무 구조 등이 있어 개발 목적에 따른 합리적인 개발 방법론을 선택해 운영한다. 대표적인 두 예시로 살펴보자.
● 워터폴 (폭포수형) 방법론
- 한 번의 개발 프로세스 주기를 물줄기가 한 방향으로 떨어지듯 차례대로 진행하는 방식.
- 최초로 정한 개발 내용을 정해진 기간 내에 각 프로세스 단계를 한 번씩 걸쳐 진행하므로, 한 사이클이 단일화된 요구사항을 따라 진행된다.
- 변수 없이 단계별 일정을 소화하도록 관리하면 되기에 프로젝트 관리가 수월하고 안정적으로 사이클이 진행되지만, 단방향으로 한 번만 진행되는 특성으로 변화에 취약하다.
- 문제없이 약속된 업무만 처리하면 되는 프로젝트나 외주형 개발에 용이하다.
● 에자일 (스크럼) 방법론
- 개발 과정에 발생하는 변화에 대응하기 위해 지속적으로 소통하며 프로세스에 반영하는 방식.
- 개발 프로세스를 단기로 쪼개서 한 주기로 삼고 반복하며 진행한다. 프로젝트 내외부적으로 소통하며 변화하는 가치를 잡기 위한 트렌드 방법론이다.
- 짧은 주기를 '스프린트'라 칭하고, 한 주기 내에 빠른 속도로 백로그 작성(요구 사항 정리 문서), 스프린트 계획, 스프린트, 잦은 빈도의 각종 회의, 피드백을 한꺼번에 진행한다.
- 변화를 대입하고, 수정하고, 보고하고, 기록을 작성하는 과정을 위해서는 높은 개별 업무 성숙도가 요구되고, 과정이 복잡해 리스크가 크다는 단점이 있지만, 높은 개발 효율과 빠르게 변하는 트렌드를 잡은 고완성도의 개발 품질을 얻을 수 있기에 최근 각광받는 방법론이다.
- 복잡한 과정의 흐름을 잘 따르는 능력치와 팀워크가 요구되기에 회사 내부적인 개발과 프로덕트형 개발 같은 경우에 쓰인다. (너무 크지 않은 팀규모에 유리함.)
1.4) 프로그램 개발 단계 중 비개발 부문
● 기획 / 고객의 요구 사항을 분석해 다른 업무자가 쉽게 이해하고 소통하도록 문서화하는 작업을 한다.
<상세 진행 과정>
1. 고객과의 미팅(소통)을 통해 요구 사항을 듣고, 주요 항목(기능명, 요구 사항, 상세 내용, 중요도, 난이도, 분석 일자, 관련 부서, 협의자, 이슈 사항 등)을 기재한 '요구 사항 분석서'를 먼저 제작한다.
2. 앞서 만든 요구 사항 분석서를 토대로 IA(Information Architecture)라는 개발 시스템의 뼈대가 될 문서를 작성한다. 특정 업무가 복잡할 경우에는 해당 부분을 개발자에게 자세히 설명해 줄 '프로세스 흐름도'를 추가로 작성해 디테일한 설명을 덧대기도 한다.
3. 마지막으로 실제로 개발한 프로그램 화면을 보여주는 '스토리 보드'를 작성하게 되는데, 이는 IA에 기술된 메뉴 정보와 화면 와이어프레임, 상세 설명을 포함해 전달한다.
● 디자인 / 기획을 하며 정리한 내용을 고객이 사용하기 용이하도록 미적으로 다듬는 작업을 한다.
<상세 진행 과정>
1. 고객과 소통하여 입맛에 맞는 '디자인 시안'을 제작한다. 고객에게 전달될 최종 프로그램을 대표할 화면 4~5개를 시안으로 제작하여 고객이 선택할 수 있도록 하고, 확정이 나면 본격적인 화면 디자인 업무를 시작한다.
2. 고객이 선택한 최종 시안을 가지고 이 시안에 맞게 디자인할 수 있도록 '디자인 가이드'라는 문서를 작성한다. 기본적으로 디자인 구성 요소(색깔, 스타일, 버튼, 텍스트 박스 등)를 기입한다.
3. 작성한 디자인 가이드를 토대로 한 명의 디자이너나 여러 명이 분담해 전체 화면을 디자인한다.
- UI (User Interface) : 유저에게 가시적인 모든 화면의 구성 요소들 (폰트, 색깔, 이미지, 레이아웃, 아이콘 등)
- UX (User Experience) : 유저의 경험을 고려한 모든 배치 방식 혹은 구성
● 총괄 업무 / PM(Project Management)에 해당하는 업무. 개발 과정을 총괄한다.
<주요 업무>
- 일정 계획 : 프로젝트 초기에 각 업무 특성에 따라 스케줄을 짜는 WBS(Work Breakdown Structure)를 작성해 업무 일정과 진척도를 관리하기 용이하게 한다.
- 일정 관리 : 계획한 대로 업무가 진행될 수 있도록 앞서 말한 WBS나 더욱 일정을 관리하기 쉽게 도와주는 Gantt Chart 같은 문서로 관리한다.
- 의사소통 : 프로젝트 내외부 간 대화나 보고 등 의사소통을 도우며 업무가 순조롭게 진행되도록 도운다. 진척도나 특이 사항, 중간보고 등을 브리핑해 관계자 이해관계에 도움을 줌.
'IT Self-study > (책) 개발자와의 협업을 위한 IT 필수 지식' 카테고리의 다른 글
| 2.8 ~ 2.9 (0) | 2024.08.06 |
|---|---|
| 2.6 ~ 2.7 (0) | 2024.05.12 |
| 2.4 ~ 2.5 (0) | 2024.05.05 |
| 2.1 ~ 2.3 (0) | 2024.01.18 |
| 1.1 ~ 1.2 (2) | 2024.01.05 |