si 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/etc/kcse...

16
SI 개발 프로젝트에 적용된 품질관리체계 박종모 ( [email protected]), 이재덕( [email protected]) Jan, 2013

Upload: others

Post on 30-Dec-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

SI 개발 프로젝트에 적용된 품질관리체계

박종모 ([email protected]), 이재덕([email protected])

Jan, 2013

Page 2: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

Contents

1. 개발 사업개요

2. 개발 추진경과

3. 품질관리 추진현황

4. 기대효과

Page 3: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

2

사업 목표

SW사업 대가기준 고시 폐지에 따라 정보화 예산수립의 합리적 근거 확보및 성과분석을 위한 방안으로써 SW사업정보 저장소 구축

선진 레퍼런스 반영 단계별 서비스 개발

SW사업 수행 실적 데이터를 수집∙보관∙관리함으로써예산 수립 및 성과 분석 효율화에 기여하는

SW사업정보 저장소 구축

사업 리스크 최소화보안 및 확장성 고려

SW사업정보 저장소 사업 목표

SW사업정보검색 및 조회 SW사업정보

추정

SW사업비용시뮬레이션

SW사업정보분석통계

SW사업정보등록 및 검증

1. 개발 사업개요

Page 4: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

3

사업 개요

사 업 명 : SW사업저장소 정보시스템 구축 사업기간 : 2012. 6. 25 ~ 12. 20 (약 6개월) 사업예산 : 총 7억 (SW개발비 5억) 투입공수 : 930 FP (63 M/M, 품질관리 등을 포함한 총 투입공수)

SW사업정보 저장소 개념도

공공부문발주기관

행정안전부

SWIT

SW사업정보 저장소

•SW사업수행 실적정보•정보화 생산성 정보

•예산 계획/집행내역•전자정부 비용정보

•SW사업실적정보

공공부문발주기관

기획재정부

지식경제부

NIPA

•예산수립 기초정보•예산심의 근거정보•SW사업성과 분석정보

•정책수립 및 의사결정참조정보

•대가산정 컨설팅 기반정보•벤치마킹 서비스 제공정보•SW공학백서 기초정보

•예산수립 및 대가산정참조정보

•요구사항 참조정보

사업기간 사업금액

투입공수 요구사항

기능점수 기타항목

투입(Input) - 데이터 수집항목 산출(Output) - 데이터 분석정보

1. 개발 사업개요

Page 5: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

개발사업 추진경과

품질관리를 위한 요구사항 , 테스트 전략 수립 및 실행, 감리를 통한 점검

07.04

~

08.31

~

11.10

~

08.03

~

07.09

사업 수행전략 소개 및 구축방향 보고사업에 대한 이해 및 수행전략, 세부구축 방안 등 보고

개발서버, CVS, CI & PMS 서버 구성전자정부프레임워크 통합개발환경 구성, 형상관리 툴로 CVS 적용

Jenkins(Hudson), PMD, JUnit, NSIQ Collector, Emma, Redmine 등

CI & PMS 서버 구성Jenkins(Hudson), PMD, JUnit, N’SIQ Collector, Emma, Redmine 등

사용자일반기능 개발, 분석/설계단계 감리메인화면, 일부 사용자 기능 개발 및 테스트 수행

주요 서비스 개발 및 개발단계 감리개발 및 사업관리의 적정성, 품질관리체계에 대한 분석 및 권고

~

12.20

사업추진개요, 주요추진내역, 향후 일정계획 보고구축내역, 개발관리, 사업관리, 품질관리와 품질목표 달성여부 등에 대한 보고

4

2. 개발 추진경과

Page 6: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

주요 개발 업무

SW사업정보 등록기능을 중심으로 등록된 기능에 대한 활용기능

5

발주자 :등록정보 검토

검토자 :FP정보 검토

FP정보유무?FP정보유무?

관리자

FP정보 검토

관리자 :SW사업정보, FP정보 검토

수주자

FP정보 등록

수주자 :SW사업정보,FP정보 등록

SW사업정보DB

검토자 : 확인요청(e-mail)

발주자 : 확인/이의신청(1주 이내)

관리자 : 보완요청/확인요청

Yes

No

검토자 :확인요청

관리자 :반려/보완요청

발주자 : 보완/확인요청

양적검증(1차 검즘) : FP검증기능을 통한 자동검증

정보확인 요청/반려

질적검증(2차 검증) : FP산정전문가

유효성판단

관리자검증(3차 검즘)

발주자

등록

발주자 :SW사업기본정보

등록

Tree구조에서기능선택

