SMARTとは、目標を「具体的(Specific)・測れる(Measurable)・達成できる(Achievable)・上位の目的とつながる(Relevant)・期限がある(Time-bound)」の5点で確かめる書き方の型です。 「スキルを上げる」のような目標を、期末に達成したかどうかを誰が見ても同じように判断できる文に直すために使います。

この記事では、エンジニアの目標例文40本を、開発・テスト・インフラ・運用・リーダーの5つの役割と4つの経験段階に分け、書き換え前と書き換え後の対比で載せます。目標管理シートのテンプレートと記入例、ウェイト付き達成度の計算、チェック表、ほかの目標管理の方法との比較表もまとめました。個人の目標文の書き方に絞った内容で、人事評価の決め方は扱いません。

確認環境(確認日 2026-10-05):例文40本の点検とウェイト付き達成度の計算は Python 3.11.15 で実行し、表計算の式は LibreOffice Calc 24.2.7 のヘッドレス実行で同じ値になることを確かめています。

この記事の結論

  • 数値にしにくい仕事は、成果物・期限・確認方法の3つを書けばSMARTになる。 「設計力を付ける」は「12月18日までにAPI定義書を書き、設計レビューを2回以内で通す。確認方法は議事録」と書けます
  • 書き換えは「何ができあがるか」から考える。 学ぶ・慣れる・意識するといった動詞を、作る・通す・減らすに置き換えます
  • 目標は3〜5個、ウェイトは合計100にする。 達成度は「ウェイト×達成度の合計 ÷ ウェイトの合計」で求めます
  • 期の途中に中間確認の日を決めておく。 目標文に無理があるとわかったら、その日に書き直します

SMART目標設定の早見表

項目 確かめる問い あいまいな例 書き直した例
S 具体的 何ができあがるかが書いてあるか 設計力を付ける 予約変更機能のAPI定義書とテーブル定義を一人で書く
M 測れる 達成したかを数字や成果物で確かめられるか 品質を上げる 単体テストの網羅率を60%から80%にする
A 達成できる 自分の持ち時間と権限で届くか 不具合を0件にする リリース後1か月の不具合を6件から2件以下にする
R つながる チームや上位の目標に結び付いているか 興味のある言語を学ぶ 次の機能追加で使う検索SQLを5本書いてレビューに出す
T 期限がある いつまでにかが日付で書いてあるか 今期中にやる 2027年1月29日までに
数値にしにくい仕事で書く3つ 書き方 例
成果物 できあがる物、または変わる状態 テスト計画書のひな形
期限 日付 2027年1月29日まで
確認方法 どの記録を見れば達成とわかるか ひな形の文書と、それを使った計画書2本

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

(記載例)出典:株式会社RJC「SMART目標設定の例文40|エンジニアの目標管理シートの書き方」

目標文の型(穴埋め式)

(期限)までに、(成果物を)(どの水準で)(どうする)。確認方法:(見る記録)
型 使う場面 例
数値を動かす型 測れる指標がある (期限)までに、(指標)を(開始値)から(目標値)にする
成果物を作る型 文書・部品・しくみを作る (期限)までに、(成果物)を作り、(レビューや利用の条件)を満たす
回数を重ねる型 経験を積む段階 (期限)までに、(作業)を一人で(回数)行い、(品質の条件)を満たす
状態を変える型 チームや運用の状態を変える (期限)までに、(誰が)(何を)できる状態にする

期の初めに開始値を測っておくと、数値を動かす型が書きやすくなります。 開始値がわからないときは、最初の2週間を計測にあて、目標値はその後に決めます。

役割別×経験段階別の目標例文40本

5つの役割ごとに8本ずつ、4つの段階に2本ずつ並べています。段階の目安は、入門(1年目)、一人立ち(2〜3年目)、中堅(4〜6年目)、熟練(7年目以上)です。リーダーの段階は、リーダー役を担ってからの長さとして読んでください。機能名や数値は架空の「備品予約システム」の開発チームを想定した例で、期限は2026年10月〜2027年3月の半期に置いています。

開発の目標例文(No.1〜8)

