페이지

2024년 10월 5일 토요일

ERP 시스템의 기능 및 특징

ERP 시스템은 재고, 생산, 회계, 영업, 구매, 인사, 급여 등 기업에 필요한 모든 기능을 제공합니다.
각 기능들이 유기적으로 연결돼 있어 업무를 손쉽게 통합 관리할 수 있습니다.



ERP 시스템을 통해 반복 업무를 줄일 수 있고 업무 공유와 보고가 간편해지므로
시간/인력을 효율적으로 활용하여 기업의 성장에 집중할 수 있습니다.

  • 1. 재무/회계

    기업의 자금, 손익, 매출, 비용 등을 정확히 관리하기 위해 활용됩니다.
    매출/매입, 지출/입금 내역이 자금일보, 손익계산서 등 다양한 회계 보고서에 반영됩니다.
  • 2. 판매/구매

    품목별 거래처별 판매/구매 내역을 관리할 수 있습니다.
    ERP 시스템에 입력한 판매/구매 내역은
    재고 수불, 채권/채무, 손익 자료와 연동됩니다.
  • 3. 생산/제조

    제조업에서 생산 공정과 생산 수불 내역을 관리할 수 있는 기능입니다.
    생산에 투입된 원/부재료의 소요량을 계산하고
    제품 원가와 이익을 확인할 수 있습니다.
  • 4. 재고

    ERP 시스템을 사용하면 판매, 구매, 생산 내역이 재고에 반영되고
    품목별/창고별 재고 현황과 재고 수불 이력을 한눈에 확인할 수 있습니다.
  • 5. 인사/급여

    인사정보를 전산화할 수 있고 급여를 손쉽게 계산할 수 있습니다.
    4대보험과 상여를 계산해 급여대장, 급여명세서를 만들 수 있고
    급여 내역을 회계 장부에 포함할 수 있습니다
  • 6. 그룹웨어, 웹메일 등 협업툴과 연동

    최근에는 ERP 시스템이 협업툴과도 연동됩니다.
    ERP, 그룹웨어, 웹메일을 별도의 프로그램으로 사용할 필요 없이
    하나의 시스템으로 통합 관리할 수 있습니다.
  • 7. 기업 데이터 보호

    데이터를 수기 장부에 기록하거나, 엑셀 등의 프로그램을 사용해 PC에 저장하면 데이터의 유실 가능성이 높습니다.
    전문적인 보안 시스템을 갖춘 ERP 시스템을 사용하면 기업 데이터를 안전하게 보관할 수 있습니다.

ERP란

ERP란 전사적자원관리(Enterprise Resource Planning)의 약자로
기업의 모든 업무를 통합 관리할 수 있는 시스템을 의미합니다.



ERP 시스템에는 재고, 회계, 인사, 급여 등 기업이 필요로 하는 여러 기능이 있습니다.
ERP 시스템에 입력한 정보는 다양한 형태의 보고서로 만들어지고
기업 경영자는 이를 토대로 합리적인 의사결정을 할 수 있습니다.



최근에는 인터넷으로 접속해 사용하는 클라우드 ERP 시스템의 수요가 증가하는 추세입니다.
클라우드 ERP 시스템은 서버, 설치 라이선스 등이 필요없어 초기 비용이 저렴하고
별도의 구축 기간 없이 빠르게 도입할 수 있는 장점이 있습니다.



클라우드 ERP 시스템의 등장으로 ERP 도입에 대한 문턱이 낮아지고
중소기업을 포함한 보다 많은 기업에서 ERP를 사용할 수 있게 됐습니다.

2024년 10월 3일 목요일

정리

시스템 운영은 안정성이 제일 중요하다. 월 배치를 선호하는 이유도 여기에 있다. 시스템 장애가 발생했을 때, 월 배치는 그래도 대응할 시간이 있다. 하지만, 일이나 주배치는 바로 사고로 이어질 수 있다. 배치 주기가 짧을수록 운영 리스크는 더 커진다.

오늘은 이 '운영 리스크'를 줄일 수 있는 방법에 대해 정리해 보았다. 마트성 데이터를 이용해 시스템을 만드는 경우는 종종 있다. 실제로 이게 왜 문제가 되는지 이해하지 못하는 사람도 많다. 하지만, 여러 해 프로젝트를 하다 보니 이런저런 문제를 만나게 되었다. 대부분 구축 초기에는 생각하기 어려운 문제라 기록해 둘 필요가 있다고 생각했다.

타 시스템의 결과 마트를 사용할 경우 붉어질 수 있는 문제는 크게 네 가지였다. 첫 번째는 배치일자 문제다. 마트가 마트를 바라보는 일이 많아지면, 배치일자가 점점 밀리는 문제가 발생할 수 있었다. 두 번째는 소스 마트가 고도화되거나 폐기되는 경우였다. 이 경우, 예상하지 못한 영향을 받아 시스템에 문제가 발생할 수 있었다. 세 번째는 내부로직을 알기 어렵다는 문제였다. 내부로직을 모른 체 결과를 사용하면, 내 시스템의 결과를 나도 이해하지 못할 수도 있다. 네 번째는 영향도 분석이 어렵다는 점이다. 마트가 마트를 계속 바라보다면, 관리가 쉽지 않기 때문이다. 그 결과 프로젝트 비용은 점점 증가하게 된다.

끝으로 내가 생각하는 안정적인 관리 방법에 대해, 정리해 보았다. 핵심은 마트는 소스만을 바라본다는 원칙이었다. 그리고 마트가 굳이 마트를 바라봐야 하는 경우라면, 차라리 소스를 추가하는 편이 나았다. 그게 관리가 수월하기 때문이다. 당장 연명하는 것이 아니라, 운영되는 시스템이 엄청 많아진 경우에 적절하게 대응할 수 있어야 한다는 생각이다.

3. 이렇게 관리하는 게 안정적이다

이건 어디까지나 내 생각이다. 이론이 아닌 경험에서 배운 것이라 허술할 수 있다. 만약 내가 한 기업의 데이터 분석 사업을 담당한다면, 체계를 이렇게 가져가고 싶다.

먼저, 기간계 데이터를 이용해 만드는 소스 데이터를 정의한다. 필요에 따라 추가할 수 있다. 이 데이터의 목적은 범용성이다. 원본 정보를 최대한 있는 그대로 녹이는 게 목적이다. 당연히 사이즈가 클 것이다(파이션이나 인덱스 등을 잘 관리하는 게 중요할 듯).

소스가 정의되었다면, 리포트나 캠페인 등을 목적으로하는 마트 데이터 영역을 따로 정의한다. 마트는 마트를 바라보지 않는다. 이게 기본 원칙이다. 만약, 다양한 시스템을 구축하며, 공통으로 필요하다고 생각되는 데이터가 있다면, 이런 데이터는 소스에 추가한다. 프로젝트 효율을 높이기 위해서다. 소스로 관리되는 월배치 데이터는 월초(1~5일) 사이에 배치를 끝낸다. 그래야 업무 목적의 마트들이 밀리지 않는다.

핵심은 마트들이 서로 얽히는 것을 정책적으로 막는 것이다. 그리고 정책적으로 원천을 갱신하는 거다. 이렇게 하면, 개발 효율성과 운영 효율성을 모두 가져갈 수 있을 것 같다. 그리고 불필요한 시스템은 그때그때 폐기한다. 그리고 비슷한 성격을 가진 시스템은 고도화를 통해 통합한다. 마트 간 영향도가 0이기 때문에, 고도화 프로젝트에 대한 추가 개발 리소스는 크지 않다.

2. 마트성 데이터를 활용하면, 발생할 수 있는 네 가지 문제

그러나 마트성 데이터를 활용할 경우 몇 가지 문제가 발생할 수 있다. 이들 문제 대부분은 개발 시작 시점에는 표면으로 드러나지 않는다. 배포(운영에 시스템을 반영하는 작업) 시점이나, 이후 운영 시점 그리고 향후 고도화 시점에 문제 가 붉어진다. 그 때문에 장기적인 관점에서 시스템을 운영하는 운영자라면, 앞으로 얘기할 4가지 포인트에 대해 고민해 볼 필요가 있다.

2.1. 배치일자 문제

배치는 보통 월, 주, 일 등을 주기로 시스템 결과를 갱신하는 걸 말한다. 통상 운영 리스크를 줄이기 위해, 월배치가 많이 선호된다. 월배치는 보통 당월 초에 전월까지 기록된 데이터를 활용한다. 보통은 소스 데이터가 만들어지는 것을 감안해 매월 2~15일을 기준으로 만든다.

