(1/2)2015年10月23日に開催された@IT主催セミナーより、後編ではゴールドマン・サックス・ジャパン・ホールディングスの伊藤博志氏による特別講演の他、品質向上に役立つ考え方やツールを紹介した各講演を紹介する。});2015年10月23日、@IT主催セミナー「ソフトウェア品質向上の“変”2015秋〜今、変革のとき〜」が開催された。ビジネスのスピーディな差別化が強く求められ、DevOpsが今あらためて注目されている中で、開発のスピードと品質をどう両立するか、パフォーマンス、安定性、セキュリティなど、さまざまな意味での品質をどう担保するか、あらゆる視点での講演が行われた。前後編に分けて紹介する。前編の「JAXA、サイバーエージェントが考える「品質向上」と役立つツール」では、JAXA主任研究員の植田泰士氏やサイバーエージェントのチーフクリエイティブディレクターの佐藤洋介氏による品質向上への取り組みに関する講演、品質向上に役立つ考え方やツールを紹介した各講演をお伝えした。後編の今回は、ゴールドマン・サックス・ジャパン・ホールディングスの伊藤博志氏による特別講演の他、開発のスピードと品質を両立するさまざまなアプローチと、それを支えるツールを具体的に紹介した各講演を紹介する。後編バズワードで終わらせない。品質向上につながる「DevOps」ソースコード静的解析ツールはSLA指標の構築にも役立つテスト自動化を組織に根付かせるための三つのポイントゴールドマン・サックスが実践するソフトウエア品質向上の取り組みバズワードで終わらせない。「DevOpsがバズワード扱いされる原因を考えた。一つは、開発や運用から業務までがすべからく『エンタープライズ』のコンテキストでひとくくりで語られ、しっくり受け止められないこと。一つは、コスト削減というキーワードが製造コストなのかキャッシュアウトなのか分からないまま一人歩きしていることも挙げられる」——セッション「DevOpsはなぜ”バズワード”扱いされちゃうか」で、日本ヒューレット・パッカードの藤井智弘氏は、自身のDevOpsに関する取材記事をきっかけに浮かんだ疑問を、こう分析した。藤井智弘氏では、バズワードに終わらせずDevOps導入を成功させるにはどうすればよいのか。ポイントは、ビジネスのコンテキストを含めたデザイン全体の中で、長期ロードマップを通して見極めていくことだと藤井氏は述べる。ヒューレット・パッカードでは、DevOpsへの継続的な取り組みを推進するために、「継続的インテグレーション(CI)とテスト」「継続的デリバリとデプロイメント」「継続的モニタリングとオペレーション」「継続的プランニングとアセスメント」の四つのイニシアティブを定め、ソリューションを提供している。それぞれ、市場投下までの時間の短縮、協調と首尾一貫した可視性、予測性の向上とコストの削減、ユーザー体験とビジネスサービスの改善を実現する。サービスのエミュレーションなどを含むテスト環境の構築と実施が当てはまる。サポートイニシアティブとなる後者二つでは、不具合を認識・分析するためのデータ収集やユーザーエクスペリエンスの最適化、テストへのフィードバックや変更管理、分析の継続などが該当する。DevOpsトランスフォーメーションワークショップ」を実施している。同ワークショップでは、DevOpsのモデルやベストプラクティス、同社のソリューションやサポート、DevOpsの体系化、将来的なロードマップまで、DevOpsを企業全体の取り組みに据えて、継続的に実施できる体制作りを支援する。「ヒューレット・パッカードでも組織的にDevOpsを支援するための体制が整ってきた。あらゆるプロセスで活用できるツールも用意しているので、ぜひ相談してほしい」(藤井氏)ソースコード静的解析ツールはSLA指標の構築にも役立つパートナーやオフショアによる実装、オープンソースソフトウエア(OSS)の活用など、ソフトウエアのサプライチェーンは日々複雑化しており、全体で見たときのソフトウエアの品質やセキュリティレベルはますます見えなくなった。そのため、開発段階のソースコードレベルで不具合やセキュリティの脆弱性を解析、洗い出すことは、より一層重要になっている。ソースコード解析は、大きく動的解析と静的解析があるが、静的解析は誤検出が多いという課題があった。これはコーディング規約をチェックする場合であって、「ランタイムエラー検出であればバグ自体を検出でき、これまで動的解析でしか確認できなかったメモリリークやデータ破壊、データ競合、セキュリティ問題なども検出できる」と、日本シノプシスの雨宮吉秀氏はセッション「テストを変える。新しいソフトウェアテストへのアプローチ」で述べる。雨宮吉秀氏ソースコード静的解析ソリューション「Coverity」は、コールされたメソッドの内部コードまで解析。開発者の意図を学びながら不具合を検出する統計解析を実行することで、誤検知率10%を実現する。「例えば、似たような処理でコードを使い回すことがあるが、変数名の書き換えを忘れてコピー&ペーストしてしまうことがある。したミスは、例外が発生しなければ見つからず、テストで検出されにくい。Coverityであれば変数の使われ方を見て検出してくれる」(雨宮氏)また、同製品で測定可能なメトリクスを品質の目標値とし、不具合や脆弱性の密度をコンポーネントごとに計測して品質をコントロールすることも可能だという。同社製品を導入したイギリスの保険会社AVIVAは、社内やオフショア、OEMでサービス開発していたが、品質の指標もチェックプロセスもなく、品質はばらつき、50%の不具合をユーザーアクセプタンステストで発見される事態になっていた。Coverityを導入し、14カ月の展開でおよそ300万行のコードを解析。Agreement)を締結。品質を下げることなく、より短期でのリリースを実現した。「コーディング段階で分かる不具合はテストフェーズに持ち越さず、コードの品質指標を定義して管理し、リスクの高いコードを明確にしてテストする」。それがソフトウエア品質の向上につながると雨宮氏はまとめた。ゴールドマン・サックスが実践するソフトウエア品質向上の取り組み関連記事JAXA、サイバーエージェントが考える「品質向上」と役立つツール2015年10月に開催された@IT主催セミナーより、前編となる今回は、JAXA主任研究員の植田泰士氏やサイバーエージェントのチーフクリエイティブディレクターの佐藤洋介氏による品質向上への取り組みに関する講演、品質向上に役立つ考え方やツールを紹介した各講演をお伝えする。ツールの概要をお届けする。〜今、変革のとき〜」を開催する。平田源鐘氏に「eコマース革命」の内部で、何が起こっていたのかを聞いた。冬の陣」開催DevOpsの実践で肝となるソフトウェアテストの自動化。@ITの読者調査でも50%以上が「テスト環境に課題あり」と回答した。カンファレンス登壇者の言葉にヒントを探る。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。