SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
개발 프로세스 Briefing
(Waterfall Model)
마크베이스
SWEBOK
From www.swebok.org
Requirement
Requirement : Issues
• 현실적 문제 : 현실적으로 투자하기 힘듦
• 긴급한 개발 및 Ad Hoc 요구 사항
• Role & Responsibility confliction
• Who is the major decision maker?
• Market forecasting?
•  아직 초기 단계, 시간과 노력, 투자 필요
Requirement Mgmt
• 누가?
• Product Manager를 보유한 조직
• 그 역할과 수행 방식이 조직의 성숙도와 관련
• 언제?
• About Product Manager Group (CTO, PM, PGM, AK)
• 시스템 
Design
Interface Design : Issues
• 인터페이스를 결정하는 주체는 누구인가?
• 그 결정이 정확한지 어떻게 판단하나?
• 실제로 내용의 혼용
• 설계 이후 변경에 대한 형상관리
• Product Manager
• Tech + Market
• 한국에서는 생소한 개념
Interface Design
• 사용자 관점에서 인터페이스 설계
• SQL Specification
• User API (CLI, ODBC, ADO.NET)
• Server Usability
• Message
• 이 문서가 사용자 매뉴얼에 대한 기반 자료로 활용
• 기술적인 Survey (Feasibility 테스트)
• Review
• Senior 개발자에 의해서 반드시 리뷰되어야 함.
• 일관성, 변경 범위, 고객 요구사항과의 매칭
• 다양한 관점에서 제품의 완성도를 높일 수 있게 함.
• 테스트 설계 시작
Detail Design : Issue
• Drill Down Level Problem
• 개발자 마다 깊이가 다름
• 문서의 형태와 순서가 다를 수 있음.
• 형상 관리 문제 : 구현시 설계 Defect 발생 
Document Feedback?
Detail Design
• 문서를 통해 실제 구현 단계까지 고려
• 제품의 전 영역에 영향을 미치는 부분까지 세밀하게
• SQL 기능 추가?
• SQL Spec 매뉴얼
• Embedded SQL Spec 변경
• ODBC, CLI, ADO.NET, JDBC, CDBC …
• Protocol? Replication? GUI Admin Tool
• 리뷰 필요 (Architect, Senior Developer)
• 아키텍쳐 관점, 복잡도 관점, 알고리즘 등등..
• 테스트 설계 및 수정
Construction
(Implementation)
Implementation : Issue
• 가장 섬세하고, 중요하다고 여겨지는 단계
• 자칫, 구현단계에 편향될 가능성이 높음.
• But, 모든 단계가 공평하게 중요하다는 관점 필요
• Bug Injection 이 가장 많이 발생.
• 시스템화를 통한 표준화가 핵심!
• 소스코드의 가독성, 유지 보수성, 독립성
Implementation
• 가장 복잡하고, 다양한 Activity
• 개발 가이드 라인
• 호환성, 변경 가능성, 성능
• 코딩 규약
• nbasis
• Error handling
• Coding convention
• 리뷰 시스템
• 테스트 구현
• 테스트 시나리오의 실제 구현 단계
Testing
Testing : Issue
• 누가 할 것인가?
• 테스터(QA Staff)
• 언제 할 것인가?
• 어떻게 할 것인가?
• But,
• 개발 프로젝트에 대한 이해
• 테스터의 역량 부족
• 테스터 자체의 업무 선호도
• 개발자와 테스터를 분리하는 작업 진행중.
• 최적의 비율은?  1:1 vs 5:1
Testing
• 품질 본부 산하 QC 조직을 통해 프로젝트 테스팅
• 개발자와 테스터의 분리 개념 도입
• 현실적인 문제와 이상과의 괴리를 좁히기 위한 노력
• 오라클의 경우 개발자와 테스터의 조직이 명확히
분리
• MS의 경우 1:1 의 비율로 유지, 타이틀도 개발자로
명명
• SUN의 경우 프로젝트 재무성과에 따라 1:1에서 10:1
까지 동적으로 부여
• 우리는 어떻게 발전시켜 나가야 하나?
Release
Management
Release Mgmt
• 정식 릴리즈 (12~24개월)
• Major Upgrade (v1, v2, v3…)
• 메이저 릴리즈 (3~6 개월)
• Minor Upgrade (2.0, 2.1, 2.5…)
• 패치 릴리즈 (2~4 주)
• Minor Upgrade (2.1.1, 2.5.1, 2.5.2…)
• 제대로 릴리즈를 하기 위해 별도의 조직이 필요한가?
• Yes!
• 비전문화된 형태로 Ad Hoc Release
• 국내에서 아직 세분화되지 않은 영역!
Maintenance
유지/보수
• 가장 힘들고, 지난한 작업이자, 가장 중요한 작업 중의
하나
• 제품의 품질과 밀접하게 연관
• 유지보수 프로세스 필요
• 유지 보수 정책의 필요성
• 제품 개발 측면의 유지보수
• 고객 지원 관점에서 유지보수
• CDR Review (Critical Design Review)
• 기반 정책에 부합하지 않은 요구 사항에 대한 의사
결정 프로세스
• 예) 2.0 에 LSM 인덱스를 넣어달라…

