第5部:現場別ガイド / 第1章:役割別ガイド

設計も担当する場合

設計書の作成も担当する場合のガイドです。詳細設計から実装までを経験することで、システム全体の視点が養われます。

📖 読了目安 約20分 対象:設計も担当される方

この役割の特徴

  • 詳細設計書の作成に関わる:自分で設計を考え、ドキュメント化する仕事が加わる
  • 設計内容を理解して実装する:自分で書いた設計に基づいて、すぐに実装に移る
  • 設計レビューに参加する:先輩エンジニアから設計の品質について指摘を受ける機会がある

よくある1日の流れ

毎日の活動パターンを図で見てみましょう。

flowchart LR
    A[9:00
朝会] --> B[9:30
設計作業] B --> C[12:00
昼休み] C --> D[13:00
設計レビュー] D --> E[14:00
設計修正] E --> F[16:00
実装作業] F --> G[18:00
退勤]

朝は設計の進捗確認、午前中に設計書を作成、午後に設計レビューを受けて修正し、その後実装に移るという流れです。以下はより詳しいタイムスケジュール例です。

時間活動詳細
9:00朝会今日の予定を共有、設計の相談事項を確認
9:30設計作業設計書の作成、図の作成
11:00仕様確認不明点を設計リーダーやお客様に確認
12:00昼休み
13:00設計レビュー作成した設計書のレビューを受ける
14:00設計修正レビュー指摘を反映
16:00実装作業設計書に基づいて実装(設計と並行する場合)
17:30進捗報告設計進捗、課題を報告
18:00退勤

ポイント

設計は「実装者が迷わない」ことが目標です。自分で実装することを想像しながら設計書を書くと、抜け漏れに気づきやすくなります。

最初の1ヶ月で覚えること

第1週:設計書の読み方を学ぶ

最初の1週間は、既存の設計書を読み込み、プロジェクトのフォーマットやUML記法に慣れることが目標です。

やること完了の目安
既存の設計書を読む画面設計書、処理設計書を各1件以上読む
設計書のフォーマット把握プロジェクトのテンプレートを理解
UML記法の基礎クラス図、シーケンス図が読める

第2週:簡単な設計を書いてみる

環境に慣れたら、簡単な設計から書き始めます。最初は先輩の指導を受けながら進めます。

やること完了の目安
既存設計書の修正小さな変更を設計書に反映
設計レビューを受けるレビュー指摘を理解して修正
設計の意図を説明「なぜこの設計にしたか」を説明できる

第3〜4週:設計と実装をつなげる

簡単な設計が書けるようになったら、その設計に基づいて自分で実装し、設計と実装のつながりを理解します。

やること完了の目安
自分の設計を実装設計通りに実装できるか確認
設計の過不足を把握「ここが足りなかった」に気づける
設計書の改善実装で気づいた点を設計書に反映

1ヶ月後の目標状態

1ヶ月を通じて、設計と実装の両面での基礎を身につけることを目指します。

flowchart TB
    A[1ヶ月後の目標] --> B[既存の設計書を読んで理解できる]
    A --> C[簡単な設計書を作成できる]
    A --> D[設計レビューで指摘を受けて改善できる]
    A --> E[設計と実装のつながりを意識できる]

設計で意識すること

実装者の視点で書く

設計書で最も大切なことは「実装者が迷わないこと」です。その視点で設計書を評価しましょう。

flowchart TB
    A[設計書を書く] --> B{実装者が読んで}
    B -->|迷わない| C[良い設計書]
    B -->|迷う・質問が出る| D[改善が必要]

良い設計書のポイント

  • 入出力が明確
  • 処理の条件分岐が網羅されている
  • 例外ケースの扱いが書かれている
  • 関連する他の機能との関係が分かる

設計書チェックリスト

設計書を書いたら、以下を確認しましょう。

この経験で身につくスキル

技術スキル

スキル説明
設計力要件を構造化して設計に落とし込む力
抽象化力本質を見極めて整理する力
可視化力複雑なものを図や文章で表現する力
先読み力実装時の問題を事前に予測する力
俯瞰力システム全体を見渡す力

ビジネススキル

スキル説明
説明力設計意図を他者に伝える力
調整力関係者と認識を合わせる力
判断力トレードオフを考慮して決断する力

目指せる人材像

設計も担当する経験を通じて、将来のキャリアパスがいくつか見えてきます。

flowchart TB
    A[設計担当からのキャリア] --> B[SE/システムエンジニア]
    A --> C[アーキテクト]
    A --> D[テックリード]
    A --> E[プロジェクトリーダー]

    B --> B1[要件定義から設計まで担当]
    C --> C1[システム全体の構成を設計]
    D --> D1[技術的な意思決定を主導]
    E --> E1[プロジェクト管理も担当]

