posts list

레이블이 소프트웨어인 게시물을 표시합니다. 모든 게시물 표시
레이블이 소프트웨어인 게시물을 표시합니다. 모든 게시물 표시

2015년 1월 6일 화요일

인터넷의 역사

인터넷의 역사
[ 2006.12.16 03:55:47 ]
글쓴이  
표창우
조회수: 67
홈페이지  
Email Homepage
1957년 소련의 스프트닉 위성 발사 성공은 미국에 매우 강한 도전이었다. 당시 냉전 체제에서는 이 사건을 기술적 측면보다는 군사적 측면에서 받아들였던 것 같다. 한 나라의 기술력은 국방력과 직결되기 때문일 것이다. 위기 의식이 팽배한 가운데 아이젠하워 대통령은 ARPA(Advanced Research Project Agency)라는 연구 기획 및 관리 조직을 만든다.

ARPA는 후에 DARPA(Defense Advanced Re-search Project Agency)로 확대 개편되는데, 역시 국방을 목적으로 하는 민간 부문 연구를 총괄하였다. ARPA는 18개월 만에 성공적으로 위성을 띄우는 업적을 보였으며, 컴퓨터와 통신 기술을 군사적으로 이용하는 데 관심이 많았다. 초기 인터넷은 MIT 대학 소속의 인물들의 주도로 잉태된다. 1962년 APRA의 컴퓨터 부문 연구 프로그램 책임자로 부임한 MIT의 릭리더(Licklider)는 인터넷에 대한 확고한 신념을 가진 예언자적인 인물이었다.

그는 미국내의 컴퓨터들이 모두 연결되어 멀리 떨어진 곳의 컴퓨터의 데이터와 프로그램을 사용하고 주고 받는 환상을 갖고 있었다. 릭리더는 자신뿐만 아니라 후임 책임자들에게도 자신의 꿈을 전했고 확신시켰다. 컴퓨터 사용을 활성화하기 위하여 군수용 민간 부문에 대한 연구 투자를 대학 중심으로 이전하는 큰 변화를 주도한다.

릭리더가 ARPA를 이끌기 직전인 1961년 MIT의 클라인락은 인터넷의 기술적 초석인 패킷 스위칭에 관한 논문을 발표한다. 패킷 스위칭은 컴퓨터 사이의 정보 교환을 위한 연결 방식이다. 전화망이 사용하는 회선 스위칭(circuit switching)은 통화 당사자들의 두 지점을 고정적으로 연결해 놓지만, 패킷 스위칭은 정보를 패킷 단위로 인접 컴퓨터에 전달하는 방식으로 우체국을 통해 우편물이 전달되는 방식과 매우 흡사하다.

1965년 매사츄세츠주와 캘리포니아주를 전화선으로 연결한 원거리 컴퓨터 네트워크가 실험되었는데, 이 실험을 통해 원거리 컴퓨터 통신의 가능성과 패킷 스위칭의 필요성이 확인된다.

1966년부터 DARPA를 이끌었던 MIT의 로버츠는 인터넷의 시초가 되는 알파넷(ARPANET)에 대한 계획을 수립하는데, 밥 칸에 의해 그 설계가 구체적으로 진행된다. 릭리더의 환상은 1969년에 첫 결실을 본다. 미국 UCLA 대학으로 자리를 옮긴 클라인락이 세운 네트워크 측정 센터가 알파넷의 첫 노드로 선정된다.

클라인락의 패킷 스위칭 분야의 공로가 인정받은 것이다. UCLA 다음으로 스탠포드 연구소(SRI, Stanford Re-search Institute), 뒤이어 유타 대학과 UCSB(산타바바라 소재 캘리포니아 대학)가 추가되어 알파넷의 최초 연결이 선보이게 된다.

1972년에 열린 컴퓨터 커뮤니케이션 컨퍼런스에서 칸의 주도로 알파넷이 처음 시연된다. 워싱턴 힐튼 호텔의 지하실에서 미국 전역에 있는 컴퓨터를 사용하여 응용 프로그램을 실행하여 보였다. 1972년에는 이메일이 개발된 해이기도 하다. 이메일의 역사는 인터넷의 역사와 함께하고 있다.

1972년부터 1983년은 현재 인터넷의 기본 구조를 이루는 TCP/IP 통신 프로토콜이 완성되는 시기이다. 통신 프로토콜은 두 컴퓨터 사이의 약속된 정보 교환 절차를 뜻한다. 1972년 DARPA로 옮긴 칸은 1973년 스탠포드 대학의 빈스 서프에게 서로 분리되어 있는 컴퓨터 네트워크들을 연결하기 위한 개방형 통신 체계에 대하여 연구하기 위한 팀의 구성을 제안한다.

최종적인 목표는 서로 연결되어 있지 않고 분리되어 형성되어 있는 컴퓨터 네트워크를 하나로 연결하는 데 있었다. 각각의 지역 네트워크의 내부 구조에는 아무런 변화를 주지 않으면서도 미국 전역에 산재해 있는 컴퓨터 네트워크끼리 연결하는 일종의 컴퓨터 네트워크의 네트워크를 구성하는 체계를 수립하고자 하였다. 그 결과 인터넷의 기술적 초석인 TCP/IP 라는 개방형 통신망 프로토콜이 완성된다.

