웹사이트 잘 만드는 방법

글쓴이: herculex  |  등록일: 01.29.2020 11:47:28  |  조회수: 963
안녕하세요. 현직 프로그래머입니다.
꽤 오랜시간 개발자로 지내오며 웹사이트도 해볼기회가 많았는데요.
해줄거 다해주고도 웹사이트 프로젝트가 결국 실패로 끝나는 경우가 많았기에 이유를 고민해보며 정리해보겠습니다.

[웹사이트는 비싸다]
원래 웹사이트는 여러가지 기술이 녹아들어가기에 제대로 만들자면 비쌀수밖에 없습니다. 당장 관련된 기술만 생각나는대로 열거해보면
-HTML / Javascript / CSS / Server Side : .NET , JAVA , PHP , Node 등등 /Web Server /Database
정도가 기본으로 나오는데요, 각각의 분야가 진짜 전문가들이라면 최소 연봉 10만불 이상의 급여가 나가는 고급인력들입니다. 그러면 왜 그렇게 싼 가격이 가능할까요. 뭐 오픈소스 덕분이죠.

즉 기술적인 부분은 이미 다 만들어져있고 디자인 스킨만 만들어 (이마저도 $50 이내로 골라서 구매 가능) 씌워서 설치해주면 그 가격에 가능해지는 겁니다. 대부분의 웹에이전시들이 웹디자이너의 1인기업으로 설립되는 이유입니다. 디자인은 고객과 적접 소통이 지속적으로 이어지기 때문이죠.

여기서 생기는 변수는 추가기능입니다. 원래 패키지에 포함되지 않은 기능을 구현하려면 간단하게는 플러그인을 찾아서 구매/설치 하던지 관련부분을 직접 구현해야하는데 이부분에서 프로그래머가 필요하게 됩니다. 시장가격으로는 해당가격에 판매하면서 풀타임 프로그래머를 고용할수 없기때문에 주로 추가 기능위주로 외주개발합니다. 이쪽 부분을 잘 컨트롤 못하면 원가가 올라가버리거나 해당기능을 완성하지 못하게되죠. 또 비용절약을 위해 이미 만들어놓은 코드를 비슷한경우에 재사용해버리기때문에 버전업데이트등에 취약해집니다.

이런 상황을 고려했을때 로컬 웹에이전시중 풀타임 프로그래머를 고용하고 있는 곳은 사실상 없다고 보셔도 무방합니다.

[많아지는 요구사항]
웹사이트는 예술작품이 아닙니다. 목적을 가진 Tool 이죠. 디자인이 좋아서 amazon.com에서 물건을 사는것이 아니듯이 잘가나는 사이트들을 리뷰해봐도 그다지 멋진 작품들은 아닌 경우가 많습니다.
하지만 보통 웹사이트를 개발할때는 디자인 위주로 여기저기서 보기에 멋진 부분만 떼어다가 조합해서 작품을 만드려하는 경우가 많습니다. 기능적으로 봐도 마찬가지로 잘나가는 웹사이트의 특징적인 기능을 본인의 사이트에 포함시키려하는 경우가 많습니다.
뭐 우선 다 좋습니다. 요구사항 리스트가 완료되고 작업에 들어가기전이라면요.

문제는 작업을 시작한 이후 혹은 런칭직전에 요구사항이 추가된다는 점입니다. 디자인쪽이라면 어느정도 반영이 가능할수도 있지만 없는 기능과 연관되어서 추가 개발이 필요한 경우가 많고 또 적접적인 기능추가의 경우, 위에서 언급했듯이 외주개발이 추가되고 보통 기능단위로 작업을 하기에 전체 안정성이 깨져버리는 경우가 많이 생깁니다. 게다가 시간이 촉박해지때문에 기능추가가 전체에 미치는 영향을 깊게 고민하고 따져보기 어렵게 됩니다. 또 과도한 Customize로 오픈소스의 특성을 잃게되어 유지보수가 어려워져 오래 쓸수없는 사이트가 만들어집니다. 운영이 아닌 런칭 그 자체만을 위한 개발을 하게되니까요.