各キャリアパスの目安期間と説明です。

人材像説明目安期間
一人前の設計者機能単位の詳細設計を担当2〜3年
SE要件定義から設計、レビューまで3〜5年
アーキテクトシステム全体の設計・方針決定5年〜

設計経験は上流工程への登竜門

1年目から設計に関わる機会があるのは恵まれた環境です。この経験を活かして、早い段階でSEやアーキテクトを目指せます。

成長を感じられるポイント

あなたが成長しているかは、以下のチェックリストで自己評価できます。各時期で「できるようになったこと」を意識することで、モチベーションにつながります。

3ヶ月後

6ヶ月後

1年後

成長のサイン

「設計段階で問題を見つけられるようになった」「実装で困らない設計が書けるようになった」と感じたら成長の証です。

本編で特に重要な章

このカリキュラムの他の章のなかで、設計担当として特に参考になるものを挙げます。

重要度理由
開発工程の基本★★★設計の位置づけを理解
設計書・仕様書の読み方★★★設計書を読み書きするため
ドキュメントの書き方★★★設計書を書くため
実装の進め方★★☆実装しやすい設計のため
コードを読む基礎★★☆設計を実装につなげるため

追加で学ぶと良いこと

優先度:高

内容説明学習方法
UML基礎クラス図、シーケンス図の読み書き書籍、実践
設計書の書き方分かりやすい設計書先輩の設計書を参考に
テーブル設計データベース設計の基礎本編 + ステップアップ

優先度:中

内容説明学習方法
SOLID原則良い設計の原則ステップアップガイド
デザインパターンよく使う設計パターンステップアップガイド
アーキテクチャ基礎システム構成の考え方ステップアップガイド

よくある悩みと対処法

設計担当として働く中で、多くの新人が同じような悩みにぶつかります。各悩みに対する対処法を、アコーディオンで確認できます。

「設計書の書き方が分からない」
  1. 既存の設計書をテンプレートにする:プロジェクトの既存設計書を参考に、同じフォーマットで書き始める
  2. 先輩にレビューしてもらう:書いたら早めに先輩に見てもらい、「こうした方がいい」という指摘を受ける
  3. 「実装者が迷わないように」を意識:読み手の視点で「この設計書で実装できるか」を常に考える
「どこまで詳細に書けばいいか分からない」
  1. 実装者が迷わない程度に:質問が出ないレベルまで詳細に書く。逆に、過度に細かい実装の話は不要
  2. プロジェクトの慣例に合わせる:既存の設計書レベルを参考に、同じ粒度で書く
  3. 曖昧な部分は明確にする:「△△の場合は〇〇」というように、条件分岐を網羅する
「自分の設計が正しいか不安」
  1. レビューで確認してもらう:不安なまま進めず、設計段階でレビューを受ける
  2. 実装してみて問題がないか確認:設計通りに実装できるか試してみる。問題があったら改善する
  3. フィードバックを活かして改善:指摘を受けるたびに「なぜそうすべきか」を理解し、次の設計に活かす

成長のためのアドバイス

実装者の視点を持つ

設計者として最も大切なのは、実装する側の視点を持つことです。

  • 「この設計で実装できるか」を考える:書いた設計を読み直し、実装者になった気持ちで「本当に迷わないか」を検証する
  • 自分で実装してみて確認:自分が書いた設計に基づいて実装してみることで、設計の過不足が見える
  • 実装者からのフィードバックを活かす:「ここが曖昧だった」という指摘を、今後の設計に反映させる

既存の設計を学ぶ

優れた設計書を読むことで、設計の引き出しが増えます。

  • プロジェクトの既存設計書を読む:実際に動いているシステムの設計書を研究する
  • なぜその設計になっているか考える:「なぜこの構造なのか」「なぜこの方式なのか」を理解しようとする
  • 良いパターンを吸収する:「こういう場面ではこの設計パターンを使う」という知識を蓄積する

設計の引き出しを増やす

仕事として与えられた設計だけでなく、様々な知識を取り入れることが長期的な成長につながります。

  • デザインパターンを学ぶ:「Observerパターン」「Adapterパターン」など、よく使うパターンを体系的に学ぶ
  • 他のシステムの設計を参考にする:オープンソースプロジェクト等の設計を読む。業界標準のパターンに触れる
  • 「こういう場合はこうする」を蓄積:経験を通じて「並行処理はこう設計する」「大量データはこう処理する」という選択肢を増やす