技術選定とは、作るものの要件に対して、言語・フレームワーク・データベースなどの候補を同じ物差しで比べ、理由を説明できる形で1つに決める作業です。 進め方は「先に足切り条件で落とす → 残った候補を重み付きの点数で比べる → 僅差なら撤退しやすい方を選ぶ」の3段階にすると、好みの議論に時間を取られず、決めた理由もあとから説明できます。

この記事では、評価項目20個と確認方法、空の比較表テンプレートと記入例、加重合計と感度分析(重みを変えたら順位が入れ替わるかの確認)のコードと実行結果、PoC(小さく作って確かめる検証)の合否基準までを、コピーして使える形でまとめます。

確認環境:Ubuntu 24.04、Python 3.11.15(計算例はすべてこの環境で実行、確認日 2026-10-05)。題材は架空の「社内の備品予約システム」です。

この記事の結論

段階 やること 決め方
1. 足切り ライセンス・サポート期限・必須要件を満たさない候補を落とす 1つでも満たさなければ対象外(点数を付けない)
2. 点数 残った候補を、重み付きの評価項目で1〜5点で採点する 加重合計の高い順に並べる
3. 感度分析 重みを少し動かして、1位が入れ替わるかを見る 入れ替わらなければ1位で決定
4. 僅差 入れ替わる、または点差が小さい 撤退しやすい方(あとで別の技術へ移りやすい方)を選ぶ
5. PoC 点数では分からない項目だけを小さく作って確かめる 事前に書いた合否基準で判定する

技術選定の早見表

知りたいこと 答え 記事内の場所
最初に何をするか 要件を「必須」と「できれば」に分け、必須を足切り条件にする 進め方の5ステップ
評価項目は何個か 一覧は20個。1回の選定では足切り3〜5個+点数5〜8個に絞る 評価項目一覧
重みの付け方 1〜5の整数。採点の前に決めて固定する 重みの決め方
点数の付け方 1〜5点。各点数の意味を項目ごとに文章で決めておく 点数の基準
僅差とは 例:満点の5%以内の差、または感度分析で1位が入れ替わる 僅差のときの決め方
PoCをするか 性能・連携・移行など「作らないと分からない必須項目」が残るときだけ 比較表で決めるかPoCまで行うか
何を残すか 比較表・重みの理由・PoCの結果・選ばなかった理由 比較結果のまとめ方

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「技術選定の基準と進め方|比較表テンプレートと評価項目の重み付け」

技術選定・製品選定・ベンダー選定の違い

言葉が似ているため、同じ比較表で済ませたくなりますが、比べる対象と重くなる評価項目が違います。

観点 技術選定 製品選定 ベンダー選定
比べる対象 言語、フレームワーク、DB、ライブラリ、構成方式 完成したソフトウェアやサービス 作業や提供を依頼する会社
主な決め手 チームが作り続けられるか(習熟度・保守・情報量) 機能の合致度と利用条件 体制・対応範囲・進め方
重くなる項目 習熟度、保守のしやすさ、撤退のしやすさ 必須機能、費用、データの持ち出し 体制、連絡の取りやすさ、契約条件
確かめ方 公式ドキュメント、小さな試作 試用版、機能一覧との突き合わせ 提案書、質疑、面談
主な成果物 比較表、PoCの結果 機能適合表、費用の比較 提案の評価表
決めたあとの変更 作り直しを伴うため重い 乗り換えにデータ移行が要る 契約の節目で見直せる

この記事は技術選定を扱います。製品やベンダーを比べるときも「足切り→点数→僅差の決め方」の流れは同じで、評価項目を入れ替えて使えます。

技術選定の進め方(5ステップ)

ステップ やること 成果物 目安の時間(例)
1. 要件を分ける 要件を「必須」「できれば」に分ける。期限・人数・動かす環境も書く 前提メモ 半日
2. 候補を挙げる 2〜4個に絞る。「今のまま」も候補に入れる 候補一覧 半日
3. 足切り 必須を満たさない候補を落とす 足切り表 半日〜1日
4. 採点 重みを決めてから採点し、加重合計と感度分析を出す 比較表 1〜2日
5. 確かめて決める 必要ならPoC。僅差なら撤退しやすい方 PoCの結果、結論 1〜10日

順番で大事なのは「重みを決めてから採点する」ことです。 採点したあとに重みを動かすと、望む結論に合わせて数字を作れてしまいます。重みは採点前に決めて、比較表に日付と一緒に書いておきます。

