공개SW 개발자센터


- 공개SW개발자센터는 공개SW 리더로 성장할 개발자와 커뮤니티를 지원합니다 -

공개SW역량프라자에서는 오픈프론티어로 활동중인 개발자들이 진행하는 프로젝트를 소개합니다.


요나(Yona) 프로젝트는 사람들이 효율적으로 함께 일을 할 수 있도록 도와주는 설치형 ‘프로젝트 호스팅 SW’이다. Yona의 전신인 Yobi는 이미 ‘네이버’ 내부에서 수천 명이 수천 개의 프로젝트를 수년간 실제 제품과 서비스를 만드는 데 사용해왔다. 또한, Yobi는 현재 약 200여 개의 사이트에서 운영되고 있다. 


이 글에서는 더 나은 Yobi 프로젝트인 Yona 프로젝트를 소개하고 그 필요성에 대해 살펴본 뒤, 대표 케이스별 워크플로우 사례를 통해 실제 업무에서 Yona가 어떻게 활용될 수 있는지를 보여주고자 한다.

프로젝트명요나 Yona
개요사람들이 효율적으로 함께 일을 할 수 있도록 도와주는 설치형 ‘프로젝트 호스팅 SW’
특징

- 독립 설치형 SW
- 코드저장소 GIT/SVN
- 이슈트래커
- 마크다운 에디터 및 쉬운 글 작성 지원
- 코드브라우저

- 코드리뷰

목표사람들이 효율적으로 함께 일을 할 수 있도록 도와주는 SW
기대효과
리퍼지토리https://github.com/yona-projects/yona



[목차]

  1. 요나(Yona)란?

  2. 왜 Yona를 써야 하나?

  3. 믿고 쓸만한가?

  4. 전형적인 Yona 기반 워크플로우(Work flow)

    4.1. Case 1. 주제기반(Job/Task)으로 프로젝트를 만들어서 진행

    4.2. Case 2. 나에게 주어진 일에만 집중해서 처리

    4.3. Case 3. 새롭게 프로젝트에 참여하게 된 경우

    4.4. Case 4. 다 같이 볼 수 있는 공유 프로젝트/조직 내 모임, 행사관리


1. 요나(Yona)란?

 Yona는 사람들이 효율적으로 함께 일을 할 수 있도록 도와주는 설치형 SW로 `프로젝트 호스팅 SW`라고 불린다.

여기에서의 '프로젝트'란 초창기에는 'SW 개발 프로젝트’를 의미했다. 하지만 시간이 지나 기능이 추가되고 사람들이 좀 더 보편적으로 사용하게 되면서 꼭 SW 개발이 아니라 일상적인 업무나 TF(Task Force), 또는 개인적인 노트 등으로 활용 범위가 늘어나게 되었다. 현재는 ‘주제나 목적을 가지고 일을 하는 단위’로서의 좀 더 일반적인 의미의 ‘프로젝트’를 의미한다.


start_1.png

[그림 1] Yona 메인페이지



2. 왜 요나를 써야 하나?

- 함께 일하면서 찾아가는 진정한 가치, 소통과 협업
팀 업무 및 회사의 업무 생산성이 높아지며 정보의 생성, 축적, 공유가 훨씬 좋아진다. Yona는 시작단계에서부터 `프로젝트`와 `이슈`, `담당자`라는 최소한의 장치로 최대의 효율을 얻을 수 있도록 설계되어 있다. 

- 개발조직/비 개발조직 간의 진정한 협업을 지향
세상엔 다양한 도구들이 있지만, 개발팀 위주의 기능으로 만들어져 있거나 혹은 비 개발자/스텝들만이 사용할 수 있는 제품이 대다수다. 코드를 참조해서 이야기하고, 디자인 시안을 같이 보고, 만들어진 HTML/CSS 파일을 별도의 서버 없이 바로 보며 함께 이야기할 수 있는 도구는 거의 없다. 하지만 Yona는 기획자부터 시작해서 코드를 커밋하는 개발자까지 한 플랫폼에서 서로 공간을 오가며 막힘 없이 같이 일할 수 있는 SW다.

