안드로이드 기반의 셋톱박스 개발 · 1 agenda lg cns 의과제 ... excel source...

30
안드로이드 기반의 셋톱박스 개발 Agile RTC 적용 사례 최수경부장 [email protected] 전략Device, LG CNS

Upload: others

Post on 02-Sep-2019

17 views

Category:

Documents


0 download

TRANSCRIPT

안드로이드 기반의

셋톱박스 개발

Agile 및 RTC 적용 사례

최수경부장

[email protected]

전략Device팀, LG CNS

1

Agenda

� LG CNS의과제

� ‘Pilot’프로젝트

– PDCA(Plan, Do, Check, Act) 접근법

� ‘Real’프로젝트

� 질문및응답

2

� 설립: 1987년

� 직원 수:약 8,000명

� 연매출: 3조 1,912억원

� 사업 분야:컨설팅, 시스템통합, 아웃소싱, ERP/BI,

IT 인프라솔루션, IT 컨버전스

� 해외 법인:중국, 일본, 미주, 인도, 인도네시아, 유럽,

브라질, 콜롬비아, 폴란드, 말레이시아

� 설립: 1987년

� 직원 수:약 8,000명

� 연매출: 3조 1,912억원

� 사업 분야:컨설팅, 시스템통합, 아웃소싱, ERP/BI,

IT 인프라솔루션, IT 컨버전스

� 해외 법인:중국, 일본, 미주, 인도, 인도네시아, 유럽,

브라질, 콜롬비아, 폴란드, 말레이시아

LG CNS 개요

3

� 비즈니스 요인

– 제품출시기간단축, 경쟁력향상

– 품질을높이고, 효과적이고효율적인방법으로제품및서비스를제공

– 생산성의향상및글로벌비즈니스의확대

� 비즈니스 과제

– 정부규정의준수

– 고정된프로젝트비용

– 변화(프로세스, 툴및사람의변화)에대한문화적인반발이큼

� 프로젝트 과제 및 목표

– 요구사항이수시로변경되며통제가어려움

– 더욱신속하게비즈니스가치제공

– 새로운기술이용의리스크낮춤

– 혁신적인제품개발프로세스및인프라를확립하여혁신적인제품을

구현하는것이목표

LG CNS의과제와동기

4

Agile접근법을이용한반복적이고

점진적인개발의핵심은다음과같은

주기를따릅니다.

Plan 반복계획/인수테스트정의

Do 일상적인반복의실행

Check 인수테스트를통해결과를검증

Act 회고및후속적인계획

PDCA(plan–do–check–act)는 반복적으로 수행되는 네 개의 단계로 이루어진 관리 방법이며, 비즈니스에서