No 段階 書き換え前 書き換え後(成果物・期限・確認方法)
1 入門 Javaを勉強する 2026年12月25日までに、備品検索の画面1つを仕様書から実装し、レビューの指摘5件以内でマージする。確認方法:プルリクエストの指摘件数
2 入門 Gitに慣れる 2026年11月30日までに、ブランチ作成からプルリクエストまでを一人で10回行う。確認方法:マージ済みプルリクエストの一覧
3 一人立ち SQLを得意にする 2027年1月29日までに、結合と集計を含む検索SQLを5本書き、すべて実行計画を添えてレビューに出す。確認方法:レビュー記録と添付した実行計画
4 一人立ち 品質を上げる 2027年2月26日までに、担当機能の単体テストの網羅率を60%から80%にする。確認方法:CIの網羅率レポート
5 中堅 設計力を付ける 2026年12月18日までに、予約変更機能のAPI定義書とテーブル定義を一人で書き、設計レビューを2回以内で通す。確認方法:設計レビューの議事録
6 中堅 パフォーマンスを改善する 2027年1月29日までに、予約一覧APIの95パーセンタイル応答時間を1.2秒から0.5秒にする。確認方法:負荷テストの結果表
7 熟練 コードをきれいにする 2027年3月19日までに、共通の日付処理を1つの部品にまとめ、重複した実装を12か所から0か所にする。確認方法:コード検索の結果とプルリクエスト
8 熟練 後輩を育てる 2026年12月25日までに、コードレビューの観点表を20項目で作り、チームの5人が各1回使う。確認方法:観点表の文書と利用記録

テストの目標例文(No.9〜16)

No 段階 書き換え前 書き換え後(成果物・期限・確認方法)
9 入門 テストを覚える 2026年11月27日までに、貸出機能の結合テスト50項目を手順書どおりに実施し、結果を当日中に記録する。確認方法:テスト結果表の記録日
10 入門 バグ報告をうまく書く 2026年12月25日までに、不具合報告を再現手順・期待する動き・実際の動きの3点つきで10件書き、差し戻し0件にする。確認方法:不具合管理表の差し戻し件数
11 一人立ち テスト設計ができるようになる 2027年1月22日までに、予約登録機能のテスト項目を境界値と同値分割で60項目起こし、レビューで抜けの指摘を3件以内にする。確認方法:テスト項目書とレビュー記録
12 一人立ち 自動化に挑戦する 2027年2月26日までに、ログインから予約登録までの画面テストを5本自動化し、CIで毎日動かす。確認方法:CIの実行履歴
13 中堅 テストを効率化する 2027年3月12日までに、回帰テストの実施時間を8時間から3時間にする。確認方法:実施記録の所要時間
14 中堅 不具合を減らす 2027年3月26日までに、リリース後1か月の不具合を、前回の6件から2件以下にする。確認方法:不具合管理表の集計
15 熟練 テスト方針を整える 2027年1月29日までに、テスト計画書のひな形を作り、次の2つの機能追加で使う。確認方法:ひな形の文書と、それを使った計画書2本
16 熟練 チームのテスト力を上げる 2027年3月19日までに、テスト設計の勉強会を3回開き、参加者4人が各自1機能ぶんの項目書を書く。確認方法:勉強会の資料と項目書4本

インフラの目標例文(No.17〜24)

No 段階 書き換え前 書き換え後(成果物・期限・確認方法)
17 入門 Linuxを勉強する 2026年11月30日までに、ログ確認・プロセス確認・権限変更の3作業を手順書なしで行い、先輩の立ち会いで確認を受ける。確認方法:立ち会い確認のチェック表
18 入門 環境構築を覚える 2026年12月18日までに、検証環境を手順書どおりに一人で構築し、手順書のわかりにくい箇所を3か所以上直す。確認方法:構築記録と手順書の変更履歴
19 一人立ち クラウドに詳しくなる 2027年1月29日までに、検証環境の構成を定義ファイルにし、削除から再作成まで30分以内でできるようにする。確認方法:再作成の実施記録
20 一人立ち 監視を強化する 2027年2月26日までに、予約APIの応答時間とエラー率の監視を追加し、通知の誤報を月2件以下にする。確認方法:監視設定と通知履歴
21 中堅 コストを意識する 2027年1月29日までに、検証環境の月額費用を、夜間停止の自動化で30%下げる。確認方法:利用料金の月次比較
22 中堅 デプロイを改善する 2027年2月26日までに、配備にかかる時間を40分から10分にする。確認方法:CI/CDの実行時間の記録
23 熟練 可用性を高める 2027年3月19日までに、復元の訓練を2回行い、バックアップから復旧までの時間を4時間から1時間にする。確認方法:訓練の記録
24 熟練 インフラを標準化する 2027年3月26日までに、新しい環境を作る手順を定義ファイルと10ページ以内の文書にまとめ、別の担当者が1日で構築できることを確かめる。確認方法:別の担当者による構築記録

運用の目標例文(No.25〜32)