- 쉬운 화면, 간단한 사용방법
직관적인 메뉴 구성, 불필요한 메뉴 제거, 간편한 파일 첨부, 공유 등을 매우 쉽게 사용할 수 있다.

- 모든 데이터/업로드된 파일/소스코드 등에 대한 완전한 소유 및 접근
Yona는 설치형으로 제공된다. 따라서 필요한 만큼 보완수준을 높이거나 낮출 수 있으며, 데이터 및 자료에 대한 확실한 보호 및 원하는 형태로의 모든 접근이 가능하다. 또한, 외부 서비스의 정책 변경, 종료 등 다양한 의도치 않은 상황에도 Yona 사용조직은 충격을 받지 않게 된다.

3. 믿고 쓸만한가?

- 엔터프라이즈 레벨의 실적용 사례 기반 SW
Yona의 전신인 Yobi는 이미 '네이버' 내부에서 수천 명이 수천 개의 프로젝트를, 수년간 매일같이 실제 제품, 서비스를 만드는 데에 사용해 왔다. 또한, 비 개발팀/Staff 조직 등 다양한 조직에서도 진입장벽 없이 사용될 수 있게 구성되어 있으며 메일로 진행하던 업무를 이슈 기반으로 변경하는 등 전반적인 업무 스타일에 변화를 가져올 만큼 쉽고 강력하게 사용되고 있다.
현재 약 40% 가량의 프로젝트는 code가 존재하지 않는 공동 업무 진행을 위해 만들어진 이슈 트래킹 프로젝트이다. TF, 문서저장소, 스터디, 개인 학습정리용 등 사용이 쉽고 강력해서 많은 팀이 코드 없는 프로젝트로 불필요한 메뉴를 감추고 사용하고 있다. 현재 약 200여 개의 사이트에서 Yona의 전신인 Yobi가 운영되고 있다.

- 더 나은 Yobi
Yona는 속도, 안정성, 기능, UI 등 모든 면에서 더 나은 Yobi이다.

- 수정 가능하고 공개된 코드
오픈소스로 제공되기 때문에 필요하면 코드를 고쳐서 사용할 수 있다.

- 라이선스 관리
Yona는 기본적으로 Apahce2 라이선스를 준수하며, Yona를 사용하는 조직이 그 자체를 상용화해서 판매해도 문제가 없을 정도로 사용 라이브러리 및 설치 사용 시의 라이선스 관리에 주의를 기울이고 있다.


4. 전형적인 Yona 기반 워크플로우(Work flow)



4.1. Case 1. 주제기반(Job/Task)으로 프로젝트를 만들어서 진행

º 업무 주제로 프로젝트를 만든다. 이때 개인 프로젝트로 만들거나 아니면 그룹(organization)을 만들어서 그 하위로 프로젝트를 만들 수도 있다.

ex) '2016년 신입 채용'을 주제로 프로젝트를 만든다.


make new_2.png

[그림 2] 그룹 만들기 step1


new group_3.png

[그림 3 ] 그룹 만들기 step2


group_4.png


[그림 4 ] 그룹 만들기 step3


 그룹을 먼저 만들고,


from git_5.png

[그림 5] 프로젝트 만들기


그룹 하위로 프로젝트를 만든다. 공개범위는 그룹멤버들에게만 보이도록 그룹공개(그룹멤버들에게만 보이고 접근가능)로 설정한다. 개발프로젝트가 아닌 경우 이슈와 게시판만 남기고 다른 메뉴는 감춘다.

  • 해야 하는 일들은 이슈에 기록하고 담당자를 정한다.
  • 논의가 필요한 경우 댓글로 이야기를 나눈다.

        ※ 이때 필요하다면 @ 기호를 이용해서 특정 멤버를 언급한다. (자동으로 해당 멤버에게 노티나 메일이 가게 된다.)

  • 혹시 다른 사람이 이어서 작업을 처리해야 하면 담당자를 변경하는 것도 가능하다.

       ※ 일종의 바톤터치 개념. 이력으로 남기 때문에 중간에 담당자(책임자)가 바뀌는 건 아주 자연스러운 개념이다.

  • 처리가 완료되면 이슈를 닫는다.

4.2. Case2. 나에게 주어진 일에만 집중해서 처리


my issue_6.png

