BETA

[読書メモ]『SEの基本』(山田隆太, 日本実業出版社)

投稿日:2019-01-16
最終更新:2019-01-16

はじめに

読んだ本についてまとめられた記事をいくつか拝見し、せっかくなので自分もやってみようと思いました。本書中ではマインドマップにして残す方法が紹介されていましたが、自分にはまだ慣れないことなのでこちらに書くスタイルを取ろうと思います(Qiitaに投稿する勇気もまだ無いですし)。

しかし、逐一内容を拾って書くと通読するのにかかった時間と同等以上の時間がかかりそうだったので、ざっくりとだけまとめます。内容は本書の各章ごとにまとめていますが、見出しは私自身が付けています。
自分用に適当にまとめた感じですが、どなたかの役に立てば幸いです。

[参考:『SEの基本』, 山田隆太, 日本実業出版社(2017年12月1日発行の初版第13刷)]


感想など

書名通り、SEについて幅広くカバーされていました。初版が世に出てから10年になりますが、今でも導入に良いと思います。ただ、これを読んで「はい、理解しました。完璧です!」とはならないので、さらに自分で調べること、また今後折に触れて読み返すことの必要性を感じました。

欲を言えば、参考文献は巻末にリスト化して欲しかったですし、(Gitを暗示した)バージョン管理についてはもう少し説明にページを割いても良かったと思います。

しかし、少々不満に思う点はあったにしても良い本でした。
他に新人に対してお勧めの本があれば、ご教示いただければ幸いです。


SEとは何か(第0章)

  • プログラミングの部分を除き(ここを担当するのがプログラマー)、システム開発全般に関わる職種。
  • ただし、プログラミングの能力は必須。
  • 要件のヒアリングから入るのではなく、顧客のビジネス課題をシステムでどう解決し、そのシステムをビジネス構造にあったソリューションとして提供するのが使命。

技術的なスキル①(第1章)

  • 状況に応じて複数のコンサルティングツールを用い、企業のビジョンや戦略を検討し、それを支えるようにシステムの戦略を練る。
  • 現場のニーズと調和させるために戦略マップを用いる。
  • 戦略の立案後、ビジネスモデリングによって対象業務の具体的な構造を可視化し、システムに必要な要件を導き出す。

技術的なスキル②(第2章)

  • 設計手法と開発手法は複数あり、状況に応じて適切なものを選べなければならない。
  • 後の開発や拡張のために、「再利用できるシステム」を設計で考える(共通部分の汎用部品化、変わりやすい部分と変わりにくい部分の分離)
  • 設計思想に対応した言語を用いて開発すべきで、言語を習得する際も設計思想を理解する。また、単に書く能力だけでは無く、高品質なコードのためにリファクタリングやデバッグなど複数の能力が必要。
  • 要求しようと常に対応した項目に基づいてテストを行い、小さなところから不具合を確実に潰す。
  • システムの脆弱性で損害を出さないように、セキュリティの知識は必要。

マネジメント面①(第3章)

  • 問題を報告しやすい雰囲気を作り、報告されやすい人間になる。
  • メンバーのモチベーションを把握してこれを高く保ち、プロジェクト中の状況も正確に把握することで問題の発生を未然に防ぐ。
  • メンバーと同じ立ち位置に立ち、役割を果たすことで信頼を重ねていき、チームワークを発揮させる。
  • 交渉は「Win-Win」を目指す。情報収集と開示、メンバーへの報告を怠らずに。

マネジメント面②(第4章)

  • 体系に沿ったマネジメントスキルを習得し、また普段のスキルを補強する。
  • プロジェクトをタスクに分割し、依存関係を元に機能レベルのスケジュールを作成する(詳細な部分は直前に作成)。
  • 1つのリソースには1つのタスク、あるいは合計が100%を超えないタスク。逆に1つのタスクに複数のリソースはあり。
  • 進捗度は基準を設けて定量的に管理する。
  • 機能要求だけでなく非機能要求を具体的に明らかにして、優先度を付けて管理する。
  • 人材育成を考慮した要員管理を行う。
  • コミュニケーションについて、ステークホルダーとやり取りするドキュメントおよびその作成者、伝達ルートとルールを明確にする。
  • リスクは早期に想定して潰す。炎上している場合はその原因と予期して対処できなかった原因の2つを明らかに対処する。
  • 協力会社とは迅速な情報伝達を心掛ける。

ヒューマン系スキル(第5章)

  • 「重要な情報はコミュニケーションスキルの高い方へ流れる」
  • 言葉(言語)にも気を付けなければいけないが、非言語(表情、声のトーンなど)は大きな役割を果たすため、特に注意する。挨拶は笑顔で。
  • 明確な目的を示し、同時に作業の本質を理解させるように指示を出す。結果に対しては必ずその成果を認め、フィードバックを行う。
  • 会議は「合意を得る」ものなので、最後に合意の確認をする。また、衝突を回避するためにホワイトボードを用いて問題解決の議論を行ったり、ファシリテーターによって健全な活性化を図る。その議事録は「読んだ人に黄道を促す」ものにする。
  • 伝わるプレゼンの技術とメールにおける心遣いを忘れない。
  • 自分のモチベーションを把握し、大事にする。
  • 他者に教えることは技術を本当に理解すること。
  • 自他ともに成長するようにプライドを守る。
  • ヒアリングは相手に「共感」しながら「質問」をして会話を活性化させ、「問題を可視化」することで本質を把握する。このとき、テーマに対する知識も必要。

自覚と心構え(第6章)

  • 「プロ意識」――周辺技術も含めた習得、業務対象領域への興味と誇りを持つ。そして専門とする産業の知識・技術の最新トレンドをおさえる。
  • 本質を理解して身につける。
  • 世界に目を向けた情報収集(インターネット・書籍)を行ったり、コミュニティに参加する。
  • プロジェクトに参加する時は個人の目標を立て、PDCAサイクルで効率的なスキル習得を目指す。
  • 自分の目指すSE像を踏まえ、担当しているところよりも1つ上の視点から自分の技術を見る。
  • 資格があれば良いわけでは無いが、一定レベルのスキルを有する証明にはなる。
  • プロフェッショナルであることを忘れない。

さいごに

まさに「基本」と呼ぶべきことが書かれていますが、では実際にどうするかは、その状況に合わせなければいけないと思います。初心者と経験者では受け取る物も違うでしょう。
長くお世話になりそうです。

読書をする際にこうして内容をまとめた経験がほとんど無く、うまくまとめきれませんでしたが、今後も頑張ってやっていきたいと思います。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@root5の技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!