No 段階 書き換え前 書き換え後(成果物・期限・確認方法)
25 入門 問い合わせ対応に慣れる 2026年12月25日までに、問い合わせ30件に手順書を使って一次回答し、当日中の回答を9割以上にする。確認方法:問い合わせ管理表の回答日時
26 入門 定常作業を覚える 2027年1月29日までに、月次の定常作業5種類を一人で行い、作業漏れ0件にする。確認方法:作業チェック表
27 一人立ち 障害対応を覚える 2027年2月26日までに、障害の一次対応を手順に沿って2回担当し、第一報を発生から15分以内に出す。確認方法:障害記録の時刻
28 一人立ち 手順書を整備する 2026年12月18日までに、リリース手順書を更新し、初めての担当者が質問3件以内で作業を終えられるようにする。確認方法:作業時の質問件数の記録
29 中堅 運用を自動化する 2027年1月29日までに、手作業の月次集計3種類をスクリプトにし、作業時間を月6時間から1時間にする。確認方法:作業時間の記録とスクリプト
30 中堅 問い合わせを減らす 2027年3月12日までに、よくある質問20件の回答集を公開し、同じ内容の問い合わせを月15件から5件にする。確認方法:問い合わせ管理表の分類別件数
31 熟練 再発を防止する 2027年2月26日までに、過去半年の障害8件を原因別に分け、上位2つの原因に対策を入れる。確認方法:分析の文書と対策のリリース記録
32 熟練 運用を引き継げるようにする 2027年3月26日までに、運用設計書を改訂し、担当者2人が定常作業と一次対応を単独でできる状態にする。確認方法:スキルマップのレベル記録

リーダーの目標例文(No.33〜40)

No 段階 書き換え前 書き換え後(成果物・期限・確認方法)
33 入門 チームをまとめる 2026年12月25日までに、予定との差を日数で書いた週次の進捗報告を、12週連続で出す。確認方法:報告書12本
34 入門 会議をうまく進める 2026年12月18日までに、定例会議の議題を前日17時までに送り、決定事項を当日中に共有することを10回続ける。確認方法:送信日時と議事録
35 一人立ち 見積もり精度を上げる 2027年3月12日までに、見積もりと実際の工数の差を、直近3件の平均30%から15%以内にする。確認方法:見積もり表と工数記録
36 一人立ち メンバーを育成する 2027年3月19日までに、メンバー2人と隔週の1on1を各10回行い、それぞれの目標を1つずつ達成まで支援する。確認方法:1on1の記録と目標管理シート
37 中堅 リスク管理をする 2027年3月26日までに、リスク一覧を毎週更新し、対策の期限切れを0件に保つ。確認方法:リスク一覧の更新履歴
38 中堅 属人化を解消する 2027年3月19日までに、一人でできる人が1人だけの作業を8項目から4項目に減らす。確認方法:スキルマップの集計
39 熟練 生産性を上げる 2027年2月26日までに、プルリクエストの作成からマージまでの日数の中央値を3日から1日にする。確認方法:リポジトリの集計
40 熟練 次のリーダーを育てる 2027年3月26日までに、サブリーダー1人に2つの機能追加の計画と進行を任せ、どちらも予定の日にリリースする。確認方法:計画書とリリース記録

例文40本のタブ区切り版

表計算ソフトに貼り付けて、機能名・数値・期限を書き換えて使えます。