Contenu connexe

Tendances

소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
영기 김
 
임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기
OnGameServer
 
Deview nhn애자일개발 ci
Deview nhn애자일개발 ciDeview nhn애자일개발 ci
Deview nhn애자일개발 ci
NAVER D2
 
E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답
NAVER D2
 
테스팅을위한선행조건 명세
테스팅을위한선행조건 명세테스팅을위한선행조건 명세
테스팅을위한선행조건 명세
규동 최규동
 

Tendances (20)

Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
 
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
Atlassian Bamboo를 활용한 이상적인 DevTestOps 환경 구축 - 모우소프트
 
플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto
 
테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)
 
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
 
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘
 
임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기
 
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
 
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질
 
Deview nhn애자일개발 ci
Deview nhn애자일개발 ciDeview nhn애자일개발 ci
Deview nhn애자일개발 ci
 
E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
 
자바 프로그래밍 Agile(1장 시작하기)
자바 프로그래밍 Agile(1장 시작하기)자바 프로그래밍 Agile(1장 시작하기)
자바 프로그래밍 Agile(1장 시작하기)
 
테스팅을위한선행조건 명세
테스팅을위한선행조건 명세테스팅을위한선행조건 명세
테스팅을위한선행조건 명세
 
워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드
워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드
워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드
 
Code Review - DevOn2013
Code Review - DevOn2013Code Review - DevOn2013
Code Review - DevOn2013
 
Ui test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsUi test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + Jenkins
 
행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스
 

Similaire à 04 워터폴모델-개발프로세스

제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발
Terry Cho
 

Similaire à 04 워터폴모델-개발프로세스 (20)

VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
 
소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
 
모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리모바일, 클라우드, 웹 환경에 필요한 DB관리
모바일, 클라우드, 웹 환경에 필요한 DB관리
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOps
 
모바일, 클라우드, 웹 환경에 필요한 DB관리 II
모바일, 클라우드, 웹 환경에 필요한 DB관리 II모바일, 클라우드, 웹 환경에 필요한 DB관리 II
모바일, 클라우드, 웹 환경에 필요한 DB관리 II
 
2022 01-okky-코드리뷰
2022 01-okky-코드리뷰2022 01-okky-코드리뷰
2022 01-okky-코드리뷰
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
 
모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
DevOps
DevOpsDevOps
DevOps
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
 

Plus de Andrew Sungjin Kim (6)

지식 공유 시스템
지식 공유 시스템지식 공유 시스템
지식 공유 시스템
 
소프트웨어 개발 세미나 소개
소프트웨어 개발 세미나 소개소프트웨어 개발 세미나 소개
소프트웨어 개발 세미나 소개
 
InfiniFlux vs influxdb 비교 테스트 결과 2016 12월-v2
InfiniFlux vs influxdb 비교 테스트 결과 2016 12월-v2InfiniFlux vs influxdb 비교 테스트 결과 2016 12월-v2
InfiniFlux vs influxdb 비교 테스트 결과 2016 12월-v2
 
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
 
Infini flux 소개-성능비교
Infini flux 소개-성능비교Infini flux 소개-성능비교
Infini flux 소개-성능비교
 
I flux 소개-slideshare
I flux 소개-slideshareI flux 소개-slideshare
I flux 소개-slideshare
 