評価項目一覧(20項目と確認方法)

20項目すべてを使う必要はありません。足切りから3〜5個、点数から5〜8個を選びます。項目が多すぎると1項目あたりの重みが薄まり、差が見えなくなります。

足切り項目(満たさなければ対象外)

No 項目 見ること 確認方法
1 ライセンス 利用形態(社内利用・配布・改変)に合うか 公式リポジトリのライセンス文、依存ライブラリのライセンス一覧
2 サポート期限 稼働予定の期間、修正が提供されるか 公式のリリース方針・サポート期間のページ
3 必須機能 必須要件を満たす手段があるか 公式ドキュメントの該当ページを開いて確認
4 動作環境 決まっているOS・クラウド・DBの版で動くか 公式の対応環境一覧
5 脆弱性への対応 修正の公開手順と窓口があるか セキュリティ方針のページ、過去の修正の公開履歴

点数項目(1〜5点で採点)

No 項目 見ること 確認方法
6 習熟度 チームに書ける人が何人いるか メンバーへの聞き取り(人数と年数)
7 学習しやすさ 初めての人が動かせるまでの時間 公式チュートリアルを1人が試した時間
8 開発速度 画面・APIを1つ作る手数 同じ小機能を各候補で作った時間
9 保守のしやすさ 版を上げる手間、互換性の方針 移行ガイドと変更履歴の量
10 型・静的検査 実行前に見つかる誤りの範囲 型検査・リンターの有無と設定の手間
11 テストのしやすさ 自動テストの仕組みが標準か 公式のテスト手順、実行時間
12 性能 目標の応答時間・同時利用数に届くか 目標値を決めた負荷試験(PoC)
13 拡張性 利用者やデータが増えたときの増やし方 構成の公式ガイド、PoC
14 情報量 公式ドキュメント・日本語情報・書籍 公式ドキュメントの網羅度、質問サイトの件数
15 エコシステム 必要な周辺ライブラリがそろうか 必要機能の一覧と対応ライブラリの有無
16 更新頻度 修正が継続して出ているか 直近1年のリリース回数、未対応の不具合報告の数
17 運用のしやすさ ログ・監視・デプロイの手順 既存の運用手順に載るかの確認
18 人の集めやすさ 増員や引き継ぎがしやすいか 社内の経験者数、求人の件数
19 費用 利用料・環境の費用・学習の費用 3年分の概算(初期+毎月)
20 撤退のしやすさ 別の技術へ移るときの作り直し範囲 独自記法・独自形式に依存する部分の洗い出し

点数の基準(1〜5点の意味を先に決める)

点数は人によってぶれやすいので、項目ごとに「何なら何点か」を文章で決めてから採点します。

点数 習熟度の例 情報量の例 撤退のしやすさの例
5 半数以上が1年以上の経験 公式ドキュメントが網羅的で日本語情報も多い 標準的な書き方のみで、移るときの書き直しが小さい
4 2人以上が経験あり 公式ドキュメントが網羅的 一部に独自の書き方があるが切り出せる
3 1人が経験あり 公式ドキュメントはあるが例が少ない 画面かデータのどちらかは作り直し
2 経験者はいないが近い技術の経験あり 情報が英語中心で例が少ない 画面もデータも作り直し
1 経験者がいない 情報がほとんど見つからない データの取り出し手段が限られる

重みの決め方

重み 意味 付ける数の目安
5 これが低いと期限・品質に直結する 1〜2項目
4 かなり重要 1〜2項目
3 標準 残りの大半
2 あれば良い 1〜2項目
1 参考程度(入れない方がよいことも多い) 0〜1項目

全部を5にすると重みの意味がなくなります。「期限が短いなら習熟度を5」「長く使うなら保守のしやすさを5」のように、今回の前提から理由を1行書ける項目だけを4以上にします。

比較表テンプレート(空欄)

足切り表

No 足切り条件 候補A 候補B 候補C 確認した資料・日付
1 ライセンスが利用形態に合う
2 稼働予定の期間サポートされる
3 必須機能を満たす手段がある
4 決まっている環境で動く
判定 すべて○なら採点へ進む
No  足切り条件   候補A 候補B 候補C 確認した資料・日付
1   ライセンスが利用形態に合う               
2   稼働予定の期間サポートされる              
3   必須機能を満たす手段がある               
4   決まっている環境で動く             
判定  すべて○なら採点へ進む             

