오늘은 형상관리에 대한 개인적인 의견을 이야기해보도록 하겠습니다. 형상관리(Configuration Management)로 검색을 해보면 위키백과에서는 아래와 같이 설명하고 있습니다.
소프트웨어 구성 관리(영어: Software Configuration Management) 또는 형상 관리는 소프트웨어의 변경사항을 체계적으로 관리하는 것을 말한다. 형상 관리는 일반적인 단순 버전 관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다.
변경사항을 체계적으로 관리하는 것!, 버전 관리
위 내용만 보면 아~ 뭔지 알겠다 싶은데 학술 분야의 형태로 넓히는 근간 이란 말은 많이 어려워지는 느낌이네요. 제가 알고 있는 내용이 정답인지는 잘 모르겠습니다. 전 소프트웨어 공학을 공부하지 않은 비전공자거든요. 그냥 IT 쪽 일을 하면서 제가 경험한 걸 토대로 말씀드릴게요.
제가 처음 접한 형상관리 도구는 SVN(Subversion)이었습니다. 지금도 많이 사용하는 도구이기도 하고요. 1~2개 프로젝트에서는 CVS를 썼던 것도 같은데 지금은 기억도 나지 않네요. ^^; 그래서 SVN을 기준으로 설명드릴게요.
형상관리는 변경사항을 체계적으로 관리, 버전 관리라고 위에서 언급했습니다. 개발자들이 소스를 코딩할 때 한 번에 소스가 완성되지는 않습니다. 혹시 한 번에 완성이 되었다고 해도 여러 번의 수정이 발생하는 경우가 대부분이죠. 그리고 이전 소스로 되돌아가야 할 경우가 있습니다. 이럴 때 수정 과정을 기록하고 언제든지 되돌릴 수도 있고 변경사항을 확인할 수도 있는 기능을 제공하는 것이 SVN(형상관리 도구)입니다.
글이 너무 어려운 것 같아서 이미지를 통해서 정리해볼게요. (죄송합니다. 글재주가··· ㅜㅜ)
위 화면은 레드마인의 저장소에 SVN으로 등록된 한 파일의 이력 조회 페이지인데요. xxxList.jsp 파일의 수정 이력이 보이고 있습니다. 현재 제 PC에 있는 파일은 305 버전의 파일이 있지만 SVN에서는 그 이전 파일들 240, 226, 209... 등의 파일 정보들을 가지고 있는 거죠. 그래서 언제든 이전 파일들을 참고할 수도 있고 원한다면 현재 파일을 이전 파일로 되돌릴 수도 있습니다.
이런 기능은 개발자들이 SVN 같은 형상관리 도구로만 사용하는 게 아닙니다. 요즘은 많은 분들이 사용하는 프로그램들에 이런 기능들이 제공되고 있습니다. 에버노트, 드롭박스, 구글 드라이브 등에서도 이런 형상관리(이력 관리, 버전 관리) 기능을 제공하고 있습니다.
위 화면은 현재 작성 중인 에버노트의 노트 정보(Ctrl+Shift+I)를 누르면 볼 수 있는 화면인데요. 하단에 내역 보기 링크가 보이죠? 눌러보겠습니다.
위와 같이 노트의 수정사항을 확인할 수 있습니다. 아직 완성되지도 않았는데 벌써 4개의 이력이 존재하네요. 에버노트의 경우 원하는 노트의 옆에 있는 가져오기 링크를 클릭하면 선택된 버전의 노트가 가져온 노트라는 노트북이 생성되면서 저장됩니다.
다른 프로그램도 볼까요?
많은 분들이 쓰고 계실 거라고 생각되는 드롭박스입니다. 드롭박스는 폴더에 동기화되는 방식으로 쓰고 계시죠? 이력을 보고자 하는 파일을 선택하고 마우스의 오른쪽 버튼을 클릭하면 위와 같은 메뉴를 볼 수 있을 거예요. 변경 내용 기록을 클릭합니다.
웹 페이지가 열리면서 선택된 파일의 이력이 조회되고 보고자 하는 파일의 복원 버튼을 클릭하면 해당 파일이 선택된 버전의 파일로 변하게 됩니다.
이제 대략 형상관리의 기능에 대해서 이해가 가시나요? 이 기능에 대해서 이렇게 길게 이야기하는 이유는 개발자가 아니더라도 많은 분들이 활용했으면 하는 마음에서 입니다. 직장 생활을 하다 보면 개발자분들도 소스만 형상관리를 사용하시는 분들이 있는데 이런 형상관리, 이력 관리는 모든 문서에 적용되었으면 좋겠다고 생각합니다.
왜 이런 경우 다들 있지 않으신가요?
xx 업무 제안서.ppt xx 업무 제안서-20171215.ppt xx 업무 제안서-수정본.ppt xx 업무 제안서-최종본-20180115.ppt xx 업무 제안서-최종수정본-20180118.ppt
이런 식으로 파일 복사해서 파일명 저장하는 경우 용량 낭비에 나중에 파일 찾기도 힘들고 사실 이런 경우 이전 파일들 잘 보지도 않는데 막연한 불안감에 그냥 저장해 두는 경우죠 ^^;
어떤 업종이든 어떤 프로젝트에서 어떤 업무를 맡게 되던 업무 관리 프로세스에 관리 시스템을 두고 협업을 하게 되는데 문서 관리 역시 프로세스에 포함해서 함께 사용했으면 좋겠습니다. 지금 위에서 언급한 SVN을 사용해도 좋고 에버노트나 드롭박스 구글 드라이브 같은 도구들을 활용한다면 적은 비용(또는 무료)으로 꽤 괜찮은 문서 협업 도구로 활용할 수 있을 거라고 생각합니다.
그럼 형상관리에 대한 이야기는 여기서 끝!
여러분들의 공감은 저에게 많은 힘이 되고 댓글은 포스트 작성에 많은 도움이 됩니다. 저는 여러분들의 적극적인 댓글 활동을 응원합니다. ^^