선택된 기능별FP값 편집

시뮬레이션결과확인

기본FP정보검색

SW사업정보검색

편집 대상FP선택

기본검색조건입력 상세검색조건입력 검색결과확인

기본검색조건입력추정범위입력

(Min 20%, Max 80%)추정결과확인

추정결과저장및 엑셀저장

SW사업정보등록SW사업정보등록

SW사업정보활용SW사업정보활용

검색

추정

시뮬레이션

2. 개발 추진경과

Page 7: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

요구사항 대비 개발완료 업무

RFP 기준 기능/비기능 요구사항 건수 및 기능점수(FP)를 관리단, 기능점수의 경우 간이법과 상세법으로 인한 차이는 고려하지 않음

착수 116

수용 108 93.1%

추가 4 3.4%

제외 8 6.9%

변경 30 25.9%

완료 112 96.6%

24

57

변경 제외

추가

변경

착수 종료 착수 종료

비기능요구사항 기능요구사항

25

2

8

51 = 57 + 2 - 8

61

56

5

63 = 56 + 5 + 2

2추가 요구사항 현황

921.9 933.0(착수/간이법) (종료/상세법)

기능점수 현황

요구사항건수 : 112 = 116 (착수) + 4 (추가) – 8 (제외)

6

2. 개발 추진경과

개발 생산성 16.6 (FP/MM) = 933FP/56MM

Page 8: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

품질관리계획

요구사항분석부터 설계를 거쳐 개발된 프로그램이 요구사항을 만족했는지검증하는 단계와 단계별 테스트를 V-모델을 이용해 관리

7

구성환경V-모델

코딩

요구사항

분석

상위설계

상세설계

AcceptanceTest

SystemTest

IntegrationTest

UnitTest

Unit Test 계획

Integration Test 계획

System Test 계획

Acceptance Test 계획

PMD, N’SIQ Collector

테스트 시나리오,케이스

비즈니스 중심

요구사항 검증요구사항

설계

상세설계

구현

인수테스트

시스템테스트

통합테스트

단위테스트

JMeter

JUnit

테스트 산출물

Jenkins, CVS, Redmine

Manual(QA팀)

각종 산출물로 관리

3. 품질관리 추진현황

Page 9: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

품질관리 프로세스

소스코드의 테스트 자동화를 위해 개발/운영환경과 연계하여 프로젝트관리 및CI환경을 구성함. 요구사항, 이슈, 오류 등을 등록하고 관리할 수 있으며 CI환경을통해 자동테스트를 수행

8

CI서버

요구사항 및 개발

요구사항도출

Redmine(요구사항등록및 진척도관리)

요구사항준수율 100%

개발진행

개발진행파악

성 )

Roadmap(요구사항

달성도 판단)

CVS(형상관리)

ANT(통합빌드)

PMD(코딩표준)

Junit(단위 및

통합테스트)

개발 및 테스트

EMMA(정적분석

Code coverage)

품질현황분석

질 리)

Jenkis(CI 및

품질관리)

인수

NSIQ LOC(소스코드진척확인)

NSIQ Collector(복잡도)

R l

판단)

Release(완료 및인수시점

판단)

프로젝트관리 인수

빌드성공율100%

단위테스트성공율 100%

검출건수High 0건 이하

N, L 250건 이하

복잡도30이상 1% 이하커버리지 60%

3. 품질관리 추진현황

Page 10: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

품질관리 세부절차

PMS와 연동된 CI(Continuous Integration) 시스템을 구축하여 품질관리

9

SCM/Build Code Inspection Unit Test Code Coverage

• 요구사항 관리• 이슈/오류 관리• 산출물 등록관리• 주/월간 업무보고

Continuous Integration Server

개발자

Source Code IntegrationCheck Out/In, Commit

QA

• Build Task Monitoring• Test/Inspection Report• Code Coverage Report• Plug-in Control

평가지표 정의/공유

품질평가 및 분석 (반복)

Continuous Integration Control Project Management System

Continuous Integration구성

테스트(White Box Test)

PM

QA 또는 사용자

품질평가 결과보고

요구사항(이슈, 오류)처리 지시

Monitoring

이슈/오류등록 및요구사항 모니터링

인수테스트

개발/운영서버

Management

Build 파일 작성/관리

품질평가 피드백

소스코드 반영

품질평가 결과 공유

요구사항(이슈,오류)처리 결과 공유

Open SourcePool평가지표 측정

솔루션 채택

• Plug-In Installation• Build Execution• Unit Test Execution• XML for Report