우체국을 통해 해외의 친구에게 우편물을 보낼 때 내용물을 준비하여 봉투에 담고, 주소를 기록하여 동네 우체국에서 부치면, 집중국으로, 중앙 우체국으로 전달되고 상대국 우편망을 통해 친구 가정까지 배달되면, 친구는 우편물 받아 개봉하여 읽고 고맙다는 답장을 보내오는 과정이 바로 TCP/IP 프로토콜이 관장하는 절차와 거의 같다. 인터넷이란 단어의 뜻은 네트워크와 네트워크 사이란 뜻인데, 네트워크와 네트워크를 연결해야 했던 당시의 상황에서 유래되었다.

1983년 1월 1일 알파넷의 프로토콜은 전부 TCP/IP 프로토콜로 바뀐다. 알파넷에 연결된 모든 컴퓨터의 프로토콜 담당 프로그램을 일시에 바꾼 것이다.

TCP/IP 프로토콜이 무르익는 동안에 인터넷은 구성에도 큰 변화를 겪는다. 80년대 초에 널리 보급되기 시작한 PC와 동급의 소형 컴퓨터들은 지역적으로 가까이 있는 것들끼리 지역망(LAN, Local Area Network)을 형성하기 시작한다. PC와 LAN 기술의 발전은 인터넷의 구성을 소수의 대형 컴퓨터 중심의 연결 체계에서 다수의 PC급 소형 컴퓨터들이 분산되어 있는 형태로 변화시켰고 그와 같은 추세로 지금까지 발전되고 있다.

지역망은 대학이나 연구소뿐만 아니라, 일반 사무 환경에까지 컴퓨터 네트워크를 확산시켜, 이메일, 전자 결제, 전화 교환 같은 사무 자동화와 네트워크를 통한 시스템 통합(SI, System Integration), MIS(Manage-ment Information System) 발전의 촉매 역할을 하였다. LAN은 다시 라우터라고 불리는 장비를 통해 인터넷과 연결되는데, 여러 가지 형태와 기술을 사용하는 다양한 LAN들을 서로 연결하는 데에는 TCP/IP와 같은 개방형 통신 프로토콜이 반드시 필요했고, 따라서 인터넷 확산이 가속되었다고 볼 수 있다.

1986년부터 1995년까지 사이에는 인터넷의 형성이 완성되는 시기이다. 미국 과학 재단(NSF, National Science Foundation)은 이 기간에 2억불 가량의 돈을 쏟아 부으며 컴퓨터 네트워크 연구와 사용 활성화를 주도하였다. 1985년 연방 정부의 지원 없이도 독자 생존이 가능한 교육과 연구 기관들을 연결하는 정보 인프라 구성을 목표로 NSFNET 프로그램이 진행된다. NSFNET 프로그램은 TCP/IP 프로토콜을 표준으로 삼아 더욱 확산되게 하였고, 독자 생존을 위해서는 인터넷의 상업화 전략을 추진하였다.

1995년 NSF는 NSFNET의 기간망의 지원을 중단하고, 민간 회사에서 구축하는 망을 사용하게끔 유도하는 일로 상업화 작업을 일단락 시킨다.

요즘은 인터넷을 월드 와이드 웹(WWW, World Wide Web)을 가장 많이 접하고 있어 WWW에 대해 간단히 언급하려고 한다. “인터넷 = 홈페이지” 등식으로 알고 있는 사람들이 많이 있는데 잘못 알고 있는 것이다. 홈페이지는 WWW에서 어떤 한 개인이나 기관의 대표 하이퍼텍스트 파일(hypertext file)을 뜻하는 것이다.

WWW는 하이퍼텍스트 교환 프로토콜(HTTP) 기반의 정보 인프라로서 인터넷 위에 구축되어 있다. 하이퍼텍스트는 일반 파일과 달리 구조를 갖는다. 구조를 갖는다는 의미는 서로 관련있는 부분들이 상호 연결되어 있고, 다른 파일과도 연결되어 있어, 원하면 연결을 따라 관련 정보로 이동할 수 있음을 뜻한다. 한편 일반 파일은 실과 같이 한 줄로 이어진 문자열로 볼 수 있다. 원래 하이퍼텍스트는 같은 컴퓨터 안에서 활용하게끔 의도되었는데, 이런 지역적 한계를 넘어서게 한 것이 WWW이다.

즉, 어떤 파일과 연관 있는 다른 파일이 인터넷 어느 곳에 있든지 하이퍼텍스트 연결이 가능하게 한 것이 WWW이다. 넷스케입이나 익스플로러는 이런 하이퍼텍스트를 인터넷 상에서 뒤지는 (browsing) 도구이다. WWW는 유럽의 CERN(핵물리 연구소, 소립자 연구가 활발하다)을 중심으로 개발되어 발전되었다.

미국의 TCP/IP 기반 인터넷 기술이 유럽에 들어 가면서, 세계 각처의 과학자들을 엮어 협동 연구를 하고, 연구 문서 교환을 원활히 하기 위해 1989년 팀 버너스-리가 제안하고 주도하여 WWW가 시작되었다. 지금은 온 인터넷을 웹이 덮고 있다고 해도 과언이 아닐 정도가 되었다.

1995년 10월 24일 미국 연방 네트워킹 평의회(FNC, Federal Net-working Council)는 인터넷 (Internet) 이란 용어의 정의를 결의한다. 문자적으로 보면 소문자 i로 시작하는 인터넷에서 대문자 I로 시작하는 인터넷으로 바뀐 것이지만, 엔지니어들 사이에서 네트워크와 네트워크의 상위 개방형 연결 형태를 지칭하던 것에서 거대한 통신망의 실체를 지칭하는 용어로 다시 태어난 것이다.

