概要
「うちって,システムにお金をかけすぎじゃない?」
そんな問いに的確な判断を下すにはどうすればいいか。
「勘に頼らない技術を求めても,結局は勘に頼る部分が少なからずある」
「過去の事例と比較しても,元のコストがまちがっていれば誤りの連続になるし,すぐに陳腐化する」
そんなジレンマに悩む方のために,大規模システムを多数経験してきた著者が,最小限のコストで最大の効果を得る「勘と経験」の本質を教えます。
こんな方におすすめ
- インフラエンジニア
- アプリケーションエンジニア
- アーキテクト
- プロジェクトマネージャー
- 情報システム部担当者
- 経営者
著者から一言
システムのコストはわかりにくい
「うちの会社って,システムにお金かけすぎじゃない?」
そんな疑問を持つことがあると思います。中でも特に「わかりにくいなぁ」と思うのがインフラに関するコストではないでしょうか。
アプリケーション開発におけるコスト算出には,キロステップ数,FP法などさまざまな手法や考え方が導入されてきました。メンテナンスフェーズに入っても,その手法を活用することはできます。手法の良し悪しはあれ,一定の評価指標があって,それを参考にすることができます。
一方,インフラコストは,製品を購入する「モノ」の部分,それらを組み合わせ構築する「ヒト」の部分(工数)に大きく分かれますが,いずれも画一的な手法を考え出すのは非常に困難です。なぜなら,毎回がカスタムメイドだからです。「うちは標準化しているから」という会社もあると思いますが,その標準はその会社がカスタムメイドしたもので,業界標準ではないですよね。その標準は,正しいのでしょうか。時代に合わせてフレキシブルに見直せてますか?
さらに,総コスト(TCO:Total Cost of Ownership)で考えると大きなウェイトを占めるランニングコストもインフラでは重要な要素になりますが,その評価もまた非常に難しいものです。製品の保守料,システムを維持する人のための工数を正しく評価する必要がありますし,それらを削減しようとするといろいろ難しい問題に直面するのではないでしょうか。
「安定して動いているけど,ものすごく高コスト……」をどう考えるか
私は,これまで証券・銀行といったユーザー企業の立場で,さまざまな金融システムを構築してきました。はじめの数年はアプリケーションの実装担当でしたが,10年が過ぎて,気がつけばインフラ担当になっていました。非常にハイトラフィックなシステムや,止めてしまうと大問題になるシステムも経験しています。
もう10年以上前になりますが,担当していた非常に重要なシステムが大トラブルを起こして,即座に2ちゃんねるに書き込まれ,30分後にはYahoo!ニュースのトップで記事になり,翌朝には日経新聞の記事になったこともあります。そういうトラブルは,ITインフラの全面障害に近い場合に起きます。一度そういうトラブルを経験してしまうと,ものすごいコストと時間をかけてシステムを構築・増強します。コストと人をかけて構築したシステムは基本的に安定するのですが,5年以上経過して次のシステム更改を考えるときに,ふと思うわけです。
「たしかに安定して動いているけど,ものすごく高コスト。これって正しいのだろうか?」と。
そういうシステムは,社内的には特別扱いされ,ある意味アンタッチャブルな状況になっているわけですが,過去の苦い経験から,それを低コスト化に振る勇気はだれもありません。責任を取りたくないですからね……。しかし,必要以上の高コストはユーザー企業の判断としてはまちがっていて,自社の利益率を下げて,競争力を下げていることにもなります。5年ごとの巨大な投資,毎年高額な経費は,経営者の悩みの種です。
では,どうやって適切なコストに持っていくか。
身も蓋もない話ですが,経験と勘以上に正しく判断することはできないと思います。「経験と勘」と書いてしまうといかにも胡散臭い感じがしますが,実態としてはそうだろうと思って(信じて)います。
ただ,「コスト算出には経験と勘が必要なんだ」以上終わり,ではみなさんに何もお伝えすることがなくなってしまいます。もちろん,私もそれを望んではいません。
経験と勘の正体とは
経験と勘は身につけるものですよね。つまり,「コスパよくシステムを作るための経験と勘をどのように身に着けられるか?」が本書のテーマです。
そこそこの規模の企業になると,システム担当・部門,よく「情シス」などと呼ばれる組織があると思います。システム部門が適切にコストを算出するには,自分で開発できる能力を持っていることが極めて重要です。自分で開発した時のイメージがあると,ベンダーから受け取った見積もりに対して,工数が高ければ感覚的に疑問を持つこともできますし,「導入する製品が高すぎるのでは?」「別の製品に置き換えたほうが安くなるのでは?」と気づくことができます。
勘と経験の正体は「開発能力」と言っても過言ではありません。開発能力がないと,基本的に過去のプロジェクトの見積もりとの比較でしか評価できなくなります。実際にそういう仕事の仕方をしているシステム担当者が多いのではないでしょうか。過去のシステムコストと比較する意味はあると思いますし,一定の指標として活用できると思います。ただ,過去のコストがまちがっていれば誤りの連続になりますし,そもそも進化の速いITの世界にマッチした判断方法でもありません。過去の指標は,あっという間に古くなります。
本書では,テーマごとに私の経験と勘を明らかにしていこうと思いますが,以下のスキルが重要になります。
- ITインフラを自分で構築できるスキル
- システムの目的(SLA)を正確に把握するスキル
- 採用する製品の動きや仕様を把握するスキル
- アプリケーションの動作をイメージし,どのようにリソースが使われるかを推察するスキル
- インフラを構成する要素技術の変化,今後の見通し,価格動向を把握するスキル
これらのスキルを,本書では3部構成でまとめています。まず第1章から第8章までは,システムを構築するうえでの前提知識をまとめました。システム構築は単に技術力があればできるものではありません。幅広い知識と経験が必要で,その要素をまとめています。続いて第9章から第12章まではインフラのテクニカル要素をレイヤーごとに記載しています。何か1つの製品については触れず,どのような製品を使っても役に立つ考え方を記載しています。最後に第13章は,それ以前の章の総まとめです。実際のシステムのパターンごとに,第12章までの知識を集約して考え方を整理しています。
これらのスキルは私のこれまでの経験によるものですが,どのように考えてきたかをお伝えすることで,みなさんの経験と勘にプラスできることを願っています。