No  役割  段階  書き換え前   成果物 期限  確認方法
1   開発  入門  Javaを勉強する   備品検索の画面1つを仕様書から実装し、レビューの指摘5件以内でマージする    2026-12-25  プルリクエストの指摘件数
2   開発  入門  Gitに慣れる ブランチ作成からプルリクエストまでを一人で10回行う  2026-11-30  マージ済みプルリクエストの一覧
3   開発  一人立ち    SQLを得意にする   結合と集計を含む検索SQLを5本書き、すべて実行計画を添えてレビューに出す   2027-01-29  レビュー記録と添付した実行計画
4   開発  一人立ち    品質を上げる  担当機能の単体テストの網羅率を60%から80%にする  2027-02-26  CIの網羅率レポート
5   開発  中堅  設計力を付ける 予約変更機能のAPI定義書とテーブル定義を一人で書き、設計レビューを2回以内で通す   2026-12-18  設計レビューの議事録
6   開発  中堅  パフォーマンスを改善する    予約一覧APIの95パーセンタイル応答時間を1.2秒から0.5秒にする 2027-01-29  負荷テストの結果表
7   開発  熟練  コードをきれいにする  共通の日付処理を1つの部品にまとめ、重複した実装を12か所から0か所にする   2027-03-19  コード検索の結果とプルリクエスト
8   開発  熟練  後輩を育てる  コードレビューの観点表を20項目で作り、チームの5人が各1回使う    2026-12-25  観点表の文書と利用記録
9   テスト 入門  テストを覚える 貸出機能の結合テスト50項目を手順書どおりに実施し、結果を当日中に記録する   2026-11-27  テスト結果表の記録日
10  テスト 入門  バグ報告をうまく書く  不具合報告を再現手順・期待する動き・実際の動きの3点つきで10件書き、差し戻し0件にする    2026-12-25  不具合管理表の差し戻し件数
11  テスト 一人立ち    テスト設計ができるようになる  予約登録機能のテスト項目を境界値と同値分割で60項目起こし、レビューで抜けの指摘を3件以内にする    2027-01-22  テスト項目書とレビュー記録
12  テスト 一人立ち    自動化に挑戦する    ログインから予約登録までの画面テストを5本自動化し、CIで毎日動かす  2027-02-26  CIの実行履歴
13  テスト 中堅  テストを効率化する   回帰テストの実施時間を8時間から3時間にする  2027-03-12  実施記録の所要時間
14  テスト 中堅  不具合を減らす リリース後1か月の不具合を、前回の6件から2件以下にする    2027-03-26  不具合管理表の集計
15  テスト 熟練  テスト方針を整える   テスト計画書のひな形を作り、次の2つの機能追加で使う  2027-01-29  ひな形の文書と、それを使った計画書2本
16  テスト 熟練  チームのテスト力を上げる    テスト設計の勉強会を3回開き、参加者4人が各自1機能ぶんの項目書を書く 2027-03-19  勉強会の資料と項目書4本
17  インフラ    入門  Linuxを勉強する  ログ確認・プロセス確認・権限変更の3作業を手順書なしで行い、先輩の立ち会いで確認を受ける    2026-11-30  立ち会い確認のチェック表
18  インフラ    入門  環境構築を覚える    検証環境を手順書どおりに一人で構築し、手順書のわかりにくい箇所を3か所以上直す 2026-12-18  構築記録と手順書の変更履歴
19  インフラ    一人立ち    クラウドに詳しくなる  検証環境の構成を定義ファイルにし、削除から再作成まで30分以内でできるようにする    2027-01-29  再作成の実施記録
20  インフラ    一人立ち    監視を強化する 予約APIの応答時間とエラー率の監視を追加し、通知の誤報を月2件以下にする   2027-02-26  監視設定と通知履歴
21  インフラ    中堅  コストを意識する    検証環境の月額費用を、夜間停止の自動化で30%下げる  2027-01-29  利用料金の月次比較
22  インフラ    中堅  デプロイを改善する   配備にかかる時間を40分から10分にする    2027-02-26  CI/CDの実行時間の記録
23  インフラ    熟練  可用性を高める 復元の訓練を2回行い、バックアップから復旧までの時間を4時間から1時間にする  2027-03-19  訓練の記録
24  インフラ    熟練  インフラを標準化する  新しい環境を作る手順を定義ファイルと10ページ以内の文書にまとめ、別の担当者が1日で構築できることを確かめる  2027-03-26  別の担当者による構築記録
25  運用  入門  問い合わせ対応に慣れる 問い合わせ30件に手順書を使って一次回答し、当日中の回答を9割以上にする    2026-12-25  問い合わせ管理表の回答日時
26  運用  入門  定常作業を覚える    月次の定常作業5種類を一人で行い、作業漏れ0件にする  2027-01-29  作業チェック表
27  運用  一人立ち    障害対応を覚える    障害の一次対応を手順に沿って2回担当し、第一報を発生から15分以内に出す    2027-02-26  障害記録の時刻
28  運用  一人立ち    手順書を整備する    リリース手順書を更新し、初めての担当者が質問3件以内で作業を終えられるようにする    2026-12-18  作業時の質問件数の記録
29  運用  中堅  運用を自動化する    手作業の月次集計3種類をスクリプトにし、作業時間を月6時間から1時間にする   2027-01-29  作業時間の記録とスクリプト
30  運用  中堅  問い合わせを減らす   よくある質問20件の回答集を公開し、同じ内容の問い合わせを月15件から5件にする    2027-03-12  問い合わせ管理表の分類別件数
31  運用  熟練  再発を防止する 過去半年の障害8件を原因別に分け、上位2つの原因に対策を入れる 2027-02-26  分析の文書と対策のリリース記録
32  運用  熟練  運用を引き継げるようにする   運用設計書を改訂し、担当者2人が定常作業と一次対応を単独でできる状態にする   2027-03-26  スキルマップのレベル記録
33  リーダー    入門  チームをまとめる    予定との差を日数で書いた週次の進捗報告を、12週連続で出す   2026-12-25  報告書12本
34  リーダー    入門  会議をうまく進める   定例会議の議題を前日17時までに送り、決定事項を当日中に共有することを10回続ける   2026-12-18  送信日時と議事録
35  リーダー    一人立ち    見積もり精度を上げる  見積もりと実際の工数の差を、直近3件の平均30%から15%以内にする  2027-03-12  見積もり表と工数記録
36  リーダー    一人立ち    メンバーを育成する   メンバー2人と隔週の1on1を各10回行い、それぞれの目標を1つずつ達成まで支援する  2027-03-19  1on1の記録と目標管理シート
37  リーダー    中堅  リスク管理をする    リスク一覧を毎週更新し、対策の期限切れを0件に保つ   2027-03-26  リスク一覧の更新履歴
38  リーダー    中堅  属人化を解消する    一人でできる人が1人だけの作業を8項目から4項目に減らす    2027-03-19  スキルマップの集計
39  リーダー    熟練  生産性を上げる プルリクエストの作成からマージまでの日数の中央値を3日から1日にする  2027-02-26  リポジトリの集計
40  リーダー    熟練  次のリーダーを育てる  サブリーダー1人に2つの機能追加の計画と進行を任せ、どちらも予定の日にリリースする   2027-03-26  計画書とリリース記録

例文40本をスクリプトで点検する

上のタブ区切りを goals.tsv として保存し、成果物に数字が入っているか、期限が半期の中にあるか、確認方法が書かれているかをPythonで点検します。自分の目標を同じ形式で書いて点検することもできます。

import csv
import re
from collections import Counter
from datetime import date

START, END = date(2026, 10, 1), date(2027, 3, 31)  # 対象の半期

with open("goals.tsv", encoding="utf-8", newline="") as f:
    rows = list(csv.DictReader(f, delimiter="\t"))

problems = []
for r in rows:
    d = date.fromisoformat(r["期限"])
    if not START <= d <= END:
        problems.append((r["No"], "期限が半期の外"))
    if not re.search(r"\d", r["成果物"]):
        problems.append((r["No"], "成果物に数字がない"))
    if not r["確認方法"]:
        problems.append((r["No"], "確認方法が空"))

print("例文の数:", len(rows))
for (role, stage), n in Counter((r["役割"], r["段階"]) for r in rows).items():
    print(f"{role}\t{stage}\t{n}本")
print("成果物・期限・確認方法がそろっていない例文:", problems or "なし")

実行結果です。

例文の数: 40
開発  入門  2本
開発  一人立ち    2本
開発  中堅  2本
開発  熟練  2本
テスト 入門  2本
テスト 一人立ち    2本
テスト 中堅  2本
テスト 熟練  2本
インフラ    入門  2本
インフラ    一人立ち    2本
インフラ    中堅  2本
インフラ    熟練  2本
運用  入門  2本
運用  一人立ち    2本
運用  中堅  2本
運用  熟練  2本
リーダー    入門  2本
リーダー    一人立ち    2本
リーダー    中堅  2本
リーダー    熟練  2本
成果物・期限・確認方法がそろっていない例文: なし

書き換えの手順:5つの問いで直す

「品質を上げる」を例に、問いに1つずつ答えて書き換えます。

問い 答え この時点の目標文
1. 何が変わったら「上がった」と言えるか 単体テストで確かめている範囲が広がる 単体テストを増やす
2. それはどの数字や成果物で見えるか CIが出す網羅率のレポート 単体テストの網羅率を上げる
3. 今の値と、めざす値は 今は60%、めざすのは80% 網羅率を60%から80%にする
4. 対象の範囲は 自分の担当機能 担当機能の網羅率を60%から80%にする
5. いつまでに、何で確かめるか 2027年2月26日、CIの網羅率レポート 2027年2月26日までに、担当機能の単体テストの網羅率を60%から80%にする。確認方法:CIの網羅率レポート

書き換えでよく使う動詞の置き換え

あいまいな動詞 置き換える動詞 例
勉強する・学ぶ 作る・実装する・書く 画面1つを仕様書から実装する
慣れる 一人で◯回行う プルリクエストまでを一人で10回行う
意識する・心がける ◯件以内にする・0件に保つ 期限切れを0件に保つ
強化する・高める ◯から◯にする 4時間から1時間にする
貢献する ◯を作り、◯人が使う 観点表を作り、5人が各1回使う
挑戦する ◯本作って動かす 画面テストを5本自動化する
整備する 更新し、◯の状態にする 初めての担当者が質問3件以内で終えられる

S・M・A・R・Tを○×で確かめるチェック表

項目 チェックの問い ○の例 ×の例
S 成果物か、変わる状態が名詞で書いてあるか API定義書とテーブル定義 設計力
S 対象の範囲(機能・環境・人)が書いてあるか 予約一覧API システム全体
M 数字、または「ある・ない」で判定できるか 60%から80% 向上させる
M 確認に使う記録が決まっているか CIの網羅率レポート 上長の印象
A 自分の作業で動かせる指標か 自分の担当機能の網羅率 会社全体の売上
A 開始値からの差が、期間に対して届く大きさか 8時間から3時間 8時間から0分
R チームの目標のどれにつながるかを言えるか チーム目標「リリース後の不具合を減らす」 つながる先が見当たらない
T 期限が日付か 2027年2月26日 今期中、なるべく早く
T 中間確認の日が決まっているか 12月の第1週 期末だけ

3つの目標文をチェックした例です。