点数表

評価項目 重み 重みの理由 候補A 点 候補A 重み×点 候補B 点 候補B 重み×点 候補C 点 候補C 重み×点 根拠(確認方法)
合計
100点換算
評価項目    重み  重みの理由   候補A 点   候補A 重み×点    候補B 点   候補B 重み×点    候補C 点   候補C 重み×点    根拠(確認方法)






合計                                  
100点換算                                  

100点換算は「重み×点の合計 ÷(重みの合計×5)×100」です。項目数や重みを変えても、候補どうしを同じ目盛りで比べられます。

記入例:社内の備品予約システムのWebフレームワーク選定

前提(架空):開発者4人、期間4か月、利用者は社内の約300人、5年以上使う予定。候補は次の4つです。

候補 内容
候補A チームが普段使っている言語のフレームワーク
候補B 型検査が標準で使える別言語のフレームワーク。経験者1人
候補C 処理が速いことを特長とする新しめのフレームワーク。経験者なし
候補D 画面を組み立てて作る開発ツール

足切り表の記入例

No 足切り条件 候補A 候補B 候補C 候補D 確認した資料・日付
1 ライセンスが社内利用・改変に合う ○ ○ ○ ○ 各公式のライセンス文(10/1)
2 5年間サポートされる見込みがある ○ ○ ○ ○ 各公式のリリース方針(10/1)
3 既存の社員認証と連携できる ○ ○ ○ × 各公式ドキュメントの認証の章(10/2)
4 社内標準のDBで動く ○ ○ ○ ○ 各公式の対応環境一覧(10/2)
判定 採点へ 採点へ 採点へ 対象外
No  足切り条件   候補A 候補B 候補C 候補D 確認した資料・日付
1   ライセンスが社内利用・改変に合う    ○   ○   ○   ○   各公式のライセンス文(10/1)
2   5年間サポートされる見込みがある    ○   ○   ○   ○   各公式のリリース方針(10/1)
3   既存の社員認証と連携できる   ○   ○   ○   ×   各公式ドキュメントの認証の章(10/2)
4   社内標準のDBで動く  ○   ○   ○   ○   各公式の対応環境一覧(10/2)
判定      採点へ 採点へ 採点へ 対象外 

候補Dは必須の認証連携を満たさないため、ここで対象外です。足切りで落ちた候補には点数を付けません。 他の項目が高得点でも、必須を満たさない候補が合計点で上位に来ることを防げます。

点数表の記入例

評価項目 重み 重みの理由 A 点 A 重み×点 B 点 B 重み×点 C 点 C 重み×点 根拠(確認方法)
習熟度 5 期間が4か月と短い 5 25 3 15 2 10 メンバー4人への聞き取り
保守のしやすさ 4 5年以上使う 3 12 5 20 4 16 移行ガイドと変更履歴
性能 3 利用者300人で標準 2 6 4 12 5 15 公式の説明(数値はPoCで確認)
情報量 3 標準 5 15 4 12 2 6 公式ドキュメントの網羅度
運用のしやすさ 3 標準 3 9 4 12 3 9 既存の運用手順との照合
費用 2 候補間の差が小さい 4 8 3 6 4 8 3年分の概算
合計 20 75 77 64
100点換算 75.0 77.0 64.0 合計÷(20×5)×100
評価項目    重み  重みの理由   A 点 A 重み×点  B 点 B 重み×点  C 点 C 重み×点  根拠(確認方法)
習熟度 5   期間が4か月と短い   5   25  3   15  2   10  メンバー4人への聞き取り
保守のしやすさ 4   5年以上使う  3   12  5   20  4   16  移行ガイドと変更履歴
性能  3   利用者300人で標準  2   6   4   12  5   15  公式の説明(数値はPoCで確認)
情報量 3   標準  5   15  4   12  2   6   公式ドキュメントの網羅度
運用のしやすさ 3   標準  3   9   4   12  3   9   既存の運用手順との照合
費用  2   候補間の差が小さい   4   8   3   6   4   8   3年分の概算
合計  20          75      77      64  
100点換算              75.0        77.0        64.0    合計÷(20×5)×100

候補Bが77.0点、候補Aが75.0点で、差は2点です。この差で決めてよいかを、次の感度分析で確かめます。

加重合計と感度分析をPythonで計算する

感度分析とは、重みを少し動かしたときに結論(1位)が変わるかを確かめる作業です。 重みは人が決めた数字なので、1違うだけで順位が入れ替わるなら、その比較表だけでは決めきれないと分かります。

次のコードは標準ライブラリだけで動きます。ITEMS を自分の比較表の数字に書き換えて使ってください。

# 技術選定の加重合計と感度分析(Python 3 の標準ライブラリのみ)
from fractions import Fraction
from itertools import product

# 評価項目: (重み, {候補: 点数1〜5})
ITEMS = {
    "習熟度":         (5, {"A": 5, "B": 3, "C": 2}),
    "保守のしやすさ": (4, {"A": 3, "B": 5, "C": 4}),
    "性能":           (3, {"A": 2, "B": 4, "C": 5}),
    "情報量":         (3, {"A": 5, "B": 4, "C": 2}),
    "運用のしやすさ": (3, {"A": 3, "B": 4, "C": 3}),
    "費用":           (2, {"A": 4, "B": 3, "C": 4}),
}
CANDS = ["A", "B", "C"]


def totals(weights):
    """候補ごとの加重合計を100点満点に換算して返す(端数の誤差を避けるため分数で持つ)"""
    wsum = sum(weights.values())
    return {
        c: Fraction(sum(weights[k] * ITEMS[k][1][c] for k in ITEMS) * 100, wsum * 5)
        for c in CANDS
    }


def winner(t):
    """1位の候補名を返す。同点のときは '同点' を返す"""
    best = max(t.values())
    tops = [c for c in CANDS if t[c] == best]
    return tops[0] if len(tops) == 1 else "同点"


def show(t):
    return " ".join(f"{c}={float(t[c]):.1f}" for c in CANDS)


base_w = {k: v[0] for k, v in ITEMS.items()}
base = totals(base_w)
top = winner(base)
print("== 加重合計(100点満点換算) ==")
for c in sorted(CANDS, key=lambda c: -base[c]):
    print(f"候補{c}: {float(base[c]):.1f}")

print("\n== 感度分析1: 重みを1項目だけ ±1, ±2 動かす ==")
for k in ITEMS:
    for d in (-2, -1, 1, 2):
        w = {**base_w, k: base_w[k] + d}
        if w[k] < 1:
            continue
        t = totals(w)
        note = "" if winner(t) == top else f"  <- 1位が {winner(t)} に変わる"
        print(f"{k} {base_w[k]}->{w[k]}: {show(t)}{note}")

print("\n== 感度分析2: 全項目の重みを同時に -1/0/+1 動かす全組み合わせ ==")
count = {}
for ds in product((-1, 0, 1), repeat=len(ITEMS)):
    w = {k: max(1, base_w[k] + d) for k, d in zip(ITEMS, ds)}
    r = winner(totals(w))
    count[r] = count.get(r, 0) + 1
n = sum(count.values())
for r in CANDS + ["同点"]:
    print(f"1位が {r}: {count.get(r, 0)}/{n} 通り ({count.get(r, 0) / n * 100:.1f}%)")

print("\n== 感度分析3: 1項目の重みだけを1〜10に変えたとき、1位が変わる範囲 ==")
for k in ITEMS:
    ws = [x for x in range(1, 11) if winner(totals({**base_w, k: x})) not in (top, "同点")]
    if ws:
        print(f"{k}(今の重み{base_w[k]}): 重み {ws[0]}〜{ws[-1]} で1位が変わる")
    else:
        print(f"{k}(今の重み{base_w[k]}): 変わらない")

実行結果(python3 select.py):

== 加重合計(100点満点換算) ==
候補B: 77.0
候補A: 75.0
候補C: 64.0

