버전 번호 규칙

앞자리가 바뀌면 호환이 깨진다는 신호예요. 1.4.2 같은 세 자리 숫자 하나로, 이번 판을 그냥 받아도 되는지 받기 전에 확인할 게 있는지를 미리 알려요.

쉽게 말하면

메뉴판을 고치는 세 가지 크기로 생각하면 돼요. 오늘 오탈자 하나 고친 메뉴판은 손님이 몰라도 아무 일 없어요. 신메뉴 한 줄이 늘어난 메뉴판도 예전 주문은 그대로 통해요. 그런데 세트 구성을 통째로 갈아엎어서 손님이 "지난번 그 세트요" 했을 때 그런 건 없어졌다고 답해야 하는 메뉴판이라면, 이건 미리 크게 알려야 하는 개정이에요. 버전 번호는 이 세 가지 크기 중 무엇인지를 숫자 하나로 미리 알려 주는 표시예요.

번호는 보통 1.4.2 처럼 점 두 개로 나뉜 세 자리예요. 왼쪽으로 갈수록 크기가 크고, 왼쪽이 올라갈수록 받는 쪽이 확인할 게 많아져요.

번호 없이 그냥 올릴 때
"오늘 새 버전 올렸어요" · 어제 판과의 차이가 말로만 있음 · 돌아갈 지점에 이름이 없음 · 손님 문의에 댈 기준이 없음

올리는 날은 편해요. 값은 사고 난 날에 나와요. "어느 판으로 돌아가면 되나요"에 아무도 정확히 답을 못 해요.

번호를 붙였을 때
"1.4.2 로 올렸어요" · 앞자리가 그대로면 그냥 받아도 되는 판 · 돌아갈 판 이름이 숫자로 남음 · [[changelog|변경 기록]] 한 줄과 짝

붙이는 데 10초 걸려요. 대신 사고 난 날 "1.4.1 로 돌려 주세요" 한마디가 그대로 통해요.

세 자리가 각각 무슨 뜻인가

규칙은 한 문장이에요. 받는 쪽이 뭔가를 고쳐야 하면 앞자리를 올린다. 나머지는 전부 이 문장에서 나와요.

자리무엇을 올릴 때받는 쪽이 할 일가게로 치면
앞자리 (1.4.2 의 1)예전처럼 쓰던 방식이 더는 안 통할 때. 칸 이름을 바꾸거나 기능을 없앴을 때예요받기 전에 확인해요. 연결해 둔 곳이 있으면 같이 고쳐야 해요세트 구성을 갈아엎어서 예전 주문 이름이 사라진 개정
가운데 (1.4.2 의 4)기능이 늘었지만 예전에 되던 건 그대로 될 때그냥 받아도 돼요. 새로 생긴 게 뭔지만 훑어요메뉴 한 줄이 늘어난 개정
뒷자리 (1.4.2 의 2)동작은 그대로고 잘못돼 있던 것만 고쳤을 때그냥 받아요. 오히려 빨리 받는 편이 나아요가격표 오탈자를 고친 개정
0 으로 시작하는 판 (0.3.1)아직 정식으로 문을 열기 전이라는 뜻이에요언제든 크게 바뀔 수 있다고 보고 써요가오픈 기간에 돌려 보는 시험 메뉴판
뒤에 꼬리가 붙은 판 (1.5.0-beta.1)정식 전에 미리 열어 보는 판이에요실제 손님에게는 아직 안 써요단골 몇 분에게만 미리 내 보는 시식 메뉴

올린 자리보다 아래는 0 으로 되돌려요

1.4.2 에서 가운데를 올리면 1.5.2 가 아니라 1.5.0 이에요. 앞자리를 올리면 2.0.0 이고요. 뒷자리를 그대로 이어 붙이면 그 숫자가 몇 번 고쳤다는 뜻인지 무엇이 바뀌었다는 뜻인지 아무도 못 읽게 돼요.

내 서비스에 번호를 붙이는 순서