目標文 S M A R T 直すところ
クラウドに詳しくなる × × ○ ○ × 成果物・数字・期限のすべて
2027年1月29日までに配備を速くする × × ○ ○ ○ 何を、何分から何分にするか
2027年2月26日までに、配備にかかる時間を40分から10分にする。確認方法:CI/CDの実行時間の記録 ○ ○ ○ ○ ○ なし

目標管理シートのテンプレート

Markdown版

No 目標 達成基準 確認方法 期限 ウェイト 中間確認(日付・状況) 期末の結果 達成度 自己評価(ふりかえり)
1
2
3
4
合計 100

タブ区切り版(表計算ソフト用)

No  目標  達成基準    確認方法    期限  ウェイト    中間確認(日付・状況) 期末の結果   達成度 自己評価(ふりかえり)
1                                   
2                                   
3                                   
4                                   
合計                  100             
欄 書くこと 書くとき
目標 成果物または動かす指標を1文で 期初
達成基準 100%と数える条件。段階で数えるなら配点も 期初
確認方法 見る記録の名前 期初
期限 日付 期初
ウェイト 重みを合計100で配分 期初
中間確認 日付と、その時点の値や進み具合 期の中ほど
期末の結果 期末の値、できあがった成果物 期末
達成度 計算した値(0〜100%) 期末
自己評価 うまくいった理由、届かなかった理由、次にやること 期末

記入例(開発・4年目の半期)

No 目標 達成基準 確認方法 期限 ウェイト 中間確認(日付・状況) 期末の結果 達成度 自己評価(ふりかえり)
1 予約一覧APIの95パーセンタイル応答時間を1.2秒から0.5秒にする 0.5秒以下で100%。途中は(1.2−期末の値)÷0.7 負荷テストの結果表 2027-01-29 40 2026-11-27:索引の追加で0.9秒 0.6秒 85.7% 索引と検索条件の見直しで半分になった。残りは一覧の件数取得で、次の期に続ける
2 予約変更機能のAPI定義書とテーブル定義を一人で書き、設計レビューを2回以内で通す 2回以内で100%、3回で70%、4回以上で40% 設計レビューの議事録 2026-12-18 30 2026-11-13:1回目のレビューで指摘6件 2回目で通過 100% エラー応答の定義を先に書いたことで指摘が減った
3 担当機能の単体テストの網羅率を60%から80%にする 80%以上で100%。途中は(期末の値−60)÷20 CIの網羅率レポート 2027-02-26 20 2026-12-11:68% 74% 70% 日付処理の分岐が残った。部品にまとめてからテストを書くと進めやすい
4 コードレビューの観点表を20項目で作り、チームの5人が各1回使う 表の完成で50%、利用1人につき10% 観点表の文書と利用記録 2026-12-25 10 2026-11-27:表は15項目まで 表は完成、3人が利用 80% 利用の依頼が12月後半になった。完成の時点で使う日を決めておく
合計 100 86.3%

達成基準の欄に、途中の値の数え方まで書いておくのがポイントです。 期末になってから数え方を決めると、同じ結果でも達成度が変わってしまいます。

ウェイト付き達成度の計算

計算式

求めるもの 式
数値目標の達成度 (期末の値 − 開始値)÷(目標値 − 開始値)。0〜100%に収める
段階で数える目標の達成度 期初に決めた配点どおり
ウェイト付き達成度 (ウェイト × 達成度)の合計 ÷ ウェイトの合計

数値目標の式は、増やす指標(網羅率)にも減らす指標(応答時間)にも同じ形で使えます。

Pythonで計算する

記入例の4つの目標を、計算用のタブ区切りにしたものです。sheet.tsv として保存します。

No  目標  ウェイト    種類  開始値 目標値 期末の値    段階の達成度
1   予約一覧APIの応答時間(秒) 40  数値  1.2 0.5 0.6 
2   予約変更機能の設計書  30  段階              1
3   単体テストの網羅率(%)    20  数値  60  80  74  
4   コードレビューの観点表 10  段階              0.8
import csv


def achievement(row, cap=True):
    """1つの目標の達成度(0.0〜1.0)を返す。"""
    if row["種類"] == "段階":
        return float(row["段階の達成度"])
    start, target, actual = (float(row[k]) for k in ("開始値", "目標値", "期末の値"))
    value = (actual - start) / (target - start)
    return max(0.0, min(1.0, value)) if cap else value


def weighted(rows, cap=True):
    total = sum(float(r["ウェイト"]) for r in rows)
    return sum(float(r["ウェイト"]) * achievement(r, cap) for r in rows) / total


with open("sheet.tsv", encoding="utf-8", newline="") as f:
    rows = list(csv.DictReader(f, delimiter="\t"))

