본문 바로가기

분류 전체보기

Build Script를 C언어로 작성하기 Build Script를 Script언어가 아닌 C언어로 작성하시거나 그런 경험이 있으십니까? 저는 Build Script를 C언어로 작성하는 것을 본 적이 있습니다. 이 경우에 Build Script라고 하기에 좀 그렇군요. Build Program이라고 해야 할까요? 누구나가 Build Script라고 부르는 이유는 Script언어로 작성하기 때문이기도 합니다. 물론 IDE에서 공식 빌드를 하는 것이 아니고 Build Script를 작성한 것은 긍정적으로 볼 수 있지만 Build Script를 사용하기 위해서 다시 Build를 해야 한다면 우습네요. Build Script를 C언어와 같이 Build가 필요한 언어로 작성하는 경우는 이러한 경우가 있을 수 있습니다. C언어는 기가 막히게 잘 아는 Scr.. 더보기
소스코드 관리 방법 조사 결과 그동안 제 블로그에서 약 20일간 기업의 소스코드 관리 방법 투표를 진행했습니다. 현재 각 기업들의 소프트웨어 개발 환경 및 현황을 파악하고 공유하기 위해서 소프트웨어 개발에 대한 다양한 설문 조사를 시행하고 있습니다. 이번 소스코드관리 설문의 질문은 다음과 같습니다. 소스코드는 어디에 보관하세요? (최신 소스코드의 기준이 되는 저장 장소를 선택해주세요. 다중 선택 가능) 약 3주간의 설문 결과 아래와 같은 분포가 나왔습니다. Answer TextVotes% Subversion 50 45.87% CVS 18 16.51% 개인 PC에 보관 14 12.84% 공용개발서버에 보관 8 7.34% Visual SourceSafe 7 6.42% IBM Rational ClearCase 4 3.67% FileServ.. 더보기
소프트웨어 개발의 극과 극 꽤 오래 전에 TV에서 "비교체험 극과 극"이라는 프로그램을 방영한 적이 있습니다. 어떤 아이템을 정해서 가장 비싼 것과 가장 싼 것을 비교하는 프로그램이었는데 꽤 재미있게 본 기억이 납니다. 소프트웨어를 개발하는 현장에서도 극과 극 현상은 드물지 않게 발생합니다. 여러 회사를 분석해보면 완전 주먹구구이거나 또는 너무 무거운 방법론을 도입해서 오히려 부담이 되는 경우가 많습니다. 적당히 중간인 회사를 찾기가 더 어렵습니다. 완전 주먹구구식 가내수공업 형태의 개발방식도 문제가 있지만, 몸집과 역량에 걸맞지 않은 거대한 방법론을 무조건 따라하는 것은 더 문제가 큽니다. 그럴 바에는 차라리 주먹구구가 낫습니다. 그런 주먹구구회사가 문제를 깨닫고 거대 방법론들을 스스로 연구해서 도입을 하면 그 핵심은 모르고 형.. 더보기
개발자도 문서를 잘 작성할 수 있어야 한다. 개발자(엔지니어)들이 문서를 잘 작성하지 못한다는 것은 익히 알려져 있는 사실입니다. 개발자에게 프로그래밍 실력이 더 중요하지 문서 작성 기술이 얼마나 중요하겠냐?라고 생각하는 사람이 있을 수도 있겠지만, 개발자가 성장할수록 문서 작성 능력의 중요도는 점점 더 커집니다. 문서를 잘 작성하지 못하는 개발자는 협업을 하는데 있어서 치명적인 결함을 가지고 있다고 할 수 있습니다. 그럼 문서를 잘 작성하는 것은 무엇이고? 문서를 잘 작성하지 못하는 것은 무엇일까요? 잘 작성되지 못한 문서의 특징을 한번 살펴보죠. 문서의 내용이 쉽게 이해가 되지 않는다. 외계어로 작성된 것 같다. 여백 없이 빽빽이 작성되어서 읽는데 너무 피곤하다. 문법이 많이 틀려서 내용도 신뢰가 가지 않는다. 주어도 없고 문장의 앞뒤가 전혀 .. 더보기
개발자 윤리 장전 소프트웨어 개발자라는 직업은 특수성이 많은 것 같습니다. 뭘 좀 잘못해도 쉽게 눈에 안띄고, 문제가 되어도 딱히 누가 잘못한지도 잘 모르겠고, 맘 먹고 동료들이나 경영자를 속이고 있어도 쉽게 알아차리기 힘들고, 자신의 실력보다 과대포장을 해도 눈치채기 어렵습니다. 또 하루종일 일을 하고 있어도 정말 열심히 하는 것인지 노는 것인지 알아내기 어렵고, 이러한 소프트웨어 개발자들이 빌딩을 만들거나 비행기를 만든다면 빌딩이 무너지거나 비행기가 추락하겠죠. 하지만 소프트웨어 필드에서는 그러한 오류가 종종 숨겨지고, 원인을 밝히기 어려운 경우가 태반입니다. 결국 소프트웨어 개발자들은 스스로의 발전을 위해서도 윤리의식을 가지고 있어야 합니다. 이러한 자세는 개발자 스스로에게도 도움이 된다는 것을 강조하고 싶습니다. .. 더보기
요구사항 분석의 출발점 소프트웨어 개발에 있어서 요구사항 분석이 가장 중요하다는 것은 앞에서도 이미 주지한 사실입니다. 2008/11/19 SRS(Software Requirements Specification)의 중요성 2009/02/04 소프트웨어 개발 단계에서 가장 중요하다고 생각하는 것은? 요구사항 분석의 산출물은 SRS, 요구사항분석서 또는 다양한 방법론에 의해서 다른 문서들이 나올 수 있겠죠. 그럼 요구사항분석의 출발은 무엇일까요? 어떤 기능을 제공하기를 원하나 조사하는 것일까요? "왜 이 프로젝트를 하려고 하는가?"입니다. 프로젝트를 하는 목적과 목표를 알아야 모든 요구사항이 일관성을 갖게 됩니다. 이걸 누구나 다 알고 있다고요? 제 경험에 의하면 그렇지 않습니다. 프로젝트 구성원에게 각각 물어보면 프로젝트의 목적.. 더보기
[오늘의 한마디] 경기에서는 개의 크기가 아니라, 팀의 조화가 중요하다. 얼마전 "스노우버디즈"라는 가족 영화를 보았는데, 비록 개가 한 소리(?)지만 좋은 말이 있어서 인용을 해볼까 합니다. "경기에서는 개의 크기가 아니라, 팀의 조화가 중요하다." 어린 강아지들이 개썰매 대회를 준비하면서 스승이 해준 말입니다. 하물며 개들이 알고 있는 것을 인간들이 모르면 안되겠지요. ^^ 아주 소규모 (2,3명 이하)의 개발팀이라면 각 개인의 역량이 프로젝트를 성공시키는 가장 큰 요소가 되겠지만, 3,4명만 넘어가는 개발팀에서도 팀의 조화가 아주 중요한 요소가 됩니다. 특히 팀이 커질수록 프로젝트의 성공은 한두명의 역량보다는 팀워크에 달려 있다고 해도 과언이 아닙니다. 혼자서는 개발을 잘하고 아는 것은 많지만 협력해서 일할 줄 모르는 개발자는 큰 프로젝트에서는 배제를 하게 됩니다. 그런.. 더보기
우리는 당장 써먹을 수 있는 경력 개발자 위주로 뽑아요. 언제부터인가 소프트웨어 개발자를 경력 개발자 위주로 채용하는 것이 일반화 된 것 같습니다. 물론 다른 업계도 마찬가지이지만, 당장 써먹을 수 있는 경력직을 선호하는 것은 사실입니다. 그렇게 경력직 위주로 개발자를 채용하다가 개발팀의 조직 구조가 효율적이지 못하게 변하는 경우를 종종 보게 됩니다. 소규모 개발조직이라면 어떠한 구조라도 별 상관이 없다면 일정 규모 이상의 개발조직은 각 직급별 적정한 분포를 가지는 것이 효율적입니다. 그럼, 경력 개발자 위주로 채용을 하다가 종종 벌어지는 조직 구조의 변화의 예를 하나 들어 보겠습니다. 진화 단계 설명 탄두형 회사의 초기에 일반적인 조직 구조 형태입니다. 항아리형 신입 개발자보다 경력 개발자를 위주로 채용을 하면서 자연스럽게 아래 부분이 줄어들게 됩니다. 또 .. 더보기
[마감] 티스토리 초대장을 나눠드립니다. i n v i t a t i o n 티스토리 초대장 안녕하세요! 티스토리에 보금자리를 마련하시려는 여러분께 초대장을 배포해 드리려고 합니다. 소프트웨어 개발자이면서 소프트웨어 개발 관련된 블로그를 운영하려는 분께 초대장(2장)을 보내드립니다. 티스토리 블로그는 초대에 의해서만 가입이 가능합니다. 원하시는 분은 댓글에 E-mail 주소를 남겨주시면 초대장을 보내드립니다. 남겨주실 때에는 꼭 비밀댓글로 남겨주세요! 초대장을 보내드리고 바로 개설하시지 않으신 분들은 초대장을 회수할 수도 있으니 바로 개설해주세요! 블로그 개설 후 블로그 주소를 남겨주시면 꼭 방문을 드리도록 하겠습니다. Yes 이런 분들께 드립니다! 1. 소프트웨어 개발자 또는 관련 종사자 2. 이메일 주소가 정상적인 분 3. 블로그를 시작하려.. 더보기
타이핑이 느린 프로그래머 대부분의 프로그래머의 타이핑 실력은 정말 뛰어납니다. 심야에 정말 빠른 타이핑 실력을 가지고 있는 프로그래머가 타이핑을 하고 있는 소리를 들어보면 음악과도 같습니다. "딱딱딱"이 아니고 "좌르르~"소리나 납니다. 이런 개발자들을 많이 봐왔죠. 그런데, 가끔 타이핑이 느린 프로그래머를 접하게 됩니다. 심지어는 자판을 보지 않고는 영어를 입력하지 못하는 프로그래머도 본적이 있습니다. 타이핑이 개발 실력과는 크게 연관이 없는 것처럼 보일 수도 있지만, 프로그래머의 무기는 키보드인데, 타이핑이 느리다는 것은 대단한 손해가 아닐 수 없습니다. 프로그래머의 일생의 수십%는 타이핑을 하면서 보냅니다. 그 시간의 10~20%는 절약하는 것은 인생의 대단한 시간 절약이 아닐 수 없습니다. 그 반대의 경우는 대단한 낭비죠.. 더보기