ݺߣ

ݺߣShare a Scribd company logo
워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드
박재석 대표 / ㈜ 투씨드
Waterfall to Agile
About Waterfall
• Waterfall의 특성
• 절차 지향적 흐름과 이에 따른 System 구성
• 각 영역의 전문성에 보다 초점을 두고 단계/순차/체계적 진행
• 프로젝트의 진행 과정을 세분화하여 관리의 용이성을 제공
• 목표물이 과정의 후반부에 가시화 되는 특성
이상과 현실의 괴리…
우리가 해냈어!!!! ………
Why?
• 현실적인 상황과의 괴리로 인한 문제들 발생
• 잦은 요구사항의 변경 또는 명확하지 않은 요구사항
• 같은 단어 다른 의미
• 각 단계 영역 별 분리로 인한 빠른 대응의 어려움
• 사용자 피드백에 의한 개선이 어려움
What?
• 어떠한 것들을 검토하고 어떻게 개선해야 하는지??
• 현행 업무 진행 형태에 대한 고찰
• 순차적 방식의 개선? 다른 방법론의 적용?
• 업무 환경 및 문화에 대한 개선 방향?
• 개선에 따르는 조직 개편 및 비용은?
Goal?
Culture System
Human
• 계획 기반의 기존 방법론에 대한 대안
About Agile
• 절차와 도구를 넘어선 개성과 화합
• 종합적인 문서화를 넘어선 동작하는 소프트웨어
• 계약과 협상을 넘어선 고객과의 협력
• 계획 준수를 넘어서 변화에의 대응
eXtreme Programming
Scrum
Feature Driven
Test Driven
Adaptive Software Development
Waterfall vs Agile
Waterfall
• 현업, 개발, 운영이 모두 분리
• 협업의 경우 개별 방안에 의해 진행
• 요구사항, 산출물, 소스 각각 분리
• 빅뱅 형태의 대규모 배포를 진행
• 다양한 개별 업무 시스템 사용
Agile
• 현업, 개발, 운영의 유기적인 협업
• 협업 환경을 기본으로 최대한 공유
• 요구사항부터 산출물까지 모두 연결
• 잦은 배포를 통한 Risk 감소
• 통합 및 최대한 자동화 된 협업 환경
이 또한 현실은…
팀장님은 그저 나에게 Agile을 잘 하라고 하셨지…….
그런데 나는 누구….여긴..어디? 홀호렇ㄹ핧라ㅓ
Agile을 활용하기 위한 System 구성
• System을 구성하기 위해 검토해야 할 요소
• 경험적 프로세스 제어 모델의 반영
• 요구사항–설계–Backlog–개발 산출물–배포에 이르는 통합 연계 환경
• 각 업무 간 협업 및 공유가 가능한 환경
• 잦은 변화에 대해 민첩하고 원활한 대응이 가능한 구성
How?
• Agile을 추구하지만 추종하지 않는 형태
• 현실과 이상의 괴리를 최소화 할 수 있는 합의점을 도출
• 기존 자산과의 원활한 융합
• 빅뱅형태의 개선보다는 물 스미듯 점진적인 개선
• System의 구성 방안
Agile 기반의 ALM
통합 IT 업무 관리
협업관리
코드리뷰요구관리
산출물관리
버전관리Process관리
빌드/배포관리지표관리
Atlassian을 통한 Agile구성
Atlassian for Agile
각 기능 별 Module
Module 구성
업무 전반의 공유
협업 관리
C o l l a b o r a t i o n
Configuration
신속한 변경
C o n f i g u r a t i o n
다양한 Add-on
확장성
요구사항 및 협업 관리
• 요구사항 및 Spec에 대한 상세 관리
• 일정과 회의록/산출물 등 업무 공유
• 전체 업무 및 지식에 대한 공유의 공간
• 그룹/주제 별 커뮤니케이션
• 언제 어디서나 상호 의견을
교환하고 이력을 관리
• 알림을 통해 진행되는 업무
의 흐름을 공유
• 통합 연계를 통한 전체 흐름
에 적극적 참여
Backlog 및 결함 관리
• Scrum / Kanban과 같은 Agile Practice를 위한 Backlog 관리
• Epic – Story – Task로 이어지는 상세 업무 log 관리
• 필요한 업무 Flow를 구성하고 Tracking을 통한 가시화
• 결함을 관리하고 이에 대한 세부 내용의 연계 및 관리
• ALM의 기본 Hub로써 전체 업무 흐름을 관리
소스 관리와 Build/배포
• Git 기반의 강력한 버전관리
• 변경 통제 및 공유
• 다양한 방식의 Code 관리
• Code 검색/리뷰 등을 통해 Code 품질 관리
• 지속적인 Build/배포
• 잦은 Build/배포를 통한 결함
최소화
• 손쉽고 원활한 통합 자동화
환경 구성
Atlassian for Agile Practice
• Atlassian을 활용한 Agile Practice 적용
• 요구 정의 및 Epic – User story - Task에 이르는 Backlog 관리
• Daily standup meeting 등 진행 회의/협의에 대한 이력 관리
• 협업을 통해 업무 이력을 관리하고 지식을 공유
• 진행 이력 기반의 회고를 통해 점진적인 개선 진행
Atlassian for Agile Practice
① Backlog 관리
• 요구사항의 정의 및 이를 통한 Backlog 산출 이력 관리
• Epic의 정의 및 Story와 Task의 실행 Process 관리
• Scrum / Kanban 등 업무 특성에 따른 관리형태 구성
• 전체 흐름에 대한 상호 연계 및 추적 환경 구성
Atlassian for Agile Practice
② 이력 관리
• 모든 회의에 대한 이력을 관리
• 협의를 통한 변경을 추적 관리하고 상호 연계를 통해 사유 추적
• 공유 된 일정 및 기능 상세 등의 지식 정보를 기반으로 회의/협의
• 요청부터 진행 상세 변경에 이르는 요건 변경에 대한 이력 관리
Atlassian for Agile Practice
③ 협업 관리
• 업무 관련 지식 공유
• 전체 진행 개요 및 상세를 공유
• 주제 별/ 그룹 별 채팅을 시작으로 실제 업무 진행 및 결과까지 연계
• 알림 메일 대신 메신저 형태의 실시간 자동 알림
Atlassian for Agile Practice
④ 회고 및 개선
• 진행 결과에 따른 회고 및 이에 대한 이력 관리
• 문제에 대한 공유를 통해 반복적인 실패를 예방
• 업무 이외의 시스템 및 프로세스에 대해서도 회고 및 개선
• Module 단위의 시스템 구성을 통해 단계적 적용 방안 가능
적용사례 (Project)
Configure
요구사항 정의
Project 정의,개요,가이드
개발/환경 가이드
회의록 / 산출물
WBS
기능명세
테스트/배포 일정
지표/보고서
Main Task (Story)
Defect
배포
Issue
Sub Task (Task)
기타 Workflow
Version 관리
CI/자동화 관리
배포/이행 관리
Documents
Document
Feature
UX/Process
Source 검색
Code review
1단계
업무 분석 및 Sprint 적용
2단계
Process 고도화 및 기능 개선
3단계
지속적인 프로세스 개선
Step
적용사례 (Operation)
Configure
기능 요구 정의
업무 정의,개요,가이드
개발/환경 가이드
회의록 / 산출물
일정 정의
테스트 시나리오
테스트/배포 일정
지표/보고서
Main Task (Story)
Defect
배포
Issue
Sub Task (Task)
기타 Workflow
Source 검색
Code review
정적 분석
J Unit 테스트
Version 관리
CI/자동화 관리
배포/이행 관리
기존 System
ITSM (결재)
영향도 분석
Dev framework
요구사항 관리(TBD)
System 연계 – SSO / Middle ware / Service 등
Feature set
Use case / Mock Up
요구사항 Feature 관리
테스트 관리
테스트 시나리오
테스트 진행관리
통합 연계 관리
통합 연동 관리
통합 관리 지표 구성
협업 관리
그룹 채팅
1단계
기존 환경 분석 및 협업 구성
2단계
자동화 및 연계
3단계
통합 및 지속적인 개선
Step
Demo
• Atlassian을 활용한 Process 진행 예제 시연
• Process에 Agile Practice를 적용한 형태에 대한 예시
• 운영 개발과 프로젝트 개발 각각의 특성에 맞추어 변경 방안 제시
• 상세 내용은 부스에서 추가 설명 제공
Demo
Scenario#1. 운영 개발 Process
- 현업으로 부터 전달받은 내용을 개발하고 적용하는 과정
1.요구사항 정의
- 요건 정의 및 협업
2.개발 요건 정의
- 개발 계획 수립
3.개발 진행 (Kanban)
- 개발 Process
3.빌드/테스트/배포
- 개발 적용 Process
현업/운영팀 개발 PM/PL 개발 담당자 운영 담당자
Demo Detail – Scenario#1
Step#1. 운영자로부터 개발 팀에 요건 접수 처리 과정
Demo Detail – Scenario#1
Step#2. 요청받은 개발 건에 대한 진행
Demo Detail – Scenario#1
Step#3. 개발 건에 대한 변경 반영 및 Build
Demo Detail – Scenario#1
Step#4. Jira 변경 처리 완료 및 배포
Demo
Scenario #2. 프로젝트 개발 Process
- 요건을 설계하고 이를 토대로 개발하여 전체 제품을 구성하는 과정
1.요구사항 정의
- 요건 정의
2.개발 요건 정의
- 개발 Backlog 수립
3.개발 진행 (Scrum)
- 개발 Process
3.빌드/테스트/배포
- Sprint 진행/완료
고객 개발 PM/PL 개발 담당자 현업/운영
Demo Detail – Scenario#2
Step#1. 고객으로 부터 받은 요구사항 정의 및 개발 요건 정의, 할당
Demo Detail – Scenario#2
Step#2. 요청받은 개발 건에 대한 진행(Sprint) 및 산출물 관리
Demo Detail – Scenario#2
Step#3. 개발 건에 대한 변경 반영 및 Build
Demo Detail – Scenario#2
Step#4. 개발 완료 (Sprint 종료) 및 회고
감사니다.