처음 붙일 때만 잠깐 고민되고 그 뒤로는 거의 기계적이에요. 다섯 걸음이면 끝나요.

  1. 1첫 번호를 정해요. 아직 손님을 안 받았으면 0.1.0 으로 시작해요. 실제 손님이 쓰기 시작한 날 1.0.0 을 붙여요.
  2. 2이번 배포가 어느 자리인지 한 줄로 판정해요. 기준은 하나예요. 쓰던 사람이 뭘 고쳐야 하나요. 고쳐야 하면 앞자리예요.
  3. 3번호와 [[changelog|변경 기록]] 한 줄을 같은 날 적어요. 숫자만 남으면 몇 달 뒤에 그 숫자가 무슨 뜻이었는지 아무도 몰라요.
  4. 4그 번호를 돌아갈 수 있는 지점으로 남겨요. 번호의 값은 사고 난 날 이전 버전으로 돌리기에서 나와요.
  5. 5앞자리를 올리는 날은 미리 알려요. 올린 뒤에 알리면 통보고, 하루 전에 알리면 상대에게 준비할 시간이 생겨요.

확인해 보세요

예약 화면에 "메모" 칸을 새로 넣었어요. 기존 예약 기능은 그대로 잘 돼요. 1.4.2 다음 번호는?

남이 만든 부품의 번호를 볼 때

번호를 붙이는 일보다 남의 번호를 읽는 일이 훨씬 자주 생겨요. 남이 만든 부품 목록에는 부품마다 어느 범위까지 자동으로 받을지가 기호로 적혀 있어요.

목록에 적힌 표기무엇을 자동으로 받나언제 이걸 쓰나
1.4.2딱 이 판만 써요. 아무것도 자동으로 안 올라가요돈이 오가는 자리처럼 어제와 똑같이 돌아야 하는 곳
^1.4.2앞자리가 1 인 동안은 다 받아요. 1.9.0 도 자동으로 와요가장 흔한 기본값이에요. 앞자리는 안 넘으니 크게 깨질 일이 적어요
~1.4.21.4 안에서만 받아요. 고침만 따라가는 쪽이에요기본값보다 조금 더 조심하고 싶을 때
^0.4.20 으로 시작하는 부품은 0.4 안에서만 받아요아직 정식 전 부품이라 범위를 좁게 잡아 두는 자리예요
앞자리가 통째로 오른 새 판자동으로 안 와요. 사람이 손으로 올려야 해요올리기 전에 그 부품이 낸 안내문을 먼저 읽어요

장면 · 외주 개발자가 업데이트를 제안하며 말했다

쓰고 있는 부품이 3.0 나왔어요. 최신으로 올리는 게 좋습니다.

올리는 게 맞을 때가 많지만, 앞자리가 통째로 바뀐 판이라는 사실이 먼저예요. 그 자리에서 물을 건 두 가지예요. "우리가 쓰던 기능 중 없어진 게 있나요." 그리고 "안 올리면 지금 당장 무슨 문제가 있나요." 보안 구멍 때문이면 미룰 일이 아니고, 이유가 "최신이라서"뿐이면 급한 일이 아니에요. 이 판단을 사장님이 직접 할 수 있게 해 주는 게 앞자리 숫자예요.

헷갈리기 쉬운 것

[[changelog|변경 기록]]과 뭐가 달라요. 번호는 이름표고 변경 기록은 내용이에요. "1.5.0"이 이름이고 "메모 칸이 생겼어요"가 내용이에요. 둘 중 하나만 있으면 반쪽이라, 같은 날 같이 적는 습관으로 묶어 두는 게 편해요.

앱 마켓에 올리는 번호와 같은 건가요. 사람에게 보여 주는 번호는 같게 맞추는 편이 좋아요. 다만 마켓은 올릴 때마다 반드시 커지는 별도의 내부 번호를 따로 요구해요. 화면에 1.5.0 이 보이는 동안에도 그 내부 번호는 올릴 때마다 계속 커져요.

숫자가 크다고 좋은 게 아니에요

3.0.0 이 1.9.0 보다 잘 만든 것이라는 뜻은 전혀 없어요. 앞자리는 품질이 아니라 호환이 끊긴 횟수를 세는 자리예요. 앞자리가 자주 오르는 부품은 오히려 받는 쪽 손이 자주 가는 부품이에요.

하나 더

쓰던 부품이 2.9.4 에서 3.0.0 으로 올라갔어요. 지금 가장 먼저 할 일은?

자주 묻는 것

