石原です。
第六回目は社内システム開発についてご説明できればと思います。
■システム開発
システム開発ってどんな時にするイメージでしょう?
基本的にはある何某かの「業務」があって「業務を効率化するための仕組を作成する」時に行う仕事だと思ってます。
一例ですがこのような時に導入、または開発することはあるかもですね。
・ある手作業でやっている作業を自動化したい
・支店の在庫を一括管理したい
・部署のプロジェクト単位の売上を精緻な値で出したい
・会計基準の沿った決算データを作成したい等
■基本的なシステム開発の流れ
基本的には以下のステップで開発を行い、受け入れテストを行い運用、保守を頑張るイメージです。
・提案依頼書 →ベンダに提案書を提出してもらうために、要件をまとめたもの
・要件定義 →実装機能の明確化
・外部設計 →システムの外見、UIやシステムの流れを明確化
・内部設計 →仕組の設計
・プログラミング →記載の通り
・単体テスト →機能単位のテスト
・結合テスト →機能を取りまとめたテスト
・システムテスト →システム全体が仕様通り動作しているかの確認するテスト
・運用テスト →受け入れテスト
・運用、保守 →システムを実際に動かし、適宜メンテナンス
■開発の手法
ウォーターフォール開発は、上記のように上から下に各工程を後戻りしない前提で進めていく手法でアジャイル開発は、機能単位で小さくすばやく開発を繰り返していく手法です。開発するシステムに合わせて変えていくイメージですね。
事業プロダクト等、競合と差を付ける為にスピードが重視されるものはアジャイルで
お金の計算等絶対にミスが許されないようなシステムはウォーターフォールでという感じです。
■実際に社内SEが担当する範囲
基本的にベンダコントロールメインで行う場合は折衝や受け入れテスト、仕上がった後の運用・保守がメイン業務となるイメージです。
・RFP要求仕様書
・運用テスト
・運用、保守
人数が少ないことが多いので、中~大規模なシステム開発については基本ベンダーさんに依頼する形になるかと。要求仕様自体はヒラリングで取りまとめて、ベンダーさんに提出後は要件定義書を確認して以降リリースまではベンダー管理がメインとなってくるイメージです。
小規模な場合はスクリプトを使用した簡単なツール作成、Officeのマクロ作成だったりは自分で書いてくイメージになるかと思います、その他RPA等も利用しますね。
逆に全て内製でまかなっており、開発するチームも自前で準備している会社の場合は全行程がカバー範囲となってきます。(開発する規模感により担当する工程を決めたりします)
それぞれの形で面白さはあると思いますので、どちらが自分に合っているか今募集している会社はどっちを重視しているのか確認して応募するとミスマッチが減るかと思います。
次回は各種管理についてご説明できればと思います。
あまり好きではない項目ですが頑張ります。