본문 바로가기

전체 글196

비즈니스 로직의 거대화와 테스트 방법의 변화 IT의 사용이 증가하면서 그 넓이(오프라인 업무의 온라인 업무화) 뿐만 아니라, 그 깊이(다양한 유형의 온라인 업무화)까지도 상당한 영역까지 구현의 범위가 넓어지고 있습니다. 따라서, 시스템의 구현에 대한 테스트는 그 입력과 예상되는 출력의 검증 뿐만 아니라, 다양한 경우의 조합(다양한 입력 변수들)을 통한 테스트가 비즈니스적으로 예상하는 형태로 결과값이 얻어지는지에 대한 테스트도 상당히 중요해지는 것 같습니다. 예를 들어, 금융권의 상품들은 다양한 옵션들이 추가되면서 다양한 상품들이 나타나고, 이에 대한 수익율이나 이자율, 환급율과 같은 결과치들이 상품으로써 팔릴 만한 가치인가를 결정하려고 하는 요구들이 강하게 나타나며, 특히, 파생상품의 경우들은 그 결과를 허용오차 범위 내에서 미리 예상할 수 있는 .. 2010. 11. 26.
항상 청결을 유지하라 소프트웨어 프로젝트가 어려운 부분은 기술의 난이도에 좌우되는 것보다는 기존에 가지고 있던 것들을 어떻게 관리하느냐에 따라 달라집니다. 예를 들어, 많은 프로젝트에서는 전체 상황을 보여주는 현황판을 벽면이나 화이트보드에 붙여서 관리를 합니다. 여기에는 일정과 주요한 현황들을 깔끔하게 정리하여 적어놓습니다. 하지만, 이러한 작업은 프로젝트 초반에 한번만 발생되며, 이후 프로젝트를 진행하면서 변경이나 추가가 되지 않는 경우를 많이 보았습니다. 일단 현황판이라고 만들어놓으면 이에 대한 지속적인 관리와 갱신이 이루어져야 그 자체로 의미가 있습니다. 한달 전이나 몇 개월 전의 상태를 그대로 둔다는 것은 이에 대해 아무도 관심을 가지지 않는다는 증거입니다. Cubicle worker FAIL. For the FDT .. 2010. 11. 17.
클린 코드와 클린 작업장 코드가 깨끗한 상태를 유지하는 것은 프로그래밍에 있어서 가장 중요하시만 시급하지 않은 영역으로 분류되는 것 같습니다. 깨끗한 코드를 유지하는 상태는 여러명이 작업하는 경우에 그 어려움이 더하게 됩니다. 코드가 깨끗하게 유지되려면 여러가지 조건과 환경이 갖추어져야 하며, 그 대표적인 예가 깨끗한 작업장이 먼저 선행되어야 합니다. 즉, 개발 환경은 어느 누가 보더라도 깨끗하게 유지되어야 하며, 개발자의 노력에 대한 부담을 최대한 줄여주어야 합니다. 개발 환경 안에는 형상관리, 테스트 환경, 요구사항 추적 등과 같이 소스 코드를 중심으로 이를 깨끗하게 유지해주는 다양한 환경이 포함될 수 있습니다. Amazing Graffiti by Banksy close to the Roundhouse - Camden Tow.. 2010. 11. 5.
'공통'은 모든 사람들이 접근하는 광장이다. 대형이든 소형이든 대부분의 프로젝트에서는 아키텍트팀과 업무를 중심으로 한 업무 개발팀으로 나눕니다. 업무는 비즈니스로부터 구획화가 되며, 각 업무 간에는 의존관계로 연결됩니다. 하지만, 비즈니스가 칼로 자르듯이 구획화가 힘든 부분이 발생되기도 하며, 이는 비즈니스를 구현하는 IT 입장에서도 명확하게 나누는 것이 힘든 경우도 발생됩니다. 이와 같은 일이 발생되는 경우에 가장 흔하게 사용되는 것이 업무 공통이라는 영역을 나누는 방식입니다. 즉, 어느 업무 팀에도 할당하기 애매모호한 것들을 통틀어서 공통이라는 영역으로 두게 됩니다. 일단 공통이라는 영역을 두게 되면, 수많은 애매모호한 성격의 일들이 이 영역으로 들어오게 됩니다. 심지어는 두 업무 사이에 명확하게 나누기 힘든 것 역시 이러한 공통 영역으로 들어.. 2010. 8. 12.
반응형