SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

キーパーソンインタビュー(AD)

複雑化するコード、工数がかかるテスト…… 開発プロセスの改善はどこから手を付けるべきか

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

 かつてソフトウェア開発は品質を担保するために、時間をかけてしっかりと作り込んでいた。そのため「品質とスピードはトレードオフ」という観念があった。しかし今ではアジャイル開発やDevOpsという言葉が盛んであるように、素早く新機能をリリースするようになってきている。そうしないと、ビジネスで取り残されてしまう。では品質を放棄するかというと、そうでもない。アシストの開発現場向けサポートソリューションに迫る。

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

テスト領域では累計約1000社が利用! 世界中のパッケージを目利きしてきたアシスト

 アシストは長らく多種多様なITのパッケージやソフトウェアを販売してきた企業だ。特に海外で生まれた最先端ソフトウェアの価値を目利きして、いち早く日本市場へともたらすところが強みだ。

 代理店としてソフトウェアを販売するだけではなく、日本の顧客がソフトウェアを活用できるように支援する手法やノウハウも幅広く持ち合わせているのも同社の特徴だ。「アシスト」という社名が表しているように、顧客のビジネスをサポートすることに哲学や信念を持つ。

 若月恵介氏が率いるシステム基盤技術本部 技術1部ではテスト領域を中心としたさまざまなツールを取り扱っており、累計で1000社ほどが利用している。若月氏は「テストはアプリ品質を担保するための最後の砦」と強調する。

株式会社アシスト システム基盤技術本部 技術1部 部長 若月恵介氏
株式会社アシスト システム基盤技術本部 技術1部 部長 若月恵介氏

 例えば「テストしたものの意味のあるテストにならなかった」ということがないように、製品導入前からPoCを重視し、顧客が開発しているアプリケーションや環境との相性を入念にチェックし、目的に沿うように伴走している。導入前の支援だけではなく、使いこなせるように独自のテキストやトレーニングを用意したり、導入後にサポートしたり、サポートで得た有益なFAQを公開するなど、支援の好循環も生み出している。

「品質とスピード」はトレードオフなのか?

 近年の開発現場をめぐるトレンドについて若月氏は「従来のようにしっかり時間をかけて作り込んでリリースして、というスピード感では立ちゆかなくなってきたという声は確実に多くなってきています」と話す。これを「アジャイル開発」や「DevOps」という言葉で表現するかどうかはさておき、「スピードを速めなくてはいけない」という課題に取り組んでいる企業は確実に増えている。

 かつては「品質とスピードはトレードオフ」という側面があった。早く納品したければ、品質はいくらか目をつぶるか、機能を落とすか、何かで妥協しなくてはいけないという考えだ。ある程度は当てはまるとしても、「よくよく考えると、一概にトレードオフとは言い切れない」という考えが徐々に広まりつつある。

 スピードと品質を考えると、鍵を握るのはやはりテストだ。かつてのリリース頻度やスピード感なら多少手動でもどうにかなったかもしれない。しかし昨今ではリリース頻度が高まり、回帰テストの範囲も雪だるま式に増える。もう手動では追いつかない。ただでさえ人手不足のなかでテストに工数がとられてしまうと、開発現場としては致命的だ。何も手を打たないとデグレードに陥ることもある。

圧倒的な速さで高品質なアプリケーションをリリースし続ける『アシストのDevOps推進ソリューション』

 DevOps推進ソリューションとは、「圧倒的なスピードで高品質なアプリケーションをリリースし続ける」ことを目的としたDevOpsの推進を支援するソリューションです。開発プロセスを可視化するサービス、CI/CDを実現するITツールのご提供、そして、DevOpsトレーニングとIT運用改善サービスがセットになっています。

 加えて、一般的な開発フェーズに沿った課題解決サービスも提供しているため、開発全体の最適化を目指す方、特定のフェーズに課題をお持ちの方いずれも、自社に合わせて活用いただけます。

開発工程のボトルネックを見つけるには? チーム全体で探す方法

 とはいえ、開発現場における課題感は千差万別であり、一概にテストの改善が特効薬になるとは限らない。テスト以外にも開発プロセス全体を見渡すとボトルネックがある可能性は大いに考えられる。

 しかし全体を見渡してどこにボトルネックがあるかを自社で探そうとしても、なかなか難しい。自分の欠点はなかなか見出せないものだ。そこでアシストでは開発現場向けのソリューションとしてバリューストリームマッピング(VSM:Value Stream Mapping)を用いることでボトルネックを探すサポートをしている。

 VSMは開発工程全体を見渡して、ボトルネックを探すのに使うツールや手法だ。トヨタ生産方式から生まれた「リーン生産方式」がもとになっている。実際のサポートではアシストがファシリテーターとなり、開発メンバー、運用メンバー、時には企画部も集めて製品がリリースされるまでの一連の流れをシェアしながらボトルネックを探す。例えばホワイトボードにそれぞれのタスクにおけるリードタイムやタスクごとに抱える課題を挙げていく。

