Comments
Description
Transcript
ソフトウェアにおける品質改善活動
ソフトウェアにおける品質改善活動 Software Quality Improvement Activities あらまし 富士通が支えるITシステムは,様々な社会システムのインフラとして利用されており, ITシステムの基盤ソフトウェア(OS,ミドルウェア)の安定稼働が重要視されている。従 来,メインフレームで構築されてきたミッションクリティカル分野のITシステムもオープ ン系システムとして構築されるようになってきており,オープン系基盤ソフトウェアの高品 質化への期待はますます高まっている。このような中,高品質な「ものづくり」を実現し, お客様にとって魅力的な商品を開発し続けるための開発プロセスをどのようにして構築し改 善していくかが多くの開発者の急務の課題となっている。 本稿では,TRIOLEシステムの中核となるオープン系基盤ソフトウェアにおける最近の 品質改善活動として,お客様起点で商品を構築する「仮想カタログ」,および製品開発時の 「リスク管理」 , 「開発環境」 , 「システム検証」を紹介する。 Abstract Fujitsu supports the IT systems of various social infrastructures, and the stable operation of infrastructure software (OS and middleware) for these IT systems represents a very important requirement. Mission-critical IT systems used to be constructed using mainframes but are now being built as open systems. Consequently, there are rising expectations for improved quality of open system infrastructure software. To continue developing attractive software for customers, many developers urgently need to implement high-quality manufacturing and improve their development processes. This paper describes recent quality improvement activities for open system infrastructure software in the kernel of the TRIOLE system, a virtual catalog that constructs products from the customer’s standpoint, risk management, the development environment, and the system verification necessary when a developing a new product. 村井 宏(むらい ひろし) 齊藤王央(さいとう きみお) 福田昭一(ふくだ しょういち) 開発技術統括部 所属 現在,ソフトウェア製品の品質保証 に従事。 開発技術統括部ソフトウェア技術部 所属 現在,ソフトウェア製品の開発環境 整備に従事。 事業計画統括部 所属 現在,ミドルウェア製品の企画業務 に従事。 FUJITSU.58, 4, p.323-327 (07,2007) 323 ソフトウェアにおける品質改善活動 お客様へ提供できる価値を分かりやすいストレート ま え が き なメッセージで訴求する構想レベルでの商品カタロ オープンプラットフォームの進展に伴い,ミッ グである。作成したカタログは,お客様との接点と ションクリティカルな分野のITシステムも次々と なる営業・SEをはじめとして,様々なお客様との オープン系システムとして構築されるようになって 対話でブラッシュアップを図り,お客様起点の商品 きた。これらのシステムは,社会インフラとして非 企画となっているかの検証を行う。 常に高い信頼性が求められており,その基盤ソフト 仮想カタログ活動プロセス(図-1)では,以下の ウェアに位置付けられるOSやミドルウェアへの高 活動ポイントにより商品の源流である企画工程から, 品質化の期待がますます高まっている。 特長が鮮明で使いやすいといった新しいお客様価値 富士通では,開発下流から開発上流に検証の重心 を移し品質向上に取り組んできている。これを推し の創造を常に強く意識した商品企画・開発を行って いる。 進めるためにフロントローディング思想を取り入れ, (1) 開発,マーケティング,フィールドサポート, 開発上流におけるお客様起点での商品づくり,開発 品質検証など各専門知識を有するメンバで構成 下流での効率的な品質確保やプロセス改善など品質 されたワークショップで,マーケティング環境 改善の活動を活発に実践している。 分析,アイデアジェネレーションを複数回実施 本稿では,オープン系基盤ソフトウェアにおける 最近の品質改善活動事例として,開発上流における 「仮想カタログ」,「リスク管理」および開発下流で の「開発環境」 , 「システム検証」を紹介する。 してブラッシュアップを図り,お客様価値を明 確にして仮想カタログを作成する。 (2) 作成した仮想カタログは,お客様との接点と なる営業・SEが,お客様に使いたい,購入した いと思っていただける商品の企画となっている 仮想カタログ かを評価する。 商品ライフサイクルの起点となる企画では,お客 (3) 開発部門・検査部門においても,企画工程で 様のビジネスにつながる価値ある商品・ソリュー 作成・仮説検証した仮想カタログを原点に,常 ションを創出するために,お客様ニーズ,市場や技 にお客様価値を意識した開発・検証を行う。 術動向などの世の中の動きをしっかり把握した上で 商品発表・出荷後は,お客様の評価を今後の商品 商品のあるべき姿を定義し,真にお客様に求められ 企画へフィードバックしPDCAサイクルを確実に回 るものかを検証する必要がある。 すことにより,継続的に企画力の改善を進めていく。 ソフトウェア開発部門では2005年から商品企画 工程において,仮説提案・検証ツールとして「仮想 カタログ活動」を実践している。仮想カタログとは, リスク管理 開発プロセスにおいて,開発上流の「開発計画」 と「設計」の工程は特に重要である。開発計画時の 企画 調査 開発 基本設計 設計/プログラミング/ テスト/品質検証 お客様での 商品ご利用 仮想カタログ活動プロセス (ワークショップ) 初版 運用 版 完成 版 (2)仮想カタログ評価 第三者 評価 ヒア リング 商品開発 商品開発 仮想カタログに 仮想カタログに 基づく開発 基づく開発 (3)整合評価 (3)整合評価 仮 仮想 想カ カタ タロ ログ グと と 商品の整合を評 商品の整合を評 価・改修 価・改修 お客様の評価・分析と対策 (1)仮想カタログ作成 (1)仮想カタログ作成 考慮不足や決定遅れ,設計段階の検討漏れは,納期 遅延に直結するため,開発プロジェクトに与える影 響は非常に大きい。 そこで,PMBOKや開発プロセスにおけるリスク マネジメントの考え方をベースに,富士通のソフト ウェア開発のノウハウを加え,開発の現場に適用で きるリスクマネジメント手法を考案した。綿密に練 られた企画に従って,開発プロジェクトを円滑に成 功に導くためには,しっかりとした開発計画を立て る必要がある。しかし,「競合商品の動向」,「新技 図-1 仮想カタログの概要 Fig.1-Outline of virtual catalog. 324 術への追従」 , 「マーケットやユーザニーズの変化・ 多様化」などの不確定要素により,開発計画段階で FUJITSU.58, 4, (07,2007) ソフトウェアにおける品質改善活動 すべての要素を明示することは困難になっている。 ている。リスク診断適用後の計画遵守率はほぼ 未定・不明部分など開発計画段階で明示できない項 100%を維持しており,高い効果を上げている。 目をリスク項目として管理するのが「開発計画時の 開 発 環 境 リスク診断」である。これは,開発プロジェクトの 早期着手を可能としながら,その後のリスクをコン ソフトウェアの開発現場では,サポートするプ ラットフォームの増加(64ビットOSなどの追加) トロールする手法である。 また,過去に品質不良を引き起こした障害の内容 により,管理作業が大きな負担となっている。例え を精査したところ,設計工程での検討漏れに起因す ば,一つの製品開発が完了し,同じ製品をLinux, るものが大半を占めていた。これらの検討漏れの再 Windows,Solarisなど複数プラットフォームに提 発防止に向けて,社内外の文献や開発現場で保有す 供する場合,ローカライズのバリエーションを含め るチェックシートを参考に設計時に留意すべき事項 40以上のバージョンに展開して,同時期にリリー を抽出した。さらに,それに対応する現場での失敗 スする必要がある。このため,開発したソースやド 事例を含めて,ISOで規定されている品質特性を基 キュメントの資産管理も複雑化しており,一般的な 本にリスク項目を整理したのが「設計時のリスク診 資産管理では対応できない。また,国内9拠点・海 断」である。 外6拠点で開発しており,この規模にも対応できる 二つのリスク診断は,適用する工程や対象とする 生産物の違いはあるが,以下の共通の考え方でリス 開発環境が必要となった。 このような背景から,グローバルな大規模分散開 発環境としてPROASQ(Production of Advanced ク管理を実現する。 (1) 今までのソフトウェア開発経験で培ったノウ Software Quality)システムを作成して,管理作業 ハウや実例を基に,具体的なリスクを抽出でき の軽減(効率化)と,品質保証プロセスの確実な実 るようなチェックリストを用意する(リスクプ 行(品質確保)を両立する開発環境を実現している 。以下に主な取組み事例について述べる。 (図-3) ロファイル) 。 (2) 独自のリスク分類観点を使って,リスク度を レーダチャートの形で視覚的に表示する(リス (1) PROASQによる統一集中管理 PROASQシステムは,VPDC(Virtual Private Development Center)というセキュリティエリア 。 ク度の見える化:図-2) (3) 抽出したリスクに対し, 「誰が」 「何を」 「いつ にあり,国内外の協力会社から直接アクセスを可能 までに」「どうするのか」といった対策計画を明 としている。システムのベースとなる資産管理 示し実施状況を確認できる運用ルールを作る。 (SCM:Software Configuration Management) これらのリスク診断は2004年より適用を開始し は,Enabler SCMをエンジンに採用し,最新生産 ており,適用部署からの改善提案を取り込み,より 物(ソース,ドキュメント)を国内・海外の開発拠 使いやすくなるように診断内容や運用の改善を重ね 点(チーム)間で共有することを可能としている。 企画 技術 マネジメント 設計準備 5 4 3 2 1 0 モジュールの パフォーマンス 連携/依存関係 モジュールの 外部仕様 チーム マネジメント 品質 マネジメント 100% 80% 60% 40% 20% 0% 信頼性 合法性 使用性 移植性 タイムマネジメント (a)開発計画時のリスク診断 機能性 効率性 保守性 (b)設計時のリスク診断 図-2 リスク度の見える化 Fig.2-Visualization of risk. FUJITSU.58, 4, (07,2007) 325 ソフトウェアにおける品質改善活動 開発環境 開発プロセス管理 企画・設計 製造 テスト 障害/インシデント管理 保守 修正提供管理 資産管理 VPDC(セキュリティエリア) 社内ネットワーク 協力会社 Internet 図-3 開発環境の概要 Fig.3-Outline of development environment. (2) PROASQによるプロセス管理 スト量は,新製品やサポートプラットフォーム(新 資産管理(SCM)の上で,ソフトウェア開発の OSのテスト環境)の追加に伴って増大しており, 全プロセス管理を行っている。とくに,保守プロセ 年々テスト作業の負荷が高まっている。このような スにおける修正作成から提供までのプロセスは重要で 背景から,効率的で確実な検証ができるテストシス あり,障害管理(QQM:Quick Quality Management) テムの構築と改良に取り組んでいる。 と修正提供管理(Updatesite MW)の連携により, ● TRIOLE(1)構成での検証 保守プロセスを一本化して修正配布の自動化を実現 ハードウェア,OS,ミドルウェアの組合せをパ ターン化したTRIOLE構成をモデルとしたシステム している。 (3) PROASQによるプロセスの見える化(可視化) PROASQシステムでは,ソフトウェア開発にお ける標準規定のワークベンチをワークフローとして において,以下のようなシステム運用の変化に着眼 。 し検証を実施している(図-4) (1) サーバ異常状態 取り込み,プロセスの統一とともに作業漏れや人為 CPU,メモリ,I/Oの高負荷状態,ドライバ層の 的なミスの排除に取り組んでいる。また,このワー 擬似故障状態を自動的に発生させ,システムの動作 クフローの管理により,開発プロセスを見える化し, やリカバリの妥当性を確認している。 品質管理と合わせて製品ライフサイクル全般のマネ ジメントに取り組んでいる。 システム検証 (2) クラスタシステムでのシステム切替え 意図的にクラスタシステムの状態(現用マシン/ 待機マシン)を遷移させ,高可用性を確認している。 毎日自動実行したテスト結果は,正解情報(期待 ソフトウェアの開発では,機能性や信頼性など 値データ)と照合することにより自動判定され, 個々の製品の品質特性に着目した製品検証に加えて, Webでの結果表示や管理者への自動メール通知によ ハードウェアや複数のソフトウェア製品を組み合わ り情報を共有している。このようなシステムの構築 せたシステム全体の一貫性,整合性に着目したシス と運用によりトラブル発生時の迅速な対処を可能と テム検証を実施している。 している。 システム検証では,製品改版時の品質や日々公開 ● お客様システムをモデルとした検証 されるOSなどの修正品質を確認するため,何万項 お客様が実際に構築・運用されるシステムの導入 目もある膨大なテストを繰り返し実行している。テ 製品やアプリケーションを用いた検証をSE部門と 326 FUJITSU.58, 4, (07,2007) ソフトウェアにおける品質改善活動 Webアプリ ケーション システム フロント ビジネスアプ リケーション データ ベース Test Suite 擬障 高負荷 ジョブ制御 FailOver 監視,修正適用 運用管理機能による完全自動化 TRIOLE構成での検証環境 TRIOLE構成での検証環境 お客様システムモデルの検証環境 お客様システムモデルの検証環境 図-4 システム検証の概要 Fig.4-Outline of system verification. 事業部門が共同で実施している。検証システムはソ の潜在ニーズを引き出して商品企画ができる開発者 フトウェア開発現場に設置しており,お客様システ については,PME(Product Marketing Engineer) ムでのトラブルの早期解決に向けて,再現確認,修 というカテゴリのプロフェッショナルとして認定し 正テストなど保守の確認も実施している。 ている。 検証の自動化に当たっては,実行するテストセッ ソフトウェア開発部門におけるプロフェッショナ ト(Test Suite)の選択,システム負荷状態の制御, ル社内認定制度は,経済産業省が定めたITSS(IT および実行後の状態監視について,適切かつ効率的 Skill Standard)に準拠しPMEのほかに製品開発 に行うことが重要である。これらは,富士通の統合 と製品適用のカテゴリがある。プロフェッショナル 運用管理ソフトウェアであるSystemwalker(2) など は,技術課題を解決するコミュニティ(組織横断) 以下の三つのツールを用いることで,夜間の無人時 活動を展開し,その成果(改善)を開発プロセスに 間帯での自動化検証を実現している。 組み込むことで,お客様に安心して使っていただけ (1) Systemwalker Centric Managerによるシス る「ものづくり」を進めている。 テムやネットワークの集中監視 む (2) Systemwalker Operation Managerによるテ スト実行のスケジューリング管理,自動化 (3) 修正適用ツール(UpdateSite)による適用可 能な修正の自動収集,修正適用自動化 す び 本稿では,オープン系基盤ソフトウェアにおける 品質改善の特徴的な取組みについて述べた。 今後とも「特長が鮮明で使いやすい高品質なもの 検証の過程で検出された品質問題については,根 づくり」へこだわり,その取組みを通して開発した 本原因分析結果から開発プロセスを改善するととも 商品を提供することにより,お客様のビジネス価値 に,共通問題の対策を開発部門全体に横展開し,品 向上に貢献していきたい。 質の底上げを図っている。 人 材 開 発 これまでに述べてきた品質改善を加速するために 仕組みの構築に加え,人材開発を進めている。 例えば,仮想カタログを作成でき,かつ,お客様 FUJITSU.58, 4, (07,2007) 参 考 文 献 (1) 富士通のIT基盤「TRIOLE」 . http://triole.fujitsu.com/jp/ (2) 富士通の統合運用管理ソフトウェアSystemwalker. http://systemwalker.fujitsu.com/jp/ 327