2017년 2월 10일 금요일

융합 소프트웨어란?

Q: 지능을 가진 기계가 사람의 판단없이 스스로 일을 한다는 것으로 정리가 되네요. 그렇다면 융합 소프트웨어는 무엇인가요?

융합 소프트웨어도 많은 해석이 있습니다만 산업을 중심에 넣어 얘기해보겠습니다. 3차 산업혁명에서 컴퓨터가 등장하기 때문에 거기에 필요한 소프트웨어도 등장을 했습니다. 하지만 당시의 소프트웨어는 아주 기본적인 역할만 하는 최소의 기능만 가진 경우가 많았습니다. 각 산업에서 사용하는 소프트웨어는 기계를 자동화하는데 필요한 소프트웨어라 복잡할 이유가 없었기 때문입니다. 4차 산업혁명의 소프트웨어를 살펴보죠. 지능을 가진 기계가 필요하기 때문에 당연히 인공지능을 가져야 할 것이고 스스로 제어할 수 있는 다양한 IT기술이 필요하고 거기에 맞는 소프트웨어가 필요할 것입니다.
단독으로 소프트웨어가 사용되는 것이 아니라 산업과 융합된 소프트웨어라는 뜻으로 이해하시면 좋을 것 같습니다. 4차 산업혁명을 소프트웨어 관점으로 인더스트리 4.0이라고 말하기도 하는데 소프트웨어 중심으로 산업이 변한다는 의미로 해석할 수 있습니다(그림2).

<그림2> 인더스트리 4.0
출처: 캡제미나이컨설팅

Q: 요새는 거의 모든 산업에서 소프트웨어를 사용하는데 소프트웨어의 중요성이 더 커지는 것 같습니다.

맞습니다. 지금까지도 소프트웨어 산업이라는 말이 있는데 앞으로는 소프트웨어 산업은 없어지고, 대신에 모든 산업에서 소프트웨어가 부자제로 사용될 것입니다. 단독으로 소프트웨어가 만들어지던 시대에서 필요한 기계나 위치에 녹아들어가는 형태가 될 것으로 보입니다.


SI 프로젝트에 애자일 적용


사용자 스토리는 시작과 끝이 존재하고 다른 사용자 스토리와 겹치지 않도록 개발된다면 위 세가지 문제를 해결할 수 있다. 개발자와 고객은 사용자 스토리를 통해 업무 프로세스를 얘기할 수 있고, 사용자 스토리 단위로 개발을 마치기 때문에 요구사항이 변경되어도 다른 사용자 스토리에 영향을 미치는 회귀 오류가 발생할 여지가 없고, 한번 개발이 완료된 사용자 스토리는 다시 살펴볼 필요가 없기 때문에 개발 진척을 정량적으로 명확하게 관리할 수 있다(그림5).

<그림5> 그림4의 사용자 스토리를 스크럼에 적용
Scrum 이미지 출처: https://upload.wikimedia.org/wikipedia/commons/4/43/Scrum_Flow_for_one_Sprint.png

애자일은 프로세스가 아니라 개발 문화를 바꾸는 것이다. 프로젝트에서 의사소통은 기능 단위가 아닌 사용자 스토리로 하게 되면 고객의 프로젝트 이해도와 참여를 높일 수 있다. 개발자들이 놓치지 쉬운 애자일의 장점 중 하나는 완성되어 고객에게 확인 받은(Accepted Deliverables) 사용자 스토리는 다시 손대지 않는다는 것이다.
기존 SI 프로젝트의 진척률을 살펴보면 지난 달 80%의 진척을 보여도 회귀 오류가 발생하면 이번 달 60%로 떨어질 수 있다. 하지만 애자일의 경우 완료된 것은 다시 손대지 않기 때문에 진척률 답게 관리되는 장점도 있다(그림6).

<그림6> 전통적인 SI와 애자일의 프로세스 비교
출처: LG CNS Agile Korea Conference 2012 자료


소비자 지향의 디자인 씽킹 사례 - 인도의 우물 이야기 I