원천이 아닌, 마트를 바라보는 경우 여기서 문제가 생긴다. 만약 마트성 데이터가 매월 15일에 만들어진다면 어떨까? 어쩔 수 없이 새로 구축하는 시스템은 16일 이후에 배치를 일정을 잡아야 할 것이다. 이런 식으로 마트가 마트를 바라보는 일이 자주 발생하면 어떨까? 배치 일자가 끊임없이 밀리게 된다.

일정이 밀리는 게 큰 문제처럼 안 보일지 모른다. 하지만 시기가 중요한 과제라면, 배치일정이 밀리는 건 큰 문제가 될 수 있다. 보험사기 적발 시기가 늦을 수 있다. 이미 가입이 끝난 고객에게 상품 가입을 권유하라고 할 수도 있다. 이런 시스템은 제 기능을 하지 못한다.

<사례> A 금융사에서 있었던 일

어떤 금융사 프로젝트에서 있었던 일이다. 고객 요청으로 소스 데이터가 아닌, 마트 데이터의 집계 결과를 이용해 분석 마트를 만들었다. 마감년월 기준으로 변수를 가져다 썼다. 그리고 배포가 임박해, 현재 시점을 기준으로 테스트를 진행했다. 그런데 데이터가 모두 비어있었다. 바라보던 데이터가 당월 기준 15일이 지나야 전전월 데이터가 적재되는 것이었다. 결국, 전전월 데이터를 가져오도록 코드를 수정하고, 모형도 다시 만들었다. 덕분에 신나게 야근했다.

2.2. 소스 마트가 고도화되거나 폐기되는 문제

두 번째 문제는 소스로 사용한 마트가 수정되거나 폐기되는 경우다. 마트는 목적을 가지고 만든다. 그렇기 때문에 상황이 바뀌면 폐기되거나 업그레이드될 수 있다. 데이터 레이아웃이 바뀌면, 변수의 자료형이나 구조, 기준 등 많은 요소가 다양하게 바뀐다.

먼저, 마트가 수정되는 경우다. 고도화 프로젝트로 기존 마트의 구조나 내용이 바뀔 수 있다. 이 경우, 운영되고 있을 내가 만든 시스템에 어떤 영향이 미칠지 알 수 없다. 보통 고도화 프로젝트에서는 영향도 분석이 선행된다. 하지만, 운영 책임자가 빈번하게 바뀌는 경우도 있다. 이 경우 히스토리 관리가 제대로 되지 않는 경우도 있다. 그러면 운영이 시작되자마자 기존 데이터를 바라보던 사업부에서 항의가 빗발친다.

두 번째는 폐기되는 경우다. 사용하지 않는 시스템은 그때그때 폐기해 주는 것이 좋다. 그런데 쓰지 않아 폐기하려던 시스템의 결과를 다른 시스템에서 사용하고 있다고 하면, 어떨까? 결론부터 말하면, 폐기할 수 없다. 정말 단순한 결과 하나만 가져다 써도 쉽게, 폐기할 수 없다. 해당 시스템을 직접 개발한 사람이 와서 정리하지 않는 한 말이다. 왜냐고? 어떤 문제가 생길지 나도 너도 모두 모르기 때문이다.

2.3. 내부로직을 정확히 알기 어려운 문제

세 번째 문제는 '내부로직'이다. 만들어진 결과를 가져와 쓰는 것은 참 편리하다. 내가 굳이 만들 필요가 없기 때문이다. 하지만, 세부적인 로직을 알 수 없다면, 설명할 수 없다. 가져다 쓴 수치에 대한 정확한 의미를 알기도 어렵다.

예를 들어, '평균 구매 금액'이란 변수가 있다고 하자. 직관적으로 이해하기 쉽다. '아 어떤 고객이 구매한 금액의 평균이구나'라고 생각할 수 있다. 하지만, 조금만 더 생각해 보면, 월평균인지, 주 평균인지, 그냥 평균인 지도 의문이다. 그리고 기간을 얼마나 고려했는지도 의문이다. 단위는 어떠한가? 지점인가? 고객인가? 상품인가? 저 문구만 보아서는 알기 어렵다. 변수 이름은 대부분은 '함축적' 으로 관리한다.

