본문 바로가기

소프트웨어

삼성이 소프트웨어 분야에서도 최고가 되려면? 최근 삼성과 소프트웨어에 대한 글들을 몇 건 올리면서 정말로 다양한 의견을 접하게 되었습니다. 댓글뿐만 아니라 메일을 통해서도 의견을 들을 수 있었습니다. 2010/01/05 - [소프트웨어이야기] - 삼성은 왜 소프트웨어를 잘 만들지 못할까? 2010/01/23 - [소프트웨어이야기] - 삼성이 바다를 출시해서는 안되는 이유 2010/02/08 - [소프트웨어이야기] - 삼성이 앞으로도 소프트웨어를 잘 만들 수 없는 이유 그 중에는 삼성 관계자 분들도 있었고, 삼성 내부 개발자, 삼성 협력사의 개발자들도 많이 있었습니다. 현재 삼성으로 대표되는 대한민국 대기업들의 소프트웨어 개발 현황을 살펴보고 해결책을 찾아보려고 하는 블로그 글에 상당히 과민반응을 보이는 글들을 보면서 현 상황을 더욱 잘 짐작하게 해.. 더보기
고객이 요구사항을 너무 자주 바꿔요. 우리나라 소프트웨어 시장을 너무 비관적으로 과대평가하는 경우를 종종 봅니다. 예를 들면 전세계 유래가 없는 까다로운 고객 요구 수준, 시도 때도 없이 바뀌는 요구사항, 엄청나게 낮은 금액, 제품의 Output과는 상관없이 작업 시간을 통제하는 관행 일부는 공감을 하기도 하지만, 어느 나라를 가던지 각 나라만의 특징이 있다는 측면으로 바라보고 싶습니다. 우리나라 고객은 요구사항을 정말로 외국에 비해서 더 자주 바꾸는 것인지는 생각해 볼 필요가 있습니다. 어딜 가던지 고객은 요구사항을 항상 바꾸기 마련이고, 그것이 고객의 습성이라고 볼 수 있습니다. 그런데, 외국에서는 관행적으로 문화적으로 스펙을 근거로 계약을 하고, 분석 능력이 뛰어난 엔지니어들도 많이 있습니다. 하지만 그런 저변이 상대적으로 부족한 우리.. 더보기
살아남은 개발자들 소프트웨어 업계에서 주변을 둘러보면, 실력은 없으면서 탁월한 생존력으로 살아남은 개발자들을 볼 수 있습니다. 소프트웨어 개발 실력은 떨어지지만, 업무지식을 속속들이 알고 있는 개발자 회사의 개발정보를 꼭꼭 숨겨서 자신만 알고 있는 개발자 과거에 개발해 놓은 소스코드의 문서도 만들지 않고 뒤죽박죽으로 섞어놔서 자신이 아니면 유지보수를 못하게 만들어 놓은 개발자 탁월한 인화력으로 후배 개발자들과 똘똘 뭉쳐있는 개발자 미래에 경쟁이 될만한 새싹은 미리 밟아 버리는 개발자(관리자) 화려한 언변으로 경영자들에게 거짓된 신임을 얻고 있는 개발자 위와 같은 방법의 생존이 소프트웨어 업계에서 살아가는 한 방법이기도 하지만, 또 일부 기술은 부러운 기술이기도 하지만, 이는 결국 회사와 개발자 모두의 경쟁력을 갉아 먹고,.. 더보기
도대체 얼마나 자세히 적어 달라고?! 소프트웨어 개발자들에게 문서 작성은 고역이 아닐 수 없습니다. 그래서 문서는 소프트웨어를 개발한 후에 후배들에게 소프트웨어에의 스펙과 구조를 설명하기 위해서 작성하곤 합니다. 이런 경우에는 문서의 효용성도 별로 없을 뿐더러 문서가 제대로 작성되었는지 알기도 어렵습니다. 또 개발자들은 기억을 더듬어서 문서를 작성하기도 어려울 뿐더러 이러한 작업은 하기 싫은 고역이 될 수 밖에 없습니다. 소프트웨어를 개발하는데 있어서 필수적인 문서의 대부분은 개발한 내용을 정리하기 위해서 만드는 것이 아니고, 소프트웨어를 개발하는데 필요한 내용을 앞 단계에서 작성하는 것입니다. 즉, 설계를 하기 전에 스펙을 작성하고 구현을 하기 전에 설계서를 작성하고 테스트를 하기 전에 테스트 계획 및 TCL(Test Case List)를.. 더보기
커뮤니케이션 오류 소프트웨어 프로젝트를 진행하다 보면 수많은 커뮤니케이션의 오류를 발견하게 됩니다. 문서화 되지 않은 수많은 의견과 결정들에 대한 오해와 대화를 하면서 발생하는 표현의 오류는 한 두개가 아닙니다. 이는 비단 프로젝트에서 뿐만 아니라 일상생활에서도 벌어지는 현상이지만, 일상생활에서의 커뮤니케이션 오류는 그렇게 심각하지 않을 수 있지만, 프로젝트에서의 커뮤니케이션 오류는 심각한 손실을 초래하기 때문에 조심할 필요가 있습니다. 따라서 프로젝트를 진행하면서 오가는 대화나 기록은 명확해야 합니다. 미사여구보다는 직설적인 화법으로 핵심을 정확하게 말해야 합니다. 또 하나의 문장은 사실, 의견, 추축, 가정, 결정 또는 정보일 수 있습니다. 그런데, 현재 하고 있는 말이 사실인지 의견이지 명확하게 하지 않으면 수많은 .. 더보기
버그관리시스템 사용 현황 조사 결과 그동안 제 블로그에서 50일동안 버그관리시스템 사용 현황을 조사하였습니다. 소프트웨어를 개발하는데 필수적인 요소 중의 하나인 버그관리를 어떻게 하고 있는지 조사하기 위함이었습니다. 물론 여기서 말하는 광의의 버그를 말하며, 이슈관리시스템, 이슈추적시스템이라고도 불리며 모두 같은 시스템이라고 생각하시면 됩니다. 질문은 다음과 같습니다. 버그관리는 어떻게 하십니까? 버그관리를 위해서 사용하는 툴이나 방법을 모두 선택해주세요. 복수 응답을 허용하면서 투표한 결과 총 73표가 모였습니다. 그럼 그 투표결과를 분석해보도록 하겠습니다. 버그관리시스템 사용 vs. 미사용 비율 보시다시피 버그관리시스템은 68%만이 사용하고 있었고 32%의 사용자는 버그관리시스템을 사용하고 있지 않습니다. 버그관리시스템을 사용하지 않은.. 더보기
소프트웨어 공학이 왜 필요하지? 복잡하기만 한데... 소프트웨어 공학 블로그를 운영하고 있으면서도 전면에는 소프트웨어 공학이라는 말을 사용하고 있지 않습니다. 그 이유는 소프트웨어 공학은 막연하고 왠지 모르게 문서도 많이 만들어야 할 거 같고, 절차도 엄격히 따라야 할 것 같아서 부담스러운 느낌을 줄 수 있기 때문입니다. 이것이 다 소프트웨어 공학에 대한 오해에서 비롯된 것 같습니다. 이미 유행이 한번 쓸고 지나간 CMMI나 외국의 유명한 방법론들을 도입했다가 실패한 경험과 소문들 때문일 겁니다. Naver 백과사전에서 소프트웨어 공학을 찾아봤습니다. 다음과 같이 설명되어 있더군요. 요약 컴퓨터 소프트웨어의 계획·개발·검사·보수·관리 등을 위한 기술과 그것을 연구하는 분야이다. 소프트웨어의 규모가 커지고 복잡해짐에 따라 공학적인 접근으로 구조화 프로그래밍을.. 더보기
효과적인 버그 처리 방법 HannaKim님의 이 버그를 누구에게 넘겨 줄 것인가? 라는 글에 대한 의견을 적어보려고 합니다. 의견이라기 보다는 주욱 해오던 방법입니다. 너무 당연한 얘기일수도 있습니다. 개발자에게 버그를 할당하여 처리하는 방법은 여러가지 형태가 있습니다. 주먹구구식으로 개발자에게 직접 버그가 보고되고 처리되는 형태부터 철저한 Workflow를 따라서 관리자가 담당개발자를 할당해서 처리하는 방법까지 다양합니다. 여기서는 자질구레한 기타 방법은 제외하고 정상적으로 Bug Tracking System를 사용하면서 체계적으로 버그를 관리하고 해결하는 방법 내로 국한을 해서 설명하도록 하겠습니다. 다른 방법을 사용하고 있다면 심각성을 깨달으시고 빨리 방법을 고치셔야죠. 개발팀의 규모나 프로젝트의 종류는 천차만별입니다. 기.. 더보기
오늘도 밤을 세워야 하는 개발자 (야근 탈출) 옛날부터 내려오는 경영자들이 믿고 있는 미신이 있습니다. "개발자의 Output은 근무시간의 양에 비례한다." 말은 아니라고 하면서도 밤에 사무실이 텅 비어 있으면 개발자들이 군기가 빠졌다고 생각하고 주말에 누가 나와서 일하나 확인하러 가끔 사무실에 들르는 사람들이 경영자입니다. 실제로 근무시간에 성과가 비례하는 개발자들이 있다면 공장에서 벽돌 찍어내는 것과 다를 바가 없겠지요. 이 미신은 믿기 싫지만 자꾸 저절로 손이 가는 새우깡처럼 믿게 되고, 회사 조직에서 위로 올라갈수록 더 맹신하게 되나 봅니다. 이러한 이유로 어쩔 수 없이 또는 습관적으로 야근을 하는 개발자가 있다면 십중팔구 미혼이거나 결혼을 했어도 아이가 없겠죠. 이런 정상적이지 않은 생활을 하며 10, 20, 30년간 소프트웨어 엔지니어 일.. 더보기
고객중심의 서비스 마인드가 소프트웨어 산업을 망친다. 부제 : Global mind를 가져라. 우리나라의 Customer Service(A/S) 정신은 정말로 환타스틱합니다. TV가 고장나서 전화하면 수리기사가 바로 달려와서 고쳐주고 갑니다. 핸드폰이 고장나서 서비스센터에 가면 바로 고쳐줍니다. 뭐든지 바로바로 해결이 되죠. 하지만 미국에서는 좀 다릅니다. 노트북이 고장나면 바로 해결이 안됩니다. 서비스센터에 맡겨도 서비스센터는 단순히 포장만해서 수리공장으로 보내는 경우가 대부분이고 오래 걸리면 한달이 걸리기도 하고 재수 좋으면 그보다는 빨리 받아 볼 수 있죠. 미국은 땅덩어리가 워낙 커서 가 도시마다 전문서비스기사를 둘 수도 없습니다. 부른다고 쪼르륵 달려갈 수도 없습니다. 비행기타고 몇시간 날아가서 차 랜트해서 또 한참 가야지만 고객을 만날 수 있거든요.. 더보기