VSMを作成している様子
実際のVSMワークショップ風景

 こういう機会を設けてシェアする前は、それぞれの担当者だけが漠然と意識しているだけのことが多い。開発工程全体を関係者一同でシェアすることで、担当者だけで抱えていた課題がより明確になり、開発チーム全体の課題として共有される。若月氏は「全体でシェアすることで、自分たちにとって本当に取り組むべき課題が明らかになることが多いです」と語る。

 ある企業では「開発プロセスを見直したい」がきっかけでボトルネックを探すことにした。事前の段階では保守改修時にデグレードが多い、トラブルが多いなどが課題として挙げられていた。実際にVSMを実施してみたところ、いくつかの課題が明確になった。

 1点目はコーディング規約が陳腐化していた。不要なコメントが多く、コードの可読性が悪いことが明らかになった。これは生産性や保守性に悪影響を与えるため、コーディング規約を見直し、かつ最新の規約を徹底することにした。

 2点目は承認プロセスに不備があった。開発工程にはレビューやチェックなどさまざまな承認プロセスがある。全体を見渡し、不必要な承認は削ることにした。また、ある承認プロセスは開発工程の終盤にあり、そこでNGが出ると手戻りが多くなっていた。このプロセスは手戻りが少なくなるようにタイミングを前倒しした。こうして承認プロセスを効率化するように整備した。

VSM
VSMで可視化したタスクの流れとコメントの例

 従来こうした全体工程を見渡してボトルネックを探すとなると、管理者が行うことが多く、現場の意見が反映されないことがほとんどだった。VSMのような標準的な手法であれば関係者全員の意見が反映され、みんなで使えるため関係者一同で課題を共有できるというメリットもある。

 開発現場のボトルネックは開発チーム、プロジェクトまたはプロジェクトの進ちょく段階により変化することもある。また課題は短期的に解決できるものと、中長期で取り組まなくてはならないものもある。多種多様な課題を整理するための第一歩としてVSMを活用するのが良さそうだ。

圧倒的な速さで高品質なアプリケーションをリリースし続ける『アシストのDevOps推進ソリューション』

 DevOps推進ソリューションとは、「圧倒的なスピードで高品質なアプリケーションをリリースし続ける」ことを目的としたDevOpsの推進を支援するソリューションです。開発プロセスを可視化するサービス、CI/CDを実現するITツールのご提供、そして、DevOpsトレーニングとIT運用改善サービスがセットになっています。

 加えて、一般的な開発フェーズに沿った課題解決サービスも提供しているため、開発全体の最適化を目指す方、特定のフェーズに課題をお持ちの方いずれも、自社に合わせて活用いただけます。

複雑化するコード、工数がかかるテスト……開発プロセスのボトルネックにどう対処する?

 もし課題が何らかのツールやソフトウェアを導入することで解決できるなら、当然アシストに最適な導入ができるように支援してもらえるだろう。

 例えばコーディング部分。特に長期間にわたって開発されてきたシステムのコードは複雑化してしまいがちだ。

コーディングの高度化に対する課題
コーディングの高度化に対する課題

 こうした課題について、アシストであれば「ChangeMiner」を用いてシステムの依存関係を可視化し、システム品質と開発/保守の生産性を向上させたり、「Fortify SCA」を用いて脆弱性を検知し即座に対応したりすることができる。

 また、テストについてはどうだろう。社会がシステムに求める信頼性のハードルが高まっていることから、負荷テストや継続的なテストに工数をかけている現場は多いのではないだろうか。

コーディングの高度化に対する課題

テストの高度化に対する課題

 先述した通り、アシストではテストに関連するソフトウェアを幅広く扱っているため、テストに関してはソフトウェアのサポートも特に手厚い。負荷テストであれば「LoadRunner Professional/Cloud」があり、継続的な機能・回帰テストには「UFT One」が工数削減に役立つ。

 これらのツールについて、アシストは必要であればトレーニングやサポートを提供してくれる。アシストの頼もしさは導入だけではなく、自走化や運用で伴走してくれるところだ。テスト自動化製品を利用しているユーザーに向けては、例えばテスト設計などテーマを決めてユーザー会を開催し、ユーザー相互にノウハウ共有を図り製品活用の幅を広げるような活動にも力を入れている。

 若月氏自身は運用経験が長いこともあり、次のように話している。「企業で開発を担う方々はビジネス部門からの大きな期待を背負いつつ、日々の開発業務を進めておられるので、本当にお世辞ではなく尊敬の念をいだいております。私たちは実際のコーディングや開発に直接携わることはできませんが、開発業務の周辺にある面倒なこと、効率性の阻害要因を取り除くお手伝いをしたいと思っています。これからもお客様の課題に的確に、かつ継続的に解決策を提示できるように、私たちのツールやソリューションを日々アップデートしていきたいと考えております」

圧倒的な速さで高品質なアプリケーションをリリースし続ける『アシストのDevOps推進ソリューション』

 DevOps推進ソリューションとは、「圧倒的なスピードで高品質なアプリケーションをリリースし続ける」ことを目的としたDevOpsの推進を支援するソリューションです。開発プロセスを可視化するサービス、CI/CDを実現するITツールのご提供、そして、DevOpsトレーニングとIT運用改善サービスがセットになっています。

 加えて、一般的な開発フェーズに沿った課題解決サービスも提供しているため、開発全体の最適化を目指す方、特定のフェーズに課題をお持ちの方いずれも、自社に合わせて活用いただけます。

記事内でご紹介したツールについて

開発元:マイクロフォーカスエンタープライズ株式会社

  • Micro Focus UFT One

  • Micro Focus LoadRunner Professional

  • Micro Focus LoadRunner Cloud

  • Micro Focus Fortify Static Code Analyzer

開発元:ジーティーワン株式会社

  • ChangeMiner

この記事は参考になりましたか?

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16797 2022/12/22 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング