Business Technology06

Updated 2026.09.03

Field Note

複数の作業を同時に進めるとき、何を分ければ壊れないか

一つのサイトに対して複数の作業を同時に進めると、ブランチを分けただけでは分離できないものが残ります。ピース・ビズが実際にぶつかった重なりと、その後に先へ回した確認を整理します。

二つの作業が別々の場所で進み、共有される領域と統合の順番を示した図。

先に要点

当社が先に分けているのは、作業の置き場所、確認に使う状態、そして統合の順番の三つです。ブランチを分ければ変更内容は分かれますが、同じ機械の上で共有される領域や、生成される成果物、そして「どの時点のもので動作確認したか」は分かれません。ここを決めずに並行させると、統合の直前に手戻りが出ます。

  • 変更内容はブランチで分かれるが、作業中の状態は分かれない
  • 同じファイルを別々の作業が触っていないかを、早い段階で確認する
  • 動作確認は「どの時点のもの」で行ったのかを必ず記録する

分離のためのルールは少ないほど守られます。当社では、増やすより先に「守らなくても壊れない形」にできないかを考えています。

ブランチを分けるだけでは、分かれない

分離できているのは変更内容であって、作業の状態ではありません。

当社では、一つのサイトに対して複数の作業を同時に進めることがあります。ブランチを分ければ変更内容は独立しますが、同じ機械の上で作業する以上、共有される領域が残ります。実際にぶつかったのは、この共有部分でした。

たとえば、作業を一時的に退避させる領域は、作業ツリーを分けても共有されます。片方の作業で退避したものを、もう片方の作業が取り出してしまうと、どちらの変更なのか分からない状態になります。当社では、この危険を避けるために、一時退避ではなく作業用の記録を残す方法へ切り替えました。

もう一つは、内容から自動生成される成果物です。掲載内容を変えると、一覧や参照用のファイルが再生成されます。二つの作業が同じ内容を触っていると、生成物の差分が両方に現れ、統合するときに片方の変更が消えることがあります。

分かれるもの、分かれないもの

当社が実際に確認した範囲です。分かれないものは、運用で決めるしかありません。

対象分かれるか当社での扱い
変更したファイルの内容分かれるブランチに任せる
作業ディレクトリ分けられる作業ごとに別の場所を用意する
一時退避の領域分かれない一時退避を使わず、作業用の記録として残す
内容から自動生成される成果物分かれない生成物も変更と同じ単位で残し、統合時に作り直す
依存関係の導入状態分かれない場合がある作業場所ごとに導入し直す
どの時点で動作確認したか分かれない確認したときの状態を記録に残す

表は横にスクロールできます。

「分かれない」ものについては、ルールで守るのではなく、そもそも使わない形にできないかを先に検討しています。

実際に起きたこと

当社で発生した重なりです。いずれも、統合の直前になって表面化しました。

  1. 別々の作業が、同じ一つのファイルを変更していた

    一方は表示の作り直し、もう一方は検索まわりの修正で、目的はまったく違いました。それでも同じファイルの同じ範囲に触れていたため、あとから統合の判断が必要になりました。早い段階で変更予定のファイルを突き合わせていれば、順番を入れ替えるだけで避けられた重なりです。

  2. 生成物の差分が、両方の作業に現れた

    掲載内容を変えると自動生成される一覧が、両方の変更に含まれていました。統合すると、片方の生成物がもう片方を上書きします。統合後に生成し直す、という手順を決めるまで気づきませんでした。

  3. 「動きました」がどの状態のものか分からなかった

    動作確認の報告と、実際に統合された内容が別の時点のものだった、ということがありました。以後は、確認したときの状態を特定できる形で残しています。

  4. 作業場所を分けたのに、依存の導入を忘れて止まった

    作業ディレクトリを新しく作ったとき、依存関係が入っていない状態で検証を始めてしまい、原因の切り分けに時間を使いました。作業場所を作ったら最初に導入する、という順番を固定しました。

ブランチを分けても、作業ツリーの共有領域や生成物は分かれない

作業を始める前に決めていること

並行作業を始めるときに、当社が先に踏んでいる順番です。

  1. Step 01

    触る予定の範囲を先に書き出す

    変更する予定のファイルや領域を、作業を始める前に書き出します。ここで重なりが見つかれば、順番を入れ替えるだけで済みます。

  2. Step 02

    作業場所を分けて、そこで完結させる

    作業ごとに別のディレクトリを用意し、その中だけで作業します。他の作業の場所には触れません。作業場所を作ったら、依存関係の導入まで済ませてから始めます。

  3. Step 03

    共有される領域を使わない

    作業を一時的に退避させる共有領域は使わず、作業用の記録として残します。取り違えが起きたときに、どちらの変更か分からなくなるためです。

  4. Step 04

    統合の順番を決める

    どの作業から先に統合するかを決めます。あとから入るほうが、先に入ったものに合わせて直す前提にしておくと、両方が同時に直そうとする状態を避けられます。

統合する前に確認していること

統合を始める前に、当社が必ず見ている項目です。

状態の確認

  • いま統合しようとしているのは、どの時点の内容か
  • 統合先の最新の状態を取り込んであるか
  • 同じファイルを変更している作業が他にないか
  • 自動生成される成果物を、統合後に作り直したか
  • 作業中の未保存の変更が残っていないか

結果の確認

  • 統合した状態で、検証をもう一度通したか
  • 統合前に確認していた挙動が、統合後も同じか
  • 公開前のプレビューで実際の画面を見たか
  • 統合によって消えた変更がないか

統合前に通していた検証は、統合後に必ずもう一度通します。統合そのものが変更だからです。

「どの状態で動いたか」を特定できるようにする

「どの状態で動いたか」を特定できるようにする

並行作業でいちばん扱いにくいのは、動作確認の結果がどの状態に対するものか分からなくなることです。当社では、確認したときの状態を記録に残し、統合後に同じ確認をもう一度通すようにしました。確認そのものを増やすより、確認の対象を特定できるようにするほうが効いています。

Field Note

この記事について

実際の業務・運用で得た経験をもとに整理した記事です。

First-hand experience

ピース・ビズが自社コーポレートサイトの開発で、複数の作業を同時に進めた際に実際に起きたことにもとづいて書いています。対象はピース・ビズ単体の自社サイト運用です。特定のツールの操作手順ではなく、当社が先に決めたことを扱います。

Published
2026.09.03
Updated
2026.09.03
Published by
Peace Biz

FAQ

このテーマでよくいただく質問

安全です。当社も、一つずつ進められる規模であれば並行させません。並行させているのは、内容の執筆と表示の作り直しのように、同時に進めたほうが早い作業が実際にあるためです。ただし並行させる数は増やしすぎないようにしています。統合の組み合わせは、作業の数が増えるほど急に増えます。

当社では、作業を始める前に「触る予定の範囲」を書き出して突き合わせています。完全ではありませんが、統合の直前に見つかるよりは手戻りが小さくなります。書き出す範囲は、ファイル名の粒度で十分でした。

当社は残す側を選んでいます。理由は、公開時に生成し直した結果と記録が食い違っていれば、その時点で止められるためです。残さない場合は生成の手順と環境が完全に一致している必要があり、当社の運用ではそちらのほうが不確実でした。

業務とテクノロジーのトピックに戻る

このテーマで公開している記事の一覧をご覧いただけます。