for r in rows:
    a = achievement(r)
    print(f"{r['No']}\t{r['目標']}\tウェイト{r['ウェイト']}\t達成度{a:.1%}\t寄与{float(r['ウェイト']) * a:.2f}")
print("ウェイトの合計:", sum(float(r["ウェイト"]) for r in rows))
print(f"ウェイト付き達成度: {weighted(rows):.1%}")
print(f"ウェイトなしの単純平均: {sum(achievement(r) for r in rows) / len(rows):.1%}")

# 目標3が目標値を超えて 90% まで伸びた場合
rows[2]["期末の値"] = "90"
print(f"目標3が90%のとき(上限100%あり): {weighted(rows):.1%}")
print(f"目標3が90%のとき(上限なし): {weighted(rows, cap=False):.1%}")

# ウェイトの合計が100にならない場合(目標4を書き忘れた)
rows[2]["期末の値"] = "74"
three = rows[:3]
s = sum(float(r["ウェイト"]) * achievement(r) for r in three)
print(f"3件だけ・合計で割る: {weighted(three):.1%}/100で割る: {s / 100:.1%}")

実行結果です。

1   予約一覧APIの応答時間(秒) ウェイト40  達成度85.7%    寄与34.29
2   予約変更機能の設計書  ウェイト30  達成度100.0%   寄与30.00
3   単体テストの網羅率(%)    ウェイト20  達成度70.0%    寄与14.00
4   コードレビューの観点表 ウェイト10  達成度80.0%    寄与8.00
ウェイトの合計: 100.0
ウェイト付き達成度: 86.3%
ウェイトなしの単純平均: 83.9%
目標3が90%のとき(上限100%あり): 92.3%
目標3が90%のとき(上限なし): 102.3%
3件だけ・合計で割る: 87.0%/100で割る: 78.3%

表計算の式で検算する

タブ区切りをA1セルに貼り付けると、2〜5行目が4つの目標になります。I列とJ列に次の式を入れます。

セル 見出し 式(2行目。5行目までコピー)
I2 達成度 =IF(D2="数値",MAX(0,MIN(1,(G2-E2)/(F2-E2))),H2)
J2 寄与 =C2*I2
求めたいもの 式 LibreOffice Calc 24.2.7 の計算結果
ウェイトの合計 =SUM(C2:C5) 100
ウェイト付き達成度 =SUMPRODUCT(C2:C5,I2:I5)/SUM(C2:C5) 0.862857…(86.3%)
ウェイトなしの単純平均 =AVERAGE(I2:I5) 0.839285…(83.9%)
3件だけ・合計で割る =SUMPRODUCT(C2:C4,I2:I4)/SUM(C2:C4) 0.869841…(87.0%)
3件だけ・100で割る =SUMPRODUCT(C2:C4,I2:I4)/100 0.782857…(78.3%)

Pythonの結果とすべて一致しました。

SMART・MBO・OKR・KPIの違い

SMARTは目標文の書き方の型で、MBO・OKR・KPIは目標を運用するしくみや指標です。そのため、SMARTはほかの3つと組み合わせて使えます。

名前 何か 達成率の目安 評価に連動させるか 見直しの頻度
SMART 目標文を確かめる5つの観点 型なので決まりはない(達成できる水準で書く) 型なので決まりはない 目標を書くとき、書き直すとき
MBO(目標による管理) 本人と上長が目標を合意し、達成度をふりかえるしくみ 100%をめざす水準で設定することが多い 連動させる運用が多い 半期または1年。中間に1回確認
OKR めざす状態(Objective)と、その到達度を測る成果指標(Key Result)の組 60〜70%が狙いどころ 評価と同じものとして扱わない 四半期。期中にも数回見直す
KPI 業務の状態を継続して測る指標 基準値を保つ、または達成する 組織によって異なる 週次・月次で継続して見る

OKRの行は、Google re:Work のガイドの記載に基づいています。同ガイドには、OKRの採点の狙いどころは60〜70%であること、OKRは従業員の評価と同義ではないこと、Objectiveは3〜5個に絞り、それぞれにKey Resultを3つほど置くことが書かれています。MBOとKPIの行は、一般的な運用の例です。

どれを使うかの判断表

条件 選ぶもの
個人の半期の目標を、達成したかどうか判定できる文にしたい SMARTで目標文を書く
上長と合意した目標を、期末にふりかえるしくみがほしい MBO(目標文はSMARTで書く)
チームで高めの目標を掲げ、四半期ごとに方向をそろえたい OKR
応答時間や不具合件数を、継続して見張りたい KPI
100%の達成を前提に計画を組みたい SMARTのAを厳しめに確かめた目標
届くかどうかわからない高い水準に挑みたい OKRのKey Resultとして書く

