このシリーズの記事一覧:
本ブログでは、金融ウェビナー第21回の内容を2回に分け、これら2つの領域で改革の鍵となるポイントについてお話しています。“守るテスト”の要諦についてお話した第1回に続き、今回は“攻めるテスト”の要諦について解説します。
攻めるテストの要諦
デジタル推進担当部門や企画部、営業部門など、金融機関が生成・管理する情報を活用してエコシステムを創造する部署は、“攻めるテスト”の実行に適しているでしょう。こうした分野では“守るテスト”とは異なったポイントを押さえる必要があります。
“シフトライト”アプローチの推進
従来のスタイルでは、リリースするまでに完璧に近い状態を実現するという考え方で入念なテストが行われました。しかしデジタル化の加速とともに業務・システムが大きな変化を遂げつつある今、全ての要件を事前に把握することは決して容易でありません。特に“攻めるテスト”の対象領域ではデジタル化が急速に進んでおり、数年かけて構想や要件定義を練っても、リリース時には有効性を失っているという状況に陥りかねません。そのため、本番の利用環境で課題を洗い出し、継続的に対応・改善を行うようなテスト・サイクルを創り出す必要があるのです。そこでお勧めしたいのが、実際の業務としてリリースし、システムの利用傾向を見ながら業務要件や品質目標を定めていく“シフトライト”というアプローチです。
例えば私たちが経験した案件の1つでは、イレギュラーな業務パターンを想定して設計したために、様々なバリエーションのテストが必要となり、工数も数倍に増加しました。しかし本番稼働後に利用分析をしてみると、こうした業務は8500近いトランザクションに対して100回以下と、利用率はわずか1%程度にとどまっていました。仮にテスト工程からこの部分を省略できていれば、リリースを半年程度前倒しできただけでなく、予算も大幅に削減できた可能性が高いでしょう。こうした事態を避けるためにも、テストを小さく始め、稼働後の実態を分析・評価した上で、改善につなげるという進め方が有効なのです。
自動化の戦略的推進
現代のシステム開発プロジェクトは、同様のテストを繰り返し実行するケースが飛躍的に増えています。しかしその一方で、リリースサイクルは急速に短期化しており、テストのために割ける時間の制約もますます厳しくなりつつあります。このジレンマを解消するソリューションの1つとして近年注目を集めているのがテストの自動化です。テスト作業の効率化や工数の削減、人為的ミスの排除など様々なメリットがある自動化は、DevOpsやアジャイルといった手法を用い、より先進的な考え方でテスト工程を進める“攻め”の領域では特に重要となるでしょう。
ただし自動化を推進する際には、2つの点に留意する必要があります。1つ目は、明確な基準に基づいて自動化の対象を選定しながら導入を進めることです。攻めるテストでは、品質面で一定レベルの妥協が必要な領域がどうしても発生します。100%に近い品質を追求する領域とそうでない領域を区分けし、必要な部分で集中的に自動化を進めるという考え方が極めて重要となるでしょう。全領域で自動化を進めるとメンテナビリティの低下を招き、かえって工数や時間が増加する恐れがあります。業務の継続的運用に支障が出る可能性を業務・システムリスク・ベースで評価し、リスクレンジ別に範囲を定義するなど、戦略的かつ選択的に自動化を進めることが重要となるのです。
2つ目のポイントは、他社の事例をそのまま模倣するのではなく、自社の現状に適したフォーマットを検証・模索しながら進めることです。オートメーションのアーキテクチャには様々なパターンが存在し、どの組み合わせが最適となるかは、自社のITスキルレベルやシステム規模、メンテナンスのスタイルなどによって大きく変わります。例えばコードベースで実現するのか、コードレスで実現するのか、どの範囲まで実行するのかなど、テスト対象となるソリューションや自社のIT環境を客観的に見極め、それに応じた最適解を探りながら自動化を進める必要があるでしょう。
全組織的取り組みの重要性
ここまで“守るテスト”・“攻めるテスト”の領域についてそれぞれ解説してきましたが、最後の重要なポイントとして強調しておきたいのは、こうしたアプローチを局面・領域ごとに部分活用しても目覚ましい効果は期待できないということです。特に組織構造が縦割りになりがちな日本企業では、組織横断的に連携を図り、全体としてコスト効率・品質向上を目指すという考え方が改革の成否を大きく左右します。テスト工数の削減や自動化という次元を超えて組織のあり方を根本的に見直し、改革を進めないとテストの最適化実現は難しいでしょう。
ここで重要となるのは、CIOやCOOなどを中心として経営レベルでコミットし、テストのあり方や組織をどう変えていきたいのか、どのような品質レベルを目指すべきなのかを明確にすることです。スピードや効率性よりも、障害回避を最優先しがちなIT部門の主導で効率化を進めると、どうしても効果が限定的になります。経営役員あるいはビジネスへ戦略的に携わる部署のイニシアティブの下で改革を進めれば、より広い視野で工程全体を把握でき、経営ビジョン・ビジネス遂行の優先事項に最適化した形でテストの効率化・質向上を進めることができるはずです。
今回のウェビナーでは、テスト効率化・コスト削減の要諦や、デジタル変革実現に向けたテストのあるべき姿、守るテスト領域・攻めるテスト領域それぞれで重要となるポイントなどについて、様々な事例を交えながら詳細にわたり解説しています。