== 感度分析1: 重みを1項目だけ ±1, ±2 動かす ==
習熟度 5->3: A=72.2 B=78.9 C=66.7
習熟度 5->4: A=73.7 B=77.9 C=65.3
習熟度 5->6: A=76.2 B=76.2 C=62.9  <- 1位が 同点 に変わる
習熟度 5->7: A=77.3 B=75.5 C=61.8  <- 1位が A に変わる
保守のしやすさ 4->2: A=76.7 B=74.4 C=62.2  <- 1位が A に変わる
保守のしやすさ 4->3: A=75.8 B=75.8 C=63.2  <- 1位が 同点 に変わる
保守のしやすさ 4->5: A=74.3 B=78.1 C=64.8
保守のしやすさ 4->6: A=73.6 B=79.1 C=65.5
性能 3->1: A=78.9 B=76.7 C=60.0  <- 1位が A に変わる
性能 3->2: A=76.8 B=76.8 C=62.1  <- 1位が 同点 に変わる
性能 3->4: A=73.3 B=77.1 C=65.7
性能 3->5: A=71.8 B=77.3 C=67.3
情報量 3->1: A=72.2 B=76.7 C=66.7
情報量 3->2: A=73.7 B=76.8 C=65.3
情報量 3->4: A=76.2 B=77.1 C=62.9
情報量 3->5: A=77.3 B=77.3 C=61.8  <- 1位が 同点 に変わる
運用のしやすさ 3->1: A=76.7 B=76.7 C=64.4  <- 1位が 同点 に変わる
運用のしやすさ 3->2: A=75.8 B=76.8 C=64.2
運用のしやすさ 3->4: A=74.3 B=77.1 C=63.8
運用のしやすさ 3->5: A=73.6 B=77.3 C=63.6
費用 2->1: A=74.7 B=77.9 C=63.2
費用 2->3: A=75.2 B=76.2 C=64.8
費用 2->4: A=75.5 B=75.5 C=65.5  <- 1位が 同点 に変わる

== 感度分析2: 全項目の重みを同時に -1/0/+1 動かす全組み合わせ ==
1位が A: 163/729 通り (22.4%)
1位が B: 494/729 通り (67.8%)
1位が C: 0/729 通り (0.0%)
1位が 同点: 72/729 通り (9.9%)

== 感度分析3: 1項目の重みだけを1〜10に変えたとき、1位が変わる範囲 ==
習熟度(今の重み5): 重み 7〜10 で1位が変わる
保守のしやすさ(今の重み4): 重み 1〜2 で1位が変わる
性能(今の重み3): 重み 1〜1 で1位が変わる
情報量(今の重み3): 重み 6〜10 で1位が変わる
運用のしやすさ(今の重み3): 変わらない
費用(今の重み2): 重み 5〜10 で1位が変わる

結果の読み方

分析 見るところ 今回の結果
加重合計 順位と点差 B 77.0、A 75.0、C 64.0。BとAの差は2点
感度分析1 重みを1項目だけ動かして1位が変わるか 23通りのうち3通りでAが1位、6通りで同点
感度分析2 全項目を同時に動かしたときの1位の割合 B 67.8%、A 22.4%、同点 9.9%、C 0%
感度分析3 1位が変わる重みの範囲 習熟度を7以上、保守のしやすさを2以下などでAが上回る

読み取れることは3つです。

  • 候補Cは、重みをどう動かしても1位になりません。 ここで候補から外せます。
  • 候補BとAは僅差です。 重みを±1動かしただけで、約3割の組み合わせでBが単独1位ではなくなります。
  • 運用のしやすさは、重みを1〜10のどれにしても候補Aが上回りません。 BとAの点差が1点しかない項目は、重みの議論に時間を使っても結論に影響しにくいと分かります。

僅差のときの決め方

「僅差」を先に定義しておくと、採点後に迷いません。次の表は一例です。

条件 判定 次にやること
感度分析2で1位の割合が90%以上(例) 明確な差 1位に決める
1位の割合が90%未満、または点差が満点の5%以内(例) 僅差 下の順で決める
足切り後に候補が1つ 比較不要 その候補でPoCの要否だけ判断する

僅差のときは、次の順に見ます。

順 見るもの 選ぶ方
1 撤退のしやすさ(独自の書き方や形式への依存の少なさ) 別の技術へ移るときの作り直しが小さい方
2 重み5の項目の点数 最重要の項目で点が高い方
3 PoCの結果 合否基準を満たした方
4 現在使っている技術 変えない方(学び直しと移行が要らない)

今回の例では、候補BとAが僅差でした。撤退のしやすさを比べると、候補Bは型の定義が残るため別のフレームワークへ移るときに業務ロジックを持ち出しやすく、候補Aは画面とロジックがフレームワーク独自の書き方に寄っている、という前提なら候補Bを選びます。そのうえで、候補Bの弱点である習熟度(3点)を、PoCで「経験の浅い2人が1週間で小機能を作れるか」として確かめます。

点数が高い方を機械的に選ぶのではなく、「差が小さいときは戻りやすい方」と先に決めておくことで、議論が長引きにくくなります。