確かめて分かったこと

  • 例文40本は、すべて「数字入りの成果物・日付の期限・確認方法」の3点で書けた。 「後輩を育てる」「運用を引き継げるようにする」のような数値にしにくい目標も、「5人が各1回使う」「担当者2人が単独でできる状態」と書くと点検を通りました
  • ウェイトを付けると、単純平均と2.4ポイント違った。 記入例では単純平均83.9%、ウェイト付き86.3%でした。重い目標の達成度が全体を左右するので、ウェイトは期初に決めておきます
  • 達成度に上限を付けないと、1つの目標の伸びがほかの未達を隠す。 目標3の網羅率が90%まで伸びた場合、上限ありで92.3%、上限なしでは102.3%になり、目標1が85.7%でも全体が100%を超えました
  • ウェイトの合計が100でないときは、割る数で結果が変わる。 目標を3件だけ入力した状態(合計90)で、合計で割ると87.0%、100で割ると78.3%でした。式は SUM で割る形にしておくと、行を足し引きしても崩れません
  • 減らす指標も同じ式で計算できた。 応答時間1.2秒→0.5秒の目標で期末0.6秒のとき、(0.6−1.2)÷(0.5−1.2)=85.7%になります。増やす指標と式を分ける必要はありませんでした
  • OKRの60〜70%という目安は、SMARTのA(達成できる)とは前提が違う。 100%をめざして書いたSMARTの目標に60〜70%の目安を当てはめると読み違えるので、シートにはどちらの前提で書いた目標かを書いておきます

つまずきやすい点と整え方

起きること 整え方
目標が作業の一覧になる(「〜を実装する」が10個並ぶ) 3〜5個にまとめ、作業ではなく成果物と水準を書く
数字を入れたが、自分では動かせない指標だった 自分の担当範囲の指標に絞る(担当機能・担当工程)
開始値がわからず、目標値を決められない 最初の2週間で計測し、目標値はその後に決める
期の途中で前提が変わった 中間確認の日に目標文を書き直し、変更の理由を1行残す
学習の目標が「◯◯を学ぶ」で止まる 学んだ結果できあがる物(実装・文書・発表)を書く
確認方法が「上長が判断する」になる 議事録・レポート・管理表など、記録の名前に置き換える
全部のウェイトが同じになる いちばん時間を使う目標に40前後を置き、残りを配る

よくある質問

Q. SMARTの法則とは何ですか? A. 目標を、具体的・測れる・達成できる・上位の目的とつながる・期限がある、の5点で確かめる書き方の型です。達成したかどうかを誰が見ても同じように判断できる目標文にするために使います。

Q. エンジニアの目標が数値にできないときはどうすればよいですか? A. 成果物・期限・確認方法の3つを書きます。「設計書を書き、レビューを2回以内で通す。確認方法は議事録」のように、できあがる物と確かめる記録を決めれば、数値がなくても判定できます。

Q. SMARTとOKRの違いは何ですか? A. SMARTは目標文の書き方の型、OKRは目標と成果指標を組にして運用するしくみです。OKRのKey ResultをSMARTの観点で書く、という組み合わせ方ができます。

Q. 目標管理シートには何を書けばよいですか? A. 目標・達成基準・確認方法・期限・ウェイト・中間確認・期末の結果・達成度・自己評価の9つです。期初に前の5つ、期の中ほどに中間確認、期末に残りを書きます。

Q. 目標はいくつ立てるのがよいですか? A. 3〜5個が扱いやすい数です。それ以上になるときは、作業の一覧になっていないかを見直し、成果物の単位でまとめます。

Q. 目標の達成度はどう計算しますか? A. 数値目標は「(期末の値−開始値)÷(目標値−開始値)」を0〜100%に収め、全体は「ウェイト×達成度の合計÷ウェイトの合計」で求めます。表計算では SUMPRODUCT と SUM の2つで書けます。

まとめ

  • SMARTは、目標文を5つの観点で確かめる型
  • 数値にしにくい仕事は、成果物・期限・確認方法の3つを書く
  • 書き換えは動詞から。 学ぶ・慣れる・意識するを、作る・通す・減らすに置き換える
  • 目標は3〜5個、ウェイトは合計100。 達成基準には途中の値の数え方まで書く
  • 達成度は0〜100%に収め、ウェイトの合計で割る式にする
  • 中間確認の日を期初に決める。 前提が変わったら目標文を書き直す
  • SMARTは型なので、MBO・OKR・KPIと組み合わせて使える

参考・出典

  • Google re:Work「Guide: Set goals with OKRs」 https://rework.withgoogle.com/intl/en/guides/set-goals-with-okrs (OKRの採点の狙いどころ60〜70%、評価との関係、ObjectiveとKey Resultの個数、四半期の運用)

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

(記載例)出典:株式会社RJC「SMART目標設定の例文40|エンジニアの目標管理シートの書き方」

株式会社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で一緒に開発しながら、 成長を楽しみませんか?