인터넷은 1992년 체제를 갖춘 ISOC (Internet Society)에 의해 운영된다고 보면 된다. ISOC에는 IAB(Inter-net Architecture Board)와 IETF(Internet Engineering Task Force) 두 개의 주요 조직이 있는데, IAB는 교회의 당회에 해당하는 조직이고, IEFT는 집사회에 대응된다. 프로토콜 표준화와 같이 기술적인 내용을 IETF가 연구하여 결정하면, IAB에서 이를 인정하고 널리 쓰이게 한다.

미래의 인터넷은 어떤 모습일까? 미래 사회의 기술 주역은 컴퓨터, 통신, 이동성, 멀티미디어 (Computer, Communication, Mobility, Multi-media) 이렇게 네 개의 단어로 요약할 수 있다. CCMM으로 기억하면 잊지 않는다. 컴퓨터와 통신의 기술은 이미 결합된 지 오래고, 계속 발전할 것이다. 사용자들은 움직이며 통신하며, 컴퓨터를 사용하기 원하고 있다. 발달된 통신망에는 문자위주의 정보뿐만 아니라 목소리, 음악, 영상, 동영상 등의 멀티미디어 정보들을 주고 받기를 원하고 있다.

요즘 휴대폰에는 이런 요소들이 이미 다 들어와 있다. 휴대폰은 무선 통신 능력이 있는 일종의 컴퓨터이다. 언제, 어디에서든지 원하는 서비스를 받을 수 있는 CCMM 체계가 발달되고 있으며, 인터넷이 그 하부구조를 이루고 있다. 더 나아가 TV, 냉장고, 주방기구, 세탁기와 같은 가정의 모든 가전 제품들과 수도, 가스, 전기 관련 기기들도 인터넷에 연결되는 날이 올 것이다. 집 밖에서 거실의 에어컨을 작동시켜 들어 갔을 때 적당한 온도를 유지하게 하고, 조리 기구를 가동시키고, 원하는 TV 프로그램을 녹화하는 것이 가능할 것이다.

냉장고 문을 열었을 때 우유가 없으면, 냉장고 문에 붙은 컴퓨터 화면을 통해 인근 수퍼에 배달 주문을 인터넷으로 보낼 수 있다. 수도, 전기, 가스 검침원은 역사 기록에서나 찾아 볼 수 있을 것이다.

사이버 공간에서의 많은 일이 실세계의 일과 연결되어 진행될 것이다. 지금까지는 현실 세계에서 사람과 사람이 만나 진행했던 일이 인터넷 상에서 간단히 해결된다. 인터넷 뱅킹이 대표적인 예이며, 이미 널리 이용되고 있다. 인터넷 뱅킹의 극단을 생각해 보면, 돈의 개념에 중요한 변화가 오게 된다. 사이버 머니는 형태는 없지만, 구매력을 지닌 엄연한 돈의 한 형태이다.

인터넷을 통한 서비스 제공, 전자 상거래, 사이버 머니를 이용한 결재 등은 세상을 변화시킬 엄청난 잠재력을 갖고 있음에 틀림이 없다고 생각한다. 자본주의의 꽃인 돈의 모습과 흐름 과정을 통째로 바꾸어 놓는 것이다. 제대로만 된다면, 가진 자들이 돈 갖고 장난 치는 일과 탈세하는 일을 막을 수 있을 것이다. 그러나 사람이 하는 일에는 완벽한 것이 없기 때문에 또 어떤 허점이 발견될지는 두고 볼 일이다.

CCMM 기술의 발전과 인터넷의 확산이 밝은 미래만 약속하는 것은 아니다. 보안, 개인 정보와 사생활 보호, 윤리적 문제 등이 벌써 문제 되고 있다. 과거에는 집 문 단속만 잘하면 안심하고 잘 수 있었는데, 요즘에는 누가 내 컴퓨터에 침투하여 내 은행 계좌 번호를 알아내어 돈을 빼가지 않는지, 내 사적인 중요한 정보를 빼내가지 않았는지, 어제 작성한 보고서를 적대적 관계에 있는 회사에서 빼내가지 않았는지 걱정해야 하는 세상이 되었다. 자녀들이 게임 중독에 걸리지 않았는지, 불건전한 채팅에 빠져 있지 않는지, 포르노물에 빠져 있지는 않나 걱정해야 한다.

인터넷은 군사적인 동기와 목적으로 시작되어, 대학과 연구 기관에 의해 발전되었으며, 상업화를 통해 대중 일반에게 활짝 열렸다. 그 중심에는 협업 (collaboration) 이라는 소중한 가치가 깃들여 있다. 발전 단계에서도 그랬고, 현재 사용하는 목적도 그렇다. 서로 합력하여 선을 이루는 데 유용한 매체이다. 모이기를 힘쓰는 데에도 아주 유용한 공간을 제공하고 있다.

