반응형
안녕하세요 서후아빠입니다. ^_^
이번 세션은 애자일 방법론과 대표적인 스크럼에 대해서 업무적으로 필요한 최소한의 개념에 대해서 간단히 정리해 보았습니다.
애자일 방법론 기원
구분 | 설명 | ||
군사 국방 분야 프로젝트 (Waterfall) |
계획한 절차대로 진행, 큰 변경사항 없음 : 프로젝트 말미에 결과물 도출 ※ 미사일 제작 의뢰 시 : 추가적인 디자인 변경 요구는 반려 |
||
민간 프로젝트 | 욕구 및 트랜드에 의해 제품 Life Cycle 점점 짧아짐에 따라 잦은 변경 필요 계획된 절차대로 진행 시 비효율적으로 경량 방법론 대두 |
||
경량 방법론 | 계획 중심이 중간점검 방식 (프로젝트 진행 중 고쳐 나가는 방식) 17인(Agile Alliance라고 지칭)의 방법론의 공통 사항을 발표 : 애자일 소프트웨어 개발 선언문 ※ 애자일 선언문은 추후 애자일 프로젝트 방법론으로 이어짐 |
방법론 종류 : 익스트림 프로그래밍(XP), 스크럼, 동적 시스템 개발 방법론, 적응형 소프트웨어 개발 방법론, 크리스탈, 기능 주도 개발론 |
애자일 방법론 핵심 가치
구분 | 설명 |
프로세스/도구보다는 개인과 상호작용 | 성공적인 프로젝트 수행의 3가지 요소(프로세스, 도구, 사람) 중 사람이 중요 - 이해관계자간 상호작용 또는 적극적인 의사소통 |
포괄적인 문서보다는 작동하는 소프트웨어 (소프트웨어 = 결과물) |
목적없는 문서 양산 및 문서화 자체가 목적이 되어서는 안됨 - 문서 자체가 불필요하다는 의미가 아님 - 전통적인 프로젝트 : 산출물 비중 높음 (고객요구정의서, 데트스 결과서 등) |
계약에 의한 협상보다는 고객과의 협력 | 시장상황 변화, 시제품 보고 변경사항 요구 발생 시 - 일정, 예산에 대한 고객과의 협상 |
계획을 고수하기보다는 변화에 대응 | 프로젝트는 점진적 구체화 특성 - 초기 설정된 업무범위, 일정, 예산은 가급적 준수 - 변화에 적절히 대응하면서 제약조건(QTC 등) 조정 |
애자일 방법론 원칙
구분 | 설명 |
1. 최우선 가치는 미리 그리고 지속적으로 가치 있는 소프트웨어를 전달하여 고객을 만족시키는 것 |
Waterfall : 요구사항 > 디자인 > 개발 > 테스트 > 배포 Agile : "계획 > 디자인 > 개발 > 테스트 > 배포" 과정을 지속적으로 반복 - 개발 가능한 항목, 모듈을 개발하고 고객에게 전달 |
2. 고객의 경쟁력을 위해서 개발 후반기라도 요구사항 변경 환영 |
개발 후반기 변경 요청 대응 가능토록 미리 프로세스 구축 필요 |
3. 작동하는 소프트웨어를 2주일~2개월 짧은 주기로 자주 전달 (1. 내용 구체화) |
고객 요구사항 분석 최고 방법 : 말&글 > 그림 > 시제품 > 실물 |
4. 이해관계자와 개발자는 프로젝트 기간 중 같은 공간에서 함께 업무 공유 |
이해관계자간 상호작용 또는 적극적인 의사소통 |
5. 동기부여된 개인들로 프로젝트를 구성, 그들이 필요로 하는 환경과 지원을 제공하고 일을 끝낼 수 있도록 신뢰 |
참여 의지 있는 사람들로 구성하고, 개인 의사 최대한 존중 편안하게 일할 수 있는 환경 조성 |
6. 가장 효과적/효율적인 정보전달방법은 대면 대화 |
읽기 방식(문서, 메일 등)보다는 말하기/듣기 방식(회의) |
7. 프로젝트 진척도의 주된 척도는 작동하는 소프트웨어 |
문서보다는 개발하는 소프트웨어(결과물) 자체가 중요 |
8. 지속 가능한 개발 장려, 스폰서/개발자/사용자는 일정한 속도를 유지 |
성과물 도출 시기에 과도한 업무로 인한 번아웃 발생 주의 일과 삶의 균형 가지고 프로젝트에 몰입할 수 있도록 환경 조성 (작업의 결과물로 팀원 관리 및 통제) |
9. 기술적 우수성과 좋은 설계에 대한 관심이 민첩성을 높임 |
관심에서 이어진 학습 등으로 습득한 지식은 더 좋은 결과물 산출 |
10. 간결함 (불필요한 업무 최소화) | 프로세스/도구에 지나치게 의존하면 결과물보다 과정에 집착하게 됨 요구사항 분명하면 분석에 시간 할애하지 않고 바로 개발 착수 |
11. 최고의 아키텍처, 요구사항, 설계는 "자기 조직화된 팀"에서 나옴 |
자기 조직화된 팀 : 지시 없어도 자기 주도적으로 업무수행/유기적 협력 - 팀원 스스로 계획/수행하도록 자율성/책임감 부여 - 프로젝트 매니저는 관리/감독/통제가 아닌 팀원 잠재력 발휘하도록 지원 |
12. 정기적으로 더 효과적인 방법 논의하고, 이를 바탕으로 팀 조정/조율 |
Waterfall : 프로젝트 종료 후, 평가(잘한 부분, 잘못한 부분)하고 공유 Agile : 프로젝트 중간중간 지속적으로 평가 수행 |
적극적인 소통 > 협력 > 즉각적인 피드백(중간 산출물, 지속/반복) > 최종 산출물 |
방법론 비교
구분 | 전통적인 방법론 (Waterfall 모델) | 애자일 방법론 | ||
개념 | 폭포수가 위에서 아래로 떨어져 내리는 것처럼 순차적으로 진행 확정된 요구사항은 가급적 변경하지 않음 |
계획보다는 고객이 중요하게 여기는 기능 먼저 개발 요구사항은 상황에 따라 변경될 수 있음 |
||
과정 | 요구사항 분석 > 설계 > 개발 > 테스트 > 수정/보안 ※ Bing bang Release : 프로젝트 후반에 결과물 도출 |
전체 요구사항 분석 > 여러 개 단위로 구분 > 단위별 수행 ※ 단위(스프린트) - 우선순위 기능 개발 > 리뷰 > 피드백 - 제품 개발에 초점 - 점진적으로 프로젝트 결과물 완성 |
||
프로젝트 매니저 | 프로젝트 초기에 팀원들 역할과 책임 명확하게 구분 때때로 적절할 작업지시 및 관리감독 |
자율과 책임감이 부여되도록 운영 프로젝트는 공동 책임 인식되도록 운영 |
||
프로젝트 팀원 | WBS에 근거하여 R&R 기반으로 맡은 분야 작업 | R&R에 얽매이지 말고 아이디어 도출 및 공유 고객과 적극적인 소통 (피드백) |
||
장점 | 단계 및 R&R 명확 상대적으로 관리 쉬움 |
중간 결과물 리뷰를 통해 재개발 방지 변화에 대응하기 쉬움 |
||
단점 | 결과물 보고 많은 변경사항 발생 (프로젝트 초기에 요구사항 모두 분석하기 어려움) |
계획의 불확실성 잦은 수정으로 최종 결과물이 다를 수 있음 상대적으로 관리 어려움 |
애자일 방법론의 전체 프로세스
구분 | 설명 | ||
제품 백로그 (Product Backlog ≒ 요구사항 정의서) |
프로젝트 결과물에 바라는 기능이나 특성 등을 정리한 문서 : PC에 저장 or 포스트 잇 프로젝트 결과물 도출에 필요한 모든 업무를 기술한 목록 프로젝트 전체계획 수립 시 활용 - 개략적 추진계획 도출 - 투입 공수 추정 - 개발 우선순위 검토 - 2~4주 단위로 집중 개발 목록 분할 (항목별 크기/난이도 따라 분할) 사용자 스토리 : 유사한 것끼리 묶음 |
||
스프린트 (Sprint) |
사용자 스토리에서 요구하는 기능 및 특성을 구현하는 단계 - 스프린트 계획 : 팀원들은 최적의 수행 방법 고민 - 데일리 스크럼 : 매일 팀원들의 업무수행 경과 논의 및 공유 - 스프린트 리뷰 : 고객과 결과물 확인 및 피드백 - 스프린트 회고 : 현재 스프린트에서 잘한 것과 잘못한 것 평가 |
||
프로덕트 오너 (Product Owner) |
프로젝트 매니저가 수행하거나 별도 담당자 지정 제품 백로그 생성, 고객과 협의하여 우선순위 조정, 새로운 항목 추가 프로젝트 계획 수립까지 중요한 역할 스프린트 시작 후에는 가급적 운영 관여하지 않는 것 추천 |
||
스크럼 마스터 (Scrum Master) |
프로젝트 팀원 업무 진행하도록 지원하고 업무 방해 요소 제거 상사나 관리자가 아니므로 프로젝트 팀원에게 업무 지정하지 않음 필요 시 스프린트 수행 단계 진행 팀 내에서 가장 신뢰받는 팀원이 역할 수행 권장 |
||
스크럼 팀 (Scrum Team) |
결과물 도출 및 구현 위해 노력 개인 업무는 팀 업무로 인식하고 서로 공유 |
제품 백로그 vs 요구사항 정의서 - 제품 백로그 : 피드백을 통해 우선순위 변경/추가되므로 우선순위 밀리는 요구사항은 구현하지 못할 수 있음 - 요구사항 정의서 : 전통적인 방법론, 프로젝트 종료시까지 모두 구현 애자일 방법론 특성 - 투명성 : 데일리 스크럼, 소멸차트, 스프린트 리뷰 등을 통해 프로젝트 진행상태 및 문제점 파악하고 해결 - 팀 공동 업무수행 : "개인업무 = 팀업무" 간주, 협력 통해 목표 달성에 최선 - 프로젝트 수행 자체에 초점 : 부가적인 관리 업무와 문서 작업 최소화하도록 환경 조성, 시각적인 도구 활용 스크럼 : 미식축구에서 차용, 쉽게 무너지지 않는 대형, 잘 짜여진 팀(스크럼팀=프로젝트팀) - Cross-Functional팀 : 전문성을 지닌 다양한 사람들의 모임 - 하나의 목표를 위해 프로젝트 팀원 모두가 일치단결해 효율적으로 움직이는 모습을 형상화한 표현 스프린트 : 전력질주, 특정 업무들이 시작되어 완결되어지는 작은 프로젝트 수행 기간, 명확한 목표, 목표에서 벗어나는 추가 요구는 백로그에 저장 |
애자일 방법론 적용 시 주의사항
구분 | 설명 | ||
문제점 | 애자일을 관리도구(관리/감독)로 인식 데일리 스크럼 회의가 목표를 잊고 보고의 장으로 변질 애자일은 문서/보고서 생성하지 않는다는 인식 : 문서/보고서 생성 최소화 원칙 야근하지 않는다는 인식 : 약속한 일정은 지키는 것이 필요 부적절할 사람이 스크럼 마스터 역할 수행하는 경우 |
||
적용 방안 | 초기 단계 : 애자일 방법론 이해, 조직 내부에 어떻게 적용할지 검토 - 기존 프로세스와 방법, 조직구조 등에서 개선사항 도출 - 조직에 맞는 애자일 적용 계획 수립 및 애자일 교육 진행 1) 전사 직원 대상 : 세미나를 통해 애자일에 대한 이해도 높이기 2) 프로젝트 리더 : 워크샵을 통해 이론과 실습 등 구체적인 실천방법론 학습 3) 경영진 : 워크샵을 통해 애자일 프로젝트 철학과 경영자의 역할 등 교육 시범 적용 단계 - 2~3개 팀 선정하여 시범적으로 적용 후 교훈을 정리하여 조직에 맞는 효과적 방법 도출 - 필요 시 애자일 방법론에 대한 교육 진행 확장 시범 적용 단계 - 시범 적용 결과 바탕으로 좀 더 큰 규모 프로젝트 혹은 사업부에 적용 전사 확산 단계 - 애자일 코칭 조직 구성 - 애자일 오피스 : 애자일 프로젝트 원활하게 적용되도록 돕는 팀, 애자일 교육/코칭, 적용 중 발생하는 이슈/갈등 해결하도록 지원 |
반응형
'Business Data' 카테고리의 다른 글
[업무지식] 애자일(Agile), 스크럼(Scrum) 이해하기 - 2편 (0) | 2023.04.28 |
---|---|
[업무지식] 프로젝트 수행에 필요한 8가지 관리 포인트 (0) | 2023.04.27 |
[업무지식] EDA (Event Driven Architecture) 이해하기 (0) | 2023.04.14 |
[업무지식] MSA (Micro Service Architecture) 이해하기 (0) | 2023.04.12 |
[업무지식] 신뢰성 지표 (MTTF, MTTR, MTBF) 및 SLA 이해하기 (0) | 2023.04.07 |