소스 통합관리 및버전(형상) 관리, 자동 빌드 실행

잠재적 버그 추출, 코드작성기준으로코드 Inspection

Test Case 작성 및White Box Test

Test Case의 Code Coverage 측정

Deploy(*.jar, *.war)

1

3

2

4

6

5

7

8

9

1

2

3 6

4

0

5

소스코드 품질관리(White Box Test) 절차 사용자테스트 품질관리(Black Box Test) 절차

3. 품질관리 추진현황

Page 11: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

테스트

요구사항에 대한 요구사항추적 매트릭스, 개발단계의 관리를 위한개발진척관리, 단위테스트(JUnit)와 통합 테스트를 수행

10

분석/설계 개발 테스트

3. 품질관리 추진현황

Page 12: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

품질지표

사업초기 품질측정지표 및 지표측정방안을 수립하고 품질목표를달성하도록 품질관리 수행

11

측정지표 지표설명 달성목표 지표측정방안 달성여부

요구사항 준수율등록(Redmine)된 전체 일감

(기능요구사항) 대비 완료된 일감의 비율100%

Redmine의 로드맵에서

각 버전별 진척율로 측정 ●

빌드 안정성1Day/1Build 룰 적용, 5일간 빌드가 성공

한 횟수100%

CI서버의 Build History에서

Build Stability로 측정 ●

단위테스트 성공률Junit를 통해 단위테스트를 실행하여

전체 테스트 대비 성공한 테스트 비율100%

CI서버의 Build History에서

Test Result로 측정 ●

코드 인스펙션PMD에 의해 검출된 건수에 대해 Health

Thresholds 구간을 설정하여 측정

Low, Normal 200건 이하

High priority 0건

CI서버의 Build History에서

PMD로 측정 ●

코드 복잡도N’SIQ Collector(Complexity)에서 전체

코드 라인 대비 검출 건의 비율로 측정over30 1% 이하

CI서버의 Build History에서

N’SIQ Collector로 측정 ●

코드 커버리지Emma를 통해 Class, Method, Block, Line,

Decision/Conditiom의 코드 커버리지

측정

Class Coverage 70%Build History에서 Coverage

측정 ●

3. 품질관리 추진현황

Page 13: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

품질관리 시스템

요구사항관리 : Redmine 이용테스트관리 : Jenkins로 통합

12

3. 품질관리 추진현황

Page 14: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

품질관리 시스템

품질지표는 Jenkins를 이용하여 통합관리

13

Source Code 64,215 Line

복잡도 High 3(1%이하), Normal 19

총 279개 Method, 테스트 성공률 100%

Class Code Coverage 73%

3. 품질관리 추진현황

Page 15: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

14

주요위험

식별된주요위험과대응방안

환경

인프라

•다양한이해관계자

•고객과실사용자가다름

• 1차시범오픈이후이해관계자인터뷰

•반복개발을통한조기 Open

•데이터구조를핵심(필수)기능과변경가능한기능으로분리하여설계

•데이터수집시범사업과병행진행하여수집데이터확정이늦어짐

•전자정부프레임워크에기반한연계서비스구축

위험발생원인 대응방안

기능측면

• 사전 ISMP를진행하여초기에 요구사항을 상세화

• 발주자의 적극적인 참여를통한 요구사항 변경관리

• 국/내와 다양한 유사사례를참조하여 개발 위험의 최소화

위험발생원인및대응전략 성공요소

•다양한기관과의연계서비스

•접근권한별보안관리및보안및품질관리를위한전담조직구성

•공공정보데이터의보안비기능측면

4. 기대효과

Page 16: SI 개발프로젝트에적용된품질관리체계dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013_프로시딩/관리 및 프로세스...SI 개발프로젝트에적용된품질관리체계

기대효과와 한계점

기대효과 프로젝트관리 진행사항에 대해 파악이 용이함

(Redmine을 통해 요구사항 진행현황을 한 눈에 파악할 수 있음) 프로젝트 결함 및 잠재적 문제 대응이 가능함 코딩표준준수, 정적분석 등을 통한 품질관리 활동(테스팅 등) 강화

한계점 개발자가 새로운 환경(도구사용)에 적응하기 위한 기간이 필요함.

이로 인해 적용하는 초기에는 생산성이 저하됨 조직의 성숙도(숙련도)에 따라 적용하는데 한계가 있어,

미성숙 조직에 적용하기는 어려운 점이 있음 정보화사업에 대한 감리 대응은 별도로 진행해야 함

감리대응을 위한 별도의 산출물작업이 필요함

15

4. 기대효과