比較表で決めるか、PoCまで行うか

状況 選ぶ進め方 理由
候補がチームの経験済みの技術どうし 比較表だけで決める 作らなくても点数の根拠がある
感度分析で1位が安定している 比較表だけで決める 重みの付け方で結論が変わらない
性能・同時利用数に数値の必須要件がある PoCを行う 公式の説明だけでは自分の条件での値が分からない
既存システムとの連携・データ移行が必須 PoCを行う つなぐ相手ごとに挙動が違う
経験者がいない候補が1位または僅差 PoCを行う 習熟度と学習しやすさの点数に根拠が要る
小さな社内ツールで、作り直しが数日で済む 比較表も簡略にして決める 選び直す費用の方が小さい

PoCで確かめる項目と合否基準

PoCは「触ってみる」ではなく、始める前に合否基準と終了条件を書いておく小さな試験です。数値は題材に合わせた例です。

No 確かめる項目 作るもの 合否基準(例) 測り方 結果 判定
1 認証連携 既存の社員認証でログインする画面 ログインとログアウトが動き、権限2種類を区別できる 手動で3ユーザーを確認
2 性能 予約一覧API(予約データ10万件) 同時50人で95%の応答が500ミリ秒以内 負荷試験ツールで5分間
3 学習しやすさ 予約登録の小機能 経験の浅い2人が5日以内にテスト付きで完成 かかった日数を記録
4 テスト 上の小機能の自動テスト テストが1分以内に終わり、CIで動く CIの実行時間
5 運用 検証環境へのデプロイ 既存の手順書の変更が10行以内で済む 手順書の差分
6 データ移行 既存の予約データの取り込み 1万件を取り込み、件数と合計が一致 取り込み前後の集計SQL
No  確かめる項目  作るもの    合否基準(例) 測り方 結果  判定
1   認証連携    既存の社員認証でログインする画面    ログインとログアウトが動き、権限2種類を区別できる   手動で3ユーザーを確認     
2   性能  予約一覧API(予約データ10万件)  同時50人で95%の応答が500ミリ秒以内   負荷試験ツールで5分間     
3   学習しやすさ  予約登録の小機能    経験の浅い2人が5日以内にテスト付きで完成   かかった日数を記録       
4   テスト 上の小機能の自動テスト テストが1分以内に終わり、CIで動く  CIの実行時間     
5   運用  検証環境へのデプロイ  既存の手順書の変更が10行以内で済む  手順書の差分      
6   データ移行   既存の予約データの取り込み   1万件を取り込み、件数と合計が一致   取り込み前後の集計SQL        

PoCの終了条件

終了条件 内容
期間 例:10営業日。延長は1回、最大5営業日まで
合格で終了 「必須」と付けた項目がすべて合格した時点で終える
不合格で終了 必須項目が1つでも基準に届かず、設定の調整を2回試しても変わらないとき
期間切れ 判定できていない必須項目が残ったら、その候補は「確認できず」として次点を検討する
捨てる前提 PoCのコードは本番に持ち込まない。残すのは結果の表と気づきのメモ

期間切れのときの扱いを先に決めておくのがポイントです。「もう少しで動きそう」という状態で延び続けることを防げます。

比較結果のまとめ方

決めるまでに作った表は、次の1枚にまとめておくと、あとから「なぜこれを選んだか」を聞かれたときにそのまま渡せます。決定そのものを記録する文書(ADRなど)には、この1枚へのリンクと結論だけを書けば足ります。

# 技術選定の比較結果:備品予約システムのWebフレームワーク

- 作成日:2026-10-05 作成者:(名前)
- 前提:開発者4人、期間4か月、利用者約300人、5年以上使う

## 結論
候補Bを選ぶ。候補Aとは僅差(77.0点と75.0点)のため、撤退のしやすさで決めた。

## 足切り
候補Dは既存の社員認証と連携できないため対象外。

## 点数(100点換算)
| 候補 | 点数 | 重みを±1動かしたときに1位になる割合 |
|---|---|---|
| B | 77.0 | 67.8% |
| A | 75.0 | 22.4% |
| C | 64.0 | 0% |

## PoCの結果
| 項目 | 合否基準 | 結果 | 判定 |
|---|---|---|---|
| (PoCの表から転記) |  |  |  |

