未経験者歓迎!知識ゼロからシステムエンジニアを目指す

各工程の成果物を正確に仕上げることの重要性

 

みなさんは「バタフライエフェクト」という言葉をご存じでしょうか。
バタフライは「蝶」、エフェクトは「効果」で直訳すると「蝶の効果」です。

 

ある場所での蝶の羽ばたきがそこから離れた場所の将来の天候に大きな影響をおよぼす、といった意味です。
たとえば「北京で蝶が羽ばたくとニューヨークに嵐が起きる」というように使われます。
極めて小さな現象が時間の経過とともに無視できないほど大きな現象生むことを指します。

 

システム開発でもわずかな仕様の間違いが、後工程で大きな手戻りを誘発することがあります。

 

上流工程の影響

たとえば、上流工程の外部インターフェイスの設計で、ある項目を定義し忘れていたとします。
エンジニアも人間ですから、どうしても漏れやミスは出てしまうのは仕方がないことではあります。

 

レビューや第三者のチェックで、誰かがその定義漏れに気付くことができれば、何の問題もありません。1つの設計書の1つの項目だけを追加修正するだけなので、作業は1分もあれば終わるでしょう。

 

しかし、上流工程ではこの間違いに気づかず、下流工程のテスト工程まで進んだ後に発覚した場合はどうなるでしょうか。

 

それまでに作成した、その項目を使っている全ての設計書を修正しなければならないのです。
もちろん設計書だけでなく、プログラムの修正も必要となります。データベースを使っていればテーブルの項目を追加する必要もあるでしょう。そして、テスト仕様書も修正し、再テストも行わなければなりません。
障害管理票の起票といった事務的な手続きも必要です。

 

このように、上流工程で気づいておけば1分で済んでいた作業が、下流工程まで気づかなかった場合には、数人日(コスト換算すると数十万円)の作業に膨れ上がることもあるのです。

 

システム開発でこのようなバタフライエフェクトを起こさないためにも、各工程で仕様の漏れや間違いがないように精度の高い成果物を作成しなければなりません。

 

わずかなミスで大規模なシステム障害に発展することもある

これは上流工程に限った話ではありません。
下流工程であるプログラミング工程で混入されたバグが、後のテスト工程でも検出されずに
そのまま本番稼動を迎えてしまったとしたら、致命的なシステム障害が出ることもあります。

 

たとえば、2012年6月に起きたファーストサーバの大規模障害です。
この障害では、ほんの1、2箇所の記述漏れが12億円もの損害を引き起こしてしまいました。

 

ヤフー子会社でレンタルサーバを手がけるファーストサーバの大規模障害で、同社は6月25日、原因について説明した。更新プログラムにファイル削除コマンドを停止させるための記述と、対象サーバ群を指定するための記述が漏れていたという不具合を検証環境で確認できず、本番環境とバックアップデータに適用してしまった。
障害で、大阪市の水族館「海遊館」や小林製薬の製品情報サイトなど多数のWebサイトがダウン。復旧したものの、テキストサイトのようになっているサイトもある。同社によると、影響した顧客数は5698件
親会社のヤフーは2012年4〜6月期連結決算で12億2900万円の「システム事故関連損失」を特別損失として計上した。

 

このような「蝶の羽ばたき=仕様の間違い」を放置していると、あとで大きな「嵐」が待ち構えていることがあります。

 

エンジニア個人としては日々、自分の作業の精度を上げるように心がけることが大切です。
また、プロジェクト全体としては、「人は間違いを犯す」という前提に立って、個人のミスを逃さない仕組みを作ることが重要といえます。

 

■次の記事
要件定義

 

プログラミング未経験から正社員へ!

 

⇒  IT就職支援付きプログラミング研修ランキング

 

プログラミング未経験から正社員を目指す方は参考にしてみてください。

 

PR


 このエントリーをはてなブックマークに追加 

PR


HOME スマホアプリ開発ブログ SE入門講座 プログラミングスクール フリーSE案件サイト SEおすすめ書籍