4. SOFTWARE
• 전 산업 분야의 핵심으로 성장
• 지속적인 성장 추이
• 대형화, 복잡화 가속
• 빠른 변화
• 관리 역량 상위와 하위의 품질 격차 심화
5. S/W 개발 방법론
• SDLC (Software Development Life Cycle) • History
구조적 개발 방법론1970s
정보 공학 방법론1980s
객체 지향 방법론1990s
CBD 분석 설계 방법론2000s
경험적 개발 방법론NOW
Planning
Analysis
DesignImplementation
Maintenance
6. CMMI
• 능력 성숙도 통합 모델(Capability Maturity Model Integration, CMMI)
• 미국 SW공학 연구소(SEI)가 개발한 SW 및 시스템 개발 프로세스 개선 모델
• SW 개발업계의 Best Practice를 분석하고 성숙도 별로 정리한 프레임워크
• 조직의 개발 프로세스를 5 단계의 성숙도 레벨과 6 단계의 역량 레벨로 나누어 평가
프로세스 관리
• 조직내의 프로세스
• OID,OPD,OPF,OPP,O
T
프로젝트 관리
• 프로젝트 진행 통제
• PP,PMC,SAM,IPM,
RSKM,QPM
엔지니어링
• 기획,개발,검증
• REQM,RD,TS,PI,VE
R,VAL
지원
• 개발/유지보수 지원
• CM,PPQA,MA,DAR
,CAR
7. AGILE
• 경험적 프로세스 제어모델: 계획 기반의 기존 방법론에 대한 대안
• 절차와 도구를 넘어선 개성과 화합
• 종합적인 문서화를 넘어선 동작하는 소프트웨어
• 계약과 협상을 넘어선 고객과의 협력
• 계획 준수를 넘어서 변화에의 대응
eXtreme Programming
Scrum
Feature Driven
Test Driven
Adaptive Software Development
12. HOW?
CMMI 기반
Agile 활용
Best Practice 기반
üCMMI /PMBOK에 기반
ü선진 적용 사례 및 최신
Trend를 반영, 설계 최적화
ü Lightweight 프로세스 구축
üAgile 원리 적용
ü프로세스의 경량화 및 필수
산출물 정의
현실적인 문제점 개선에 초점
ü현행 장단점 기준 반영
ü관련 요구사항 및 의견 반영
13. HOW?
• 하고자 하는 방향은 최종적으로 어떤 것을 지향하고 있는가?
• 원하는 업무 구성을 위해 필요한 구성 도구는 어떠한 것들이 있으며 적합한 도구는?
• 맹목적인 이론적 배경 또는 유행을 추구하고 있지 않은가?
• 진행하고자 하는 변경에 대하여 다른 구성원과 충분히 공유와 합의가 이루어 졌는가?
• 적용 이 후에도 지속적인 변경을 통해 원활한 확장 및 변경이 가능 할 것인가?
Process Management Solution Culture Integration
점진적인 통합 및 가속화 효율적인 관리 환경 구성
14. PROCESS 경량화
프로젝트
계획
프로젝트
통제
요구사항
관리
공급자
계약관리
통합
프로젝트
관리
리스크
관리
프로젝트 관리(Level 2,3)CMMI Model
형상
관리
품질
보증
측정
및 분석
요구사항
개발
기술
솔루션
검증 확인
엔지니어링(Level 3) 지원 (Level 2)
범례 : 커버영역 비커버영역
• 진행하는 업무 성격에 알맞은 프로세스 선택적 활용
• CMMI Level 2, 3 영역의 13개 프로세스 세부 활동 중 핵심적인 활동만 수용 (약 50% 정도)
• 필요한 산출물만 검증하고 관리하여 개발과정에서 발생하는 산출물 작업을 최소화
(50~60% 개발 산출물 감소)
• 시스템을 최대한 활용하여 불필요한 작업을 최소화
15. 외부 활동/
상위관리자
프로젝트 관리자 협력업체 지원부서/시스템
1.프로젝트
수행준비
PMS
3. 프로젝트
목표정의
5. 개발방법 정의
6. WBS 및 일정
관리 계획
7. 조직 및 역할
11. 품질관리 계획
9. 의사소통 계획
12. 프로젝트
수행계획 검토
프로젝트 수행 계획
지원 요청
13. 프로젝트
수행계획 승인
14. 프로젝트
팀빌딩 및 킥오프
프로젝트 표준
WBS 제공
품질관리자
프로젝트
계약 체결
2.프로젝트
오리엔테이션
프로젝트 수행 계획서 작성
10. 교육훈련 계획
8. 인력투입 계획
4. 업무범위 정의
범례 : 프로세스 활동 : 타 프로세스 활동 :
PMS
PROCESS 와 SYSTEM
Process: Human + System System
17. CONCEPT
• Agile practice를 CMMI환경 기반에서 활용
• Atlassian 제품 기반의 산출물 관리 및 프로젝트 지침과 같은 기본 프로젝트 관리 체계의 구성
• Atlassian 제품을 활용한 CMMI + Agile 환경 구성
1.요구사항 정의
- 요건 정의
2.개발 요건 정의
- WBS정의
- 프로세스 통제
3.개발 진행 (Agile)
- 개발 Process 진행
3.빌드/테스트/배포
- 검증/배포
고객 개발 PM/PL 개발 담당자 현업/운영
18. PROJECT 관리 SYSTEM 구성 예시
Function
Project Task (Workflow)
프로젝트 정보
회의록/협의내용
요구사항
프로젝트 지침
프로그램 정의서
테스트케이스/결과
가이드 및 업무일지
테스트 배포
운영 배포
롤백
빌드
Version 관리
Code 검색/비교
업체 발주처 업체 발주처 업체 발주처
WBS Phase
분석
설계
구현
테스트
검증
이관
WBS (BigPictue)
Gantt
Project Info
기타 관리 Task
System 요청 Issue
작업 관리 Task
Task
Action Item
단위테스트
Filter/Dashboard
계획 수행검토 수행및통제 검증 이관 완료검토 완료
개발계획 및 일정관리
Bug
① 프로젝트 관리 ② 점검 및 모니터링
③ 협업관리
⑥ 세부Task관리
④ 자산관리
⑤ 개발관리
19. SYSTEM 구성 예시 - WBS
주요 기능
ü 프로젝트 별 WBS 를 구성하며, WBS 화면을 통해 전체 진행 사항 및 일정을 확인
ü 개별 항목은 Agile 기반 Workflow 진행
ü Issue/Risk에 대한 항목을 별도 관리
20. SYSTEM 구성 예시 - 점검 및 모니터링
주요 기능
ü 품질/보안/이관 점검 프로세스 적용
ü 수행계획/종료 및 검토/승인에 대한 각각의 프로세스
ü Dashboard를 통한 진행사항 확인/분석
Process Dashboard
점검 Checklist 관리 (보안 등)
프로젝트 진행 Process
Task 진행Process
역할 별 기능제한
21. SYSTEM 구성 예시 – 업무 진행
주요 기능
ü Jira의 고유 기능인 기본 Workflow 진행 방식과 Agile 형태의 Kanban 형태를 모두 활용
ü Agile 형태로도 고유의 프로세스를 진행 (Sprint, Kanban)
• 업무 권한 별 보여지는 진행 항목에 대해 구분
• 끌어다 놓기를 통해 상태 변경이 가능
• 해야 할 리스트를 보다 손쉽게 식별
기본 Workflow 진행
Kanban 보드 활용을 통한 진행
• Workflow의 이동 가능 단계가 버튼으로 표시
22. SYSTEM 구성 예시 - ISSUE/RISK
주요 기능
ü 프로젝트 별 문제 사항을 등록/관리하여 문제에 대한 식별 및 관리
ü 관리자는 전체 프로젝트에 대한 Issue 사항을 별도 취합 관리
Issue workflow 사용자
1.등록 및 편집
2.첨부/댓글을 통한 의견 공유
23. SYSTEM 구성 예시 – 협업/자산 관리
주요 기능
ü 프로세스 자산 및 기본 산출물 등 Project 관련 정보 검토/개선
ü 회의록 등 진행 정보 등록 및 댓 글을 통한 정보 공유
표준관리
Asset
가이드
지침서
템플릿
프로세스
회의록 및 산출물 관리
• 회의록 및 기타 문서 양식 Template 구성
• 댓글을 통한 정보 전달 및 의사소통
• 특정 사용자 대상 지정을
통해 자동 알림 가능
• 댓 글을 통해 해당 내용에
대한 의견 및 진행 등 정보
를 공유
24. SYSTEM 구성 예시 – 산출물 관리
주요 기능
ü 협업 (Confluence) 시스템 에 직접 산출물 내용 입력
ü 고유 문서 버전관리 기능 활용
Case #1. 프로젝트 협업 (Confluence) 시스템 contents 활용
각 상세 항목의 연결
Case #2. 프로젝트 협업 (Confluence) 시스템 고유 문서 버전관리 기능 활용
산출물 등록 페이지 링크 연결
동일 이름의 파일 등록 시
자동 버전 관리
25. SYSTEM 구성 예시 – 개발/빌드 관리
주요 기능 ü Jira를 통해 즉시 개발 Branch 생성 및 자동 연계
ü 연계 된 Branch를 통해 개발 및 빌드 작업 시 자동 정보 연계(Commit, Pull request, Build)
※ 적용 효과: Release 14% 증가 및 Issue closing 23% 증가
26. SYSTEM 구성 예시 – CODE REVIEW
주요 기능 ü Pull request 기반의 Code review 환경 제공
27. SUMMARY
• S/W 관리는 체계적 관리 모델을 기반으로 역량을 갖출 필요가 있다.
• 단 번에 완벽한 환경을 구성하려는 것은 욕심.
• 방법론도 결국은 원활한 관리를 위한 가이드 일 뿐, 반드시 정해진 답은 아니다.
• 도구는 도구일 뿐, 남이 잘 쓴다고 나도 잘 쓴다는 보장은 없다.
• 결국 가장 중요한 요소는 사람.