그러나 인터넷은 바벨탑일 수도 있고, 아직 정복되지 않은 가나안 땅일 수도 있다. 예수님께서 땅끝까지 복음 전파하라고 말씀하셨을 때 사이버 공간까지 의미하셨을까 궁금해 진다. 답을 듣지 않아도 가만히 있을 수는 없는 상황이다. 들어가 싸워 점령해야 하는 우리의 지경으로 하나님께서 주셨음을 인정해야 한다. 하나님의 자녀들, 그리스도의 제자들이 음란한 세력과 우상 숭배자들과 한판 승부를 내야 하는 곳이다.

복음 전파의 강력한 매체로서 활용해야 한다. 정보 인프라가 없는 국가는 경쟁력이 떨어져 도태될 수 밖에 없음을 세계의 지도자들은 너무나도 잘 안다. 그래서 어떤 나라의 지도자들이라도 인터넷이 제공하는 정보 인프라를 수용하는 데 이견이 없다. 이슬람 원리주의자들 의견은 어떤지 모르겠는데, 정치 경제 문제 때문에 인터넷을 무시 못 할 것이다. 할렐루야! 인터넷을 타고 국경을 넘을 때에는 비자가 필요 없다.

인터넷 위에 구축되고 있는 가상 현실 세계와 실세계가 점점 구분이 없어지고 있는 이 때에 우리의 선교적 사명을 위해 과감히 사이버 공간을 침노해야 할 때가 무르익었다. 

2014년 11월 30일 일요일

유저학 개론

http://subokim.wordpress.com/2013/04/21/what-is-user/

유저학 개론

비즈니스 세계에서 소비자, 고객은 매우 중요한 요소입니다.
성공과 직결된 요소이므로 그들에 대한 연구를 게을리 하지 않습니다.
반면, 아직 인터넷 시장에서는 ‘소비자’, ‘고객’, ‘사용자’ 등이 혼재되어서 사용되고 있습니다.
하지만, 명백히 다르므로 이것을 분류해서 이해하고자 합니다.
※ 참고
1. 국부론, 김수행 역, 비봉출판사
2. 경영학의 실체, 피터드러거
3. ‘고객, 클라이언트, 소비자’ 작지만 큰 차이, 조지틸먼

(아이패드를 보고 있는 아기는 사용자일까, 소비자일까, 고객일까?)


1. 소비자, 사용자, 고객
  • 사용자(User)
  • 물건의 기능을 이용하는 사람
    리모콘을 사용한다고 하지 소비한다고 하지는 않습니다.
    제조업에서 많이 사용한다.
    기능은 물건을 팔리게 만드는 가치와 직결된다.
    사용자는 기능을 어떻게 만들 것인가라는 고민에서 출발한다.
  • 소비자(Consumer)
  • 물건(또는 가치)를 이용해서 사라지게 하는 사람
    음식물은 먹어서 없애는 거죠. 소비한다고 합니다.
    생산, 공급, 소비 (=시장)로 나뉘는 경제학에서 주로 사용한다.
  • 고객(Customer)
  • 물건(가치)을 돈을 내고 사는 사람 또는 대상.
    유통이나 마케팅 등 Sales 파트에서 주로 이야기한다.
2. 서비스를 발전시키는 키워드, 사용자(User)
사용자는 기능을 사용함으로써 자신의 욕구를 해소합니다.
그래서 좋은 서비스는 기능을 자꾸 사용하도록 사람의 욕구를 건드립니다.
사람은 욕망의 화신이기 때문에, 욕구를 건드리는 서비스는 오래 갑니다.
욕망이란, 큰 것부터 자질구레한 것까지 다양한 것이 있습니다.
얼마나 어떻게 욕구를 건드리는가 하는 것이, 서비스의 존속가치를 결정하는 것 같습니다.
3. 비즈니스 모델의 키워드, 소비자(Consumer)
가치를 소비하는 사람이 있어야 생산하는 사람이 삽니다. 
돈이 돌고 도는 게 아니라 가치가 돌고도는 겁니다. Value Chain 이라고 부르지요.
가치의 흐름은 예측가능하지 않습니다. 짐작해볼 수는 있지요. 과거에는 가치의 흐름을 생산자가 예측한대로 움직이게 하는 것이 중요했습니다만, 요즘에는 가치를 누구나 사용할 수 있도록 개방하고 접근성을 높여 시장이 가치흐름을 자율적으로 만들 수 있게 합니다.
하지만 , 돈을 벌려면 역시 가치흐름은 통제 되어야 합니다.
그리고 가치흐름은 절대 혼자 커지지 않습니다. 다양한 소비패턴에 의해 증가합니다.
따라서 ‘적절한 제휴’는 비즈니스 모델 뿐 아니라 서비스의 성장에도 매우 중요합니다.
어떤 것이 소비되고 있는지를 잘 파악하는 것이 매우 중요합니다.
소비되는 가치를 발견할 수 없다면 엉뚱한 것을 생산하다가, 고비용으로 사업이 쓰러질 수 밖에 없습니다.
4. 사업을 발전시키는 키워드, 고객(Customer)
소비자는 사실 사람보다는 소비되는 재화, 가치에 집중된 단어입니다.
고객은 사람을 표현하는 말입니다. 고객은 B2C, B2B의 고객일 수도 있습니다.
고객은 돈을 지불하고 제품을 사는 사람을 말합니다.
지불과 산다는 것에 초점이 맞추어진 용어입니다.
사업이란 재화를 팔아서 이윤을 남겨서 법인과 구성원이 존속하는 것이 목적입니다.
사업은 반드시 고객이 있어야 합니다.
그래서, 고객은 바로 ‘사업의 목적’이라고도 합니다. – 피터드러거
아직 고객을 정의하지 못했다면, 일이 아직 사업단계에 진입하지 못했다는 뜻입니다.
사업을 준비할 때 고객을 정의하는 것은 매우 중요합니다.
하지만, 많은 사람들이 신규사업을 준비할 때 존재하지 않은 ‘새로운 고객’을 정의합니다.
레드오션에서 경쟁하는 것보다 블루오션을 찾는 건 누구에게나 당연합니다.
하지만, 새로운 고객을 통해 새로운 시장을 여는 것은 아이디어 하나로 만들어지지 않습니다.
현실적으로 수많은 물량공세가 동반됩니다.
2013년 애플의 설비투자가 100억달러(11조)에 달하고, R&D비용이 한해 34억달러(3.8조)에 달한다고 합니다.
새로운 사업을 준비하는 사람들을 만나보면, 고객과 소비자가 헷갈리고, 사용자와 고객을 헷갈려 하는 경우를 자주 보아왔습니다.
준비가 완벽해야 한다고 말하려는 것은 아닙니다.
다만, 위 세가지 개념을 헷갈리신다면 아직 사업할 준비가 되어있지 않은 것입니다.