프로세스를 통제하고 지속적으로 개선하는 데 이용됩니다 (http://en.wikipedia.org/wiki/PDCA 참조).

그래서, LG CNS는 IBM Rational을이용한 Agile 접근법을선택했습니다

Check Do

Act Plan

5

PLAN

6

목표및목적

� 도입된 Agile 접근법 및 툴이 적용 가능한지 평가

� 전사적으로 Agile 접근법 및 툴에 대한 비즈니스 메트릭을 수집

� Agile 접근법을 이용하여 Agile 프로젝트의 실제 사례를 개발

o Agile 계획역량강화

o 정의된 Agile 메트릭의관점에서기준성과데이터수집

o 정의된 Agile 업무방식이용

o Agile 도구(RTC)의적용및내재화

2주 3주 3주 3주

생성

반복 0 반복 1 반복 2

도입

반복 3

파일럿의 범위

릴리스 1

전이

반복 4

릴리스계획 - Agile 파일럿일정표

7

세개의하위팀으로구성된팀은파일럿기간중팀멤버교체, 외부벤더에대한기술적

의존성과같은몇가지문제에봉착

PM

IBM의 Agile 코치팀장 팀장

BSP Android

(5명)DTV 서비스

(5명)

프로젝트스폰서

현재의보고체계(Agile 접근법을제외한모든영역)

보고또는코칭체계(Agile 접근법및이슈영역)

Agile 태스크포스LG 및 IBM의합동팀

제품담당자

툴전문가RTC, CI 등

Android 팀

팀장

미디어

프레임워크

(1명)

QA 관리

프로세스사람 툴 메트릭전체팀구조 - Agile 파일럿

8

프로세스사람 툴 메트릭Wave 1에 적용된 agile 업무방식(Practices)

LG CNS disciplined agile practices Core practices SD 프로그램

Wave 1 Wave 2 Wave 3

요구사항관련업무

비전 공유 예

요구사항 구상 예

사용자 스토리 중심의 개발 예

프로젝트관리

릴리스 계획(2단계 계획) 예

반복적인 개발 예

리스크-가치 수명주기 예

전체 팀 예

아키텍처

아키텍처 구상 예

혁신적인 아키텍처 예

소프트웨어개발

지속적인 통합 예

리팩토링 예

테스트 중심의 개발 예

혁신적인 설계 예

페어 프로그래밍 예

테스트

동시 테스트 예

독립 테스트 예

구성및변화관리

팀에 대한 변화 관리 예

9

프로젝트 관리

SW 딜리버리자동화를위해 RTC 기반의 ALM 툴체인제공

요구사항개발

분석 설계/개발 테스트 결함 관리

Excel / Project+

Excel Source Insight, Eclipse, VI

구성 관리SVN

빌드

Mantis / Bugzira / GAMS수작업

레거시 툴

범례

프로세스사람 툴 메트릭기술환경 – RTC 이용전

10

프로젝트 관리

요구사항개발

분석 설계/개발 테스트 결함 관리

Excel / Project+

Excel Source Insight, Eclipse, VI

구성 관리SVN

빌드

Mantis / Bugzira / GAMS수작업

RTC

RTC

RTC

RTC + 레거시 툴 RTC RTC + 정적 테스트 툴

RTC

레거시 툴

새로운 툴

범례

프로세스사람 툴 메트릭기술환경

SW 딜리버리자동화를위해 RTC 기반의 ALM 툴체인제공

11

� 품질

� 작업속도

� 팀만족도(회고, 팀설문조사)

� (프로젝트) 관리

프로세스사람 툴 메트릭정의된메트릭

12

DO

13

� 요구사항 관련 업무

– 사용자스토리중심의

개발

� 프로젝트 관리

– 릴리스계획(2단계계획)

– 반복적인개발

– 리스크-가치수명주기

– 전체팀(Whole Team)

� 소프트웨어 개발

– 지속적인통합

� 구성 및 변화 관리

– 팀변화관리

RTC를이용한 Agile 업무방식

Rational Team Concert의프로젝트기본사항

개요(https://jazz.net/library/article/589/참조)

전체팀(Whole Team)

14

BSP Android

DTV 서비스

미디어 프레임워크

여러 스크럼으로구성된 하나의 스크럼

PM

TL1, TL2, TL3

이해 당사자

팀장TL1

RTC 프로젝트영역

전체 팀(Whole-team)

팀전체가하나의유닛으로작업하는업무

방식으로서, 전문가를일반화함으로써업무를

공유하여고품질의소프트웨어를생산

팀장TL2

RTC 프로젝트영역

팀장TL3

RTC 프로젝트영역

15

RTC의워크플로우지원

각작업항목유형에대해상세한워크플로우를식별하여 RTC에반영하여도구로프로세스실행

프로세스 사람 툴 메트릭

16

Agile 도입교육

� IBM의 선임 Agile 트레이너 및 코치의 강의 및 사례 연구

� Agile 코치 및 멘토가 진행하는 실제 체험 워크샵 및 실습 세션

� 고위 경영진을 위한 Agile 접근법

– Agile 접근법을 이용한 혁신을

위한 전략적 비전

� 챔피언을 위한 Agile 접근법

– 선도적인 Agile 팀

8월 13일(1일차) 8월 14일(2일차) 8월 16일(3일차) 8월 17일(3일차)

0.5일Agile 접근법

개요

Agile 추정 및

계획

RTC를 이용한

Agile 납품 숙달

RTC를 이용한

Agile 납품 숙달

0.5일

제품 소유자 /

팀장

인에이블먼트 Finance MDA STB

StructureStructure

Pilot Project TrainingPilot Project Training Senior Executives & ChampionsSenior Executives & Champions

프로세스 사람 툴 메트릭

17

Agile 툴도입 > 계획

백로그(제품, 릴리스, 반복)

추정

우선순위부여

마일스톤(일정표)

프로세스 사람 툴 메트릭

R1

IT1 IT2 IT3

R1

제품 백로그

릴리스 백로그

반복 백로그 …

� 작업계획시점에

따라구분하여

사용함

� 우선순위등을

고려하여특정

시점에작업항목이

배정됨

� Planning Poker 등의기법을

활용하여스토리

포인트(Story Points),

시간(Hour) 단위로크기를

추정하여관리함

� 사용자관점의가치,

기술관점의

리스크를함께

고려하여

우선순위를

부여하여관리함

IT1 IT2 IT3개발 반복 IT4

3주

IT1유지보수 반복

1개월

IT2 IT3

� 개발반복은

기본적으로 3주로

운영하되, 유지보수성

업무의경우월단위로

관리하도록정의함

파트별 기준 업무 1SP

Fibonacci 수열 이용 7단계 추정

각 스토리를 작업 항목으로 분리

작업 항목은 시간 단위로 추정

18

Agile 대시보드핵심메트릭

프로세스 사람 툴 메트릭

� 스토리포인트진행상태(Story Point

Progress )

� 남아있는스토리포인트(Story Points

Remaining )

� 진척도(Sprint Burndown)

� 유형별열린작업항목(Open Work items by

Type )

� 열린작업항목대처리완료된작업

항목(Open vs Closed Work Items)

� 릴리스진척도(Release Burndown)

� 팀작업속도(Team Velocity)

� 반복별스토리포인트(Story Points By Iteration)

반복 메트릭

릴리스 메트릭

� 프로젝트요건등을

반영하여반복, 릴리스

모니터링및관리에필요한

메트릭을식별하였음

RTC 위젯구현

� 식별된메트릭에대해 RTC

위젯을구성하고

대시보드에반영하였음

19

Check

20

Agile 업무방식도입

업무 방식 키워드Agile 코치

피드백

비전공유� 문제및이해당사자의필요사항에대한

일반적인이해

요구사항구상� 프로젝트초기단계에수행하는상위수준의

요구사항구상

사용자스토리중심의개발� 이해당사자에대한비즈니스가치에초점을둔

사용자스토리를이용해요구사항을문서화

릴리스계획 � 추정을통해릴리스계획을수립

반복적인개발 � 점진적으로솔루션을개발

전체팀� 자기조직화접근법을이용해작업을수행하는

방법을정리하는데가장적합

아키텍처구상 � 잠재적으로초기의아키텍처를식별하여승인

지속적인반복 � 빈번한빈도로빌드통합및생성

동시테스트� 개발과동시에반복작업전체에대해

이루어지는테스트를이용

팀에대한변화관리 � 가장단순한변화관리접근법을이용

G

Y

Y

Y

Y

Y

프로세스 사람 툴 메트릭

요구사항관리

프로젝트관리

아키텍처

SW 개발

테스트

구성/변화

관리

Y

Y

R

R

확보된역량및향상해야할역량

21

팀장� 팀 성과 조정

- 프로젝트 진행상태를 지속적으로 추적

- RTC 태스크 보드를 이용해 일간 회의를 주도

- 데모 및 회고

- 피드백을 추적하여 조치를 시행

� 이슈 처리

- 모든 리스크 및 이슈를 추적하여 해결

제품담당자� 비전 공유

- 식별된 이해 당사자 및 목표에 대한 비전을

문서화(비전 작성)

� 백로그 관리

- 릴리스/반복 계획에 능동적으로 참여하여

범위/내용을 결정(계획참여 및 범위결정)

팀멤버� 팀 협업, 팀에 대한 헌신 및 팀 관련 계획

- 스스로 관리하며 협업에 참여

- 스토리에 대한 “상대적인 규모”의 추정치를 제공

팀장� 팀 성과 조정

- Agile 팀과 ATF 사이의 연락을 수행

- 여러 팀으로 구성된 전체 팀의 회의를 운영

� 이슈 처리

- 핵심 리스크에 대한 경영진의 관심을 높여 후원을 얻음

� 품질

- 개발 작업 내에 테스트 작업을 포함시킴

제품담당자� 비전 공유

- 비전 및 릴리스 계획을 재논의

� 백로그 관리

- 시스템의 릴리스 준비 완료 시기를 결정

� 품질

- 사용 편의성, 신뢰성 및 성능을 포함한 인수 기준의

정의 작업에 능동적으로 참여

팀멤버� 팀 협업, 팀에 대한 헌신 및 팀 관련 계획

- 팀에 전적으로 헌신

- 스토리 전환을 회피

- 일상 업무에서 품질을 항상 고려

프로세스 사람 툴 메트릭

확보된역량 향상해야할역량

Agile 팀만족도설문조사

22

Agile 개발프로세스및툴에대한전체적인만족도는증가했지만, 지속적인최적화는

계속필요

Android 팀 (평균점수: 3.4에서 3.4로변동없음)

범례

전체적인 만족도 증가

프로세스 및 툴에 대한추가적인 최적화가

필요

5 매우 동의

프로세스 사람 툴 메트릭

(A) 전

(B) 다

(C) A

gile

접근

(D) 역

(E) 작

(내부

)

(F) 자

(G) 작

(외부

)

(H) 태

(I) 추

(J) 문

(K) 프

Agile 접근법적용전

Agile 접근법적용후

23

핵심적인정량적메트릭(1/2)

메트릭을식별후 RTC 대시보드위젯에통합하여프로젝트의상태를정량적으로모니터링하고

이에따라신속하게대응

카테고리 대시보드 위젯 / 메트릭 범위 설명

반복 스토리포인트진행상태 프로젝트 � 프로젝트의진행상태를확인(스토리포인트)

남아있는스토리포인트 팀 � 팀의작업진행상태를확인(스토리포인트)

진척도 팀 � 팀의작업진행상태를확인(시간)

유형별열린작업항목 팀 � 팀의상태를확인(개수)

열린작업항목대처리완료된

작업항목팀 � 팀의상태를확인(개수)

릴리스 릴리스진척도 팀 � 팀의워크로드진행상태관리를확인(스토리포인트)

팀작업속도 팀 � 팀의성과(스토리포인트)

반복별스토리포인트 팀 � 반복계획및균형조정(스토리포인트)

프로세스 사람 툴 메트릭

핵심적인정량적메트릭(2/2)

24

Agile 접근법도입후팀멤버들이만족한항목에는팀성과, 프로젝트가시성, 진행상태

모니터링이포함됨

– 가시성 및 투명성의 향상(관리)

– 계획 및 추정 프로세스의 향상(팀은 스토리 포인트 사용을 지지)

– 자기 조직화 및 팀 문화의 개선(프로젝트 수행 능력 향상)

팀작업속도파일럿전 반복 1 반복 2

속도향상스토리포인트(SP)

BSP 팀 미측정 108 151 40% 증가

DTV 팀2 미측정 66 158 130% 증가

미디어 팀 미측정 18 27 50% 증가

(1) 반복 1과반복 2의속도를비교하였음

(2) 반복 2 진행시 2명의새로운팀멤버투입

프로세스 사람 툴 메트릭

25

다음 단계

Act

26

반복 작업 시 잘 이루어진

항목 중 논의하지 않으면

간과할 수도 있는 부분은

무엇입니까?

어떠한 교훈을

얻었습니까?

개선의 여지가 있는

부분은 무엇입니까?

아직 불명확한 점은

무엇입니까?

� 팀의 작업 진행상태 및

이슈에 대한 실시간

모니터링 및 공유

� 프로젝트 초기에 Agile

접근법을 학습한 후

파일럿 프로젝트에

효과적으로 적용하였음

� 프로젝트의 계획 및

관리가 중요함

� 계획을 관리하기 위한

체계적인 기법이

필요하며, 이를

위해서는 노력이

필요함

� 협업이 매우 중요함

� Agile 접근법의 제도화

및 최적화가 필요함

� 프로젝트의 필요사항에

따른 대시보드의

최적화가 필요함

� Agile 접근법 도입을

지속적으로 지원할

조직이 필요함

파일럿팀으로부터얻은핵심교훈(반복 1 종료후)

�적용된 Action Items

• hands-on 세미나

• 대시보드 재구성

반복 작업 시 잘 이루어진

항목 중 논의하지 않으면

간과할 수도 있는 부분은

무엇입니까?

어떠한 교훈을

얻었습니까?

개선의 여지가 있는

부분은 무엇입니까?

아직 불명확한 점은

무엇입니까?

� 팀 메트릭의 정의 및

Agile 관리법의 적용이

효과적으로 이루어짐

� 팀 멤버가 능동적이고

자발적으로 작업에

참여하여 관리함

� RTC 등의 Agile 툴

지원을 통해 Agile 업무

방식이 효과적으로

적용됨

� 계획하기 전에 사전

준비가 필요함

� Agile 툴 및 RTC의

활용을 위한 지원 자료

및 조직이 필요함

� 품질 관리 활동의

개선이 필요함

� 외부 기술 의존성에

대한 리스크를

효과적으로 관리해야

� Agile 업무 방식을

지속적으로 이용하기

위해 외부 전문가의

지원을 고려해야 함

파일럿팀으로부터얻은핵심교훈(반복 2 종료후)

�적용된 Action Items

• RTC 사용자 가이드 업데이트

• 품질 관리의 범위 및 대상을 식별

(테스트 범위 등)

© Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

www.ibm.com/software/rational