예를 들어 엄청나게 뜯어고쳐서 원하는 기능을 어거지로 다 집어넣었다고 하면 보안이슈나 새로운 기능이 생기는 버전업데이트에 대응이 불가능합니다. 원본이 다 바뀌어버렸으니까요. 또 해당 코드는 보통 만든사람외에는 건드리기 힘들어지는데 그 개발자가 다음에 같은자리에 있다는 보장이 없지요. 다른 개발자라면 남이 만들어놓은 코드를 인수인계도 없이 함부로 고치는 위험부담을 싫어하구요. 그래서 보통 문제가 생기면.. 새로 만드는게 더 저렴해지는 결과가 생깁니다.

보통 여기저기서 훈수를 듣고 마구잡이로 요청하는경우가 많은데 대부분 손들고 도망갈겁니다. 조언을 받으려면 제대로 해본 딱 한사람한테만 받으세요. 사람들의 관점이 다 다르기때문에 각각의 요구사항 자체가 서로 모순되는 경우가 엄청 많습니다 ^^ 그리고 새로운 요구사항을 제시한다면 일정조율은 필수입니다.


[부족한 자료제공]
데이터엔트리는 웹사이트에 필수적인 요소입니다. 이게 없으면 죽었다깨어나도 웹사이트는 완성되지 않습니다. 정상적인 데이터를 포함한 상태에서 마무리 작업을 해야하기 때문이죠. 보통 성공하는 웹사이트는 의뢰인측에서 아주 성실하게 데이터를 제공해줍니다. 전담직원까지 따로 두고서요.

하지만 대부분의 경우는 이미 바쁜직원하나 소개해주고 이사람이랑 이야기해라 이러고 땡. 그 사람은 이미 본인 업무로 바쁘기때문에 우선순위를 마지막에 두기에 제대로된 데이터를 제공할 가능성은 별로 없습니다. 심지어는 웹에이전시측에 너네가 알아서 해줘라..라고 넘겨버리는 경우도 생각보다 많습니다. 그렇게되면… 뭐 나중에 만족할 가능성은 없다고 봐야죠.

[Server & SEO]
흔히 웹사이트에 해킹이 많이 들어오는데요, 이는 다른것보다 전문적인 서버관리자가 없기 때문입니다. 이는 비용적인 문제도 있고 관리의 편의성을 위해 흔히 찾을수있는 godaddy류의 호스팅을 이용하기 때문입니다. 여기서는 비전문가도 웹사이트를 설치할수있는 쉬운방법을 제기하는데요, 이 쉬운방법을 통해 해킹이 들어오게 되는겁니다. 요즘 기준으로 Google Cloud나 Amazon AWS 류에 설치가 가능하다면 어느정도 관리가능인력이 있다고 봐도됩니다.
사실 해킹자체는 피할수없고 어떻게해도 계속 들어옵니다. 관리자가 지속적으로 모니터링 하고 보안업데이트를 하고 실제 일이터졌을때 복구를 하는등 말그대로 관리를 해가는거죠.

다시 말하지만 웹사이트는 원래 비쌉니다. $500불주고 만들어서 한달에 $5짜리 호스팅을 쓰면서 문제가 없을수는 없다고 봅니다.

SEO의 경우 합법적이고 어느정도 검증된(알만한) 자체적인 네트워크를 직접 보유하지않은 회사는 사실 돈버리는거라고 생각하시면 됩니다. 예전엔 뭐 강제로 트래픽을 발생시키거나 악성코드를 활용한 Ranking 작업이 통했던 적도 있긴한지만 요즘은 다 막혀있을뿐더러 잘못하면 구글의 블랙리스트에 올라가서 도메인을 포기해야하는 경우도 생깁니다. 구글은 광고를 제외하고 공정한 검색결과를 만들기위해 즉 위와같은 꼼수를 막기위해 천문학적인 투자를 합니다. 몇년전에 첫번째 페이지에 올려봤다고 홍보하는 사람들도 있는데 지금도 가능하다는 생각은 들지 않습니다. 자기가 구글보다 잘났다고 얘기하는거에요. 그냥 내부에 직원을 두고 정성스럽게 관리하는게 최고입니다. 여기저기 사이트를 홍보하는 포스트를 작성하며 이벤트 시기에 맞춰 적당히 유료광고를 섞어가며 서서히 늘려가는거죠.

