goo blog サービス終了のお知らせ 

経営・業務・ICT活用の支援活動記録

顧客獲得などの効果的な仕組み化(業務プロセス再構築)をご支援するコンサルタントの活動記録や役立つ考え方を記録しています。

顧客のシステム受入テスト(運用テスト)

2009-07-29 23:20:55 | プロジェクトマネジメント
あるお客様とのコンサルティング契約の再契約締結が完了しました。
ありがとうございました。
そのプロジェクトは、フェーズごとと言いますか、一定期間ごとといいますか、今までに経験がない方式で、2~3ヶ月ごとに契約を締結させて頂きます。
たいへん緊張感があり、良い経験をさせて頂いています。

さて、以下の話題は、別の顧客とのプロジェクトについてです。

いつの間にか、顧客にシステム受入テストを実施して頂く段階になりました。
今までいろいろ考えてきたのですが、私は、一定期間の運用テストと受入テストとを同じものとして捉える場合があります。
各種団体等による整理では、ソフトウェアの受入テストとシステムの総合運用テストを分けられています。

私もその意見に賛成です。

しかし、なかなか論理的に整理された内容で契約およびプロジェクト計画が立てられない、または計画どおりに進まないケースが発生します。

これらは言い訳なのですが、今回は、ある範囲までの「システム一式」として納品する方式であるため、システム一式の運用テストと受入判定テストを同じテストとして実施頂くことにしています。


繰り返しですが、それは本来は避ける方がよいと思っています。

ハードやミドルウェアの購入契約、ハードやミドルウェアの設置・設定工事、ソフトウェアの開発契約(フェーズ分けを含む)、システム導入・導入後支援(教育、移行、セットアップ、運用テスト支援、切り替え後支援など)という契約単位ごとに検収が発生すること、また、システム導入・導入後支援は準委任契約で実施すべきことなどは十分に承知し且つそのように対応したプロジェクトもあります。


しかし、今回は違います。

お客様で実運用(並行運用)をしていただきながら、受入検査を実施していただくことになります。
その際、合否判定のために、最低限として月末処理まで完了して頂いた上で、内容を検査して頂く必要があります。
しかし、月末処理まで完全な並行運用を実施いただけない場合(システム上の原因によるものを含む)があります。
その場合にどうするか?

まず、安易な妥協は混乱のもとになります。
よって、運用テスト時のお客様責任というものを、十分ご理解いただいておく必要があります。
RAM(WBSに基づく役割分担表)を用いて、プロジェクト発足時から十分に説明しておく必要がありますし、定例会議においても、時期がきたら、その旨を十分に説明する必要があります。

それから、現実問題としては、可能な範囲で効率化する必要があります。

月初から完全並行を月途中まで実施し、日々のデータ整合性を確認、更に月途中で月末締処理を実施して月次の数値を確認する、という方法が考えられます。
既存システムで繰り返し締処理が実施できる場合や、多少の費用で既存ベンダーの支援を受けることができる場合などは、実施可能な選択肢です。

また、月途中までのデータを移行し(移行ソフトの利用かパンチ作業かを問わず)、それ以降、完全並行運用して頂いた上で、日々のデータ整合性を確認、更に月末後に締処理を実施し月次の数値を確認する、という方法も考えられます。
これも、十分に実施可能な選択肢です。

その他、それらのテスト範囲にしましても、全拠点ではなくパターン別に対象拠点を選んで実施すること等も効率的な方法として考えられます。
ただし、データ移行回数は間違いなく増えることになります。

繰り返し「言い訳」と思われるかもしれませんが、特に中小企業のシステム切り替えにつきましては、100%完全な並行運用テストの実施が難しい場合が多々あると思っています。
それらについて、「お客様がテストを実施してくれない。。。」と嘆くのではなく、お客様と一緒に効率的・効果的な運用テストを計画し、その実施をご支援しようとする姿勢が必要だと感じています。
なお、その作業や工数は、予めWBS・RAM・予算に見込んでおく必要があります。

以上、現実的なお客様側のシステム運用テスト(受入テスト)に関する、私の考え方を記載してみました。いろいろ反論等があるかもしれませんが、一つの意見としてご理解下さい。


<関連記事>
 超上流工程からシステム運用テストまでにおける考慮事項

 ソフトウェアの総合テスト
 システム総合テストの重要性

ソフトウェアの総合テスト