04 워터폴모델-개발프로세스

  • 4. Requirement : Issues • 현실적 문제 : 현실적으로 투자하기 힘듦 • 긴급한 개발 및 Ad Hoc 요구 사항 • Role & Responsibility confliction • Who is the major decision maker? • Market forecasting? •  아직 초기 단계, 시간과 노력, 투자 필요
  • 5. Requirement Mgmt • 누가? • Product Manager를 보유한 조직 • 그 역할과 수행 방식이 조직의 성숙도와 관련 • 언제? • About Product Manager Group (CTO, PM, PGM, AK) • 시스템 
  • 7. Interface Design : Issues • 인터페이스를 결정하는 주체는 누구인가? • 그 결정이 정확한지 어떻게 판단하나? • 실제로 내용의 혼용 • 설계 이후 변경에 대한 형상관리 • Product Manager • Tech + Market • 한국에서는 생소한 개념
  • 8. Interface Design • 사용자 관점에서 인터페이스 설계 • SQL Specification • User API (CLI, ODBC, ADO.NET) • Server Usability • Message • 이 문서가 사용자 매뉴얼에 대한 기반 자료로 활용 • 기술적인 Survey (Feasibility 테스트) • Review • Senior 개발자에 의해서 반드시 리뷰되어야 함. • 일관성, 변경 범위, 고객 요구사항과의 매칭 • 다양한 관점에서 제품의 완성도를 높일 수 있게 함. • 테스트 설계 시작
  • 9. Detail Design : Issue • Drill Down Level Problem • 개발자 마다 깊이가 다름 • 문서의 형태와 순서가 다를 수 있음. • 형상 관리 문제 : 구현시 설계 Defect 발생  Document Feedback?
  • 10. Detail Design • 문서를 통해 실제 구현 단계까지 고려 • 제품의 전 영역에 영향을 미치는 부분까지 세밀하게 • SQL 기능 추가? • SQL Spec 매뉴얼 • Embedded SQL Spec 변경 • ODBC, CLI, ADO.NET, JDBC, CDBC … • Protocol? Replication? GUI Admin Tool • 리뷰 필요 (Architect, Senior Developer) • 아키텍쳐 관점, 복잡도 관점, 알고리즘 등등.. • 테스트 설계 및 수정
  • 12. Implementation : Issue • 가장 섬세하고, 중요하다고 여겨지는 단계 • 자칫, 구현단계에 편향될 가능성이 높음. • But, 모든 단계가 공평하게 중요하다는 관점 필요 • Bug Injection 이 가장 많이 발생. • 시스템화를 통한 표준화가 핵심! • 소스코드의 가독성, 유지 보수성, 독립성
  • 13. Implementation • 가장 복잡하고, 다양한 Activity • 개발 가이드 라인 • 호환성, 변경 가능성, 성능 • 코딩 규약 • nbasis • Error handling • Coding convention • 리뷰 시스템 • 테스트 구현 • 테스트 시나리오의 실제 구현 단계
  • 15. Testing : Issue • 누가 할 것인가? • 테스터(QA Staff) • 언제 할 것인가? • 어떻게 할 것인가? • But, • 개발 프로젝트에 대한 이해 • 테스터의 역량 부족 • 테스터 자체의 업무 선호도 • 개발자와 테스터를 분리하는 작업 진행중. • 최적의 비율은?  1:1 vs 5:1
  • 16. Testing • 품질 본부 산하 QC 조직을 통해 프로젝트 테스팅 • 개발자와 테스터의 분리 개념 도입 • 현실적인 문제와 이상과의 괴리를 좁히기 위한 노력 • 오라클의 경우 개발자와 테스터의 조직이 명확히 분리 • MS의 경우 1:1 의 비율로 유지, 타이틀도 개발자로 명명 • SUN의 경우 프로젝트 재무성과에 따라 1:1에서 10:1 까지 동적으로 부여 • 우리는 어떻게 발전시켜 나가야 하나?
  • 18. Release Mgmt • 정식 릴리즈 (12~24개월) • Major Upgrade (v1, v2, v3…) • 메이저 릴리즈 (3~6 개월) • Minor Upgrade (2.0, 2.1, 2.5…) • 패치 릴리즈 (2~4 주) • Minor Upgrade (2.1.1, 2.5.1, 2.5.2…) • 제대로 릴리즈를 하기 위해 별도의 조직이 필요한가? • Yes! • 비전문화된 형태로 Ad Hoc Release • 국내에서 아직 세분화되지 않은 영역!
  • 20. 유지/보수 • 가장 힘들고, 지난한 작업이자, 가장 중요한 작업 중의 하나 • 제품의 품질과 밀접하게 연관 • 유지보수 프로세스 필요 • 유지 보수 정책의 필요성 • 제품 개발 측면의 유지보수 • 고객 지원 관점에서 유지보수 • CDR Review (Critical Design Review) • 기반 정책에 부합하지 않은 요구 사항에 대한 의사 결정 프로세스 • 예) 2.0 에 LSM 인덱스를 넣어달라…