웹사이트를 제대로 운영하려면 실제로 로컬매장을 운영하는것보다 더 많은 비용이 들어갈수있습니다. 대부분 착각하시는게 인터넷상에 만들어놓기만 하면 뭔가 될거라 생각하는데 그냥 저기 사막한가운데 가게를 차린거라고 생각하시면 편합니다. 거기로 사람들을 오게 한다고 생각하시구요 ^^ 방법은 두가지 입니다. 마케팅비용을 쳐바르던지 엄청난 시간투자를 집중해서 정성을 다하던지. 단순하게 어디다 몇백불주고 맡긴다..는 방법은 요즘은 아니 최소 5년전부터 전혀 먹히지 않는 방법입니다. 그냥 그 돈 버리는거죠.

[가격경쟁]
약 10여년 전까지만해도 웹사이트 개발시 어느정도 합리적인 예산이 맞춰져있었고 웹프로그래머를 보유한 에이전시도 꽤 있던것으로 기억합니다. 하지만 지금은 대부분 자취를 감췄습니다. 오픈소스가 활성화되면서 가격후려치기가 대유행한것인데요. 예를 들어 그당시 기준으로 꽤 완성도 높은 모양새의 마젠토가 등장하면서 학생 혹은 비전문가가 단순 설치 작업을 하면서 웹사이트를 $500에 만들어준다 이런 홍보를 해대면서 시장이 파괴되어버렸죠.웹개발자들은 LA를 떠나기 시작했구요 하지만 복잡한 구조탓에 프로그래머들사이에서도 난해하기로 유명한 마젠토를 유지보수할수있는 능력을 가진 사람이 남아있지않게되면서 웹에이전시들은 점점 신뢰를 잃게됩니다. 떨어진 가격은 시장가로 고정되어버렸고 전문가를 보유하지 못한 웹에이전시들의 고군분투가 시작됩니다. 뭐 감당이 안돼서 문닫고 도망가버리는 곳도 많아졌구요.

너무 저렴한곳도 피하세요. 수익모델이 안잡힐  정도로 저렴하다면 정상적인 상품이라 보기는 어렵습니다. 뭐 다른 스토리가 있는겁니다. 생각해보니 싸구려로 진행한경우 런칭까지 간 경우를 보기힘드네요.


그렇다면 추천방법

-요구사항 정리 : 필요한 기능을 사전에 조율하고 충분한 리서치를 하시고 정말 필요한 기능이 무엇인지를 정리합니다. 대부분 이거 없이 웹이전시 이야기를 들으면서 정하게 되니 나중에 기능추가를 요구하게 되거나 해서 예산과 결과물에 차이가 생깁니다. 그리고 한번 정했으면 일단 런칭까지는 추가 요구를 하지않습니다. 그리고 이게 있어야 여기저기 웹에이전시 쇼핑을 하시며 적정가격을 찾을 수 있습니다.  사이트의 기본적인 기능외에 추가기능에 대한 욕심을 최대한 버리는 것이 일단 런칭까지라도 가는데 도움이 됩니다.

-프로그래머 고용 : 당장은 무리가 될수도 있지만 앞으로 사업의 방향이 온라인이고 다양한 비즈니스로직을 사이트에 녹여내고 실험도 해보고 싶으시다면 계속 관리해나갈 프로그래머를 고용하는것이 결과적으로 더 저렴하고 좋습니다. 웹에이전시를 통해서는 디자인만 계약해서 결과물을 내부의 개발자가 적용하는 방식으로 가도 좋구요. 이게 좋은것이 단순히 사이트의 기능추가 뿐아니라 관리자 화면등에 지속적인 업데이트를 해서 생산성을 극대화시킬 수 있습니다. 지속적으로 성장시켜나갈 계획이라면 경력이 많지 않더라도 좋습니다. 함께 이것저것 실험하며 시행착오를 겪으며 성장해가도 되니까요. 이미 온라인 비중이 있는 회사라면 어느정도의 경력자를 추천합니다. 그리고 개발만 시키세요. 비용을 아끼기 위해 사이트운영 / 데이터엔트리 / 심지어 사무실 PC 관리까지 시키려는 사람들도 있는데.. 제대로 된 개발자는 절대 뽑을수없을것입니다.

-shopfy / wiix  : 요구사항이 까다롭지 않다면 요즘은 이런서비스를 쓰는것이 차라리 좋습니다. 안정된 기능이 구현되어있고 전문인력들의 서버관리도 포함하니까요. 좀 감각있고 컴퓨터를 잘쓰는 디자인 베이스의  전담직원을 두면 충분히 운영이 가능합니다. 하지만 기능의 확장성이나 관리의 편의성은 떨어질수있습니다. 준비된 서비스를 돈주고 이용하는 방식이니까요. 욕심을 버리고 잘만쓰면 가성비는 최고로 뽑을수있습니다.