IT 프로젝트 종류와 특징

http://subokim.wordpress.com/2013/01/23/it-project-feature/

IT 프로젝트 종류와 특징

“IT프로젝트 is not 빔프로젝트”
Joke 입니다. (_ _)
beams
IT에 입문하는 사회 초년생의 눈에 소프트웨어 개발이라는 것이 비슷해 보입니다.
하지만, 각 산업분야별로 그 프로젝트 특성들이 모두 다릅니다.
처음에 잘못된 길로 들어왔다가 적성에 맞지 않다고 소프트웨어 개발을 포기하지 않았으면 하는 마음에, 특징들을 모아서 정리해보았습니다.
궁금해하시는 분들께 참고가 되었으면 좋겠습니다.
혹시 제가 잘못 알고 있거나 첨언을 해주실 내용이 있으면 댓글을 부탁드립니다. (좀 오래된 경험도 있어서. 긁적)
그리고, 한 분야을 하다가 다른 분야로 넘어가는 것은 굉장한 도전이 됩니다.
IT를 천직으로 생각하시는 분이 있다면, 충분한 시간과 계획을 가지고 다양한 도전을 해보시길 권하고 싶습니다.(물론 한 분야를 깊이 파는 것도 좋습니다.)

1. 은행 프로젝트
검증된 기술만 쓴다. 기술보다는 업무처리가 중요하다. 검증되지 않은 새로운 기술을 이야기 하면 바보취급 당한다. ‘한 번 해봅시다.’ 식의 접근은 거의 없다.
기본이 안정성이다. 대부분 24시간 365시간 무중단 운용성은 기본이다.
레거시를 걷어낼 수 없다. 레거시를 두고 가능한 좋은 성능과 결과를 낼 수 있어야 한다.
코드가 깔끔해야 한다. 언제나 유지보수할 수 있어야 한다. 만료된 서비스는 적시에 종료되어야 한다.
새로운 기술은 쓰지 않지만, 여러 기술분야의 체계성을 배우기 좋은 곳이다.
2. 보험사 프로젝트
업무요건들이 대부분 10년이상 장기 상품들이다. 삼성생명 ‘종신보험’과 신한생명 ‘종신보험’은 같으나 다르다.
재개발 수준의 고도화는 거의 없다. 대부분 덧붙이기 식으로 개발한다. 종료되고 폐기되는 상품은 거의 없다. 상품특성이 비슷해서 소스코드 재활용률이 높다. 하지만, 똑같지 않으므로 모듈레벨의 재활용은 거의 없다.
업무 전문성이 높은 개발자를 우대한다. 기존 소스코드가 자산이 된다.
트렌디한 기술을 사용하는 경우는 많지 않다.
금융업무에 관심이 많은 개발자라면 해볼만 한다.
3. 공공부문 프로젝트
전국 데이터는 기본이다. 규정(보안 등)을 준수하는 개발이 중요하다.
재기발랄하고 창의적인 분야는 거의 없다. 트렌디하지 않다. 공공의 편의성이 우선이다.
법제도가 바뀌거나, 규제가 늘거나 하는 등에 의해 유지보수가 발생한다.
큰 정부정책이 내려오면 대부분 큰 시스템의 개발이나 고도화가 동반된다.
큰 고도화의 경우 대부분 재개발이다. 깔끔한 개발보다는 일정준수가 중요하다. (대부분 제도 시행과 맞물려 일정이 잡힌다.)
기술보다는 업무목표 완성이 중요하다. 필요에 따라서 신기술도 자주 쓴다.
SI 프로젝트 중심이다. 기술습득이 빠르고, 여러가지 기술을 배우기에 좋다. 폭넓게 기술전반을 이해하기 좋다.
4. 이통사 내 부가서비스 프로젝트
24*365서비스가 기반이다. 레거시가 많다. 빌링과 인증 연동이 까다롭다. 대부분 연동을 많이 해야 한다. 클라이언트보다 대부분 서버 중심의 기술환경이다.
shut down되는 서비스는 거의 없다. 돈이 한 푼이라도 벌리면 살려둔다.
플랫폼형 서비스가 많은데 외부 CP등 제어할 수 없는 요인들이 많다. 당연히 예외처리가 많다. 상용반영하다가 장애나는 경우가 허다하다.
레거시가 오랫동안 살아있는 반면, 매뉴얼이 거의 없고 개발업체도 다양해서 유지보수하기 쉽지 않다. 작은 서비스를 계속 개발해서 런칭한다.
이통사 서비스는 오픈하면, 대부분 어느정도 트래픽을 확보한다.
서버 개발 기술(API, 연동, 통신 등)을 마스터하려면 이통사 프로젝트를 해보길 추천한다.
대용량 트랜잭션 처리의 경우도 많고, 현금이 실시간으로 흘러다니는 경우가 대부분이어서 긴장감이 매우 높은 편이다.
5. 이통사 레거시 프로젝트
회원관리, 빌링과 인증이다. 레거시를 걷어낼 수 없다.
오래된 코드의 경우 제대로된 유지보수 매뉴얼도 없는 경우가 많다. 덧붙이기식으로 개발한다. 폐기하기 힘들다. 정밀한 운영프로세스가 필요하다.
원복시나리오 없이 반영하지 않는다.
오래된 기술이 남아 있는 곳도 있다. 복잡도가 매우 높다.
큰 시스템을 경험하고 싶다면 한 번쯤 도전 해볼만 하다.
6. 웹포털 프로젝트
웹페이지 중심의 빠른 개발이 중요하다. 서버기술보다 프론트엔드 기술이 중요하다.
서비스가 끝나면 빠른 폐기도 중요하다. 웹기반 연동방식을 많이 쓴다. 트렌디하다.
정통적이고 무거운 개발환경보다 2 Tier 중심의 가벼운 개발환경을 선호한다.
특정기간에 치고 빠지는 개발을 많이 한다.
기술난이도가 높지 않다. 무료의 대용량 트래픽이 많기 때문에 라이센스 비용 등에 민감하다. 소스의 형상관리 등은 중요하지 않다. 빠른 속도의 오려붙이기식 개발을 한다.
웹서비스의 성공과 실패를 경험해보고 싶어하는 개발자들이 많이 지원한다.
현실적으로 포털이 네이버와 다음 밖에 남지 않아서, 입사하기 어렵기도 하다.
7. 스마트폰 앱기반 프로젝트
서버와 클라이언트로 나누어 개발한다. 서비스 피쳐를 기능으로 만들고, 서버와 클라이언트로 나누어 처리한다.
아직 인프라가 부족해서 이해해야할 기술의 폭이 넓고 다양하다.
기술 난이도가 높고 복잡도가 높은 반면, 빠른 개발속도가 필요해서 초급자가 도전하기 쉽지 않다. 복잡한 온라인형 서비스보다 단순한 단독형 앱서비스를 선호한다. 소규모 팀의 팀웍이 중요하다.
기술장벽을 극복하기 위해 REST API 등 기술트렌드 변화가 심한 분야이다.
새로운 기술을 배우고 싶어하는 개발자들이 도전해볼만 하다.
하지만, 베테랑이 충분한 팀을 선택하시길.
8. 폰게임 프로젝트
대작게임은 1년 정도의 개발이지만, 대부분 3개월 개발하고 출시하면 1개월 정도 팔린다.
빡세다. 빨리 개발해야 하므로 업무 체계성이 상대적으로 부족하다.
개발자 개인의 능력에 많이 좌우된다. 실패율도 높다. 출시 후 뜨더라도 6개월 가기 힘들다.
다작으로 승부하는 분야다. 체력 좋은 젊은 개발자 중심이다.
게임에 관심이 많은 개발자들이 도전한다.
온라인 게임보다는 단독형 게임이 대부분이라 클라이언트 개발이 대부분이다. 서버기술을 배울 기회가 많지 않다.
9. 대형 온라인 게임 프로젝트
기획도 좋아야 하고 개발도 체계적으로 해야 한다. 분업화하지 않으면 성공적으로 런칭하기도 힘들다. 돈이 많이 든다.
메인 게임에 Oracle, MySQL같은 RDB는 안쓴다. 빠른 ISAM DB(File DB)를 쓴다. (물론 회원정보 저장 등을 위해 쓰기도 한다.) 빠른 통신과 동접처리, 게임엔진 등이 중요하다.
폐인 기질이나 스스로 천재라고 생각하는 개발자라면 도전해볼만 한다.
10. 솔루션 프로젝트
스펙(규격)이 중요하다. 제품전략이 중요하고, 기능하나가 수익과 밀접하므로 기능 하나 쉽게 더하기 힘들다. 아름다운 설계가 중요하다.
완성도가 매우 중요하다. 최적화와 다양한 시험케이스가 매우 중요하다.
한번 출시되면, AS 하기 힘든 경우가 많기 때문이다.
완성도 높은 개발을 어떻게 하는지 알고 싶은 개발자라면 도전해볼만 한다.
11. ERP 프로젝트
회사마다 조금씩 다를 뿐 업무가 정형화되어 있다. ERP 패키지를 주로 사용한다.
기술적 도전이나 성취감은 낮다. 그러나, 회사라는 기업이 어떻게 돌아가는지 아주 잘 이해하게 된다.(현실적으로)
한 번 참여해보게 되면, 자기 회사를 할 때 매우 큰 도움이 된다. 또는, 전산실을 노린다면 도전해볼만 하다.
12. 학생들 프로젝트
학점이 중요하다. 기능이 구현되면 신기하다.
내 손으로 만든 것이 돌아간다는 게 놀라운 경험이다.
IT에 입문하고 싶어하는 사람이라면 반드시 한번은 거쳐야 한다.
동아리나, 커뮤니티에 들어서 많은 프로젝트를 해보길 바란다.
13. 기타
물류 프로젝트. 고생이라고 들었다. 소프트웨어는 그냥 수단이다. 개발서버가 별도로 없는 경우가 많다고 들었다.
병원 프로젝트. 모르겠다.

