티스토리 뷰
협업, 지속적인 피드백 그리고 연속적인 서비스 제공…SK주식회사 C&C, ‘Agile 서비스 포탈’ 에 대한 10問 10答
SK(주) C&C 블로그 운영자 2016. 7. 8. 14:00최근 프린서플 파이낸스 그룹(Principal Financial Group)이 자사의 보험, 퇴직연금, 자산관리 고객들을 위해 좀더 많은 소프트웨어를 신속하게 구축하고자
‘Agile(애자일)’로 방향을 잡았다는 뉴스가 있었다.
(관련 뉴스) http://www.ciokorea.com/news/30267#csidxd7073e05db26344a4c125d13e47049f)
대규모 빅뱅 방식의 배포가 아닌, 고객의 니즈를 반영한 최소 성공 가능 제품을 자주 출시한다는 것은 전통적으로 금융기업에서 있기 어려운 일이었다. 하지만 오늘날의 디지털 세계에서 완벽한 애플리케이션을 개발하겠다고 고민하는 기업이 있다면, 아마도 민첩한 경쟁자들에게 번번이 패배할 것이다. 이 때문에 많은 기업들이 Agile 소프트웨어 개발을 통해 더 많은 제품을 빠르게 출시하고 사용자의 경험과 피드백을 지속적으로 반영하고 있는 것이다.
SK주식회사 C&C도 지난 6월 10일, 전사적으로 추진 중인 ‘기술중심회사’로의 전환 전략에 발맞춰 Agile 적용 및 확산을 위한 ‘Agile 서비스 포탈’을 구성원을 대상으로 오픈하였다. Agile 관련 정보를 전사적으로 통합하여 제공하고 구성원이라면 누구나 쉽게 이용하고 함께 보완할 수 있는 협업 공간이 마련된 것이다. 당장 수행 중인 프로젝트에 Agile 적용이 가능할 수 있도록 다양한 가이드와 템플릿도 제공하고 있다.
이에 Agile 서비스 포탈 오픈의 의미는 무엇이고 구체적으로 어떤 내용들을 담고 있는지, 그리고 향후 계획은 어떠한지 등 대해 포탈 운영 담당 팀인 운영품질혁신팀의 주요 담당자들을 만나 그들의 이야기를 들어 보았다.
SK주식회사 C&C Agile 서비스 포탈의 운영 담당 3인방 (왼쪽부터) 남선이 부장, 심상준 과장, 이승연 대리
Agile은 무엇인가요? 기존 개발방법론과 어떤 차이(특징)를 가지고 있나요?
기존의 개발 방법론이라고 하면, 일반적으로 “폭포수(Waterfall)” 방식을 의미합니다. 폭포수식 개발 방법론은 프로젝트 앞 부분에서 분석/설계를 통해 요구사항을 정의하고, 이후에 개발과 테스트 단계를 진행하는 방식입니다.
개발 프로젝트 경험자들이라면 모두 공감하시겠지만, 폭포수 방식으로 개발을 진행할 경우에 겪게 되는 고질적인 문제점들이 있습니다. 의도치 않게 대부분의 프로젝트는 진행 일정 내내 변경된 혹은 새로운 요구사항들이 끊임없이 나오게 되고 이로 인해 개발 일정이 지연되고 자연스럽게 개발 물량이 증가하게 됩니다.
이렇게 되다 보니 프로젝트 관리자는 개발단계가 완료되기 전까지 실제 작동하는 코드가 얼마나 개발되었는지, 품질은 어떤 수준인 지를 알 수가 없어서 테스트 단계, 심지어는 프로젝트가 끝나고 나서야 미완성되거나 불완전한 코드를 발견하곤 하는 불편한 현실을 늘 경험하게 됩니다.
Agile은 이러한 불확실성에서 기인한 문제들이 문제가 아니라 당연한 상황이며, 오히려 불확실성 자체를 기본으로 전제하고 있습니다. 즉 Agile은 불확실한 환경에서 효율적으로 일하는 방법을 고민하고 실천한 결과들의 집합으로 볼 수 있습니다.
Agile, 그 중에서도 가장 널리 활용되고 있는 ‘스크럼 실천법(Scrum Practice)’의 경우, 2~4주 정도의 반복주기(Iteration) 내에 분석, 설계, 개발, 테스트 과정 전체를 수행하는 '타임 박싱(Time Boxing)' 방식을 기본으로 합니다.
하나의 반복주기가 끝나면, 그 결과물로서 작동하는 소프트웨어를 고객에게 전달하고, 그 피드백을 다시 다음 반복주기에 반영하는 방식으로 진행됩니다. 새로운 반복주기가 시작될 때 마다, 고객과 함께 해당 반복주기에서 개발할 요구사항을 비즈니스 우선순위에 따라 정하기 때문에, 프로젝트 후반부에서도 요구사항 변경을 유연하게 수용할 수 있습니다. 또한 각 반복주기마다 테스트된 SW 데모를 고객에게 시연하기 때문에, 프로젝트 관리자는 단순한 진척이 아닌, 실질적인 소스코드 품질을 짧은 주기로 확인할 수 있게 됩니다.
Agile을 사용하는 기업, 개발자들이 증가하는 이유는 무엇일까요?
비즈니스 및 기술 환경의 불확실성이 이전과는 비교할 수 없는 수준으로 높아지면서, SW 개발 또한 이러한 불확실한 환경을 전제로 수행되기를 원하고, 또 필요로 하는 기업들이 많아졌기 때문입니다.
최근 부상하고 있는 Amazon, Facebook, Airbnb, Uber와 같은 기업들을 살펴보면, ‘SW Agility’를 기반으로 전통적인 강자들의 사업영역을 빠르게 잠식하면서 성장하고 있다는 점을 알 수 있습니다. 중장기적인 계획과 준비를 통해 Big Bang 방식으로 서비스를 내놓기 보다는 작지만 핵심적인 가치를 가진 서비스를 먼저 Open하고 고객의 피드백을 빠르게 추가, 반영하면서 개선시켜나가는 방식이 성공을 거두고 있는 것입니다.
Agile은 이러한 비즈니스 환경에 최적화된 SW개발방식이라고 할 수 있습니다. Agile의 원칙과 실천기법들이 불확실한 환경에서 지속적인 적응과 학습을 통해 최대한의 생산성과 효율성을 이끌어 내기 위해서 고안된 방식들이기 때문에, 많은 기업들과 개발자들이 Agile을 도입하고자 하고 있는 것입니다.
“Agile 프로젝트는 기존의 '폭포수'형(waterfall) 프로젝트보다 실패할 확률이 낮습니다.
Agile 프로젝트의 실패율은 9%지만 폭포수 프로젝트의 실패율은 29%에 달한다는
보고서(CHAOS 2011)가 이를 증명합니다.
이미 시장은 변화하고 있고 더 이상 주저할 이유가 없습니다.”
Agile 적용 및 확산을 위한 운영 총괄을 담당하고 있는 남선이 부장
기업에서 Agile 방법론이 성공하기 위해서는 기업문화가 뒷받침 되어야 한다고 하는데 그 이유는 무엇인가요?
사실 Agile은 반드시 따라야 하는 프로세스나 절차가 있는 방법론이 아닙니다. Agile은 일종의 사상과 원칙이며, 이를 실천하기 위한 실천기법(Practices)들의 집합이 있을 뿐입니다.
Agile의 시초로 여겨지는 “Agile 소프트웨어 개발 선언(Manifesto for Agile Software Development, 2001)”을 살펴보면, “공정과 도구보다는 개인과의 상호작용을, 포괄적인 문서보다는 작동하는 소프트웨어를, 계약 협상보다는 고객과의 협력을, 계획을 따르기 보다는 변화에 대응하기를 가치있게 여긴다”고 선언하고 있습니다.
선언 내용을 보면 느끼실 수 있겠지만, Agile에서는 우리가 일을 하는 모든 과정에서 “어디에 더 가치를 두는가”에 대한 변화를 요구하고 있습니다. 즉, 고객을 포함한 팀원들이 상호 협력하고, 효율적으로 일하는 방법을 찾아내고, 지속적이고 빠른 피드백을 수용하는 문화가 포함되어 있습니다. 당연하게도 이러한 변화는 특정한 실천기법이나 도구를 적용한다고 해서 실현될 수 없습니다. 이러한 가치 변화를 기업문화가 수용 혹은 장려하지 않는다면 Agile이 성공하기 매우 어려워지게 됩니다.
지난 10일, 운영품질혁신팀에서 오픈한 ‘Agile 서비스 포탈’의 배경(목적)은 무엇인가요?
우리 구성원 중에서 Agile을 처음 들어보는 분들은 많지 않을 겁니다. 또한 Agile의 개념과 실천기법들을 아시고자 한다면, 저희가 ‘Agile 서비스 포털’에 정리한 내용보다 더 훌륭하게 정리된 책이나 인터넷 자료들이 많이 있습니다. 하지만 이 자료들은 구성원들이 Agile을 현장에서 어떻게 적용할 수 있는가에 대한 답을 제공해주지는 못합니다.
‘Agile 서비스 포털’은 이와 같이 Agile을 현장에 적용하고자 하는 구성원들에게 개방적이고 쉬운 방식으로 지원을 제공하기 위해서 만들어 졌습니다.
주요 지원 서비스와 특징에 대해 설명해 주세요. 그리고 구성원 반응은 어떠한가요?
우선 ‘Agile 서비스 포털’에 들어오시면, Agile 적용을 검토하는 단계부터 프로젝트 착수 및 실행 단계 전반에서 무엇을 어떻게 해야 할 지에 대한 상세한 단계별 가이드와 산출물 템플릿을 자유롭게 활용할 수 있습니다. 포털 메뉴 가장 위에 항목부터 하나씩 순서대로 보면서 진행하도록 고안되어 있습니다.
그리고 ‘Agile 서비스 포털’ 사이트 자체가 Confluence라는 Wiki 기반 공유/협업 도구 상에서 만들어졌기 때문에 실제 프로젝트에서 Confluence를 사용할 경우, 제공되는 예시 산출물들을 그대로 가져가서 사용하실 수 있습니다.
또한 ‘Agile 서비스 포털’에서 Agile 관련 교육 및 코칭 지원 항목들을 확인하시고 요청하시면, 저희 운영품질혁신팀 담당자들이 적극적으로 지원해드리고 있습니다.
포털이 오픈 후 벌써부터 Agile 도입 및 적용에 대한 기술 지원을 요청하는 구성원들의 연락이 들어오고 있는데, e메일이나 전화로 지원을 요청하는 구성원에게 효과적으로 지원하는 도구로서의 포털이 그 역할을 톡톡히 하고 있습니다.
e메일이나 전화를 통해 상호 Communication을 하는 경우, 그때그때의 질문이나 정보가 파편적으로 오고 가기 때문에 지원받는 구성원이나 지원하는 저희들이나 전체 맥락과 흐름 상에서 일을 빠짐없이 하고 있는 것인지, 어느 정도 진행된 것인지를 파악하고 설명하기가 어려웠습니다.
하지만 포털을 통해 지원의 방식과 내용이 체계화, 구조화 되면서 기존의 어려움들이 많이 해소되었고 그만큼 구성원 스스로가 포털을 보다 적극적으로 활용하게 되는 선순환 효과를 얻고 있습니다.
실질적으로 사내 조직 혹은 프로젝트에 Agile을 적용한 사례가 있나요?
당사 Agile 적용은 올 상반기 동안 ICT R&D Center 내 솔루션 개발 조직을 중심으로 진행되었으며, 이후 점차 IT서비스사업 각 부문 내 개발 프로젝트로 확산해 나가고 있는 단계입니다.
아직 적용 초기 단계라서 성공 사례라고 단언하여 말씀 드리기는 어렵지만, 지난 5월 30일에 진행한 ‘Agile 적용 Lessons Learned 공유 워크샵’을 통해 현재 Agile을 적용했거나 적용을 검토 중인 구성원들(총 9개 프로젝트, 18명)로부터 ‘Agile 적용해서 좋았던 점’을 확인할 수 있었습니다.
"팀원 간 Communication이 전반적으로 활성화되었다."
"서로의 일을 공유하고, 업무 방향성을 맞춰가면서, 함께 만들어간다는 팀 분위기가 형성되었다."
"일정한 주기로 일을 진행하고 확인하면서, 일의 완결성과 품질을 높일 수 있었다."
"협업도구(JIRA/Confluence)로 일감을 관리하면서, 히스토리 추적 및 Peer Review하기 편리해졌다."
위와 같은 Agile 적용의 좋은 점 외에도, 적용 과정에서 겪은 어려운 점들과 해결 방법들에 대해서도 논의되었습니다. 해당 내용들은 저희 운영품질혁신팀 담당자들이 지속적으로 Follow-up해서 연말에는 좋은 사례를 자신 있게 말씀드릴 수 있도록 노력하겠습니다.
“프로세스와 도구보다 개인과 소통을, 다량의 문서화보다 동작하는 SW를,
계약 협상보다 고객과의 협력을, 계획 준수보다 변화에 대한 대응을 더 가치 있게 여긴다는
`Agile 선언'은 Agile 개발 방식의 개념을 잘 설명하고 있습니다.”
Agile 프로젝트 착수와 기술 지원, 관련 교육 개발을 담당하고 있는 심상준 과장
Agile 서비스 포탈을 준비하면서 기억에 남은 일화가 있나요?
무엇보다도 ‘Agile 서비스 포탈’ 자체를 Agile 방식으로 만든 것이 가장 기억에 남습니다.
일반적으로 포털 사이트를 오픈 한다고 하면, 컨텐츠 기획부터 UI/UX 디자인까지 고려하기 때문에 상당한 공수를 투입해야 한다고 생각하기가 쉽습니다. 하지만 저희는 Agile 선언문 내용처럼 ‘Agile 서비스 포탈’의 핵심가치인 ‘구성원들이 Agile 관련 정보와 Asset에 빠르고 쉽게 접근할 수 있도록 만드는 것’에 집중하였습니다.
이에 따라 만드는 과정도 작은 것부터라도 서로 보여주고 공유할 수 있도록 만들면서 진행하였습니다. 일단 디렉토리 구조를 목차 수준으로 간단하게 정하고 여기에 회의를 통해 세부 메뉴를 추가한 뒤, Confluence에 바로 ‘Agile 서비스 포탈 Space’(Confluence의 네이버 카페와 같은 단위)를 개설하여 메뉴 구조를 만들었습니다. 그리고 컨텐츠 업데이트와 서비스 리뷰 후 수정/반영하는 식으로 진행되었습니다.
문서로 된 계획으로 Comm.하기 보다는 간단하더라도 실제 결과물을 만들고 발전시켜 나가 방식, 즉 ‘Agile식’으로 일을 진행하니 1개월 만에 1차 오픈 할 수 있는 수준으로 포탈을 만들 수 있었습니다.
향후 운영 계획(서비스 추가, 기능 개선 등)에 대해 소개해 주세요.
‘Agile 서비스 포탈’의 핵심 컨텐츠라고 할 수 있는 단계별 가이드 및 산출물/템플릿은 오픈 이후에도 여러 사용자들의 피드백을 반영하여 지속적으로 업데이트되고 있습니다.
Agile 교육과정 중에서는 현재 ‘Agile Basic 과정’의 동영상 컨텐츠가 오픈 되었고, ‘Agile Clinic 과정(Agile 실습과정)’을 7월 중에 오픈 할 예정입니다. Agile Basic은 Agile의 기본 개념과 주요 실천방법(Practice)에 대한 이해를 돕기 위한 과정이고, Clinic 과정은 Agile의 실천기법을 하나의 프로젝트에 착수부터 종료까지 적용해보면서 실제 현장에서 보다 쉽게 Agile을 적용할 수 있도록 지원하는 과정입니다.
또한 Agile 적용을 검토•적용을 진행하는 프로젝트들이 늘어나면서 Agile 경험자들로부터 도출된 문제점과 해결책을 정리한 ‘Agile Lessons Learned’ 서비스를 추가할 예정입니다. 단순한 FAQ 형식과는 차별화하여 경험 기반의 지식과 노하우를 서로 공유하고 축적해나갈 수 있는 Agile Community로 발전시킬 수 있도록 방향성을 모색 중입니다.
“Agile은 사람이 중심에서 몰입할 수 있는 프로젝트 환경을 조성한다는 점이 가장 큰 특징이고
이는 개개인의 능력과 서비스의 질을 향상시키는데 큰 요인으로 작용하게 됩니다.
특히 스크럼 실천법은 Agile을 가시적으로 구체화시키는 가장 효과적인 방법입니다.”
Agile 서비스 포탈 운영 관리 및 교육 지원을 담당하고 있는 이승연 대리
Agile 서비스 포탈이 기술 중심 기업으로의 변화 기조에 어떤 의미가 있고 무엇을 기대할 수 있을까요?
기술 중심 기업과 Agile은 “고객의 비즈니스 가치를 구현하는 소프트웨어를 최우선으로 제공하는 핵심역량을 갖는다”는 점에서 공통 지향점을 가지고 있다 생각합니다.
이러한 점에서 Agile 서비스 포탈은 Agile에서 시장과 고객의 빠르게 변화하는 니즈를 반영하기 위해 요구되는 기반환경(수평적 협업, 빠른 피드백, 반복적/일상적 업무를 자동화할 수 있는 프로세스와 도구, 변화에 민첩하게 대응할 수 있는 유연한 조직구조)이 전사에 보다 빠르고 효과적으로 자리잡을 수 있도록 Leading하고 지원하는 촉매 역할을 할 것이라고 생각합니다.
또한, Agile 적용을 통해 내재화된 민첩하고 유연한 조직, 자동화된 프로세스, 빠른 피드백과 협업하는 문화는 DevOps로의 전환에 기여하게 됩니다. DevOps는 Development와 Operations의 합성어로 시스템 개발과 운영을 병행하고 협업하는 방법 또는 시스템으로 매우 빠른 속도로 소프트웨어 제품이나 서비스 출시를 목표로 하는 조직의 모습을 의미합니다.
끝으로 구성원들에게 전하고 싶은 말씀 한마디 바랍니다.
우리 회사와 구성원들은 지금 거대한 변화 물결 그 가운데 있습니다. 이 변화 속에서 생존해 나가기 위해서 Agile과 같은 일하는 방식의 변화가 필요하다는 점은 누구나 머리로는 이해하고 있을 것입니다. 하지만 기회를 잡는 것은 언제나 잘 이해하는 사람이 아니라 작은 것부터라도 실천하고 도전하는 사람이라 생각합니다. Agile을 너무 어렵고 복잡하게 받아들이지 말고 평소 프로젝트를 하면서 비효율적이라고 생각했던 부분들부터 개선할 수 있는 작은 행동들을 Agile을 참고해서 바로 실천해 보기를 권해 드립니다. 감사합니다.
'Biz & Tech > C&C Techibrary' 카테고리의 다른 글
2016 SK big data academy 오픈, 국내 big data 전문가 육성을 위한 국내 최고의 Premium 교육과정 (2) | 2016.09.09 |
---|---|
SK주식회사 C&C의 스마트 팩토리 솔루션 브랜드 'SCALA (스칼라)'를 소개합니다. (29) | 2016.07.18 |
"Try any Devices from Remote" SK 모바일 원격제어 솔루션 'mTworks'를 소개합니다 (0) | 2016.05.25 |
SCALA : SK’s Smart Factory Suite (0) | 2016.04.15 |
- Total
- Today
- Yesterday