본문 바로가기

Homo Programming196

수확 체감과 한계효용의 체감 경제학에는 수확 체감의 법칙과 한계효융의 체감 법칙이 있다. 수확 체감(diminishing returns)이란 일정한 면적에 노동력을 추가 투입했을때 수확량(혹은 생산성)의 증가가 노동력의 증가를 따라가지 못하는 현상을 말한다. 즉, 노동력의 투입이 결코 생산성과 연결될 수는 없으며, 과다 투입된 노동력에 대해서는 단위 면적을 넓히던가 아니면 더 생산적인 수단 방식을 사용해서 효율을 높여야 함을 의미한다. 한계효용(marginal utility)은 재화나 용역이 증가 혹은 감소함에 따라 주관적으로 매겨지는 가치의 관계에 대한 개념이다. 예를 들어, 갈증이 심할 때 먹는 50원의 물의 가치와 그러한 갈증이 해결된 후에 먹는 50원의 물의 가치는 절대적인 수치는 동일할지라도 이를 접하는 이의 주관적인 가치.. 2012. 6. 29.
인식의 전환 - NoSQL 철학의 한 분야인 인식론(epistemology)에서는 지식 습득에 대한 다양한 정의를 하고 있다. 즉, 인식론에서는 '앎(knowledge)이란 무엇인가?', '지식(knowledge)은 어떻게 얻는가?', '주어진 주제나 대상에 대해서 어느 정도까지 알 수 있는가?' 등의 질문에 대한 답을 구하는 과정을 이론화시킨다. 인식론은 앎의 성질을 분석하는데 초점을 두고, 진실(truth), 믿음(belief), 근거(justification)와 같은 개념과 어떤 관계가 있는지를 논한다. 이러한 인식론에 반해서 아무것도 알지 못한다고 하는 관점이 회의론(skepticism)이다. 인식론을 지식론(theory of knowledge)라고 한다. 인식론에 대한 내용은 소프트웨어 개발을 이해하는 방법에 마찬가지로 .. 2012. 6. 25.
빌드 시간을 더 빠르게 하라 빌드의 통합은 형상관리도구, 워크스페이스의 소스코드 관리 도구, 배포 바이너리 버전 관리 도구 등을 통해서 상당 부분 자동화를 시킬 수 있다. 빌드는 단순히 형상관리에 있는 소스 코드들을 모두 가지고 와서 실행 파일로 컴파일을 만들어주는 의미만 포함되는 것은 아니다. 물론, 이러한 자동화 역시 전체 소스 코드의 깨짐 현상을 방지할 수 있고, 이를 지속적으로 반복적으로 수행한다면 소스 코드 깨짐 현상에 대한 위험은 줄일 수 있을 것이다. 문제는 전체 소스 코드의 크기가 적고, 어느 정도 인내할 수 있는 시간 동안 빌드를 한다면 괜찮겠지만, 소스 크기가 상당하고 많은 사람들이 만들어내는 소스 코드 (심지어 서로 다른 지역에 있는 사람들이 만들어내는 소스 코드와 같이 빌드하는 경우) 라면 상황이 달라진다. 실.. 2012. 5. 12.
문제는 속도가 아니라 방향과 제어이다. 다른 산업과 달리 SW 산업은 제품을 만들어내는 기간을 정확하게 예측하기 어렵다는 것이다. 지금 진행되고 있는 프로젝트들을 포함해서 그동안 수많은 프로젝트들은 일정 관리라는 고유의 영역에서 전체 SW 개발 주기를 항목 단위별로 매일, 매주, 매월로 개발 상태를 관리하지만, 정해진 시간 내에 SW를 완성시키기란 상당히 힘들다는 것을 늘 느낀다. 만일, 개발 속도(velocity)를 수치로 표현할 수만 있다면, SW 제품을 만드는데 걸리는 시간을 계산할 수 있을 것이다. 따라서, 모든 프로젝트에서는 개발 속도, 즉 개발 생산성을 그 어느 것보다도 더 중요하게 생각하고 이를 매일 관리하도 한다. 개발 속도는 당연히 그 이면에 개발 범위(scope)라는 제약 변수가 있지만, 개발 범위는 늘 애매모호한 형태로 식.. 2012. 4. 14.
반응형