皆さんこんにちは! Oren(@ren0215tennis)です
今回は「システム開発工程」について解説していきます。
システム開発とは
システム開発とはITの技術を使ってビジネスの悩みを解決するものです。
お客様の潜在的な課題に対して、それを解決する技術的な提案を行うことが重要です。
システム開発の種類
定番:ウォータフォール
上から下へ滝のように流れていくようなイメージで開発を行うモデルのことをいいます。
設計から順番に工程を進めていくモデルで、基本的には業務の多くはこのウォータフォールモデルで開発を進めることが多いです。そのため馴染み深い方も多いのではないでしょうか。
こういったものを作りたいという要件(目的)に対して、スケジュールをしっかり引いて開発を進めることで、どれくらいの人員が必要なのか準備したり、進捗管理を徹底することで品質を担保することができます。
長期間しっかり要件を固めて順番に進めていく工程のため、急な要件変更に対応するのが難しいといった特徴もあります。
まとめ
本当に必要な人員の確保ができたり、品質のよい開発物をリリースすることができる反面、お客様の要望に柔軟に対応できづらいという特徴がある。
短期間:アジャイル開発
アジャイル開発は、もともとはトヨタ生産方式の製造業における考え方が取り入れられています。機能単位でプロジェクトチームを組み短い期間でテストと実装を繰り返す開発モデルのことをいいます。
小さい機能の開発を始め、目的を定期的に決めていくことで急遽必要になった機能を追加したり、改良していくなど、柔軟に仕様変更に対応できます。
まとめ
ウォータフォールと違い短期間の開発となるため、急な要件変更に臨機応変に対応できる特徴があります。
ウォータフォールと違い短期間の開発となるため、急な要件変更に臨機応変に対応できる特徴があります。
アジャイル開発は、もともとはトヨタ生産方式の製造業における考え方が取り入れられています。1990年代にトヨタ生産方式の考え方に基づき、ソフトウェアの開発をどのようにすれば改善できるか研究され、2001年に提唱されたのが「アジャイルソフトウェア開発宣言」です。
リリースまでの流れを解説
要件定義とは
上流工程の一部で、実際に開発を始める前に一番最初に行う工程です。
この工程の実際の作業内容としては、利用者は何を求めているのかをヒアリングし、どのような仕様をどのような実装を行っていくかを決めることです。
設計工程とは
まず設計には「基本設計」と「詳細設計」に分けられるので分けて説明します。
基本設計
大まかに概要を設計する工程です。
先ほどの要件定義で決まった仕様を具体的にしていきます。開発するシステムを使うエンドユーザ様(実際にシステムを使う利用者)が使用する視点で設計を行う工程のことです。
具体的な内容としては、どのような機能を開発していくのかを明確化する形で設計を行っていきます。
詳細設計
細かい粒度で設計する工程です。
基本設計ではエンドユーザー様向けの設計を作成するのに対し、詳細設計では実際に開発するプログラマーやエンジニアに向けた設計を行います。
具体的な内容としては、どのように実装を行っていくのかなど設計書を見れば実装を行えるくらいまでの粒度で設計を行っていきます。
プログラミング工程とは
プログラミング工程では、実際に開発を行なっていきます。
具体的な内容としては、プログラミングを実際に書くのですが、簡単にいうとコンピュータに指示を出す文章を書いていく作業となります。
作業にイメージが付かない方はProgateの無料版で試してみると理解できると思うのでぜひ試して見てください。
テスト工程とは
テスト工程とは、開発したプログラムが要件や設計書通りに作成されているか、問題なく動作するかの確認を行う工程のことです。
エンジニアtype.
詳細の内容については以下の記事で解説していますので、気になる方はぜひ見てください!
リリース
ここまで来るといよいよリリースです。
リリースとは実際にエンドユーザ様に提供できる状態に持っていくことをいいます。この作業は夜間に行われることも多く、この時期は深夜作業をする場合もよくあります。
【現役エンジニアが解説】エンジニアに必要な能力とは体験談をもとに解説役割
プロジェクトマネージャー
プロジェクト全体を管理する役職です。
具体的には開発した成果物に対して品質やクオリティ、また開発スケジュールの管理や納期、実際にかかる工数や予算に対しての社外関係などの全ての責任を持ちます。
プロジェクト全体を俯瞰して、見通した上で意思決定を行い、プロジェクトの成功に導く重要な役割です。
プロジェクトリーダー
次に説明するエンジニアの1つ上位の役職であり、開発などのプロジェクトを遂行する際の現場責任者のことをいいます。
先ほど説明したプロジェクトマネージャーが全体を管理するのに対して、プロジェクトリーダは現場で管理するので、自分のプロジェクトの直属の上司はプロジェクトリーダです。
たまに、プロジェクトマネージャーとプロジェクトリーダーが同じだったり、係長や課長、部長と同じだったり、会社、プロジェクトによって役割は変わってきます。
エンジニア
システムエンジニアとは、システム開発・アプリ開発・WEB開発などに関する業務を一貫して行うエンジニアのことをいいます。
要件定義などでクライアントの潜在的な課題や要望をヒアリングし、それを技術的に解決するシステムやアプリを提案、設計、プログラミング、テストまでのシステム工程を行います。
プログラマー
開発工程の中のプログラミング工程を主に行うのがプログラマーです。
先ほど説明したエンジニアが設計した仕様書をもとにプログラミングを行い、要件定義で決まったシステムに必要な機能をプログラミング、コンミュータに支持するのが主な仕事です。後に説明するテスターがテストを実施したときに見つけたバグを改修したりもします。
テストリーダー
テスト工程を管理しする役割で、テスト設計からテスト実施までに責任を持つ役職のことをいいます。
具体的には、まずこういった目標を持ってテストをしていこうという方針を決定します。その後、「瑕疵を残してしまうこと」「テストに遅れをきたしてしまうこと」「テスト人員が不足してしまうこと」などの開発リスクを考慮しテストを計画していきます。
上記のリスクに柔軟に対応できる能力が必要となります。
テスター
テスターは決められたテストケースを正確に実行する役割を持ちます。
具体的には、テストリーダーが設計したテストケースに沿ってテストを実施していきます。「正しく遷移すること」といった観点に対して「こういう手順で具体的な遷移動作をする」といった形で手順と期待値が用意されています。
テストについてはこちらの記事が参考になりました。
まとめ
今回はシステム開発工程について解説しました。
改めて開発の全体像をまとめてみると自分が目指す場所が見えてきました。
これからエンジニアを目指す方にとっては必読の内容だったのではないでしょうか。業務に入った時を少しでも想像できるきっかけになってくれたら嬉しいです。
それではまた次回会いましょう!
要件定義の理解におすすめの本
上流工程に携わりたい方へ
お客様の要求をヒアリングするかなり重要な役割です。
エンジニアになりたい人はまずは上流工程から学んでみては!
おすすめポイント
- 上流工程をうまく進めるためのポイントが具体的なのでわかりやすい
- 要件定義以前の事も記載があるので正しい心得を理解ができる
- 他の本よりも納得感があるので、実際の業務に活かせる
プログラミングだけではなく上流工程にも興味があったので勉強してみます!
テスト工程の理解におすすめの本
これからテスト工程の勉強を始めるへ
最後の砦といわれるテスト工程は非常に重要な工程といえます。お客様にものを作って提供するエンジニアにとって品質の管理は重要事項なのでこれからエンジニアになる方は必読の本です!
おすすめポイント
- 基礎からしっかり、体系的に学習できる
- 品質を決定づけるテスト工程の全体像と実施方法がよくわかる
- 初学者を対象としているため丁寧な解説、平易な文章でわかりやすい
最後の砦、かつ最初の1年で任されやすいのでテスト工程は理解しておこう!
基本情報技術者試験合格におすすめの講座
業務に入る上でGitの他にも学びたいことがたくさんあって困ってます。。
何から手をつけたら良いですか。。すらぽよ先輩!
それなら基本情報技術者試験の勉強をしてみると良いよ!
講座などで勉強するだけでも業務で飛び交う単語が理解できるようになるからおすすめ!
おすすめはBizLearnだよ!
基本情報は午前と午後があるため独学は難しいから
午前免除を対応していて、カリキュラムに沿って知識をつけていける講座を選ぶと良いよ!
また、講座によっては個別指導もある場合もあるから要チェック!
基本情報技術者試験合格におすすめの本
とりあえず独学で勉強してみたい!触れてみたいという人はこちら!
イラストベースで初心者でもわかりやすく説明されていて、
暗記するのではなく仕組みや流れから理解できるので現場で活きる知識が身につく圧倒的わかりやすさがおすすめポイントだよ!
次の3つは独学で合格するために必須の本
僕の周りでもこれで合格した人が多くいるので安心してお勧めできる本だよ!
ありがとうございます!まずは本を購入して勉強始めてみます!
今年の目標はこの講座や本で勉強して基本情報技術者試験に合格することにします!
基礎的な知識を得る行動を紹介したので次は実際にエンジニアになる手順をここからは転職者向けに紹介していくよ!
おすすめのエンジニア転職サイト
まずはエンジニア転職に強いエージェントに登録するところから始めよう!
この時点では今の会社は辞めずに自分のスキルではどういった求人があるのか相談してみるのがおすすめ!
登録は色々なお話を聞くのが良いので2.3社くらい登録するのが個人的にはおすすめなので今回は2社紹介します!
100%自社内開発の求人
100%自社内開発の求人のため、「サービスを生み出したい」といったエンジニアにとっての醍醐味を追い求めることができるので、すらピヨ君のような夢を持った人にはおすすめ!
審査基準をクリアした非公開求人多数
年収、休日数、労働環境等クラウドリンクが審査し、これらを通過した優良求人情報のみ案内してくれるので嫌な会社に当たって挫折するリスクが少ない!
効率的で手厚い転職サポート
履歴書の作成や面接の対策までしっかりサポートしておりますので、効率の良い転職活動が実現できるので他業種からの転職でも安心!
クラウドリンク
AI自動入力で登録カンタン
メールアドレスを登録すると、書類のアップロードURLが送付されます。
そのURLから履歴書と職務経歴書をアップロードするだけで簡単登録ができちゃう!
年収提示付きスカウトが届く!
企業からのスカウトは年収提示付きですので、 気になる年収はスカウトされる際に確認できるワクワクが味わえる!
充実のサポート
何かお困りの時は、業界経験豊富なキャリアコンサルタントにもご相談できます!
テックミー
今回はエンジニアに必要な行動についてまとめてみたよ!
これを実践すれば挫折がかなり減ると思うからぜひ実践してみてね!
スラぽよ先生ありがとうございます!
これらを実践して立派なエンジニアになって見せます!!
まずは現時点の市場価値をチェックから始めます!