2016년 11월 29일 화요일

동영상 : An Open Source Tool for Fault Tree Analysis


참석자 

Suzanne Miller - principal researcher at the SEI (the Carnegie Mellon University Software Engineering Institute) 
Dr. Neil Ernst - a Fellow researcher who works in the SEI’s Architectural Practices Initiative 


요약 
기술 채무 (Technical Debt) 
소프트웨어 개발 프로젝트를 진행할 때, 초기에 제대로 처리하지 않은 일이 반복 주기에서는 문제점으로 나타나고, 이러한 문제점이 다른 수정사항이나 또 다른 문제를 나타낼 수 있어 원금에 이자까지 지불해야 하는 상황이 온다는 개념

원격 개발센터의 장단점 분석

소프트웨어 개발을 시작한지 오래된 우리나라에서는 단순 개발이나 공통 개발이 필요한 분야를 한데 모아 효율적으로 관리하고자 노력하고 있다. 이에 대한 대안으로 원격 개발센터 모델이 제시되었는데 많은 투자와 노력에 비해 성공률이 높지는 않은 것이 현실이다. 이번 회에서는 원격 개발센터에 필요한 프로세스나 방법론을 정비하여 적용한 경험이 있는 ㈜Coocon의 한용만 박사와 단국대학교 소프트웨어공학센터 김규억 박사를 만나 원격 개발센터에 대한 이야기를 들어보도록 한다. 


Q: 안녕하세요. 원격 개발센터를 위한 프로세스와 방법론을 아시아권에 일부 적용한 것으로 알고 있습니다. 원격 개발센터는 어떤 기업들이 고민하는 것인가요? 
처음부터 개발자들을 분리하여 원격 개발센터를 만들 수는 없습니다. 같은 분야의 개발 업무를 오래도록 하다 보면, 단순 개발 업무가 나타나게 되는데 이런 업무를 인건비가 비싼 우리나라 개발자에게 계속 맡기면 비용 대비 효과가 많지 않습니다. 그래서, 인건비가 싼 중국이나 아시아권의 다른 지역에 개발 업무를 넘기는 것입니다. 그림1을 보면, 개발에 필요한 설계, 개발, 테스트를 원격 개발센터에 넘겨 업무를 수행하게 되는데, 경우에 따라 설계 업무는 넘기지 않는 경우도 많습니다. 


<그림1> 원격 개발센터의 예 


원격 개발센터를 운영하는 또 다른 중요한 이유는 다수의 사이트에서 공통으로 사용되는 부분을 원격 개발센터에서 담당하는 것입니다. SI를 예로 들면, 각 사이트마다 개발자들이 파견을 가게 되는데, 공통적으로 개발되는 부분은 한 곳에 모여서 개발하는 것이 훨씬 효율적이지요. 공통 개발을 위한 원격 개발센터는 기업의 본사에 위치해서 빠른 의사결정 하에 운영하는 경우가 많습니다. 



UX 사례 연구 - 멀티 디바이스의 UX

1인 다(多) 디바이스의 시대가 도래했다. PC 위주였던 과거에서 스마트폰, 테블릿PC에 이어 TV나 스마트홈까지 장소나 크기에 제한 받지 않고 스마트 디바이스를 사용하는 시대인 것이다. 다수의 디바이스를 장소나 상황에 따라 동시에 사용할 수 있는 것을 멀티 디바이스라고 하는데 한 사람이 다수의 디바이스를 사용하지만 컨텐츠는 디바이스에 맞춰 보여줘야 하는 요구사항이 있다. 이번 회에서는 멀티 디바이스를 위한 UX에 대해 알아보기로 한다. 멀티 디바이스를 위한 UX를 이해하여 소프트웨어 사용성과 편리성을 높여주길 기대한다. 


사례 연구 전 확인 사항 

한 명의 사용자가 다수의 디바이스를 사용하지만 컨텐츠는 끊김 없이 보여줘야 하기 때문에 UX의 역할이 점점 더 중요해지고 있다. PC, 테블릿이나 스마트폰 단위로 따로 UX를 설계했던 과거와는 달리, 개인이 보유한 디바이스의 수도 늘어나고 IoT까지 발전하고 있어 멀티 디바이스의 요구가 점점 늘어나고 있다(그림1). 


<그림1> 멀티 디바이스와 멀티 스크린의 개념 

 출처: Etri 

그림1을 살펴보면, 멀티 디바이스는 하나의 컨텐츠를 다양한 디바이스에서 동시에 나타나도록 하는 것, 하나의 디바이스에서 사용된 정보는 모든 디바이스에서 사용된 것처럼 공유하고, 디바이스 간 정보 교환 등이 가능하도록 해주고 있다. 구글(Google)에서는 멀티 디바이스를 위한 UX 설계에 기본적인 사용자 경험을 여러 디바이스에 복제하는 일관성(Consistent), 한 디바이스에서 다른 디바이스로 사용자 경험을 전달하는 연속성(Continuous), 여러 디바이스가 합쳐지면서 새로운 사용자 경험을 만들어 내는 상호보완성(Complementary)을 고려 하도록 가이드하고 있다.