[그림 6]'내 이슈' 메뉴


  • 하루 일의 시작은 '내 이슈' 메뉴에 들어가서 우선 나에게 새롭게 담당자로 할당된 일이 있는지, 새롭게 '나를 언급한 이슈'가 있는지 확인한다.
  • 나에게 할당된 일에 대해 필요하다면 코멘트로 의견을 남기고 일을 처리한다.
  • 다 처리한 일은 닫음 처리한다.
  • 나에게 할당된 이슈가 모두 ‘닫힘’처리 되었다면, 그리고 나를 언급한 이슈에 의견을 더 이상 달거나 추가 리액션을 할 필요가 없다면, 일을 다 마쳤으니 여유를 가진다.

4.3. Case3. 새롭게 프로젝트에 참여하게 된 경우


issue page_7.png
[그림 7] '이슈' 페이지

  • 이미 있는 프로젝트에 새롭게 합류하게 되면 해당 프로젝트 멤버나 관리자로부터 초대를 받아 해당프로젝트에 멤버로 들어간다.
  • 기존에 작업했던 내용들을 이슈에서 살펴보고 혹은 다 같이 알고 있어야 하는 내용 등이 있는지 게시판의 목록을 살펴본다.
  • 과거의 일 처리 방식이나 자료들을 일일이 묻지 않아도 차례로 보거나 검색해서 봄으로써 빠르게 해당 프로젝트에 적응할 수 있게 된다.


4.4. Case4. 다같이 볼 수 있는 공유 프로젝트/조직 내 모임, 행사관리
  • 자유 게시판이나 정보 공유, 기술공유 같은 목적으로 특정 그룹하위에 share 프로젝트를 운영하는 경우도 많다.
  • 댓글로 의견을 남기기도 하고 좋다는 뜻으로 공감버튼을 눌러서 의사를 표현하기도 한다.
  • 특정 모임 참여도 이렇게 이슈로 올리고 공감을 누른 사람들에게 안내 메일을 보내는 식으로 모임을 운영하기도 한다.




[필자소개]

CHW_8.png

         채수원


• 주요경력

2012 ~ 현재. Yobi 개발 TL, NAVER Labs
2011 NAVER Agile Coach

~2011 LG CNS 경영기술 교육원 전문기술 교육팀 전임강사, Agile Coach 

• 활동 커뮤니티-
• 전문분야Java, Unit Test, Node.js



by 공개SW역량프라자에 의해 작성된 이 저작물은 크리에이티브 커먼즈 저작자표시-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 오픈프론티어 개발 프로젝트 연재 OSS 2016-08-06 2300
25 [3기 정진영 개발자] XPUSH (실시간 커뮤니케이션 플랫폼) file OSS_ 2017-02-20 1019
24 [3기 방진호 개발자] Blink (웹브라우저 크롬의 레이아웃 엔진) file OSS_ 2017-02-20 822
23 [3기 송태웅 개발자] Linux Kernel - perf(리눅스 서버의 버전별, 기능별 성능측정 분... file OSS_ 2017-02-08 2592
» [2기 채수원 개발자] Yona (설치형 프로젝트 호스팅 SW) file OSS_ 2017-02-08 1084
21 [2기 김현종 개발자] UrQA (Android Crash Report 도구) file OSS_ 2017-02-07 852
20 [2기 임정민 개발자] 구름IDE (클라우드 통합 개발 환경) file OSS_ 2017-02-07 1067
19 [3기 김영근 개발자] Pandas (빠르고 유연한 데이터 처리를 위한 파이썬 라이브러리) file OSS 2016-12-22 1412
18 [3기 윤제상 개발자] Apache Zeppelin (빅데이터 처리툴 Spark의 실행과 데이터 시각... file OSS 2016-12-16 1989
17 [3기 신정규 개발자] 텍스트큐브/메모리큐브 (개인화에 집중한 설치형 블로그 서비스 ... file OSS 2016-12-16 964
16 [3기 김종광 개발자] IoT분야의 통신, DB, 데이터 분석을 지원하는 개발지원플랫폼 file OSS 2016-12-15 1073


사이트하단 로고, 하단메뉴, 트위터 바로가기

퀵메뉴모음
퀵메뉴열기
퀵메뉴닫기