ソフトウェア開発の基礎学習の手引き
はじめに
ソフトウェア開発の勉強を始めるときにどんな内容から勉強するか迷っている人に向けて、簡単な学習の手引きを記載します。
ソフトウェア開発というのは非常に大きな分野のため、やみくもに学習を進めていくのは効率的ではありません。
たとえば、経営を主な職域としており、今すぐソフトウェア開発で事業を立ち上げたいと思っている人にとって、一番はじめに「プログラミング」を学習することは遠回りになってしまう可能性があります。
自分にとってどの辺りの分野を学習すれば良いかをまずは把握することが重要です。
ソフトウェア開発の定義
この記事におけるソフトウェア開発について定義しておきます。
・「プログラミング」よりも大きなプロセス
・ソフトウェア開発は基本的にチームで行なうものである
この記事において、ソフトウェア開発はプログラミングよりもより大きなプロセスとして扱います。
ユーザーの高度な問題に対してソフトウェアを使って解決するためのシステムをチームで開発することにフォーカスし、マネジメントや人間的な取り組みもその内容に含めます。
そのため、個人でソフトウェアを開発したいと思っている人にとっては、この記事の勉強内容に不要なものがあるかもしれませんので、その前提で読んでいただけると幸いです。
学習内容の分類
学習内容をいくつの分類に分けて考えます。
どんな分類から勉強を始めるかは、現在の職域や経験によっても変わってきます。
自分にとって何が一番効果的な内容かを把握して、まずはその分野から深く学習するとよいでしょう。
【コンピュータサイエンス基礎】
コンピュータやプログラミング、IT分野の基礎知識を学ぶ。
■ 主な学習内容
・ソフトウェア/ハードウェア
・データベース
・ネットワーク
・プログラミング基礎
・最近流行っている技術的なトピック
・etc
■ 対象
そもそも、ITの基礎知識がそこまで高くなく、用語や概念から勉強したい人
【ソフトウェア工学基礎 - プロダクト中心】
ソフトウェアの具体的な開発手法、システムのアーキテクチャ、プログラミング作法、設計書の書き方、モデリングなど、具体的なプログラミングやシステム構築について学ぶ。
■ 主な学習内容
・システムアーキテクチャ
・データベース設計
・UMLの書き方
・設計書の種類と目的
・テスト
・etc
■ 対象
・製造工程(プログラミング)をメインに学習したい人
・技術的な作業を職域とする人
【ソフトウェア工学基礎 - プロセス中心】
ソフトウェア開発の工程や、プロジェクトマネジメント方法、見積もり、コスト管理、品質管理など、ソフトウェア開発のプロセスを中心に学習する。
■ 主な学習内容
・ソフトウェア開発のプロセスモデル
・プロジェクトマネジメント
・ソフトウェア開発の見積もり
・スケジュール管理
・ソフトウェアの品質管理
・etc
■ 対象
・プロジェクトマネジメントをメインに学習したい人
・マネジメント・ディレクションを職域とする人
【プロダクト開発基礎】
プロダクト開発(事業開発)におけるマネジメント法や思考法、組織作りを中心に勉強する。
■ 主な学習内容
・事業の思考法/マネジメント法(デザイン思考、リーンスタートアップ, etc)
・組織作り(ピープルマネジメント、メンタリング、コーチング, etc)
・目標管理(OKR, KPI, etc)
・採用
・グロースハック
■ 対象
・プロダクトの意思決定や開発組織作りをメインに学習したい人
・プロダクト開発の意思決定を職域とする人
まとめ
ソフトウェア開発は非常に幅広い分野の勉強が必要なため、継続的に学習が必要です。
まずは、自分にとって必要な分野から少しずつ学習を進めましょう。
プログラマー、経営者に関わらずソフトウェア開発をこれから学ぼうとする人の参考になれば幸いです。
アンケートのお願い
このチャンネルでは、これから提供していくコンテンツやサポートの内容を改善していくために、アンケートをお願いしています。
ぜひアンケートにご協力ください。
この記事が気に入ったらサポートをしてみませんか?