SW 개발방법론의새로운접근법 2015.07.16 발표자 : 신창섭이사 2015 Shin Chang Sub. All rights reserved.
방법론이란? 학원에서배우는방법론 프로젝트에필요한방법론? 프로젝트에서가끔만나는잘못된방법론 1
발표구성 Essence 개요 Essence 의필요성 적용사례 SEMAT Essence 정의 Essence 의구성요소 Practice-Centric Simple & Prctical 기본적인활용방안 기업의적용사례 2
Essence 개요 Essence 개요 Essence 의필요성 적용사례 SEMAT Essence 정의 Essence 의구성요소 Practice-Centric Simple & Prctical 기본적인활용방안 기업의적용사례 3
SEMAT Software Engineering Method and Theory www.semat.org Founded by the Troika in September 2009: Ivar Jacobson Bertrand Meyer Richard Soley 종래축적된다양한 SW 공학이론및베스트프랙티스들을공통의기본 커널및프레임워크위에서재정립 메타모델을정의하여상이한방법론의산출요소들간의복잡한관계명시 Essence 방법론간산출물의일관성및추적성유지 중복업무처리등으로발생되는낭비요소제거 4
ESSENCE : 방법론이아니라 Kernel and Language for Software Engineering Methods Enterprise Method Architecture 커널기본 3 원칙 Is a federation of Method Is composed of Practice Is described using Kernel ESSENCE Language Is defined in term of Most importantly the kernel is result-focused to make it executable. 5
목표달성을위한새로운기법 : 에센스 에센스는세계적인 IT 석학들이모여서만든방법론의국제표준 약 10 만개의방법론 > 약 300 개의 Practice > 7 개의 α 6
Endeavour Solution set up to address Customer Essence 1.0 ESSENCE : Alpha Alpha is an acronym for an Abstract-Level Progress Health Attribute. Opportunity provide Stakeholders use and consume focuses Requirement fulfils Software System support produces Scopes and constrains Work performs and plans Team Way of Working 7
ESSENCE : Alpha State and Check List Alpha State and Check List help you understand progress, targets and project health. 각상태별로확장가능한체크리스트가정의되어있음 8
ESSENCE : Activity Spaces The Activity Spaces provide descriptions of the challenges a team faces when developing, maintaining and supporting software systems 9
Endeavour Solution Customer Essence 1.0 ESSENCE : Competency A characteristic of a stakeholder or team member that reflects the ability to do work. Level Low Stakeholder Representation Assists Applies Analysis Development Testing Masters Adapts Innovates Leadership Management High 10
ESSENCE : The Language 에센스커널영역 각사의고유방법론영역 Template Checklist Role Guideline 11
Activity Space & Target Alpha State 12
SCRUM 예시 Scrum Practice Stakeholder Requirement Opportunity Product Vision Requirement Software System Product Backlog Product Increment Sprint Backlog Team Scrum Team Work Release Plan Sprint Plan Task Board Work Remaining Burndown Chart Way of Working Definition of Done Scrum Guide Role Product Owner Scrum Master Developer 13
SCRUM 예시 Explore Possibilities Product Envisioning Understand Stakeholder Needs Understand the Requirements Release Planning Prepare to Do the Work Coordinate Activity Sprint Planning Support the Team Daily Scrum Ensure Stakeholder Satisfaction Track Progress Sprint Review Sprint Retrospective 14
SCRUM 예시 Stakeholder Opportunity Requirement Software System Team Way of Working Work Product Vision <produce Product Envisioning Explore Possibilities Understand Stakeholder Needs Reconized Represented Involved In Agreement Identified Solution Needed Value Estab. Viable Release Plan Product Backlog Scrum Team <produce <produce <produce Release Planning Understand the Requirements Prepare to Do the Work Conceived Bounded Selected Principles Estab. Foundation Estab. Initiated Prepared Sprint Plan <produce Sprint Planning Understand the Requirements Coordinate Activity Coherent Formed Started Task Board Work Remaining Burndown Chart <produce <produce Daily Scrum <produce Support the Team Track Progress Collaborating Performing In Use In Place Under Control Product Increment <produce Sprint Review Ensure Stakeholder Satisfaction Track Progress Satisfied for Deployment Addressed Working Well Concluded Definition of Done <produce Sprint Retrospective Scrum Guide <produce 15
Essence 의필요성 Essence 개요 Essence 의필요성 적용사례 SEMAT Essence 정의 Essence 의구성요소 Practice-Centric Simple & Prctical 기본적인활용방안 기업의적용사례 16
1 Practice-Centric 2 Simple & Practical 17
방법론과현장의 GAP 과거에비해고객이원하는서비스는더욱다양화, 복잡화되고있음 따라서현장상황에맞춘프로세스대응은더욱어려워지고있음 예시 ) 컨설팅회사의방법론에대한고민 컨설팅회사의준비된서비스 고객이원하는컨설팅서비스 18
짧은수행기간의효과적대응 1 Reference Model 의활용 + 2 최적의 Practice 선택과조합 업무및정보시스템종합진단 미래형비즈니스지원설계 사용자업무경험환경개선 실용적 IT 아키텍처정의 IT 거버넌스항해지도만들기 전행 IT 종합진단방법론 Analytics 프로세스개선방법론 User Experience 방법론 EA/ISP 방법론 IT 관리체계개선방법론 고려요소 은행참조모델증권참조모델보험참조모델 차세대보험차세대개선과제차세대보험차세대보험차세대보험 Issue Pool Pool 개선과제정의프로세스모델데이터모델차세대보험이슈차세대보험차세대보험프로세스 Pool 개선과제 Pool 체계도 / 모델 구축목적 기업특성 View Depth Strategy Model Business Process Data IT Infra Management ISP EA ITG PI DI BI PM DM ITI UX SOA PMO ITPR 차세대보험개선과제정의 차세대보험데이터모델 요구사항 Application SA BS(Meta Data, BRMS) 선진기업벤치마킹을통한혁신주도관점 팀원역량 기업차별화를목적으로한경쟁력향상관점 19
짧은수행기간의효과적대응 1 Reference Model 의활용 + 2 최적의 Practice 선택과조합 업무및정보시스템종합진단 미래형비즈니스지원설계 사용자업무경험환경개선 실용적 IT 아키텍처정의 IT 거버넌스항해지도만들기 전행 IT 종합진단방법론 Analytics 프로세스개선방법론 User Experience 방법론 EA/ISP 방법론 IT 관리체계개선방법론 20
방법론간의 Best Practice 공유 방법론을이루는세부 Practice 관점에서는다수의서비스간에공유되는영역이존재 Depth View Business Process Data IT Infra Management Strategy PI ISP EA DI ITG Model BI PM DM ITI UX SOA PMO ITPR Application SA BS(Meta Data, BRMS) 21
방법론간의 Best Practice 공유 2e 의방법론들은타방법론들의장점들을서로모방흡수하며발전하여왔음 하지만효과적학습과적용에는상당한어려움이있었음 방법론영향도예시 서비스 성숙도 DI DW ISP DI 2.0 EA ISP 2.0 UX PI PI 3.0 PI 2.0 BIG data ISP 3.0 시간 22
새로운패러다임 : 프렉티스핵심이되다 RUP 와같은전통적프로세스는요구분석, TDD, 아키텍처, CBD 기반개발등각기다른 단위목적의성취를돕는 ( 눈에보이지도명확하지도않은 ) 프렉티스들을섞어놓은것과같다 1 각프렉티스는다른프렉티스와분리되어관리되며, 쉽게분리가능하도록구성 2 필수적인것과그렇지않은것을분리 3 명시적지식을암묵적지식으로부터균형적으로분리 4 프로세스를정의하는사람과사용자간의다른관점을분리 프렉티스를 Common Ground 위에구성하여서로호환가능 23
Social and other Cross-cutting Practice Technical Practice Essence 1.0 In the industry there are 300 s of practices Key : Peer Practice Extension Practice 24
Social and other Cross-cutting Practice Technical Practice Essence 1.0 We need to be able to select the practices we want Key : Peer Practice Extension Practice 25
and plug them together 26
Practice 란? Practice 에대한에센스표준에서의정의 특정한목적달성을위해어떤일을수행하는반복적접근법 주어진작업의까다로운부분을다룰체계적이고검증가능한방법을손쉽게제공 다수의방법론의부품이될수있음 27
Practice 예시 간단한카드 (View) 와체크리스트를가지고활용가능 28
Practice 조립적용사례 29
Practice 관리를위한출발! Essence 갈수록다양해지고변화하는고객요건에대한최적대응전략은 Practice 의효과적조합! 이를위한최적의표준이바로 Essence! 30
1 Practice-Centric 2 Simple & Practical 31
방법론의딜레마 방법론 ( 또는프로세스 ) 문서가구체화될수록 ( 두꺼워질수록 ) 읽는사람이점점줄어든다. 반대로문서가얇아질수록회의와교육이늘어난다 OR 32
33
간단한체크리스트의엄청난힘! Simple Checklists save lives why not software project? 34
Project Checklist! 35
Project Checklist! 36
무엇을가지고일을할지이해하기 37
무엇을해야할지이해하기 38
필요정보의확장및연결 카드에있는정보는핵심적인것만있지만다양한다른자원을연결할수있음 Hints & Tips Tools Common Mistakes Examples Review Guidelines Books / References Templates 39
필요정보의확장및연결 리소스와패턴을활용하여부가적인정보제공가능 40
적용사례 Essence 개요 Essence 의필요성 적용사례 SEMAT Essence 정의 Essence 의구성요소 Practice-Centric Simple & Prctical 기본적인활용방안 기업의적용사례 41
#1. 프로젝트플래닝 중요의사결정포인트결정 - Determine Major Decision Points 의사결정포인트정제 - Refine the Decision Points 세부사항결정 - Fill in more Details Decision Points Idea Development Production Decision to Start Dev. ( 코딩시작 ) Decision To Go Live ( 제품릴리즈 ) 42
#1. 프로젝트플래닝 - 알파를통한계획상세화 프로젝트승인전단계개발단계제품활용단계 Building the Business Case Developing the Software Operating the Software Skinny System Available Usable System Available Decision To Fund Decision To Go Live 43
#1. 프로젝트플래닝 - 방법론이다르면프로젝트계획도달라야! 단계 애자일방법론 전통적방법론 Requirements Software Sys. Requirements Software Sys. Before Approval ( 승인前단계 ) Conceived Bounded Architecture Selected Conceived Bounded Coherent Acceptable Architecture Selected Demonstrable Decision To Start In Development ( 개발단계 ) Coherent Acceptable Demonstrable Usable Useable Ready In Production ( 제품활용단계 ) Addressed Fulfilled Ready Operational Retired Addressed Fulfilled Operational Retired Decision To Go Live 44
#2. 프로젝트현재진행상황체크 - 알파와알파상태 Requirements 개념정의목적정의명세정의 이해관계자동의 구현 이해관계자만족 Software System Work Team 45
#2. 프로젝트현재진행상황체크 - 알파와알파상태 Requirements 개념정의목적정의명세정의 이해관계자동의 구현 이해관계자만족 Software System 완료 미완료 Work Team 46
#2. 프로젝트현재진행상황체크 - 상태카드를적용하여현황진단 Essence 1.0 Requirements 개념정의목적정의명세정의 이해관계자동의 미완료 구현 이해관계자만족 Software System 완료 Work Team 현재작업중 (Doing) 인일 47
#3. 여러프로젝트간진행상태비교 각프로젝트의 Practice 별진행상황 ( 현재상태, 소요시간, 투입자원등 ) 의체크를통해 프로젝트간의비교와지원이필요한프로젝트의식별등이가능해짐 프랙티스 Opportunity 프로젝트 A Requirement 프로젝트 B Work Way of Working 프로젝트 C 48
#4. 방법론점검및문제영역식별 (too much vs. too less) 49 49
#5. 팀역량분석 50
#6. 계획대비현황 Gap 분석 51
History of Munich Re ( 뮌헨재보험 ) 샌프란시스코대지진 Health 분야진출 재보험사설립 허리케인카트리나 52
뮌헨재보험 IT 조직 뮌헨의 IT 조직은글로벌거버넌스와서비스를통해비즈니스를지원 53
IT 서비스를글로벌하게제공받음 어플리케이션개발의조직은분야별로나뉘어짐 (PM, 요구사항, 기술아키텍처, 개발, 테스트 ) 서비스개발및테스트에대한아웃소싱및해외소싱의 비율이높음 문제점 분야별로제각각의엄격하게순차적이고인위적인접근방법론사용 새로운작업방식필요성대두 54
프로젝트특성에따른 4 가지 Starter Pack 방법론 MR Essentials SEMAT 에센스를적용 4 가지 Starter Pack 수립 Practice Stakeholder Opportunity Requirement Software System Team Work Way of Working 55
Structure of MR Essentials 56
MR Essentials Core Practices & Pool of Practices 57
시뮬레이션워크샵을통한경험공유및전파 Project Managers Coaching Community Munich & Americas 58
MR Essentials 프로젝트결론및시사점 SEMAT의개념이어플리케이션개발중작업방식을논의하고정의하는데매우효과적으로사용될수있음 SEMAT의개념은강력면서도매우실용적이고정교함 SEMAT의개념은소프트웨어엔지니어링접근방법에대해새로운접근법을제공 소규모의고도의전문가그룹에특히효과적 툴지원이필요함 59
뮌헨재보험 (MR) Essentials 프로젝트의의의 개선기회 전세계적으로분산된어플리케이션개발부서 국외아웃소싱비율높음 서비스품질수준제고필요 의의 각방법론을 20 개의 Practice 단위로부품화 4 가지유형의표준 Starter Pack 을마련 각프로젝트상황에따라 Practice 교환또는추가를통해유연하게프로젝트상황대처 60
후지쯔 기업환경및기업니즈 시장현황 후지쯔의포부 비즈니스응용프로그램에대한결정을내릴때기업은점점더복잡한환경에직면 비즈니스요구사항 비용절감에초점 변화의증가폭상승 경쟁우위를창조하고유지할필요 고객만족도와충성도의중요성 중요한비즈니스정보에대한수요 업계규정및표준준수 후지쯔의도전과제 기성품이아닌맞춤복! 하나의방법론으로모두 Way of Working Resource Service Delivery 커버하려는생각에서벗어남 애자일방법론에대한욕구 확장성있는방법론필요 CMMI 준수필요 61
후지쯔의선택, Essence!! 새로운접근법 획일적프로세스지양 국면에근거한시각 핵심기본구조 정확히필요한만큼의프로세스 에센스 방법론에대한고객의다양한요구사항충족 고객의요구사항을충족하기위한맞춤형방법론 에센스를적용하여개발과연계한프로그램관리툴인 Apt 개발 APT 툴프레임워크 확장성있고유연함 핵심기능이제어, 일관성및품질을보장하며이를통해프레임을확장함 방법론수립후툴내에서 WBS 및타스크자동생성 에센스에기반한방법론을全개발사이클에적용 62
후지쯔 Apt 특징 최신개발기술접목 Modern Development Techniques 63
후지쯔 Apt 특징 Apt 계획및엑티비티관리 Apt Planning & Activity Management 64
후지쯔 Apt 특징요약 서로다른국가및시간대에분산된팀의작업을효율성을매우높임 팀들이수행하기명확하고효과적으로일하는방식제공프로젝트요구사항및솔루션의복잡성과노력및시간척도의명확한연계저렴한비용으로빠른프로젝트시작관리상태및진행의실시간가시성직원과고객을위한현대적이며매력적인환경응용프로그램서비스에린접근방식을장려 견고하고신뢰할수있는개발인프라 높은품질과생산성을주는동시에방법론과도구의통합을통해시간과비용을 절약 Summary Benefits of Apt 65
에센스가후지쯔에준효익 How SEMAT benefits Fujitsu 다양한프랙티스생태계활성화, 지원및육성 공통적인근본프로세스언어 고객및파트너와의더나은프로세스통합 강력한작업파트너십을빠르게수립 린소프트웨어개발촉진 66
후지쯔의프랙티스추가 Manage Application Transition Application Value Assessment Test Management Manage Risk SOA Service Definition SOA Service Architecture Extension SOA Service Use Case Extension Business Use Case Fujitsu Architecture Development Method Manage Application Re-Platforming 67
후지쯔프로젝트의의의 개선기회 고객의요구와회사의표준방법론간의괴리발생 획일화된방법론탈피필요 비용절감과더불어변화에대한유연한대처필요 의의 방법론조립부터계획수립, 프로젝트실행, 전체모니터링등개발사이클全기간을에센스기반으로통합하여일관성확보 프로젝트관리도구와연계하여대규모프로젝트에사용가능한환경구성 68
컨설팅방법론에의접목 고객의다양한서비스요구에기민하게대응할수있도록컨설팅서비스의부품화를통해 시장에대응하고자재사용가능한 Practice 도출시범프로젝트수행 ISP 정보화수준진단비즈니스모델분석 IT전략수립목표아키텍처수립기술아키텍처검증실행계획수립 비즈니스모델분석 Opportunity Requirement Work Way of Working 개선기회 Biz Goal Analytic 분석 Theory 식별 PI 비즈니스모델분석프로세스분석 Biz 변화방향설계 목표프로세스설계실행계획수립변화관리 Explore Possibilities Understand Stakeholder Needs Understand the Requirements Shape the System Coordinate Activity Track Progress 엔터프라이즈이해비즈니스모델평가혁신목표설정목표 Biz 모델정의가설과모형개발통계분석, 모형검증 69
작업내용 - 1 기존방법론으로부터프랙티스후보분리 1 연구대상컨설팅서비스선정 2 컨설팅서비스프랙티스도출 3 정련대상프랙티스선정 4 대상프랙티스정련 5 프랙티스보고서작성 70
작업내용 - 2 기존활동과산출물을에센스에매핑 1. Alpha relevant 분석 Opportunity Stakeholder Requirements Software System 3. Outline Practice Work 프로젝트목록프로젝트정의서 프로젝트로드맵 Work 프로젝트목록프로젝트정의서 프로젝트로드맵 Team 추진체계정의서 Way of Working Prepare to Do the Work 프로젝트정의우선순위평가프로젝트로드맵수립 2. Activity Space vs. Activity relevant 분석 프로젝트정의 소요자원계획 기대효과분석 Explore Possibility Understand Stakeholder Needs Ensure Stakeholder Satisfaction Use the System Coordinate Activity 추진체계정의 Understand the Requirements Shape the System Implement the System Test the System Deploy the System Operate the System Team 추진체계정의서 Prepare to Do the Work Coordinate Activity Support the Team Track Progress Stop the Work 프로젝트정의 추진체계정의 우선순위평가 이행로드맵수립 소요자원계획 기대효과분석 71
작업내용 - 3 프렉티스완성 72
투이컨설팅프로젝트 ( 파일럿 ) 의의의 개선기회 컨설팅서비스간의 Best Practice 호환및전파 프로젝트상황에맞는유연한방법론구성능력필요 프로젝트인원의방법론에대한빠른적응필요 의의 파일럿을통해컨설팅서비스에에센스적용가능성확인 각방법론에대한강 / 약점의효과적분석 프랙티스중심의개선로드맵수립가능 73
요약 CBD, SOA 등다양한기술적관점의소프트웨어공학의발전이이루어졌지만정작 SW 개발방법론자체에대한공학적접근이미흡 이를해결하고자 SPEM, Essence 등표준이만들어지고있음 이제는소프트웨어개발경쟁력확보를위한방법론의효율화에대한노력을 Practice 관점으로전환하여야함 OMG 국제표준인 Essence 1.0 을활용하여기업내의방법론에대한자산화와국제적으로효과가입증된 Practice의도입과접목을시도할필요가있음 74
참고자료 1. OMG, Essence-Kernel and Language for Software Engineering Methods 1.0 Beta 1, July 2013. (http://www.omg.org/spec/essence/1.0/beta1/) 2. OMG, Essence Kernel and Language for Software Engineering Methods, Beta 2, March 2014. 3. Software Engineering Method and Theory (SEMAT) (http://semat.org/) 4. I. Jacobson, P. Ng, P. McMahon, I. Spence and S. Lidman, The Essence of Software Engineering: Applying the SEMAT Kernel, Addison-Wesley, 2013. 5. J. S. Park, Activity-Centric Mapping of Software Engineering Practices to Essence Kernel, KAIST, Daejeon, Korea, 2013. 6. C. Peraire and T. Sedano, State-based Monitoring and Goal-driven Project Steering: Field Study of the SEMAT Essence Framework, Carnegie Mellon University Silicon Valley, Moffet Field, 2013. 7. J. S. Park, P. E. McMahon and B. Myburgh, Scrum Powered by Essence, KAIST, Daejeon, Korea, 2014. 8. J. S. Park, Software Engineering and Essence Kernel, KAIST, Daejeon, Korea, 2014. 75
76