# JaSST 鹿鹿児島 アジャイル Ruby クラウド (ARC) を活 用したビジネスにおける テストの実践 ~ソニックガーデンの事例例 ~ 倉貫義 人 http://kuranuki.sonicgarden.jp @kuranuki
本日のテーマ テストの理想を現場視点で実現する
アジャイル Ruby クラウド (ARC) を活 用したビジネスにおけるテストの実践 はじめに : 自己紹介
自己紹介 倉貫義 人 Yoshihito Kuranuki 昭和 49 年年 生まれ 38 歳京都府出 身 株式会社ソニックガーデン代表取締役社 長 Twitter: @kuranuki ブログ : Social Change! http://kuranuki.sonicgarden.jp 心はプログラマ 仕事は経営者
日経BP社さんにはお世話になってます 日 経 ビ ジ ネ ス 日 経 S Y S T E M S 日経コンピュータ
テレビ東京系列 ワールドビジネスサテライト に出演 エンジニアのための リーンスタートアップ 入 門 連載
これまでのキャリア 2011 年年 MBO による株式会社ソニックガーデン設 立立 2009 年年 TIS 社内ベンチャーとして SonicGarden 立立ち上げ 2008 年年 SKIP オープンソース化 2005 年年 Ruby で社内 SNS:SKIP 開発 2004 年年 ADC2004 受賞書籍執筆 & 日本 XP ユーザグループ代表就任 2003 年年 TIS にて基盤技術センター 立立ち上げ 1999 年年 立立命館 大学院卒業 & TIS( 旧 : 東洋情報システム ) 入社
IT 投資に対するソフトウェアの価値を最 大化すること 習慣を変えることのできるソフトウェアをつくること に取り組んでいるソフトウェア企業が SonicGarden です 事業内容 1. オリジナルのソフトウェアの提供 2. ウェブアプリケーションの受託開発 くわしくは
アジャイルソフトウェア開発宣 言 私たちは ソフトウェア開発の実践あるいは実践を 手助けをする活動を通じて よりよい開発 方法を 見見つけだそうとしている この活動を通して 私たちは以下の価値に 至った プロセスやツールよりも 個 人と対話を 契約交渉よりも 顧客との協調を 包括的なドキュメントよりも 動くソフトウェアを 計画に従うことよりも 変化への対応を 価値とする すなわち 左記のことがらに価値があることを 認めながらも 私たちは右記のことがらにより価値をおく
DRY Don t Repeat Yourself. 保守性高い生産性を維持継続
仮想化 Infrastructure / Platform as a Service スモールスタート & スケールアウト
ソニックガーデンで開発しているソフトウェアの特徴 完成して販売ではなく 継続的にサービス提供 自動的にバージョンアップがずっと続いていく 不不具合が無いからといって 儲かる訳ではない
ソニックガーデンでは 自社企画も受託開発も ソフトウェアそのもの を売るのではなく ソフトウェアが使えること を売っています
アジャイル Ruby クラウド (ARC) を活 用したビジネスにおけるテストの実践 開発プロセスとテスト
役割分担 プロダクトオーナー ( お客様 or 弊社 ) ビジネスオーナー ( お客様 ) ファシリテーター ( 弊社 ) プログラマチーム ( 弊社 ) ビジネスオーナーの役割 ソフトウェアで解決したい問題の設定 ゴールおよびビジョンの設定 企画 マーケティング プロモーション プロダクトオーナーの役割 ソフトウェアの機能およびUI/UXの設計 何を作れば正解か (= 仕様 ) の決定 決定権の混乱を防ぐため1 名と限定します プログラマチームの役割 プロダクトオーナーの設計の 支援 プログラミングとクラウドでの運 用 メインとサポートの2 名体制で対応します ファシリテーターの役割 プロジェクト進 行行のサポート 契約内容に関するご相談 ( 営業担当 )
ツールとプロセス プロダクトオーナー エンドユーザ 1 ユーザストーリーを登録 7 いつでも確認 9 利用 3 普段の対話 5 週 1 の会議 8 リリース 2 見積もり後に作業開始 4 ソース共有 プログラマ 6 継続デプロイ
ソニックガーデンにおけるテスト RSpec TDD/BDD ロジック Capybara Cucumber フィーチャー プログラマプロダクトオーナー チケット PO 受入テスト ユーザビリティ UX オペレーション パフォーマンス監視 セキュリティチェック ビジネス マーケティング A/B テスト コホート分析 MVP(Minimum viable Product) 価値仮説と成長仮説
RSpec のサンプルコード
RSpec からの自動生成 通常の出 力力結果 ( 色付きテキスト ) 仕様書として出 力力 (HTML)
Capybara のサンプルソース
アジャイル Ruby クラウド (ARC) を活 用したビジネスにおけるテストの実践 品質に対するパラダイムシフト
完成すること から 持続すること へ
完成指向 から 持続可能 へのパラダイムシフト バグをなるべく出さないようにする バグが出てもすぐに直せるようにする サーバは落落ちないようにする 落落ちてもすぐに復復旧できるようにする データ変更更ないように設計する データ変更更しても対応できるようにする ビジネスのプランを重視する ユーザのフィードバックで製品を変える
バグが出てもすぐに直せるようにする ためには? コードの共同所有 継続的リリース リファクタリング テストコード コードレビュー ペアオペレーション フレームワークの統 一 プラットフォームの統 一
ソニックガーデンの考える 品質 とは? 誰が顧客なのかがわからなければ 何が品質なのかもわからない ( リーンスタートアップより ) そのテストの 目的はなにか? 何を売っているのか? プログラムの正しさ 仕様の正しさ ビジネスの正しさ
Point of Sales から Point of Use へ Point of Sales 買った時点が最 高で そこから陳腐化が始まるもの Point of Use 常に使っている時点で最 高 最新のものを利利 用できる q 買った時点が最 高品質 q 利利 用中が最 高品質 ( 常にアップグレード ) 利利 用 すぐに利利 用開始 構築 償却 製造業 t サービス業 t
Point of Use で大事なこと DevOps 継続性 保守性 運 用中 心プロセス
サービス型の受託開発を支える技術 ARC DRY(Don t Repeat Yourself) CoC(Convention over Configuration)
アジャイル Ruby クラウド (ARC) を活 用したビジネスにおけるテストの実践 さいごに : ビジネスモデルを変える
ソフトウェアビジネスの分類 開発受託を 行行いますが 人 月による 見見積の納品型の受託は 行行いません SonicGarden のビジネスモデルは 納品しない受託開発 ( サービス型の受託開発 ) です 利利 用 特殊 汎 用 所有
ディフェンシブな開発 アジャイルは悪くないが ビジネスモデルが問題予め決まった 金金額と要件の中で納品と検収を 目指す利利益を出すにはリスクを取らずに 守り に 入るシステムで価値を産むこと < 要件通りに作ること
ディフェンシブな開発がもたらす問題 SIビジネスの本質は保険屋 お 金金さえ出せば 赤字だろうと最後まで責任を持ってくれる リスクの丸抱えをするだけの企業体 力力のみが優位性になる 技術者からみた SI ビジネス 人 月による 見見積もり と 成果物の完成責任 の捻捻れ? プログラマの 生産性が上がれば上がるほど売上が下がる?
ディフェンシブな開発 から脱却を IT 投資のコストパフォーマンスの悪さ 1) ベンダの 見見積りにおける過重なバッファ 2) 開発と運 用で別の業者を利利 用していること 3) 最 大時を想定したハードウェアを購 入していること 一括での発注 請負 が原因 >> 仮説 納品しない
ソフトウェアパートナーシップモデル オーダーメイドの受託 と 納品しないこと と 派遣しないこと の両 立立 定額モデル で 金金額を 見見積もりから分離離する 月額定額の中で出来る範囲の開発と運 用をする 顧問弁護 士や税理理 士のような顧問ビジネスに近い 内製部隊としてライフサイクルすべてを受け持つ クラウドを活 用してエンジニアの派遣はしない 目指す姿は リスクを理理解したお客様と プログラマが直接対話し お客様のために オーダーメイドで 価値を産むソフトウェアを提供するスタイル
サービス型の受託開発とは クラウドで使えるソフトウェアの開発および運 用を 月額定額でチームを固定して提供 メリット 3 いつでも要求を変更更することができます メリット 1 いつでも動くサービスで仕様確認ができます メリット 2 いつでも作り 手と直接に対話できます メリット 4 いつでも顧客の 立立場にたった提案をします
本日のテーマ テストの理想を現場視点で実現する テストの目的をビジネス視点で考える
さいごに : ソニックガーデンのミッションとビジョン Embrace Change 変化を受け 入れ変わっていくこと Fearless Change 変化を恐れず 自ら変えていくこと Social Change 自らの変化を周囲に広げていくこと
ありがとうございました 続きはブログで