성공사례
-오픈소스 쇼핑몰을 설치하고 design template을 구매하여 디자인해결. Wholesale 기본인 pack 주문이 가능하게 고치고 inventory 숫자관리가 가능하게 교정. 어드민에 Sales Order기능 추가.
(Online / Offline의 모든 주문을 웹사이트에 넣어서 inventory 관리에 중점)

-쇼핑몰자체에 특별히 변형을 가하지 않고 있는그대로 이용하되 주문처리 및 상품 entry는 회사내 erp 와 연동이 가능하도록해서 특별히 쇼핑몰 관리자에 로그인할 필요도 없도록 적용
(이미 이용하는 솔루션과 연동해서 추가적인 관리를 하지 않도록 하는것에 중점)

-쇼핑몰 기능자체는 그대로이나 관리자 페이지에서 상품을 벌크로 엑셀 및 이미지파일 업로드 기능. 상품 변동이 많고 종류가 많은 사이트의 데이터엔트리 기능을 최소화
(단순작업을 지양하고 생산성을 높이는 것에 중점)

-결제 페이지 one page로 구현. 배송비가 나중에 책정되니 일단 카드 정보만 받아두고 관리자가 업데이트 하면서 결제처리. Authorize.net에서 제공하는 카드저장기능을 구현해서 보안에 문제가 없도록 구현.
(구매자와의 연락을 할 필요없이 기존 방식대로 결제처리를 개선하는것에 중점)

 
이렇게 컨셉이 확실하고 필요한 기능이 간결하면 서로에게 편하기 때문에 좋은 결과가 나올 가능성이 큽니다. 그리고 포트폴리오가 있다면 그 리스트에 있는 회사에 연락해서 평가를 받아보는것도 방법이지요. 대부분 과거에 작업한적 있다해도 지금은 다른회사가 작업한 사이트가 많을것이니 확인해야하구요.

경험을 정리해보려고 쓴글이었구요. 지금 생각나지 않아 못쓴 내용도 많으니 댓글로도 이야기해보았으면 합니다.  아무래도 제가 개발자라 그쪽입장에서 쓴 내용이 많을테니 디자인관련 분들의 이야기도 들어보고싶구요.

DISCLAIMERS: 이 글은 개인회원이 직접 작성한 글로 내용에 대한 모든 책임은 작성자에게 있으며, 이 내용을 본 후 결정한 판단에 대한 책임은 게시물을 본 이용자 본인에게 있습니다. 라디오코리아는 이 글에 대한 내용을 보증하지 않으며, 이 정보를 사용하여 발생하는 결과에 대하여 어떠한 책임도 지지 않습니다. 라디오코리아의 모든 게시물에 대해 게시자 동의없이 게시물의 전부 또는 일부를 수정 · 복제 · 배포 · 전송 등의 행위는 게시자의 권리를 침해하는 것으로 원칙적으로 금합니다. 이를 무시하고 무단으로 수정 · 복제 · 배포 · 전송하는 경우 저작재산권 침해의 이유로 법적조치를 통해 민, 형사상의 책임을 물을 수 있습니다. This article is written by an individual, and the author is full responsible for its content. The viewer / reader is responsible for the judgments made after viewing the contents. Radio Korea does not endorse the contents of the articles and assumes no responsibility for the consequences of using the information. In principle, all posts in Radio Korea are prohibited from modifying, copying, distributing, and transmitting all or part of the posts without the consent of the publisher. Any modification, duplication, distribution, or transmission without prior permission can subject you to civil and criminal liability.
댓글
  • GMax  05.17.2020 22:43:00  

    매우 양심적인 분으로 생각되는데 이 글 쓰신 분은 쇼핑몰을 제작하시나요?
    저희는 customize해야 하는 기능이 꽤 있어서 오픈 소스로 만들면 오류가 많이 났습니다.
    오픈 소스를 쓰지않고 처음부터 저희 기능에 맞게 제작해야 오류가 나지 않을 것입니다.
    이런 작업이 가능하신지 아니면 추천하실만한 오픈 소스가 있는지, 추천하실만한 프로그래머가 있으신지 조언을 해주시면 매우 감사하겠습니다.
    감사합니다.