こんにちは、MagicPodでセールスをしている猪狩(いかり)です。
今回は、7月28日に開催されたLaunchable様との共催セミナーの様子をレポートしていきます!今回のイベントでは、Jenkinsプロジェクトの創始者でもあり、数多くの最先端ソフトウェア開発現場で活躍されてきたLaunchableの川口 耕介さんとの対談もあり、イベント公開当初から開催が待ちきれないと多くのお声をいただいておりました。それでは早速、イベント概要をみていきましょう。
最先端の機械学習を駆使して自動テストの効率的運用を追求し、日々新しい価値を創出するLaunchable。革新的な技術でE2Eテストプロセスを自動化し、業界の明日を切り開くMagicPod。これら2社のCEOが、同じイベント場で交わす初めての対話。
テスト自動化が急速に進化しソフトウェア業界の新たな潮流となる中、その最先端を走る2社がどのようなビジョンを描いているのか。今後の展望はどうなるのか。このイベントでは、それらの疑問に切り込んでいきます。
今回お話いただいたLaunchableのCEO川口 耕介さんのプロフィールはこちら。
Jenkinsプロジェクト創始者。Launchable, Inc 共同社長。ソフトウェア開発者として、講演者として、産業界で、またDevOpsコミュニティ・イベントで著名。Jenkins を作成する上での川口の感性と、ソフトウェア開発を取り巻く問題・環境に関する彼の深い理解は、彼が CTO を務めた CloudBees の会社としての戦略にも大きな影響を及ぼした。 CloudBees に入社する前は、Sun Microsystems と Oracle に勤務。
一貫してソフトウェア開発の生産性を向上する取り組みをなさってきた川口さんは、様々なエンジニアリングチームの方とお話をす る中で共通の課題をお聞きすることが多かったといいます。「ソフトウェア開発のスピードを維持しつつ」、同時に「品質の高いソフトウェアをリリースしていく」ことの難しさ。その点について、DevOps Infinity Cycleの図を使って、開発生産性向上のためにはテストがボトルネックになっていると説明します。
そして、コンテナ船に積むエンジンを例にとり、ソフトウェア開発には「摩擦や熱」が発生すると語ります。
「大規模なソフトウェア開発現場では、ソフトウェア開発者の一人一人が新しい変更を日々作っていきます。そして、それぞれのピストン(開発者)から出てくる力をなんとかして一列の力に編み上げないといけない。エンジンの場合はスクリューを回す訳ですけれど、ソフトウェア開発においては、たくさんの変更を直列化してリリーサブルなバイナリーとして出していきます。それら、ソフトウェア開発者の変更に間違いがなければただ一直線にコミットしていけばいいだけですが、実際にはそれらの中には上手くうごかないものもある。それが歯車を絡ませ、摩擦や熱が発生してしまう」
そこで、Launchableでは以下の3つの具体的課題の解決に取り組んでいます。
・不健康なテスト(Unhealthy tests)
上手く書けておらず、問題があるテストであり、間違った原因で失敗してしまう
・長いフィードバックループ
開発者へのテスト結果のフィードバックが遅く、バグを修正しようにも当時のことが思い出せない
・テスト実行コスト
大規模なプロジェクトでは、全てのテストを全ての変更に向けて実行することが難しくなる
これらの3つの課題が結果として、以下のような悪いサイクルにつながっていきます
・機能のリリースが遅くなる
・十分なテストができず、テストがスキップされたり頻度が落ちる
・テストに対する信頼が失われる(テストの「オオカミ少年現象」)
・開発環境が悪化し、最悪の場合は開発者がやめてしまう
それらの問題にむけて、どのように解決策を提示するか。川口さんは以下の3点をLaunchableで解決すると語ります。
・不健康なテストをみつける
役に立っていなかったり、フレーキーだったり、問題のあるテストを浮き上がらせる
・フィードバック時間を短縮
変更に関係のあるテストだけ回し実行時間を短縮し、シフトレフトを実現する
・失敗しそうなテストを選ぶ
スモークテストのように人が選んでいたものを機械学習で効率的に選べるようにする