2009-07-16 19:30:34 | プロジェクトマネジメント
ここ2日ほど、ある顧客企業の業務システムについて、構築ベンダーさんのテストに立ち会ってきました。
本プロジェクトにおける私の立場は、既にプロジェクト・リーダーを他メンバーへ引継ぎ、ポイントとなるイベントのみに同席する、という状況です。
(構築フェーズに入ってからのシステムアナリストとしての立場で助言するようなイメージです。)

「テスト」では、過去に辛い経験をしています。

あるプロジェクトでプロジェクト・リーダーとして業務に携わっていたのですが、各種事情から、自分自身でテスト結果を確認しないままに、構築ベンダーにプログラム・リリースを許可してしまったことがあります。
結果、バグ等で大混乱を来たし、お客様にご迷惑をかけてしまいました。

どうしても、納期が間近に迫ったり、また、ご担当頂いているSEさんの性格といいますか、自信といいますか、などで、テストが十分に実施されないケースに遭遇します。
また、小規模のSIerさんでは、どうもテストに計画性が見受けられない場合も見受けられます。

以上から、私は、極力、自身がポイントと思われる箇所については、自分自身でテストを実施する機会を設けるようにしています。
その場合、自分自身が思いつく最も複雑なケースを準備します。
今回についても、自分でテストケースを作成し、構築ベンダーさんにご迷惑をかけながら(?)、自分自身でテストを実施してみました。

ほぼ、バグは出し尽くしたとお聴きしていたのですが、結果、やはり思わぬバグに幾度も遭遇しました。

この場合、構築ベンダーさんを責めてはいけません。
原因の把握と報告、対応の実施期限をお約束いただいてから、後日、同類で少し進化させたケース(一度、実施してから気になることも発生するため、それを網羅できるようにしたケース)でテストを実施します。
その結果、やはり原因が直ぐには分らない値の不整合が見受けられました。
しかし、バグが収束していく感が見られます。

構築ベンダーさんには、私の準備したケースを参考にして、より網羅性の高いケーズの検討とテストの実施をお願いし、快く了解を得ました。

翌週には、テスト経過を確認した後、再度、自分自身でポイントとなる箇所をチェックします。
それでOKであれば、お客様サイドでの総合テスト実施をご依頼することになります。

以上につきましては、少し考え方が異なる方々もいらっしゃると思います。
しかし、私がシステムアナリストとして総合テスト段階で支援する方法は、以上のとおりです。何かのご参考になれば幸いです。


<関連記事>
 超上流工程からシステム運用テストまでにおける考慮事項

 システム総合テストの重要性
 顧客の受入テスト(運用テスト)

基本設計フェーズにおける注意事項など

2009-07-10 22:29:23 | プロジェクトマネジメント
先日お話ししましたとおり、あるプロジェクトで基本設計フェーズに入りました。
私は、そのレビューに参加し、要件に沿う内容になっているかをチェックします。
ただし、レビューまでの打合せについては、定例打合せの他ではあまり関与できる立場にありません。
よって、私の認識と異なる内容で設計されている場合があります。


さて、プロジェクト計画書の段階で、プロジェクトのメンバーおよび意思決定ルールの基本が確定しています。
しかし、実際の基本設計内容の検討段階では、構築ベンダーとお客様の中心的なメンバー(例えば情報システム部門から参加のメンバー)などで、摺りあわせしながら、レビューまでに作成されるドキュメント類が作成されます。

その過程において、他メンバー、特にユーザ部門から参加しているメンバーに確認すべきと思われる状況が発生します。
それらメンバーの意見などを加味しながら基本仕様を決めていく必要があると考えています。

しかし、そのユーザ部門メンバーへの確認が省略される場合があります。
もちろん、ポイントとなるレビューには、ユーザ部門メンバーも参加しチェックはかかりますが、
それまでの検討時においても随時ご確認頂く方が効率的且つ品質向上に寄与する、と私は考えています。

「それは当然」と言われる方もいれば、「ユーザ部門に、そんな負担はかけられない」と言われる方もいるでしょう。

私は、「ユーザ部門の一定の負担」は必須である、と考えています。

しかし、「ユーザ部門の一定の負担」よりも、実は、情報システム部門メンバーにおいて、「ユーザ部門に随時、意見を求める」という習慣が無いことの方が問題だと感じる場合が多いです。それがリリース直前において「こんなはずではなかった。。。(ユーザ部門)」「決めたはずなのに今さら。。。(情報システム部門)」という状況を作ってるような気がします。
例えば、構築ベンダーから判断を求められた際に、「一旦、それで確定しておこう」や「よく分らないけど、それで進めて」という場面が、それに該当します。
その場面では、即、ユーザ部門に確認するか、または、一旦は保留(お客様側の課題)として取り扱って期限までに文書で回答する、という扱いにすべきです。
尚、このような場面は、基本設計の具体的な内容の確定ではなく、「要件の解釈」に関する確認であったり、あるいは「構築ベンダーの都合による要件の小さな変更」である場合が多いように感じます。

