23年間SIerで働いてきた自分が経験したことを色々書いていきたいと思う
システム開発の仕事って何?
何となく書いた内容からエントリの写真を選んでみました。
人生の半分をSIer業界で生きてきたので、振り返りたいと思って書き始めた。企業が何か実現したいことがある場合、なぜSIerがシステム開発を行うのか。システムが無くたっていいし、仮にシステムが必要であってもわざわざお金を払ってSIerじゃなくて自分たちで作ればいいじゃん?システム開発の必要性やシステム開発企業の存在意義、というか自分の仕事って何なんだろう?と。
「システム」って何なのか。
「システム」「システム」って言うけど、そもそも「システム」って何だろう。日本語で書くと「系」。やっぱり良く分からない。
「システム」「系」という言葉で思いつくものを並べてみるが、システムを説明しようとすると、結局「システム」という言葉を使ってしまう。
オペレーティングシステム(OS)
コンピュータの基本的な制御(CPU、メモリ、ディスク等々の制御)を行うシステム。Microsoft社製のWindows OS、Apple社製のiOS、坂村健先生のTRON(The Real-Time Operating System Nucleus)、篠原重工製のHOS(Hyper Operating System)などが有名
太陽系(ソーラーシステム)
太陽を中心とし、太陽の重力により構成された惑星、小惑星、彗星等を含む全体の仕組み。※ちなみに銀河系はthe GalaxyでSystemは付かない。
抽選予約システム
チケット予約の申し込みを行い、期限までに申し込まれた予約の中で座席を抽選し、当選した申し込みについて座席を割り当てて予約する機能を提供するシステム。
ファミリーコンピュータ ディスクシステム
ファミリーコンピュータに外部接続でつなげてディスク形状のソフトウェアで遊べるシステム。ファミコンの「カセット」とは呼べなくなった。ディスクシステムでの有名ソフトとして「ゼルダの伝説」を生んだ。
ラジカル・ガジベリビンバ・システム
伝説の演劇ユニット
じゃあ再度問うけど、システム開発って何?
このままだと脱線してしまいそうだけど、何となく「システム」は「仕組み」という言葉で表せるみたい。となるとつまり、システム開発とは仕組み開発。何か実現したいことがある場合にその仕組みを開発すること。その手段として、IT技術(Information Technology)を利用して仕組みを開発するものも同じく「システム開発」であり、そのシステム開発を生業とする企業がシステムインテグレータ。略して書くとSIer(System Integrator)。
※SIerには、「情報システム」や「情報技術」の意味が含まれていないが、現代の「システム開発」にIT技術を利用せずに行うことは無いと言って良い。IT技術を利用しない範囲でのサービスの提供、普段の仕事のやり方の変更、業務プロセスの見直し等の範囲に閉じてしまい、効果が期待できない。
じゃあシステム開発ってどういう流れなの?
では、システム開発の流れはどのようなものか。超簡単に整理してみた。
発注企業側が実現したいことがある。
発注企業側がSIerに対して実現したいことの提案を依頼する。
SIerが実現する方法・実現するスケジュール・必要な金額を提案する。
発注企業が3の提案を受け入れてSIerに発注する(契約する)。
SIerが契約の通りにシステムを開発して納品する。
発注企業が実現したいことが実現する。SIerにお金を払う。
素晴らしいですね。無事に発注企業側が実現したいことが実現し100点満点です。さて、1~6は、どうやったらうまくできますかね?
自分は現場経験を数多く踏んでいるので、SIerで働いてきた視点でこの1~6(特に3と5のところ)で現場で起きたことなど深掘りして書いていきたいと思ってます。
あ、1、2のあたりで、そもそも提案依頼を受けてから提案するのは遅い、積極的に提案をしていくべきだ!というコメントはもちろん認識しています。積極的に提案できるものはどんどん提案すべきです。あくまで一例なのでこのように書いています。
また、アジャイル開発だと期間固定でスコープ可変だから請負じゃ無くね?といった話ももちろん認識していますが、それはそれで別途まとめたいと思います。まずは一般的なウォーターフォール型の流れを抑えた上で書きたいと思っています。
SIerで働いている自分が書きたいと思っていること
システム開発の基本的な内容は本に譲るとして(現場目線で書きたいことはあるのでそれはそれで書く)、ITシステム開発プロジェクトは毎日問題が発生します。ホントに次から次へと発生する問題を解決することが仕事と言っても良いです。簡単と思っていることでも山ほど落とし穴があります。どうしてこんなに罠だらけなのか。なんでこんなに細心の注意を払っているのに問題が起きるのか。不思議で仕方がありません。そんなシステム開発中にこれまで自分が経験した大きなものから細かいものまで様々なトラブルについてどのように対処してどのように割り切ってどのように逃げてどのように正面突破してきたのかを書きたいと思います。
途中で頓挫したプロジェクト、最後まで走り切ったプロジェクト、色々な業界や顧客を経験しました。チームメンバ、チームリーダー、プロジェクトリーダーも経験しました。プロジェクトによってはメンタルが瀕死まで行ったこともありましたが何とか壊さずに戻ってこられました。そういう経験を文字として残しておきたいと思ったんです。どこまで続くかな~。つらつらと書いていきたいと思います。