MOMSOFT / 소프트웨어 개발
비즈니스를 이해하는 소프트웨어 개발
요구사항 정리부터 설계·개발·인수 검수·운영 이관까지, 단계마다 무엇이 나오는지 미리 정하고 같은 사람이 끝까지 붙어서 만듭니다.
프로젝트 문의하기 →맘소프트가 맡는 개발 일의 범위
맘소프트는 경기도 시흥에 자리한 개인사업자로, 소프트웨어를 직접 설계하고 만들어 인도하는 일을 합니다. 대표 윤수현이 19년 넘게 금융·공공·제조·미디어 도메인의 시스템을 만들어 온 경험을 바탕으로, 문서만 만들어 놓고 구현을 하청으로 넘기는 방식이 아니라 요구사항을 듣는 자리부터 운영 서버에 배포하는 순간까지 같은 사람이 붙어 있는 방식으로 일합니다.
실제로 의뢰가 들어오는 일은 대체로 다음 네 가지 모양 중 하나입니다. 자신의 상황이 어디에 가까운지 먼저 짚어 보시면 이후 상담이 훨씬 빨라집니다.
- 새 시스템을 처음부터 만드는 일. 아직 화면 한 장 없는 상태에서 업무를 듣고 정리해 데이터 모델과 화면을 설계하고, 실제로 쓸 수 있는 형태까지 만들어 인도합니다. 사내 업무 시스템, 관리자 백오피스, 고객용 웹 서비스가 여기에 해당합니다.
- 이미 돌아가는 시스템을 고도화하는 일. 남이 만들어 두고 떠난 코드를 읽어 구조를 파악하고, 느린 화면과 반복되는 장애의 원인을 찾아 고칩니다. 기능 추가보다 원인 규명이 더 큰 비중을 차지하는 경우가 많습니다.
- 모바일 앱과 웹을 함께 묶는 일. Flutter로 앱을 만들고 Spring Boot 백엔드와 붙여 하나의 서비스로 굴러가게 만드는 작업입니다. 스토어 심사와 출시까지 포함해 진행할 수 있습니다.
- 기술 판단을 대신 내려 주는 일. 개발 조직은 있는데 구조를 정할 사람이 없거나, 외주 산출물을 검증할 눈이 필요한 경우입니다. 이 영역은 CTO 대행 · 기술 리더십에서 따로 다룹니다.
규모에 대해서는 미리 말씀드리는 편이 서로에게 이롭습니다. 맘소프트는 개인사업자이고, 수십 명이 동시에 투입되어야 하는 대형 SI 사업을 단독으로 수주해 인력을 밀어 넣는 형태의 일은 하지 않습니다. 대신 한 사람이 전체 구조를 머릿속에 담을 수 있는 크기의 프로젝트에서, 담당자가 바뀌지 않고 맥락이 유실되지 않는다는 이점을 최대치로 씁니다. 필요할 때는 함께 일해 본 개발자와 팀을 구성해 진행하되, 설계와 최종 책임은 언제나 맘소프트가 집니다.
맞는 경우와 맞지 않는 경우
개발사를 고를 때 가장 큰 손해는 실력이 부족한 곳을 만나는 것이 아니라, 성격이 맞지 않는 곳과 계약하는 것입니다. 아래 기준으로 먼저 걸러 보시면 상담 자체가 필요 없는 경우를 미리 알 수 있습니다.
맘소프트가 잘 맞는 쪽은 이런 경우입니다. 업무는 명확한데 그것을 시스템의 언어로 옮겨 줄 사람이 없는 조직, 엑셀과 수작업으로 버티다가 사람이 늘면서 한계에 부딪힌 조직, 이전 개발사가 떠난 뒤 코드를 읽고 이어받을 사람이 필요한 조직, 그리고 만들어 놓고 끝이 아니라 왜 그렇게 만들었는지 설명을 남겨 주기를 바라는 조직입니다. 이런 일은 담당자가 자주 바뀌지 않는 구조에서 결과가 크게 달라집니다.
반대로 맞지 않는 쪽도 분명합니다. 요구사항을 정리할 시간을 낼 수 없는 상황, 이미 정해진 금액에 기능을 끼워 맞춰야 하는 상황, 수십 명 규모의 인력 투입 자체가 계약 조건인 사업, 그리고 시안 디자인의 완성도가 성패를 가르는 브랜드 사이트가 여기에 해당합니다. 이런 경우에는 처음부터 다른 형태의 파트너를 찾으시는 편이 결과가 좋습니다.
일이 진행되는 순서
모든 프로젝트는 아래 다섯 단계를 지나갑니다. 단계마다 무엇이 나오는지를 미리 합의해 두면, 중간에 지금 어디쯤 왔는지를 두고 다투는 일이 사라집니다.
1단계 · 요구사항을 문장으로 만듭니다
첫 미팅에서 하는 일은 견적을 부르는 것이 아니라 질문을 하는 것입니다. 지금 그 업무를 사람이 어떻게 처리하고 있는지, 엑셀로 관리한다면 그 엑셀 파일을 그대로 보여 달라고 요청합니다. 누가 무엇을 입력하고 누가 승인하며 그 결과를 누가 보는지, 그리고 이 시스템이 생기면 무엇이 없어져야 성공인지를 확인합니다.
이 과정에서 나온 이야기를 화면 목록과 기능 목록으로 바꿔 문서로 돌려 드립니다. 이 문서에 적히지 않은 것은 만들지 않는다는 기준이 되므로, 검토는 꼼꼼하게 하시는 편이 좋습니다. 경험상 프로젝트가 어긋나는 원인의 대부분은 개발 실력이 아니라 이 단계에서 서로 다른 그림을 그린 채 진행한 데 있습니다.
2단계 · 구조를 정합니다
확정된 요구사항을 데이터 모델로 옮기고, 화면 흐름과 권한 체계, 외부 연동 지점을 설계합니다. 이때 사용자가 크게 늘어나면 어디가 먼저 무너지는지, 담당자가 바뀌었을 때 다른 개발자가 이 코드를 읽을 수 있는지를 함께 따집니다. 새로 나온 기술보다 오래 유지되는 평범한 구조를 선호합니다.
설계 결과는 테이블 정의와 화면 설계, 그리고 왜 이 구조를 택했는지에 대한 짧은 설명으로 전달됩니다. 판단의 이유를 남겨 두어야 나중에 구조를 바꿀 때 무엇을 포기하는 것인지 알 수 있기 때문입니다.
3단계 · 만들면서 계속 보여 드립니다
개발은 기능 단위로 쪼개어 진행하고, 완성된 부분은 확인용 서버에 올려 직접 눌러 보실 수 있게 합니다. 다 만든 다음에 한 번에 공개하는 방식은 쓰지 않습니다. 절반쯤 왔을 때 방향이 틀렸다는 사실을 알아야 되돌릴 수 있고, 마지막 주에 알게 되면 되돌릴 방법이 없기 때문입니다.
진행 상황은 정기적으로 공유합니다. 무엇이 끝났고 무엇이 남았으며, 예상과 달라진 부분이 있으면 그 사실과 이유를 바로 알려 드립니다. 늦어지는 일보다 늦어지는 줄 모르고 있는 일이 훨씬 위험합니다.
4단계 · 인수 확인
기능이 다 갖춰지면 실제 데이터에 가까운 자료를 넣고 함께 검수합니다. 요구사항 문서의 항목을 하나씩 따라가며 되는지 안 되는지 확인하고, 발견된 문제는 목록으로 만들어 처리 여부를 표시합니다. 검수에서 나온 결함의 수정은 계약에서 정한 범위 안에서 별도 비용 없이 처리하며, 검수 중 새로 요청된 기능은 결함이 아니라 추가 개발로 구분해 다시 협의합니다. 이 구분을 처음부터 명확히 해 두는 것이 서로 감정 상하지 않는 방법입니다.
5단계 · 운영으로 넘깁니다
인도는 파일을 압축해 보내는 것으로 끝나지 않습니다. 소스 코드와 데이터베이스 구조, 배포 방법, 서버 설정, 계정 정보를 정리해 넘기고, 담당자가 있다면 코드와 구조를 설명하는 자리를 갖습니다. 맘소프트가 계속 운영을 맡을 수도 있지만, 언제든 다른 곳으로 옮겨 갈 수 있는 상태로 만들어 두는 것을 원칙으로 합니다. 나가지 못하게 붙잡아 두는 방식으로 얻는 일감은 오래가지 않습니다.
단계별 산출물
아래는 각 단계가 끝났을 때 실제로 손에 남는 것들입니다. 계약 전에 이 표를 기준으로 범위를 맞춥니다.
| 단계 | 받으시는 것 |
|---|---|
| 요구사항 정리 | 화면 목록, 기능 목록, 제외 범위 명시 문서 |
| 설계 | 데이터 모델(테이블 정의), 화면 흐름, 권한 체계, 연동 규격 |
| 개발 | 확인용 서버 주소, 기능 단위 진행 공유 |
| 인수 | 검수 항목표, 결함 처리 목록 |
| 이관 | 소스 코드 일체, 배포 절차서, 서버·계정 정보, 인수인계 설명 |
표에 적힌 것 가운데 필요 없는 항목이 있다면 계약 시점에 빼면 됩니다. 반대로 운영 매뉴얼이나 사용자 교육처럼 표에 없는 산출물이 필요하시면 범위에 추가해 견적에 반영합니다. 중요한 것은 무엇을 받게 되는지가 계약서 안에 문장으로 적혀 있어야 한다는 점입니다.
견적과 일정은 무엇으로 정해지나
금액을 먼저 정해 놓고 거기에 맞춰 기능을 깎는 방식은 결국 쓸모없는 시스템을 만듭니다. 맘소프트는 요구사항이 문장으로 정리된 다음에 견적을 냅니다. 첫 통화에서 대략적인 규모감을 말씀드릴 수는 있지만, 그것은 견적이 아니라 이 일을 계속 이야기할 만한지 판단하기 위한 참고치입니다.
실제 금액과 일정을 좌우하는 것은 아래 요소들입니다. 상담 전에 이 항목들에 대한 답을 준비해 오시면 훨씬 정확한 숫자를 빨리 받아 보실 수 있습니다.
- 화면의 수와 복잡도. 목록과 상세만 있는 화면과, 여러 조건이 얽힌 계산과 승인 흐름이 들어간 화면은 같은 한 장이어도 작업량이 크게 다릅니다.
- 외부 연동 대상의 수. 결제, 문자, 인증, 기존 사내 시스템처럼 남이 만든 것과 붙는 지점은 매번 예상보다 시간이 더 듭니다. 상대편 담당자와 연락이 되는지 여부까지 일정에 영향을 줍니다.
- 기존 데이터의 상태. 이전 시스템의 데이터를 옮겨 와야 한다면, 그 데이터가 얼마나 정돈되어 있는지가 곧 작업량입니다. 정리되지 않은 데이터의 이관은 개발보다 오래 걸리기도 합니다.
- 의사결정 속도. 확인이 필요한 사항을 물었을 때 답이 며칠 만에 오는지가 실제 일정을 결정합니다. 개발이 멈춰 있는 시간은 대부분 코드가 아니라 답을 기다리는 시간입니다.
- 운영 이관의 범위. 코드만 넘기는지, 서버 구축과 배포 환경까지 맡는지, 출시 이후 일정 기간 운영까지 포함하는지에 따라 범위가 달라집니다.
계약은 범위와 산출물, 검수 기준, 대금 지급 시점을 문서로 정한 뒤에 시작합니다. 진행 중에 요구가 늘어나는 일은 자연스러운 일이므로, 늘어난 부분을 따로 기록해 두었다가 일정과 금액에 반영하는 방식으로 처리합니다. 기록해 두지 않은 채 조금씩 늘어난 요구가 결국 일정을 무너뜨리고, 그 부담은 양쪽 모두에게 돌아갑니다.
하지 않는 일
맡을 수 없는 일을 미리 밝히는 것이 서로의 시간을 아끼는 길이라고 생각합니다.
- 수십 명 규모의 인력을 투입해야 하는 대형 SI 사업의 원청 수행은 하지 않습니다. 한 사람이 구조 전체를 파악할 수 있는 범위 안에서 일합니다.
- 요구사항을 정리하지 않은 채 일단 싸게 빨리 만들어 달라는 형태의 일은 맡지 않습니다. 그렇게 만든 결과물은 대부분 다시 만들게 되고, 그 비용은 결국 의뢰하신 쪽이 부담하게 됩니다.
- 도박, 불법 복제, 개인정보를 무단 수집하는 서비스 등 법령에 어긋나는 목적의 개발은 하지 않습니다.
- 기존 산출물을 그대로 베껴 달라거나 타인의 저작물을 무단으로 사용하는 작업은 하지 않습니다.
- 디자인 시안을 처음부터 창작하는 전문 디자인 업무는 주력이 아닙니다. 관리자 화면처럼 기능 중심 화면은 직접 구성하지만, 브랜드 디자인이 중요한 프로젝트라면 디자이너와 함께 진행하시는 편이 결과가 좋습니다.
수행 이력
이력을 적을 때는 맘소프트라는 사업자가 수행한 일과, 대표 윤수현이 개업 이전 재직 기간 중 수행한 일을 반드시 구분합니다. 둘을 합쳐서 크게 보이게 만드는 것은 판단을 흐리는 일이라고 생각합니다.
맘소프트가 수행한 일
사업자 맘소프트의 이름으로 계약해 수행했거나 수행하고 있는 일은 아래와 같습니다. 구축 사업과 자문 사업이 함께 있습니다.
- CONTEC 프로젝트 비용관리 시스템 구축 및 고도화 — 프로젝트별 비용을 집계하고 관리하는 사내 시스템을 구축했고, 이후 운영하면서 나온 요구를 반영해 고도화를 이어 왔습니다.
- CONTEC AX 자문 — AI 전환 관점에서 기술 방향과 적용 범위를 함께 검토하는 자문을 수행하고 있습니다.
- 전국은행연합회 소비자포털 웹접근성 인증 갱신 — 이미 운영 중인 포털의 접근성 항목을 점검하고 개선해 인증 갱신을 진행했습니다.
- J2H 응급전원협진망 앱 자문 — 응급 전원 협진에 쓰이는 앱을 대상으로 기술 자문을 수행했습니다.
- 한국지식재산보호원 기술 자문위원 — 기술 자문위원으로 위촉되어 활동하고 있습니다.
- 디에이치소프트 기술 자문 — 개발 조직의 기술 판단을 돕는 자문을 수행하고 있습니다.
대표가 개업 이전 재직 기간 중 수행한 프로젝트
아래는 맘소프트의 실적이 아니라, 대표 윤수현이 개업 이전 재직 기간 중 담당자로 참여해 수행한 경력입니다. 어떤 규모와 성격의 시스템을 다뤄 왔는지를 보여 드리기 위해 남기며, 맘소프트 수행 실적과는 분명히 구분해 표기합니다.
- 금융·공공 영역에서는 전국은행연합회 차세대 IT시스템과 기후금융DB(ESG), KB국민은행 종합부동산정보시스템처럼 데이터 정합성과 안정성이 우선되는 시스템을 담당했습니다.
- 대용량 데이터 영역에서는 SKT 빅데이터 플랫폼 DBMart 구축에 참여해, 데이터가 쌓이는 속도를 감당하는 구조가 왜 처음부터 설계되어야 하는지를 경험했습니다.
- 제조·미디어 영역에서는 삼성전자 제품 트래킹 시스템과 갤럭시노트 WebGL 3D, JTBC OOH 플랫폼과 스크린 광고 운영시스템처럼 성격이 서로 다른 서비스를 다뤘습니다.
- 기업 업무 시스템 영역에서는 한화시스템 업무 자동화(RPA), 경동나비엔 통합회원관리, 대림비앤코 통합주문관리(OMS) 등 실제 업무 흐름을 시스템으로 옮기는 일을 반복해 왔습니다.
직접 만들어 운영 중인 것들
남의 일만 받아서 하는 곳인지, 자기 제품을 끝까지 책임져 본 곳인지는 꽤 중요한 차이입니다. 자기 서비스를 운영해 보면 출시 이후에 무엇이 무너지는지를 알게 되고, 그 경험은 남의 시스템을 설계할 때 그대로 쓰입니다. 배포 방식, 오류 추적, 데이터 백업처럼 개발이 끝난 뒤에야 필요해지는 것들을 미리 설계에 넣게 되는 것이 그 차이입니다.
맘소프트는 자체 IP 게임 네 종(TDF: Neon Siege, MINDBLOCK, 에그펫, MindDozer 3D)을 Google Play에서 서비스하고 있으며, 게임물 제작업 등록과 통신판매업 신고를 마쳤습니다. 좋은 글귀를 알림으로 전하는 앱 WiseWhisper를 운영하고, 계산기 · 텍스트 · 변환 · 이미지 등 150종을 모아 두고 모든 처리를 브라우저 안에서 끝내는 무료 웹 도구 모음 유틸로를 제공합니다.
사내에서는 문서를 정리하는 WIKI, 자산을 관리하는 VMS, 프로젝트를 관리하는 PMS, 결재와 게시판을 담당하는 그룹웨어 GW를 직접 만들어 실제 업무에 쓰고 있습니다. 스스로 매일 쓰는 시스템이기 때문에 불편한 지점이 그대로 드러나고, 그렇게 고쳐 온 방식이 의뢰받은 업무 시스템의 화면 설계에도 반영됩니다.
기술 스택과 선택 기준
기술은 유행이 아니라 유지보수 가능성을 기준으로 고릅니다. 몇 년 뒤에도 그 기술을 다룰 사람을 구할 수 있는지, 문제가 생겼을 때 참고할 자료가 충분한지, 이미 충분히 다뤄 본 것인지를 먼저 봅니다.
- 서버. Java와 Spring Boot 3을 기본으로 하고, 데이터 접근에는 JPA와 QueryDSL을 씁니다. 데이터베이스는 PostgreSQL을 쓰고, 캐시와 세션 저장에는 Redis를 사용합니다.
- 웹 화면. 업무 시스템의 관리자 화면과 대시보드는 Vue 3으로 만들고, 내용 전달이 목적인 사이트는 Astro로 가볍게 만듭니다. 브라우저 안에서 무거운 연산을 처리해야 할 때는 WASM을 활용합니다.
- 모바일. Flutter로 안드로이드와 iOS를 한 코드로 만들고, 인증·푸시·실시간 데이터가 필요하면 Firebase를 붙여 초기 구축 시간을 줄입니다.
다만 새로 만드는 경우가 아니라 기존 시스템을 이어받는 경우라면, 그 시스템이 쓰고 있는 기술을 존중해 이어서 작업합니다. 이관받자마자 전부 갈아엎자고 제안하는 것은 대개 개발사의 편의이지 의뢰하신 분의 이익이 아닙니다. 다시 만드는 편이 낫다는 판단이 서더라도, 그 근거와 비용을 함께 제시한 뒤 결정은 의뢰하신 쪽이 하시도록 합니다.
자주 묻는 질문
아직 기획서가 없는데 상담이 가능한가요
가능합니다. 오히려 기획서가 없는 편이 나을 때도 있습니다. 지금 그 업무를 어떻게 처리하고 있는지 설명해 주실 수 있으면 충분하고, 쓰고 계신 엑셀 파일이나 종이 양식이 있으면 그것이 가장 좋은 자료입니다. 요구사항을 문장으로 정리하는 것 자체가 1단계 작업입니다.
소스 코드는 누구 것이 되나요
계약에서 정한 대로 처리하며, 특별한 사정이 없는 한 인도된 산출물의 소스 코드는 의뢰하신 쪽이 가져가시는 것을 기본으로 합니다. 다른 곳으로 옮겨 갈 수 없게 만들어 두는 방식은 쓰지 않습니다.
만든 뒤에 문제가 생기면 어떻게 되나요
인수 검수에서 합의한 기능이 정상 동작하지 않는 결함은 계약에서 정한 하자보수 기간 동안 무상으로 처리합니다. 새로운 기능 추가나 요구사항 변경은 결함과 구분해 별도로 협의합니다. 이 경계를 계약 시점에 문서로 정해 두기 때문에 나중에 해석이 갈리는 일이 적습니다.
진행 중에 요구사항이 바뀌면 안 되나요
바뀌는 것이 정상입니다. 중요한 것은 바뀌었다는 사실을 기록하고, 그것이 일정과 금액에 미치는 영향을 그때그때 공유하는 것입니다. 변경을 막는 것이 아니라 변경의 대가를 투명하게 보여 드리는 방식으로 일합니다.
기존 개발사가 만들어 둔 시스템도 이어받나요
이어받습니다. 다만 소스 코드와 데이터베이스 접근이 가능해야 하고, 먼저 코드를 읽고 현재 상태를 진단하는 과정을 거칩니다. 진단 결과 이어서 고치는 편이 나은지 다시 만드는 편이 나은지를 근거와 함께 말씀드리며, 그 판단은 남은 코드의 상태에 따라 달라집니다.
서버와 도메인도 함께 맡길 수 있나요
맡길 수 있습니다. 클라우드 계정 생성과 서버 구성, 도메인 연결, 인증서 설치, 배포 자동화까지 포함해 진행할 수 있습니다. 다만 계정과 결제 수단은 의뢰하신 쪽 명의로 만들어 두시기를 권합니다. 개발사 명의로 잡혀 있던 인프라 때문에 나중에 옮기지 못하는 경우를 여러 번 봤기 때문입니다.
개발 중간에 상황을 어떻게 확인하나요
확인용 서버 주소를 드리기 때문에 완성된 기능은 언제든 직접 눌러 보실 수 있습니다. 여기에 더해 무엇이 끝났고 무엇이 남았는지를 정기적으로 정리해 공유합니다. 별도의 협업 도구를 이미 쓰고 계신다면 그 도구에 맞춰 진행해도 됩니다.
원격으로만 진행되나요
기본은 원격 협업이며, 필요한 시점에는 방문해 미팅을 진행합니다. 요구사항 정리와 인수 검수처럼 얼굴을 보고 이야기하는 편이 훨씬 빠른 단계가 있습니다. 사무실은 경기도 시흥시 옥구상가1길 23, 4층 103호에 있습니다.
어떻게 문의하면 되나요
[email protected]로 메일을 보내 주시거나 문의 페이지를 이용하시면 됩니다. 무엇을 만들고 싶은지, 언제까지 필요한지, 지금 그 업무를 어떻게 처리하고 있는지 이 세 가지만 적어 주셔도 첫 답변에서 상당히 구체적인 이야기를 드릴 수 있습니다. 사업자등록번호는 505-63-00683입니다.
만들고 싶은 것이 있으신가요
아이디어 단계부터 운영 중인 시스템의 고도화까지, 어떤 단계든 함께합니다.
[email protected]메일 앱이 열리지 않으면 [email protected] 로 직접 보내 주셔도 됩니다.