• Docker — ベースイメージの固定、マルチステージビルド、キャッシュの効く順、非 root と秘密情報、シグナルとヘルスチェック、Compose、CI
  • 業務・運用の自動化 — toil の見分け方、業務を直してから自動にする、冪等と失敗の前提、暴走の防ぎ方、動かなかったことの検知、オーナーと棚卸し、LLM を組み込むとき
  • IaC — 宣言的・冪等・すべてをコードに、ルートモジュールとステートはライフサイクルで分割、リモートバックエンドとロック・暗号化・バージョニング、moved / import / removed ブロック、環境ごとにステートを分け同じモジュールを変数で、バージョン固定とロックファイル、シークレットはコードの外で ephemeral を活用、CI は OIDC で plan 用と apply 用のロールを分ける、保存した plan を CI から apply、Policy as Code、for_each を優先、定期的なドリフト検知
  • CI/CD — 小さな変更を頻繁に自動で検証、トランクベース開発と短命なブランチ、メインブランチの保護と Stop the line、速いチェックを先に置く Fail Fast と並列化・冪等性・ローカルと同じコマンド、PR の CI は10分以内、Build Once, Deploy Many、ロックファイルとダイジェスト固定、テストピラミッドとフレーキーテストの隔離、契約テスト、シークレット管理と OIDC の短期トークン、最小権限、SAST・SCA・コンテナ・IaC・DAST のスキャン、アクションの SHA 固定・SBOM・署名・SLSA、不変でコミットまで辿れるアーティファクト、ローリング・ブルー/グリーン・カナリア・フィーチャーフラグ、デプロイとリリースの分離、ロールバックの自動化と訓練、Expand/Contract、プレビュー環境と GitOps、デプロイマーカーと自動判定、キャッシュ・差分実行・シャーディング、DORA メトリクス、アンチパターン、チェックリスト
  • アジャイル開発 — アジャイル宣言と経験主義、3〜9人のクロスファンクショナルなチームと意思決定できる PO、DEEP なバックログと INVEST なストーリー、縦に分割する、スプリントの長さを固定してゴールは1文、デイリーは作戦会議、レトロのアクションは1〜3個、ベロシティは比較・評価に使わない、CI/CD・トランクベース・TDD、DoD、DORA メトリクス、アンチパターン、導入の手順とチェックリスト
  • スクラム開発 — スクラムは10人以下、PO は1人で決定権を持つ、SM はサーバントリーダー、5つのイベントとタイムボックス、スプリントゴールは1文、デイリーは人ではなく作業の流れを見る、レビューはデモ会でなくワーキングセッション、レトロのアクションは1〜3個、INVEST と縦分割、DoD と DoR、ストーリーポイントとプランニングポーカー、ベロシティは評価に使わない、技術的負債の管理、5つの価値基準、アンチパターン、導入と健康診断のチェックリスト
  • PdM・企画との連携 — Why を先に共有する、PdM は決める人・開発は選択肢と判断材料を出す人、Tシャツサイズ見積もりと代替案、Must / Should / Could、仕様レビューは質問で返す、進捗は3段階で悪いニュースほど早く、選択肢+推奨案+影響で相談、スコープ追加はトレードオフを可視化、計測は開発と同時に、見積もりは幅と前提で、言い換えの例、会議体と決定ログ、「作らない」提案、アンチパターン、チェックリスト
  • 要件定義 — 目的から逆算し Why を残す、What と How を分ける、検証可能に書く、スコープ外を明記、As-Is を先に把握し要望の裏の課題を「なぜ?」で掘る、最終決定者を決める、業務・機能・非機能要件と制約条件、非機能要求グレードの6分類、曖昧な表現と要注意ワード、ユーザーストーリーと Given / When / Then、例外フローの網羅、MoSCoW で Must は6割以下、要件定義書のテンプレート、よくある失敗と対策、合意形成のコツ、品質チェックリスト
  • アジャイルの要件定義 — 価値の高いものから少しずつ具体化し要件を育てる、Just-in-Time で詳細化、ビジョン→ゴール→エピック→ストーリー→受け入れ条件→タスクの階層、エレベーターピッチ・アウトカム・ペルソナ・インセプションデッキ、ストーリーの書式と3つのC、INVEST、受け入れ条件は3〜7個で例外も書く、Given / When / Then、ユーザーストーリーマッピングで MVP を切る、価値を保ったまま縦に分割する9パターン、非機能要件は DoD・受け入れ条件・独立ストーリーで管理、DoR と DoD、DEEP なバックログと WSJF、リファインメント、実例マッピングと Three Amigos、よくある失敗と対策、ストーリーのテンプレート
  • アーキテクチャ設計 ベストプラクティス — 後から変えにくい重要な決定の集合、KISS・YAGNI・関心の分離・高凝集疎結合・依存性逆転・トレードオフの記録、品質特性は上位3〜5個を測定可能な形と品質特性シナリオで、境界づけられたコンテキストとコンウェイの法則、循環依存の禁止と依存ルールの自動検証、迷ったらモジュラーモノリスでマイクロサービスは組織の理由で選ぶ、データの所有者は1つで共有データベースを避ける、強い整合性は小さく保ち Saga、Expand → Migrate → Contract、同期と非同期の使い分け、API の冪等性とバージョニング、イベントは過去形で受信側を冪等に、タイムアウト・リトライ・サーキットブレーカー・バルクヘッド、復元できるバックアップ、ステートレス化とキャッシュの無効化、計測してから最適化、セキュリティ・バイ・デザインとゼロトラスト・脅威モデリング、ログ・メトリクス・トレースと SLO、IaC と段階的リリース・ロールバック、ADR と C4 モデル、適応度関数とストラングラーフィグ、アンチパターン、設計レビューのチェックリスト
  • 技術選定のベストプラクティス — チームと事業にとっていま妥当な技術を説明できる形で選ぶ、課題から始める、退屈な技術を優先しイノベーショントークンは差別化領域に、可逆性で慎重さを変える、運用し続けられるか、決定を記録する、要件は Must / Should / Could、候補は2〜4案で「何もしない」「既存技術で頑張る」も入れ Build・OSS・Buy で幅を持たせる、評価軸と重みは候補を見る前に決める、PoC は合格基準と期間を事前に決めつまずいた点も記録、最終決定者を明確にし全員一致を待たない、見直しのトリガー、適合性・成熟度・エコシステム・チーム・運用・コスト・リスクの評価観点チェックリスト、重み付きスコアは議論の材料で Must を満たさない案は除外、言語・DB・フレームワーク・クラウド・ライブラリ・SaaS の領域別のポイント、履歴書駆動・ハイプ駆動などのアンチパターン、ADR テンプレート、小さく始め振り返り出口を用意し Tech Radar で管理、判断に迷ったときの6つの問い
  • 基本設計 — 要件を外から見た振る舞いに落とし、発注者の合意と詳細設計への橋渡しを両立する、要件ID ⇔ 機能ID ⇔ 画面ID のトレーサビリティで漏れと過剰設計を検出、確認事項一覧で期限と担当者、方式設計から画面へトップダウン、モックアップで早く見せて合意、TBD は放置しない、選定理由と ADR、状態遷移、画面設計のよくある漏れ、外部IFは異常系と責任分界点を書き最優先で着手、メッセージは次の行動が分かる文言に、非機能は数値で書く、「など」「適宜」を避けデシジョンテーブルと境界値、同じことを二か所に書かない、ID体系と記載例、変更管理、レビューのチェックリスト、よくある失敗と対策、アジャイルでも早く決めること
  • 詳細設計 — 基本設計を実装者が迷わず作れる「どう作るか」に落とす、実装者・テスト担当・保守担当が質問せずに使えることがゴール、書くのは判断と約束事でコードの日本語訳にしない、粒度はサンプル1機能で合意、要件ID → 基本設計ID → 詳細設計ID → テストケースID、ADR で不採用案も残す、共通定義は1か所に集約、モジュールの責務と依存方向、関数の入出力・例外・前提、異常系と境界条件、表現手段の使い分けとデシジョンテーブル、データ設計、機械可読な IF 定義、エラーハンドリングとリトライ・冪等性、トランザクション境界と排他制御・Saga・Outbox、非機能の具体化、テスト観点、設計書のテンプレートと文章のルール、Mermaid で図を書く、Docs as Code、構成が固まった段階でレビュー、チェックリスト、よくある失敗と対策、アジャイルでは必要な部分を軽量に、10か条
  • 実装 — 基本設計と詳細設計で決めたことをコードに落とす、言語やフレームワークに依存しない原則、要件を1〜2文で言語化し完了条件と受け入れ基準を先に書く、既存コードと慣習を読む、1つの変更は1つの目的、KISS・YAGNI・DRY は3回目で共通化・単一責任・疎結合と高凝集・依存の方向、意図が伝わる命名と is / has / can、引数は3つ以内、早期リターン、マジックナンバーは定数、副作用と純粋な計算を分ける、コメントは「なぜ」を書く、Fail Fast と例外を握りつぶさない、エラーメッセージに文脈、リソースの解放、テストピラミッドと Arrange / Act / Assert、境界値と異常系、バグ修正は再現テストから、外部入力を信用しない・パラメータ化クエリ・出力時のエスケープ・秘密情報と最小権限、計測してから最適化と N+1、ログレベルと構造化ログ・相関ID、小さなコミットと短命なブランチ、PR は400行以内でレビューは正しさから、must と nit、フォーマッタ・リンター・CI・型、README と ADR、ボーイスカウトルール、PR前のチェックリスト
    • 実装の補足 — 言語ページに共通して書かれ実装のページにない原則、エラーは文脈を足して包み処理は1か所で、想定内の失敗は Result 型、外部データは境界でスキーマに通す、フラグ引数を避ける、不変と依存の注入、null の表し方、タイムアウトと並行処理の止め方、起動時の設定検証とグレースフルシャットダウン、ロックファイル、アンチパターン
  • テストコードのベストプラクティス — 基本設計・詳細設計・実装に続くテストコードの書き方、テストは回帰防止・仕様の文書化・設計の改善・安心してリファクタリングするため、テストピラミッドはユニットを厚く E2E は重要なフローに絞る、FIRST原則、Arrange / Act / Assert で Act は原則1行、テスト名だけで原因の見当がつく命名、1テスト1関心事、private や呼び出し回数でなく公開された振る舞いを検証、Dummy・Stub・Spy・Mock・Fake、モックは境界に限定し Fake を優先、時刻・乱数・非同期・外部サービス・共有状態・実行順序による Flaky を排除、関係する値だけを明示しファクトリを使う、境界値・異常系・同値分割とパラメタライズドテスト、DRY より DAMP でテスト内にロジックを入れない、期待値と実際の値が分かるアサーション、カバレッジは品質の保証ではなくミューテーションテストで有効性を測る、skip を放置しない、CI でマージを止めバグ修正は再現テストから、TDD の Red / Green / Refactor、チェックリスト
  • E2Eテスト ベストプラクティス — テストコードに続く E2E テストの書き方、E2E は少数精鋭でユニット 70% / 統合 20% / E2E 10% が目安、売上・認証・データ更新・過去の障害箇所のクリティカルパスを優先、バリデーションの全パターンは下層に任せる、ボタン操作でなく振る舞い単位のシナリオ、1テスト1目的、独立させ並列・ランダム順で通す、AAA、セレクタはロール + アクセシブルネーム → ラベル → テキスト → data-testid で CSS クラスや XPath は避ける、固定待機を使わず自動待機と Web-first アサーション、レスポンス待機、フレーキーの原因と対策、リトライは保険で隔離して修正、テストごとに一意なデータを API・DB で用意し後片付け、認証状態を保存して再利用、自社のバックエンドは本物で外部サービスはモックかサンドボックス、Page Object Model でアサーションはテスト側、ユーザーに見える結果を検証し API・DB で裏取り、PR 時はスモークで夜間にフルスイート、失敗時のスクリーンショット・動画・トレース、対象ブラウザはアクセス解析で決める、Playwright・Cypress・Selenium・Appium の選び方、チェックリスト
  • パフォーマンス最適化 — 計測してから最適化し目標は p95 などの数値で、最大のボトルネックから着手、Core Web Vitals、バンドル削減とクリティカルパス、画像・フォント、長いタスクの分割と仮想スクロール、I/O のバッチ化と並列化、重い処理はジョブキューへ、N+1 と EXPLAIN、キーセットページネーション、複合インデックスの順序、キャッシュの階層と無効化・スタンピード対策、CDN と HTTP/2・3、計算量とデータ構造、メモリリークとストリーム処理、並列数の上限とバックプレッシャー、パフォーマンスバジェットと CI での検知、チェックリスト
  • ログ設計 — 用途ごとに出力先と保持期間を分ける、ERROR は誰かが見るべきものだけ、メッセージは固定文字列で可変値はフィールドに、UTC・ISO 8601 のタイムスタンプと共通フィールド、trace_id を非同期処理まで伝搬、パスワード・トークンは出さず許可リストとマスキング、例外は 1 エントリに、サンプリングとレート制限、非同期出力、stdout と収集エージェント、監査ログの改ざん防止、率と継続時間でのアラート、チェックリスト
  • 新規開発・サービス立ち上げ ベストプラクティス — 新規サービスを作って終わりにせず価値を届け続けるためのフェーズごとの原則と実践、課題から始め小さく作って早く学ぶ、仮説の明文化、後で変えにくいデータモデル・認証・課金は初期に丁寧に、実在する10人を思い浮かべられるターゲットと今お金や時間を払っている課題、リーンキャンバス、作る前のユーザーインタビュー・スモークテスト・コンシェルジュ型MVP、成功基準と撤退基準をローンチ前に合意、MoSCoW で Must だけで出しコア体験を1文で、非機能要件は初期に決める、最初はモノリス・退屈な技術・マネージドサービス・ADR、最初の1〜2週間で整える開発基盤、クリティカルパスは E2E で守る、技術的負債は意図的に借りる、計測・監視・バックアップの復元テスト・法務、段階的リリースとロールバックのリハーサル、オンボーディングとサポート体制、学習ループ、継続率カーブとショーン・エリス・テストで PMF を見極め PMF 前は広告に投資しない、継続・ピボット・撤退の判断、小さく自律したチームと意思決定者は一人、よくある失敗パターン、フェーズ別チェックリスト
  • システムリプレイスのベストプラクティス — 既存システムを段階的に置き換えて旧システムの撤去まで完遂する、目的と KPI を先に決める、ビッグバンを避ける、現行仕様はコードが正、いつでも戻れる状態を保つ、移行前に現行の指標を実測、現行踏襲の罠・スコープの膨張・暗黙仕様の見落とし・データ移行の過小評価・長期間の二重開発・業務部門の不在、リプレイス・リファクタリング・リホスト・SaaS 置き換え・現状維持を比較、機能・IF・データの棚卸しと利用実績で使われていない機能を洗い出す、機能を移行・廃止・改善・新規に分類し「現行どおり」を禁止、ストラングラーパターン・段階移行・並行稼働・一括移行、ルーティング層・フィーチャーフラグ・CDC・腐敗防止層、現行側の改修は凍結か最小化、データ移行は早期着手・冪等・複数回のリハーサル・件数と合計値の照合、現新比較テストとマスキング済み本番データ、Go / No-Go 判定とロールバックの判断期限、ハイパーケアと旧システムの撤去計画、業務部門を巻き込む体制、計画・開発テスト・切替のチェックリスト
  • マイクロサービス化のベストプラクティス — 解決したい課題がスケールか組織かを先に問う、チームが小さい・ドメインが揺れる・運用基盤が未整備なら早い、モジュラーモノリスで境界を確かめてから切り出す、DDD の境界づけられたコンテキストとビジネス能力で分ける、凝集度・結合度・自律性・データ所有・チームで境界を判断、1チームが運用しきれる大きさでナノサービスに注意、ストラングラーフィグで依存が少なく影響の小さい機能から、シャドーイングで検証し旧コードの削除まで計画、Database per Service と同一DB内での段階的な分離、2フェーズコミットを避け Saga・Transactional Outbox・結果整合性、CQRS とべき等性、状態変更は非同期イベントで同期呼び出しの連鎖を避ける、スキーマを先に合意し後方互換性とトレラントリーダー、APIゲートウェイと BFF、タイムアウト・指数バックオフとジッター・サーキットブレーカー・バルクヘッド・フォールバック、可観測性は分割前に整備しログ・RED / USE・分散トレーシングと相関ID、SLO とエラーバジェット、liveness と readiness、独立デプロイとゴールデンパス、サービスメッシュはコストとのトレードオフ、ゼロトラストと mTLS、コントラクトテストで E2E を減らす、逆コンウェイ戦略と You build it, you run it、チームトポロジー、横串は標準化、アンチパターン、移行チェックリスト