소프트웨어에 대한 이해

http://subokim.wordpress.com/2014/05/12/software-industry/

소프트웨어에 대한 이해

최근 소프트웨어가 화두가 되고 있습니다.
정부나 대기업들의 접근 방식을 보고 있자면 인식의 변화가 필요하다는 생각이 절실합니다.
IT종사자 분들이라면 많은 분들이 저와 비슷한 생각을 하십니다.
그러나 소프트웨어 분야를 잘 모르시는 분들이라면 소프트웨어가 무엇이 다른지 알기 어렵습니다.
도대체 소프트웨어는 무엇이 다를까요?
그동안의 현장경험을 바탕으로 생각을 정리해 보았습니다.

소프트웨어는 대량 생산 대량 소비의 논리로 해석될 수 없다.
소프트웨어는 대량 생산 대량 소비의 논리로 해석될 수 없다.

자본주의 사회에서 돈을 벌기 위한 공통된 법칙은 대량생산 대량 소비입니다.
원가에 이익을 더한 제품을 대량으로 팔아서 큰 수익을 남기는 것입니다.
공산품의 경우는 대량생산을 위해 설비를 갖춥니다.
값싼 노동력을 컨베이어 벨트에 투입합니다.
제품의 불량율을 낮추기 위해 절차를 만들고 숙련공을 기릅니다.
대량생산, 대량소비는 오랫동안 자본주의 사회의 성공논리가 되어 왔습니다.
그리고 이에 대한 경제이론들도 많이 등장했습니다.
하지만, 소프트웨어는 어떨까요?
초기에는 소프트웨어도 대량 생산 대량 소비라는 관점에서 접근했습니다.
대형 국책 사업에서는 100명 이상의 개발자들이 일 년 동안 일을 하기도 합니다.
IT기업들은 많은 사람들을 공급함으로써 인건비에서 돈을 남기는 방법을 선택했습니다.
하지만, 애플과 구글, 링크드인, 넷플릭스 등의 사례를 보면서 인식이 달라졌습니다.
이제 기업들은 소프트웨어는 ‘값싼 노동력을 통한 대량 생산’이 중요한 게 아니라, 생태계나 플랫폼과 같이 ‘건강한 비즈니스 환경이나 훌륭한 상품을 만드는 것’이 훨씬 중요하다는 것을 알게 되었습니다.
소프트웨어 산업이 기존의 산업과 어떤 차이가 있는지 간단히 정리해 보았습니다.
편의상 인터넷 서비스도 넓은 의미에서의 ‘상품’, ‘소프트웨어’라고 부르겠습니다.
1. 대량생산 대량 소비가 핵심이 아니다.
공산품에서 ‘생산’이란 같은 제품을 복제하는 행위입니다.
컨베이어 벨트 위에서 똑같은 제품을 똑같은 품질로 만들어냅니다.
노동력은 엄연히 제품가격에 포함되는 생산원가 입니다.
그래서 저렴한 노동력을 필요로 합니다.
사람들은 공장에서 만들어진 똑같은 제품을 소비합니다.
똑같은 효용가치를 똑같은 방식으로 소비합니다.
그러나 소프트웨어는 대량 생산이 핵심이 아닙니다.
홈페이지에 올려 놓기만 하면 누구나 다운로드 할 수 있기 때문입니다.

