[디지털데일리 오병훈 기자] “소프트웨어(SW) 개발자는 하드웨어를 만드는 사람이 아닙니다. 소프트웨어 특성에 맞게 계속 ‘소프트’할 수 있게(유연하게) 만들어야된다는 것을 인정하고 실천해야 합니다.”
김재민 토스페이먼츠 서버 개발자는 인프랩에서 개최한 ‘인프콘2024’에서 ‘지속 성장 가능한 설계를 만들어가는 방법’을 주제로 발표하면서 이같이 강조했다.
SW개발자 입장에서 가장 난감한 것 중 하나가 지속적으로 변하는 클라이언트의 요구사항이다. 대부분 프로젝트가 그렇듯 SW 개발 또한 설계 단계부터 배포 단계까지 일정한 계획 속에서 움직이기 마련이다. 하지만, 클라이언트 요구사항 변화로 개발에 차질이 발생하는 일을 방지하기 위해서는 클라이언트 요구사항 변화를 전제로 한 유연한 설계가 필요하다는 것이다.
김재민 서버 개발자는 “클라이언트로부터 ‘완벽한 요구사항’을 전달받은 이후에나 설계를 할 수 있다고 말하는 사람들이 있는데, 그런 말은 하지 말아햐 한다고 생각한다”며 “완벽한 설계는 없고, 요구 사항은 계속 변하기 때문에 우리는 SW 장점을 살려서 변경된 요구사항으로 수용할 수 있는 설계를 구현해야 한다”고 말했다.
김 개발자는 ‘개념’과 ‘격벽’ 두 가지 방법을 통해 수용성 넓은 SW 설계 방법을 제안했다. 여기서 ‘개념’이란 개발자가 SW를 설계하기 위해 머릿속에 떠올리는 요소 및 그룹을 의미한다. 예컨대 웹툰 서비스를 개발한다고 가정을 했을 때 개발자는 ‘작가’ ‘작품’ ‘결제’ ‘리뷰’ 등 개념을 떠올릴 수 있다.
이어 이 개념들을 그룹화하게 되는 데 다양한 개념 그룹이 늘어날수록 전체적인 설계가 지저분해지기 마련이다. 이때 필요한 것이 바로 ‘격벽’이다. 격벽은 각 개념 그룹 사이 선을 그어 개념 그룹이 서로 뒤섞이지 않도록 통제하는 역할을 하게 된다. 이러한 개념과 격벽을 코드 내에서 구현하고 관리한다면 클라이언트 요구사항에 따라 유연하게 대처하는 데 이점이 있다는 것이 그의 설명이다.
그는 “우리가 만들어가는 SW도 개념들 사이 방화벽과 같은 격벽을 세우고 개념 간 접근을 제어하고 통제해야 한다”며 “이런 통제가 없다면 개념 간 무분별한 참조가 있을 것이고 SW는 점점 더 개념이 없어질 것”이라고 제언했다.
마지막으로 그는 “(개념과 격벽으로 설계된) SW에서는 더 중요한 영역과 덜 중요한 영역이 분명히 있기 때문에 자연스럽게 계층이 나눠지게 된다”며 “핵심 비즈니스가 아닌 것들을 분리하고 격리해서 개념 영역이 더 명확할 수 있도록 관리해야 한다”고 전했다.
Copyright ⓒ 디지털데일리. 무단전재 및 재배포 금지
[현장] 뉴진스 '책임없는 자유' 가능할까…"29일 자정부터 어도어 소속 아냐"
2024-11-28 22:36:22"낡은 방송 규제, 시장 환경 따라 접근법 바꿔야"…학계, 한 목소리(종합)
2024-11-28 18:20:31재외국민, 韓 휴대전화 없이도 국내 온라인 서비스 쓴다
2024-11-28 17:08:24이공계 전주기 지원 근거 마련된다…이공계 지원 특별법, 본회의 통과
2024-11-28 16:34:26[현장] 이정헌 의원 "사이버 렉카 피해구제법, 대표 발의한 이유는…"
2024-11-28 14:55:42방송사업별 AI 활용 비중, 10% 내외…"방송기획서 제일 높아"
2024-11-28 14:49:24[DD퇴근길] 롯데 3세 신유열, 부사장 승진…AWS, '클라우드 공유판매' 막는다
2024-11-28 17:10:43인스타그램 장애 늑장보고…운영사 메타, 과태료 500만원
2024-11-28 16:24:43‘엑스(X) 엑소더스’에 블루스카이 급부상…反 트럼프 아닌 韓 창작자도 움직인다?
2024-11-28 15:45:48구글, 에픽게임즈 반독점 소송 항소… “부당하게 유리한 결과 초래”
2024-11-28 15:25:48엔씨, 4개 자회사 설립 확정… “독립 스튜디오, 떨어진 절실함 회복할 계기”
2024-11-28 13:51:15대법, ‘메이플’ 확률조작 소송서 이용자 손… “적법한 상고 이유 아니야”
2024-11-28 13:50:05