버전관리란?
- 무엇이 변경되었는가 - 무엇이 가장 최신인가 - 누가 변경한 것인가 - 여러명이 작업할 때 충돌하는 부분은 어떻게 해결할 것인가 - 작업물을 과거로 돌리고 싶다면 어떻게 해야하는가
대부분의 개발자들은 위에 열거한 문제점에 대해 이야기하면, 자연스럽게 git, svn 등의 버전 관리 툴을 제안할 것입니다. 저 또한 개발자의 입장으로 왜 디자인 작업물에는 버전관리를 사용하지 않는가를 의문을 품다 sketch file을 버전 관리를 할 수 있는 유용한 sketch plugin들까지 검색하게 되었고, 이 과정에서 발견한 좋은 툴들을 공유하려합니다.
Plant (https://plantapp.io/)
첫번째로 소개하고 싶은 플러그인은 Plant라는 이름의 깔끔하고 직관적인 버전관리 툴입니다. 저희 팀은 zeplin이라는 Sketch file을 개발자들이 활용하기 좋도록 도와주는 툴을 사용하고 있는데, 개인적으로 zeplin과 비슷한 UI라 익숙해서 좋았습니다. 더불어 간단한 화살표 모양의 send, load 버튼이 버전관리를 누구나 쉽고 친숙하게 시작할 수 있도록 도와줍니다. 다른 툴보다 가장 쉽다는 점이 이 플러그인의 가장 큰 장점이라고 생각합니다.
Advantage/ Simple UI/UX, Video guide, Easy to resolve conflict
DisAdvantage/ Only 1 branch, Not Support Webhook(Only slack)
Pricing/ Free, Pro($12/m), Enterprise
2. Abstract (https://www.goabstract.com/)
Abstract는 가장 git스러운 sktech버전 관리 툴이라고 생각합니다. git스럽기때문에 약간의 학습장벽이 있으나 익숙해지면 매우 편리할 것 같습니다. Master는 헤드 디자이너가 관리하고 디자이너들은 반드시 Branch를 만들어서 작업을 한 후 작업이 완료되면 Master에게 디자인 작업에 대해 완료 요청을 하며, 이 요청사항에 대해서 Master와 코멘트를 통해 부족한 추가 수정사항을 이야기할 수도 있습니다. 해당 작업이 마음에 들면 Master가 Merge를 해주면 됩니다. 디자이너가 많은 회사라면 정말 유용하다 못해 필수적인 툴이라고 생각됩니다. 정말 좋은데 두번째로 소개한 이유는 유료라서... 그리고 모든 sketch file을 수정하려면 해당 앱내에서 edit 버튼을 통해 sktech를 실행해야하는 사소한 단점도 있습니다.
Advantage/ Support branches, Pull Request, Comment on commit
DisAdvantage/ Must open file from Abstract, Not Free
Pricing/ Starter($9/m), Business($15/m), Enterprise
3. Sympli (https://sympli.io/)
세번째로 소개할 플러그인은 sympli입니다. 앞서 소개한 plant와 zeplin을 약간 섞은 듯한 툴인 것 같습니다. 개인적으로 엄청나게 좋다고 생각했으나 저희 디자이너의 사용 후기에 따르면 기존 사용중인 zeplin보다 여러 프로젝트를 만들고 관리하는데 불편하다고 합니다.(저희는 안드로이드, 아이폰, 웹 등을 프로젝트 단위로 나누어 관리 중입니다.) 또한, 이 플러그인은 버전관리 목적보다는 새롭게 업데이트된 화면의 변화를 보여주는 목적으로 활용하기에 좋습니다. 구 버전의 화면으로 돌아간다던지, 충돌을 해결한다던지 등의 목적으로는 좋지 않습니다. 하지만 디자이너와 개발자간의 협업 툴로는 매우 유용하다고 생각합니다.
Advantage/ Many Integration(Jira, Xcode, Android Studio, etc), Visualize differences
DisAdvantage/ Not support version control(checkout), Cant resolve conflict
Pricing/ Individual, Startup($36/m), Business($90/m), Enterprise
4. kactus (https://kactus.io/)
해당 포스팅을 쓰기까지 정말 많은 플러그인을 찾아보았는데, kactus는 가장 처음으로 발견했던 sketch-git-plugin을 기반으로 만든 툴입니다. 스케치 내장 플러그인이 아닌 외부 툴로써 가장 가볍게 작업물의 변화를 캐치하는데 도움이 되는 툴이라고 생각합니다. sktech file을 json으로 변환해서 변화를 트래킹하는데 사실 json file에서 sktech파일로 변환할 방법이 아직은 없어 이 툴을 쓰려면 sketch file도 따로 버전 관리를 해주어야합니다. 조금더 업데이트가 된다면 쓸만할지도 모르겠다 생각되지만.. 마지막 업데이트가 17년 10월인걸 보니 기대는 버리는게 좋을것 같습니다….
Advantage/ Visualize differences
DisAdvantage/ many things except advantage
Pricing/ Free
마무리
개인적인 의견으로 아직 sktech file에 대한 버전 관리 툴 중에서 개발자의 버전관리 툴인 git과 비교해보았을 때, git만큼 확실한 버전관리 툴은 아직 없다고 생각합니다. 디자인 작업물은 개발 작업물보다 제작도 어렵고 관리도 어렵고 툴 사용도 어려운 것 같습니다. 앞서 소개한 툴들이 각각의 장단점을 갖고있기 때문에 각 팀의 특징을 잘 고려해서 버전관리 전략을 세우고 이에 따라 가장 유용한 툴을 활용해 보는게 좋을 것 같습니다. 유료 툴들은 보통 한달 무료 체험기간을 제공하기 때문에 직접 사용해보면서 체험해 보는게 가장 좋을 것 같습니다.