또한 설치 파일은 복사를 통해 간단히 대량 생산됩니다.
컨베이어 벨트 옆에 사람들을 세워놓을 필요가 없습니다.
그리고 소프트웨어는 대량 소비가 아닙니다. 맞춤형 소비입니다.
소프트웨어의 효용가치가 사람마다 다르게 소비되어 집니다.
엑셀로 누구는 회계장부를 만들고, 누구는 이력서 양식을 만듭니다.
소프트웨어의 이런 산업적 특징은 전통적 경제 이론으로 접근하기에는 부족한 부분이 있습니다.
2. 소프트웨어는 비용이 아니다.
일반 제조업에서 소프트웨어는 비용을 줄이기 위한 업무 자동화를 목적으로 사용됩니다.
그러나 전자제품에서는 소프트웨어가 새로운 기능이 됩니다.
전자는 생산비용을 줄여주거나 생산성을 높여주는 것이고 후자는 그 자체가 제품입니다.
그래서 전자는 적당한 기술을 싸게 구매하는 것이 중요하지만, 후자는 비싸더라도 훌륭한 기술을 구매하는 게 중요합니다. 또한 전자는 구매 후 추가 비용이 들지 않는 것이 좋지만 후자는 상품성을 높이기 위해 계속해서 투자를 해야 합니다.
어떤 경우는 두 가지 경우가 구분되지 않기도 합니다.
택배물류 사업은 전산시스템이 업무자동화 시스템이자 물류상품 입니다.
현대물류 산업에서는 전산시스템이 없으면 그 복잡한 배송체계를 소화할 수 없습니다.
또한 배송추적 기능이나 빠른 배송 시스템은 상품 그 자체이기도 합니다.
그리고 인터넷 서비스에서 소프트웨어는 제품 전체이기도 합니다.
인터넷 쇼핑몰은 별도의 설비 없이 컴퓨터상에서 돌아가는 순수한 소프트웨어인 것입니다. 이렇게 소프트웨어는 다양한 형태로 기존의 산업과 융합되어 있습니다.
그리고 융합 형태에 따라 소프트웨어의 역할과 가치가 다릅니다.
그래서 어떤 종류의 소프트웨어인가에 따라 투자와 운영방식이 달라져야 합니다.
소프트웨어를 비용으로 바라본다면 어려운 골칫거리일 뿐 이지만, 투자로 바라본다면 소프트웨어는 경쟁력 강화를 위한 훌륭한 무기가 됩니다.
3. 개발 유지보수 역량이 경쟁력이다.
전통적인 제조업에서 사후지원은 전혀 제품의 경쟁력이 아니었습니다.
기껏해야 고장난 제품을 수리해주는 정도에 불과했습니다.
하지만 소프트웨어가 등장하면서 지속적 업데이트가 중요한 경쟁력이 되었습니다.
지속적 업데이트가 제품의 효용가치를 유지시켜 구매경쟁력을 높여주기 때문입니다.
그러다 보니 제품 판매 후에도 소프트웨어 개발팀을 지속적으로 유지할 필요가 생겼습니다.
특히 설치형 소프트웨어에서 인터넷 서비스로 갈수록 개발 유지보수의 중요성은 더 커졌습니다.
기존 산업의 경우 일단 제품의 생산능력과 판매능력이 차별화 되면 시장 우위가 쉽게 바뀌지 않았습니다. 하지만 소프트웨어는 새로운 제품을 설치하거나 인터넷 주소만 바꾸어 주면 이용자들이 다른 제품으로 손쉽게 이동할 수가 있습니다.
이런 특징 때문에 환경에 적응하지 못한 제품들은 금방 뒤로 밀려나버리고 맙니다.
예를 들면 블로그 서비스는 SNS에 의해 뒤로 밀려났고 PC 메신저는 스마트폰 메신저에 밀려나 아예 사라져 버렸습니다. 그리고 오랫동안 컴퓨터에서 왕좌를 지켜왔던 MS오피스는 구글 문서도구의 등장으로 시장을 잃게 될까 두려워하고 있습니다.
모두 한 때 최고의 인기를 누리며 영원할 것 같았던 존재들이었습니다.
이렇게 소프트웨어는 기술과 생활의 변화에 발맞추어 계속 변화해야만 생존할 수 있습니다.
그러기 위해서는 훌륭한 개발 유지보수팀의 효과적 운용이 매우 중요합니다.
소프트웨어 산업은 전통적인 제조업과는 달리 개발자의 역량과 개발팀의 운용이 핵심을 차지하고 있습니다.
따라서 이를 위한 비용 및 투자계획, 조직관리 등이 경영에서 빼놓지 말아야 할 중요한 요소가 되었습니다.
4. 상품개발이 핵심.
소프트웨어는 생산설비가 없으므로 제품 개발이 완료되면 바로 소비자들에게 보급됩니다.
따라서 소프트웨어 제품 개발은 제조업의 연구 개발과 차이가 있습니다.
제조업의 경우 연구 개발 제품은 상품화 과정 중에 여러 가지 이유로 많은 기능들이 삭제 변경됩니다. 따라서 시제품과 상품이 차이가 나는 경우가 많습니다.
하지만 소프트웨어는 제품 개발 과정을 통해 바로 상품이 만들어 지므로 시제품이 곧 상품입니다.
따라서 목표를 선정하고 만들어 가는 과정이 많이 다릅니다.
일반적으로 공산품은 ‘기획-시제품 개발-설비 구축-대량 생산-유통-판매-대량 소비’의 단계를 거치게 됩니다.
반면 소프트웨어는 ‘기획-상품개발(반복)-판매-소비’ 단계를 거치게 됩니다.
소프트웨어 분야는 설비구축과 대량생산, 제품 유통 과정이 별도로 존재하지 않으며 상품 개발에서 신경 써야 할 많은 부분들이 제품 개발 과정에 녹아 있습니다.
그래서 소프트웨어는 개발자들의 업무 역량이 매우 중요합니다.
소프트웨어 상품개발은 시행착오를 빠르게 반복하고 겪으면서 만들어 집니다.
그래서 상품개발은 정부가 주도하기 힘듭니다.
느린 연간 예산 제도로는 시장의 트렌드를 따라가기 힘들기 때문입니다.
소프트웨어 산업은 훌륭한 개발자와 좋은 팀워크, 높은 업무 숙련도가 필수인 분야입니다.
그래서 일반 제조업과는 다른 인재상과 조직 운영 노하우가 필요합니다.
제품의 생산, 유통, 소비 과정 자체가 아예 다르다는 것을 인정해야 합니다.
소프트웨어 비즈니스를 하는데 소프트웨어 특성을 이해하지 못하고 사업기획을 한다면 당연히 실패할 수밖에 없습니다.
따라서 먼저 그에 맞는 가치관과 철학을 갖추는 것은 당연하고도 합리적인 접근 수순이라 할 수 있습니다.