システム開発は複雑化、高難易度化しているっていうけど残された道はデスマしかないの
とある勉強会でパッケージベンダの講演を聞いていたのだけれど、ああなるほどねという感想とそれはどうなの的な感想があったのでそのメモ。
プロジェクトは複雑化高難易度化しているか
ここ数年、ソリューションでも方法論でも、記事の出だしでもプロジェクトは複雑化しており、難易度も高くなっているという論調で始まっているのだが、本当だろうかと疑いを持って聞くことにしている。
実際、そうなのかもしれないが、そういった論調で始めないとソリューションなり方法論が売り込めないからなんだろう、とマーケティングの常套句的に煽っているのだろうという見方をしている。
環境の変化
疑いつつも実際にはオンプレやASP的な業務システムやそれを支えるインフラ、ネットワーク環境が、クラウドサービスの流入により組み合わせが単純ではなくなった。ベンダの囲い込みによるロックインからサービスを手早く取り入れ早期に利用することを狙っての採用が増えている。
これにより、既存のオンプレとクラウドサービスの組み合わせでシステム全体として利用環境が複雑化した、というのは以前と比較すればそうだな、と思う。
難易度についてもエンジニアはITSSにあるように専門化が進んでおり、技術的に複雑化すればプロジェクトとしての必要とするスキル、スキルレベルが多様化するため、難易度が高まるという観点も理解できる。
実はそれほど変わらない
オンプレで半ばクローズドな従来のシステムでは環境は変わらないからそれは除くとして、クラウドサービスが流入しているようなシステムの開発ではどうすれば良いのかということである。
モデル的な考えで見れば、ベンダロックインされたシステム環境と実はそれほど変わる点はないのである。
ポイントは、手をつける前にどれだけわかっているか、である。
成果物、成果物を構成する技術要素、成果物を作成する手順、成果物の要求品質が把握できていれば複雑化、高難易度化したプロジェクトであろうと従来のクローズドなシステム開発でも同じである。
逆に言えば、従来のクローズドなシステム開発でも 成果物、成果物を構成する技術要素、成果物を作成する手順、成果物の要求品質が把握が必要であっって、それができていないから失敗するのである。
クローズドなシステム開発であっても新技術の導入はあるし、それをするならフィージビリティスタディを行いプロジェクトリスクを下げることするのだから、同じように複雑化、高難易度化したシステム開発であればこそ、それをしなければならない。
結局やることをやっているかどうかなだけだ。
今必要なことは
それはどうなの的なことといえば、それ、つまり複雑化、高難易度化したシステム開発で先端的なトレンドになるかどうかかもしれないが、当たり前のことを当たり前にするには、プロジェクトマネージャ1人ではプロジェクト計画書すら作れる質、量ではない、ということに対するアプローチだ。
冒頭の講習でもそうだが、プロジェクト計画をプロマネが1人で考えるのではなく、(たたき台というかプロマネはこう考えているけれどという案を持ち込み)チームでそれを仕上げるための支援ツールや(最近アジャイル開発系のカンファレンスで見かけたが)ワークショップとしての導入論をコストを掛け、採用する必要があるのではないか。
ここである。
複雑化、高難易度化しているというならそれの対処をしなければならない。環境が変わっているのだから。