웹 프로젝트 진행의 올바른 방법

HYEONG HWAN, MUN/ 7월 13, 2015/ 미분류/ 4 comments

글쓰고자 하는 내용이 몇가지 있는데,  글을 쓸 수 있는지 날마다 나의 컨디션을 살펴보다가 오늘은 써도 되겠다 싶어서 쓰도록 한다.

 

제목이 딱딱한 표현인 “올바른 방법(Right way)” 이라는 단어를 사용했는데 “라엘이가 제안하는 방법(Suggested way)” 이라고 풀어서 해석하도록 하여라.

가장 좋은 프로그래밍 언어는 “본인에게 쉬운 언어” 이며, 가장 좋은 프로젝트 진행 방법 역시 “팀원들에게 쉬운 방법” 이다.

- 참고 : 더 좋은 방법을 사용하면 더 쉬워진다.

 

라엘이는 초등학교 고학년때 html 과 frameset 등을 다루었고, 중학교 시절 js, css, ls 같은 리눅스 명령어를 다루었다.

벌써 10년도 더 된 일인데, 일찍 접했다는 것이 중요한 것이 아니라 꾸준히 하고 있다는 것이 중요한 것이다.

 

여러가지 프로젝트를 지켜보고, 스스로 진행해 보면서 2015년 현재 트랜드에 맞는 진행방법을 설명하고자 한다.

 

- 조건 : 프로젝트 구성원이 둘 이상이어야 한다. 구성원 들은 수평적인 관계여야 한다. 즉 할말은 할 수 있어야 함.

--

A(IT를 잘 모르는 IT 회사 사장) : 이 작업 얼마나 걸릴 것 같나?

B(IT 담당자) : 2주 정도 걸릴 것 같습니다.

A : 1주일 안에 끝내.

--

위와 같은 일방적인 갑-을 관계의 그룹에서는 무엇을 적용해도 되지 않으니, 이 글을 읽더라도 효과가 없을 것이다.

 


 

그럼 진행에 대한 방법을 설명하도록 하겠다.

 

1. 메인 소스코드 관리 서버 생성.

사용하기 좋은 툴을 사용하면 된다. 예전에는 SVN을 썼었는데, 요즘에는 GIT을 쓴다.

GIT 클라이언트도 많고, 범용이고 쓰기도 쉽다. 널리 쓰이는데 무료이면서 기능도 좋으니 이것으로 소스코드를 관리하도록 하자.

git 은 무료 오픈소스 이며, 작은 프로젝트부터 큰 프로젝트까지 관리할 수 있도록 디자인된 시스템이다.

공식 홈페이지 : https://git-scm.com/

스크린샷 2015-07-13 오후 11.16.33

 

git 관리 소프트웨어 서비스 중 유명한 것은 : https://github.com/ GitHub가 있다. (유료. 한달에 7천원 정도)

git 관리 소프트웨어 프로그램 중 유명한 것은 : https://about.gitlab.com/downloads/ GitLab 이 있다. (무료)

 

자신의 팀에 리눅스 서버를 다룰 줄 아는 사람이 있으면 GitLab을 다운받아서 서버를 구축하고, 그렇지 않으면 GitHub 서비스를 이용하도록 하자.