보통은 메타 관리 시스템에 변수에 대한 설명이 있다. 하지만, 내가 경험한 10개 이상의 대기업 어디에도 세부 정의를 적어놓은 시스템은 없었다. 메타 관리 시스템에 저 변수는 분명 이렇게 설명되어 있을 것이다. '평균적으로 구매한 금액을 집계한 값' 이 정도만 되어도 관리자가 엄청 성실한 거다. 설명이 없는 경우가 대부분이다.

그렇다면, 결국은 해당 변수를 만드는 로직을 받아서 확인해야 한다. 그리고 어떤 소스를 이용해 만들었는지도 알아야 한다. 코드를 직접 검토하는 게 제일 정확하지만, 제일 오래 걸린다. 로직이 간단하면 모를까 여러 데이터를 봐야 하는 경우라면 난감하기 짝이 없다. 이런 경우에는 그냥 새롭게 정의하는 편이 훨씬 낫다. 시간 절약을 위해 가져다 쓰려다가 시간이 10배는 더 들 수도 있기 때문이다. 그리고 새로 정의하는 마음이 편하다.

'대응이 되기 때문'이다.

2.4. 영향도 분석이 어려움

마지막 네 번째는 영향도 분석이 어렵다는 점이다. 마트가 마트를 바라보는 일이 많아지면, 나중에 무엇 하나 건드리기 어려워진다. 정말이다. 한 시스템을 고도화하려고 보면, 기존 시스템이 여러 개 엮이게 된다. 결과적으로 이 모든 시스템을 다 고쳐야 하는 상황이 발생할 수도 있다. 이게 왜 문제가 될까?

고도화 수행 시간이 늘어난다. 기존 시스템을 고도화하기 위해서는 복잡하게 얽힌 시스템들으 분석해야 한다. 초기에는 해볼만 하지만, 시간이 지나면, 불가능한 수준이 된다. 시스템이 늘어나면, 늘어날수록 도무지 관리가 안 되게 된다. 그리고 쉽게 시스템을 폐기하지도 못 한다. 이는 마치 뚱뚱해지는 거랑 같다. 불필요한 지방이 쌓이고, 빼기도 힘들다.

1. 소스와 마트

먼저 소스는 원장성 데이터를 말한다. 흔히 말하는 기간계 데이터를 직접 바라보고, 만든 2차 데이터다. 그리고 마트성 데이터는 이 2차 데이터를 어떤 목적을 가지고 집계하고 가공한 데이터를 말한다.

예를 들면, 월 단위로 집계되는 고객 거래 정보 데이터는 소스로 볼 수 있다. 그리고 상품추천을 위해 고객 거래 정보 등을 이용한 추천 마트는 마트성 데이터에 해당한다. 즉, 원천성 데이터는 범용성을 목적으로 구성되면, 마트성 데이터는 특수 목적을 위해 만들어진다는 차이가 있다.

하지만, 간혹 마트성 데이터에 집계된 결과가 신규 과제에서 필요한 변수와 유사한 경우가 있다. 이 경우 마트성 데이터를 잘 활용하면 좋을 수도 있다. 변수에 대한 업무정의나 검증을 하지 않아도 되기 때문이다. 그리고, 굳이 변수를 만들지 않아도 된다는 장점도 있다.

[더 알아보기] 기간계와 정보계

보통 기간계와 정보계로 나누어 데이터를 관리한다. 기간계는 운영에 사용되는 데이터를 말한다. 예를 들면, 실시간으로 쌓이는 계약이나 거래 정보를 기록하는 데이터다. 기간계 데이터베이스에 문제가 생기면, 기업 운영에 치명적인 피해가 발생한다. 반면, 정보계는 마케팅, CRM 등과 같은 업무를 목적으로 관리하는 데이터베이스다. 보통 일이나 월 단위로 기간계 데이터를 집계해 정보계에 쌓는다. 이때, 기간계에서 정보계로 직접 쌓는 데이터를 '소스'라고 정의했다.

분석 시스템 구축 시 주의할 점, 마트는 마트를 바라보지 않는다

분석 시스템 구축 프로젝트를 수행하다 보면, 다른 시스템의 결과 데이터를 사용하고 싶은 욕구가 가끔 생긴다. 만들어진 데이터를 가져다 쓰면, 굳이 로직을 새롭게 정의할 필요가 없다. 그리고 굳이 직접 코딩할 이유도 없다. 일이 줄어든다. 하지만 다른 시스템의 결과를 이용하는 경우 단기적으로는 좋지만, 중장기적으로 보았을 때 잠재적인 문제점들이 많다.