## 選ばなかった理由
- 候補A:点数は僅差。独自の書き方への依存が大きく、移るときの作り直し範囲が広い。
- 候補C:どの重みでも1位にならない。経験者がいない。

## 残る心配と対策
- 候補Bの経験者が1人:最初の2週間はペアで作業し、書き方の決まりを文書にする。

## 見直す時期
- 開発開始から2か月後に、習熟度の見込みが合っていたかを確認する。

確かめて分かったこと

  • 同点は意外に多く出ます。 重みを全項目±1で動かした729通りのうち72通り(9.9%)が同点でした。重みが小さな整数だと合計がそろいやすいため、同点のときの決め方を先に用意しておく意味があります。
  • 小数第1位に丸めた表示では「同点」と「わずかな差」の区別がつきません。 最初は丸めた値で順位を比べるコードを書いたところ、感度分析1の同点6通りも「入れ替わり」と表示されました。掲載したコードは分数(Fraction)のまま比べ、同点を別に数えています。
  • 点差が小さい項目は、重みを変えても結論が変わりません。 運用のしやすさ(BとAの差が1点、重み3)は、重みを1〜10のどれにしても候補Aが上回りませんでした(重み1のときだけ同点)。重みの議論は、点差が大きい項目に絞ると短く済みます。
  • 3位の候補は、合計点よりも「1位になる割合が0%」で外す方が説明しやすいです。 候補Cは性能が5点でも、どの重みの組み合わせでも1位になりませんでした。
  • 重みの合計を20にすると、重み×点の合計がそのまま100点換算になります(20×5=100)。表計算ソフトで手計算するときに検算しやすくなります。

つまずきやすい点と直し方

起きること こうするとよい
採点後に重みを調整して結論が変わる 重みは採点前に決め、日付を付けて固定する。動かすのは感度分析の中だけ
必須を満たさない候補が合計点で上位に来る 足切りを点数表と別の表にし、落ちた候補は採点しない
評価項目が15個以上になり差が出ない 点数項目は5〜8個に絞る。全候補が同じ点の項目は外す
点数の根拠が「なんとなく」になる 各点数の意味を文章で決め、根拠の欄に確認方法を書く
PoCが終わらない 期間と終了条件、期間切れのときの扱いを先に書く
「今のまま」が候補に無い 現在の技術を候補に入れる。変える費用が見える

よくある質問

Q. 技術選定の基準とは何ですか? A. 候補を比べるための評価項目と、その重み・点数の付け方のことです。必須要件を満たすかを見る足切り項目と、1〜5点で比べる点数項目の2種類に分けると扱いやすくなります。

Q. 評価項目の重み付けはどう決めればよいですか? A. 今回の前提(期限・人数・使う年数)から理由を1行で書ける項目だけを4〜5にし、残りは3にします。採点より先に決めて固定し、重みの影響は感度分析で確かめます。

Q. 比較表の点数が僅差のときはどう決めますか? A. 撤退しやすい方、つまり別の技術へ移るときの作り直しが小さい方を選びます。それでも決まらなければ、重みが最も大きい項目の点数、PoCの結果、現在の技術の順に見ます。

Q. PoCは必ず必要ですか? A. 必要なのは、作らないと分からない必須項目が残るときだけです。チームが経験済みの技術どうしで、感度分析でも1位が安定しているなら、比較表だけで決められます。

Q. 技術選定と製品選定の違いは何ですか? A. 技術選定は自分たちで作るための部品や方式を選び、製品選定は完成したソフトウェアやサービスを選びます。技術選定では習熟度や保守のしやすさが、製品選定では機能の合致度と利用条件が重くなります。

まとめ

  • 足切りを先に行う:ライセンス・サポート期限・必須要件を満たさない候補は採点しない。
  • 重みは採点の前に決める:理由を1行書ける項目だけを4以上にし、合計を20にすると検算しやすい。
  • 点数の意味を文章で決める:1〜5点の基準と、根拠の確認方法を表に残す。
  • 感度分析で結論の安定を確かめる:重みを±1動かして1位が変わるなら僅差と判断する。
  • 僅差なら撤退しやすい方を選ぶ:決め方を先に用意しておくと議論が短くなる。
  • PoCは合否基準と終了条件を先に書く:期間切れのときの扱いまで決めておく。
  • 比較表・PoCの結果・選ばなかった理由を1枚にまとめる:あとから理由を説明できる。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「技術選定の基準と進め方|比較表テンプレートと評価項目の重み付け」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?