More Related Content

워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드

  • 2. 박재석 대표 / ㈜ 투씨드 Waterfall to Agile
  • 3. About Waterfall • Waterfall의 특성 • 절차 지향적 흐름과 이에 따른 System 구성 • 각 영역의 전문성에 보다 초점을 두고 단계/순차/체계적 진행 • 프로젝트의 진행 과정을 세분화하여 관리의 용이성을 제공 • 목표물이 과정의 후반부에 가시화 되는 특성
  • 4. 이상과 현실의 괴리… 우리가 해냈어!!!! ………
  • 5. Why? • 현실적인 상황과의 괴리로 인한 문제들 발생 • 잦은 요구사항의 변경 또는 명확하지 않은 요구사항 • 같은 단어 다른 의미 • 각 단계 영역 별 분리로 인한 빠른 대응의 어려움 • 사용자 피드백에 의한 개선이 어려움
  • 6. What? • 어떠한 것들을 검토하고 어떻게 개선해야 하는지?? • 현행 업무 진행 형태에 대한 고찰 • 순차적 방식의 개선? 다른 방법론의 적용? • 업무 환경 및 문화에 대한 개선 방향? • 개선에 따르는 조직 개편 및 비용은?
  • 8. • 계획 기반의 기존 방법론에 대한 대안 About Agile • 절차와 도구를 넘어선 개성과 화합 • 종합적인 문서화를 넘어선 동작하는 소프트웨어 • 계약과 협상을 넘어선 고객과의 협력 • 계획 준수를 넘어서 변화에의 대응 eXtreme Programming Scrum Feature Driven Test Driven Adaptive Software Development
  • 9. Waterfall vs Agile Waterfall • 현업, 개발, 운영이 모두 분리 • 협업의 경우 개별 방안에 의해 진행 • 요구사항, 산출물, 소스 각각 분리 • 빅뱅 형태의 대규모 배포를 진행 • 다양한 개별 업무 시스템 사용 Agile • 현업, 개발, 운영의 유기적인 협업 • 협업 환경을 기본으로 최대한 공유 • 요구사항부터 산출물까지 모두 연결 • 잦은 배포를 통한 Risk 감소 • 통합 및 최대한 자동화 된 협업 환경
  • 10. 이 또한 현실은… 팀장님은 그저 나에게 Agile을 잘 하라고 하셨지……. 그런데 나는 누구….여긴..어디? 홀호렇ㄹ핧라ㅓ
  • 11. Agile을 활용하기 위한 System 구성 • System을 구성하기 위해 검토해야 할 요소 • 경험적 프로세스 제어 모델의 반영 • 요구사항–설계–Backlog–개발 산출물–배포에 이르는 통합 연계 환경 • 각 업무 간 협업 및 공유가 가능한 환경 • 잦은 변화에 대해 민첩하고 원활한 대응이 가능한 구성
  • 12. How? • Agile을 추구하지만 추종하지 않는 형태 • 현실과 이상의 괴리를 최소화 할 수 있는 합의점을 도출 • 기존 자산과의 원활한 융합 • 빅뱅형태의 개선보다는 물 스미듯 점진적인 개선 • System의 구성 방안
  • 13. Agile 기반의 ALM 통합 IT 업무 관리 협업관리 코드리뷰요구관리 산출물관리 버전관리Process관리 빌드/배포관리지표관리
  • 15. Atlassian for Agile 각 기능 별 Module Module 구성 업무 전반의 공유 협업 관리 C o l l a b o r a t i o n Configuration 신속한 변경 C o n f i g u r a t i o n 다양한 Add-on 확장성
  • 16. 요구사항 및 협업 관리 • 요구사항 및 Spec에 대한 상세 관리 • 일정과 회의록/산출물 등 업무 공유 • 전체 업무 및 지식에 대한 공유의 공간 • 그룹/주제 별 커뮤니케이션 • 언제 어디서나 상호 의견을 교환하고 이력을 관리 • 알림을 통해 진행되는 업무 의 흐름을 공유 • 통합 연계를 통한 전체 흐름 에 적극적 참여
  • 17. Backlog 및 결함 관리 • Scrum / Kanban과 같은 Agile Practice를 위한 Backlog 관리 • Epic – Story – Task로 이어지는 상세 업무 log 관리 • 필요한 업무 Flow를 구성하고 Tracking을 통한 가시화 • 결함을 관리하고 이에 대한 세부 내용의 연계 및 관리 • ALM의 기본 Hub로써 전체 업무 흐름을 관리
  • 18. 소스 관리와 Build/배포 • Git 기반의 강력한 버전관리 • 변경 통제 및 공유 • 다양한 방식의 Code 관리 • Code 검색/리뷰 등을 통해 Code 품질 관리 • 지속적인 Build/배포 • 잦은 Build/배포를 통한 결함 최소화 • 손쉽고 원활한 통합 자동화 환경 구성
  • 19. Atlassian for Agile Practice • Atlassian을 활용한 Agile Practice 적용 • 요구 정의 및 Epic – User story - Task에 이르는 Backlog 관리 • Daily standup meeting 등 진행 회의/협의에 대한 이력 관리 • 협업을 통해 업무 이력을 관리하고 지식을 공유 • 진행 이력 기반의 회고를 통해 점진적인 개선 진행
  • 20. Atlassian for Agile Practice ① Backlog 관리 • 요구사항의 정의 및 이를 통한 Backlog 산출 이력 관리 • Epic의 정의 및 Story와 Task의 실행 Process 관리 • Scrum / Kanban 등 업무 특성에 따른 관리형태 구성 • 전체 흐름에 대한 상호 연계 및 추적 환경 구성
  • 21. Atlassian for Agile Practice ② 이력 관리 • 모든 회의에 대한 이력을 관리 • 협의를 통한 변경을 추적 관리하고 상호 연계를 통해 사유 추적 • 공유 된 일정 및 기능 상세 등의 지식 정보를 기반으로 회의/협의 • 요청부터 진행 상세 변경에 이르는 요건 변경에 대한 이력 관리
  • 22. Atlassian for Agile Practice ③ 협업 관리 • 업무 관련 지식 공유 • 전체 진행 개요 및 상세를 공유 • 주제 별/ 그룹 별 채팅을 시작으로 실제 업무 진행 및 결과까지 연계 • 알림 메일 대신 메신저 형태의 실시간 자동 알림
  • 23. Atlassian for Agile Practice ④ 회고 및 개선 • 진행 결과에 따른 회고 및 이에 대한 이력 관리 • 문제에 대한 공유를 통해 반복적인 실패를 예방 • 업무 이외의 시스템 및 프로세스에 대해서도 회고 및 개선 • Module 단위의 시스템 구성을 통해 단계적 적용 방안 가능
  • 24. 적용사례 (Project) Configure 요구사항 정의 Project 정의,개요,가이드 개발/환경 가이드 회의록 / 산출물 WBS 기능명세 테스트/배포 일정 지표/보고서 Main Task (Story) Defect 배포 Issue Sub Task (Task) 기타 Workflow Version 관리 CI/자동화 관리 배포/이행 관리 Documents Document Feature UX/Process Source 검색 Code review 1단계 업무 분석 및 Sprint 적용 2단계 Process 고도화 및 기능 개선 3단계 지속적인 프로세스 개선 Step
  • 25. 적용사례 (Operation) Configure 기능 요구 정의 업무 정의,개요,가이드 개발/환경 가이드 회의록 / 산출물 일정 정의 테스트 시나리오 테스트/배포 일정 지표/보고서 Main Task (Story) Defect 배포 Issue Sub Task (Task) 기타 Workflow Source 검색 Code review 정적 분석 J Unit 테스트 Version 관리 CI/자동화 관리 배포/이행 관리 기존 System ITSM (결재) 영향도 분석 Dev framework 요구사항 관리(TBD) System 연계 – SSO / Middle ware / Service 등 Feature set Use case / Mock Up 요구사항 Feature 관리 테스트 관리 테스트 시나리오 테스트 진행관리 통합 연계 관리 통합 연동 관리 통합 관리 지표 구성 협업 관리 그룹 채팅 1단계 기존 환경 분석 및 협업 구성 2단계 자동화 및 연계 3단계 통합 및 지속적인 개선 Step
  • 26. Demo • Atlassian을 활용한 Process 진행 예제 시연 • Process에 Agile Practice를 적용한 형태에 대한 예시 • 운영 개발과 프로젝트 개발 각각의 특성에 맞추어 변경 방안 제시 • 상세 내용은 부스에서 추가 설명 제공
  • 27. Demo Scenario#1. 운영 개발 Process - 현업으로 부터 전달받은 내용을 개발하고 적용하는 과정 1.요구사항 정의 - 요건 정의 및 협업 2.개발 요건 정의 - 개발 계획 수립 3.개발 진행 (Kanban) - 개발 Process 3.빌드/테스트/배포 - 개발 적용 Process 현업/운영팀 개발 PM/PL 개발 담당자 운영 담당자
  • 28. Demo Detail – Scenario#1 Step#1. 운영자로부터 개발 팀에 요건 접수 처리 과정
  • 29. Demo Detail – Scenario#1 Step#2. 요청받은 개발 건에 대한 진행
  • 30. Demo Detail – Scenario#1 Step#3. 개발 건에 대한 변경 반영 및 Build
  • 31. Demo Detail – Scenario#1 Step#4. Jira 변경 처리 완료 및 배포
  • 32. Demo Scenario #2. 프로젝트 개발 Process - 요건을 설계하고 이를 토대로 개발하여 전체 제품을 구성하는 과정 1.요구사항 정의 - 요건 정의 2.개발 요건 정의 - 개발 Backlog 수립 3.개발 진행 (Scrum) - 개발 Process 3.빌드/테스트/배포 - Sprint 진행/완료 고객 개발 PM/PL 개발 담당자 현업/운영
  • 33. Demo Detail – Scenario#2 Step#1. 고객으로 부터 받은 요구사항 정의 및 개발 요건 정의, 할당
  • 34. Demo Detail – Scenario#2 Step#2. 요청받은 개발 건에 대한 진행(Sprint) 및 산출물 관리
  • 35. Demo Detail – Scenario#2 Step#3. 개발 건에 대한 변경 반영 및 Build
  • 36. Demo Detail – Scenario#2 Step#4. 개발 완료 (Sprint 종료) 및 회고