Q. 손님은 보지도 않는 번호인데 꼭 붙여야 하나요?
손님용이 아니라 사고 난 날 쓰는 이름표예요. 돌아갈 판을 말로 설명하려면 "지난주 화요일 저녁 거요"가 되는데, 그 말로는 아무도 정확히 못 찾아요. 숫자 하나면 한 번에 찾아요.
Q. 혼자 만드는데도 필요해요?
혼자여도 석 달 뒤의 사장님은 남이에요. 다만 손님이 없는 동안은 0.x 로 가볍게 두면 충분해요. 무거워지는 건 남이 쓰기 시작한 다음이에요.
Q. 1.0.0 은 언제 붙여요?
기능이 완벽해진 날이 아니라 남이 믿고 쓰기 시작한 날이에요. 이제 이 판을 함부로 못 깨겠다는 마음이 드는 날이 그날이에요.
Q. 번호를 건너뛰어도 되나요?
돼요. 1.4.2 다음에 1.7.0 이 나와도 규칙 위반은 아니에요. 다만 사이 번호가 어디로 갔는지 묻는 사람이 생기니 이유를 한 줄 적어 두는 편이 나아요.
Q. 앞자리를 올리기 싫으면 어떻게 하나요?
예전 방식을 한동안 같이 살려 두면 돼요. 새 방식을 더해 두고 옛 방식에는 곧 없어진다고 미리 알린 뒤, 시간이 지나면 치우는 순서예요. 이러면 앞자리를 올리는 날이 뒤로 미뤄지고 쓰던 사람도 안 놀라요.

이것만 기억하세요

더 깊이 (안 읽어도 괜찮아요)

왜 하필 세 자리인가 · 자리가 늘면 사람이 못 읽어요. 네 자리를 쓰는 곳도 있지만 대개 셋에서 끝내요. 받는 쪽이 할 수 있는 행동이 셋뿐이기 때문이에요. 그냥 받는다, 훑어보고 받는다, 확인하고 받는다. 자리 수가 행동의 수를 따라간 거예요.

0 으로 시작하는 판이 규칙 밖에 있는 이유 · 0 으로 시작하는 판에서는 가운데 자리가 올라갈 때도 호환이 깨질 수 있어요. 규칙 자체가 그렇게 정해져 있어요. 아직 문을 안 열었으니 마음대로 바꿔도 되는 기간을 준 거예요. 그래서 남의 0.x 부품은 받는 범위를 좁게 잡아야 하고, 반대로 내 것이 0.x 인 동안은 구조를 크게 갈아엎을 수 있는 거의 유일한 시기예요.

번호가 견적에 미치는 영향 · 앞자리를 올리는 작업은 견적이 다르게 나와요. 코드를 고치는 시간이 아니라 쓰던 사람들을 옮기는 시간이 붙기 때문이에요. 안내, 유예 기간, 옛 방식 유지, 나중에 치우는 배포까지가 한 묶음이에요. 견적서에 앞자리 변경이 한 줄로만 적혀 있으면 이 뒤쪽이 통째로 빠져 있을 수 있어요.

직접 해보기

오늘 만든 것에 첫 번호를 붙여 보세요

거창할 것 없어요. 쓰는 사람이 아직 없으면 0.1.0, 이미 쓰는 사람이 있으면 1.0.0 이에요. 스튜디오에서 만들고 있는 것을 열고, 설명서나 변경 기록 맨 위에 오늘 날짜와 번호 한 줄만 적어 두세요. 다음 배포 때 어느 자리를 올릴지 정하는 것부터가 이 문서의 실전이에요.

스튜디오 열기

이것만 기억하세요

  • ·번호는 세 자리예요. 왼쪽이 올라갈수록 받는 쪽이 확인할 게 많아져요
  • ·앞자리는 잘 만든 정도가 아니라 예전 방식이 안 통하게 된 횟수를 세요
  • ·올린 자리보다 아래는 0 으로 되돌려요. 1.4.2 에서 가운데를 올리면 1.5.0 이에요
  • ·남의 부품이 앞자리를 올렸으면 바로 받지 말고 없어진 기능부터 확인해요
  • ·숫자는 이름표고 내용은 변경 기록이에요. 둘은 같은 날 같이 적어요
VibeCampus新建作品