私が打合せに参加し、そのような状況が発生した場合には、「これはユーザ部門に確認すべきである」という認識合わせをした上で、
①確認相手となるユーザ部門と、
②それを確認するメンバー、
③確認期限 
を明確化するよう提言します。
少しイヤな顔をされる場合もありますが、それが品質向上につながると考えてますし、それを妥協すれば、精一杯、のコンサルティング業務を実施していないと感じるからです。

それでも、(ユーザ部門に確認すべきという)私の意見が採用されない場合があります。
その場合、私は文書等でその必要性を通知し、確認結果をご連絡頂くようにしています。


基本設計のレビュー時において、ユーザ部門からの参加時間が予定どおりに確保して頂けないケースが発生します。
これは、通常業務で責任を担っている上では、ある程度は致し方ないことだと考えられます。

よって、途中の検討過程において、悩ましい事項については随時確認することが必要です。そのようなコミュニケーションをとれる状態にしておくことが、「基本設計フェーズ」におけるポイントの一つであるように感じます。

尚、レビューは、少なくとも「中間」と「最終」を予定しますが、そのレビューまでの検討において、ユーザ部門代表者に打合せへご参加頂くことが可能であれば、より一層良いことであると思います。

また、レビュー資料を当日ではなく、遅くとも3日前までにお渡し(またはファイル共有)しておき、それをレビュー当日までに一読して頂く、また、その一読時のポイントについてお伝えしておくことも効果的です。「事前になんて読んでくれないよ」や「3日前までに資料は作れない」という方もいるかもしれません。
作成途中版の資料でも十分ですので、この「事前確認」をプロジェクト運営ルールで明確化する方が良いでしょう。


基本設計で確定した仕様(凍結された仕様)に沿って、ユーザ部門が利用するシステムが開発されていきます。

私は、
①ユーザ部門との随時のコミュニケーション と 
②ユーザ部門へのレビュー前の資料提供と事前確認の徹底 
が基本設計フェーズにおける品質向上のコツであるように感じています。

プロジェクトのキックオフ会議

2009-05-30 10:03:47 | プロジェクトマネジメント
最近、お客様の基幹システム再構築プロジェクトのキックオフ会議が開催されました。

この案件は、今まで、

  ①事業戦略策定会議の運営と戦略企画書(一次案)とりまとめの支援、
  ②情報化構想の策定支援、
  ③情報システムの調達支援、

をさせていただいた上で、
今後は要件定義フェーズのアドバイザーとして参加することになったものです。


私は、情報システム構築プロジェクトのキックオフ会議では、次の事項が議題設定され、プロジェクト計画書として事前配布されている必要があると考えています。

1.プロジェクトの目的
 何の課題を実現しようとするシステムの構築か?

2.プロジェクトの範囲
 ・成果物(要件定義書、仕様書、プログラム、操作説明書など)
 ・システム化の範囲
 ・作業内容および役割分担

3.プロジェクトの基本方針

4.プロジェクト体制
 プロジェクトのメンバーと役割

5.マスタースケジュール

6.プロジェクト運営ルール
 実施する定例会議、会議の目的・内容、会議メンバー
 意思決定ルール(成果物の受入判定)
 コミニュケーション・ルール
 仕様変更ルール 

7.当面の詳細スケジュール
 要件定義フェーズまたは概要・基本・外部設計の実施概要
 スケジュール
 役割分担


しかし、実際には、上記7.当面の詳細スケジュール が省略されてしまうケースも多いように感じます。

その際、プロジェクトメンバーから、
「当面、何をすればよいのかわからない。各メンバーの当面の実施作業内容を明らかにしてほしい」
などと、強く要望される場合もあります。

私は、このような状況は好ましくないと考えています。
「アドバイザー」(実施する当事者ではない)とはいえ、専門家として妥協してはならないポイントの一つであると、今回、再認識しました。

少し話は異なりますが、
過去に妥協したために想定したリスクが顕在化してしまったという、苦い経験もしてきています。

時間・コストとのバランスも必要なのですが、「妥協」は二度としない、と心に誓います。