ConoHa 클라우드(https://www.conoha.jp/)에서 3코어 2GB RAM 짜리 한달에 16000원 짜리 하나면 충분하다.

램 2GB 이상의 리눅스 운영체제라면 구축이 쉬우니 구축하도록 하자. 클라우드를 사용하는 경우 한달에 2700원 내고 자동백업 옵션도 꼭 사용하도록 하자.

 

#주의사항 : 한달에 몇만원 아끼겠다고 남는 컴퓨터에 리눅스 설치하고 GIT 서버로 쓰는 경우를 본적이 있다.

이렇게 사용하면서 하드디스크를 태워먹어서 곤경이 처한 것을 두번정도 본 적 있는데, 몇만원 아끼려고 할 것이면 사업을 접어야지 남는 컴퓨터를 사용하지 말자.

인건비, 전기세가 훨씬 훨씬 더 들어간다. 클라우드 인프라 비용은 충분히 저렴하다!

 

- Git 의 사용법이나 활용법은 검색을 해보거나, 라엘이에게 물어보면 어느 정도 까지는 알려주도록 하겠다.

모든 것이 그렇듯이, 알면 쉽고, 모르면 어렵고, 누가 알려주면 쉽게 배우는 것이다.

 

2. 서버 환경 정하기.

클릭으로 서버환경을 구축해 주는 서비스가 있다.

https://puphpet.com/

원하는 환경, 웹컨테이너, 패키지, 데이터베이스 등등을 선택할 수 있다.

우선 개발을 해야 하므로 Local > Virtual Box 로 선택하도록 하자.

스크린샷 2015-07-13 오후 11.47.52

 

이 소스코드를 구동하려면 자동화 명령어 툴인 Vagrant (https://www.vagrantup.com/ ) 와 가상화 소프트웨어 VirtualBox (https://www.virtualbox.org/) 를 설치하도록 하자.

둘다 Free Open Source Software 이다.

 

3. 로컬에 서버를 구축하고 Git 환경을 구축한다.

웹 프로그램이 소스관리가 불가능 할 것이라고 생각하는가? 그렇지 않다.

해외는 웹서버에서도 거의 소스 관리를 사용하고 있다.

 

Vagrant 가 호스트PC와 공유폴더로 연결 될 것인데, 이것의 WebRoot를 Git 저장소로 만들면 된다.

 

이해하기 쉽게 스크린샷을 넣고 싶은데 조만간 추가하겠다.

 

4. 이 작업을 모든 작업자 (개발자, 디자이너) 의 PC에 세팅한다.

즉 모두에게 로컬서버를 구동하는 것이다.

 

요즘 코딩을 하지 않는 디자이너가 간혹 있던데, 이런 분 PC에는 설치할 필요가 없다.

 

5. 코드 동기화 환경이 되었으니 이제 의사결정을 도와주는 툴을 사용하도록하자.

http://agilescout.com/best-agile-scrum-tools/  이 중에서 하나 골라서 가입하도록 하자.

애자일 스크럼 개발 방법론은 틀에박힌 일정표(Gantt Chart)에서 벗어나 서로 빨리 프로젝트를 진행하는 방법론이다.

내가 어느정도의 일을 할 수 있으며 현재 어떤 일이 진행중이고 내가 어떤 일을 착수 할 수 있을지 알 수 있다. 이 방법론의 핵심은 일을 작은 단위로 나누는 것이다.

 

그리고 프로젝트의 진척사항 및 개개인의 참여도가 눈에 너무 쉽게 나타나기 때문에 컨디션 관리나, 프로젝트 비용추정에도 좋다.

 

6. 협업

의사 결정을 하고 각자의 PC에서 개발하고, 중앙서버에서 통합한다.

매주 그 결과를 가지고 다시 회의를 한다.

 


직접 보여주면서 컨설팅 하라면 하겠는데, 설명하려고 하니 내용이 많네요.

만약 오래된 회사라면 굳이 회사의 룰을 위와 같이 바꾸려고 하지 마시고 (기존 인력들의 엄청난 저항이 있을 것입니다), 상황을 봐가면서 조금씩 개선해 나가야 할 것입니다.

만약 당신이 스타트업의 기획자/CEO 라면 위의 방식 도입을 적극 권해드립니다. (제일 깔끔하고 효율적임.)

4 Comments

  1. 안녕하세요
    자바 웹 개발자가 되려 취업준비중인 취준생입니다.
    웹 프로젝트에 대해 전반적인 내용을 알게되어 감사함에
    글을 남기고 갑니다.
    초고라고 하시니 더 깊이있는 내용도 미리 감사드립니다.

  2. 안녕하세요 이번년도 안에 동영상,사진 공유 사이트를 만들려고하는 사람입니다
    이 강의을 좀더 자세히 보고 질문하고 싶은게 많은데 이메일주소 교환가능할까요?

    1. 안녕하세요.
      먼저 죄송하다는 말씀을 드립니다. 블로그 강의 글은 정말 가끔씩 쓰고 있으며, 현재 저는 회사 프로젝트를 바쁘게 수행중이라 도움을 드릴 여력이 있지 않습니다.
      목적과 기간이 정해지셨으면 웹에이전시에 견적을 받아 의뢰하시는것이 최선이라 생각합니다.
      감사합니다.

Leave a Comment

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*