Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

自社サービスkintoneをふんだんに活用したサイボウズの開発フロー

32,739 views

Published on

デブサミ2015で発表したサイボウズの開発フローのお話。
http://event.shoeisha.jp/devsumi/20150219/session/820/

Published in: Software
  • Be the first to comment

自社サービスkintoneをふんだんに活用したサイボウズの開発フロー

  1. 1. 自社サービスkintoneを ふんだんに活用した サイボウズの開発フロー 19-G-5 #devsumi サイボウズ株式会社 #cybozu kintone開発チーム 岡田 勇樹
  2. 2. 自己紹介 •岡田勇樹 @y_okady •サイボウズ新卒8年目 31歳 •いわゆるプレイングマネージャー • Webアプリケーションエンジニア • kintone開発チームリーダー • 大阪開発部 副部長
  3. 3. Agenda 1. サイボウズで作ってるもの 2. 開発フローの全体像 3. 実装フェーズの効率的な進め方 4. 実装以外のお仕事 5. 業務に合わせたkintoneの活用 6. まとめ
  4. 4. サイボウズで作ってるもの サイボウズではどんなサービスを開発してるの?
  5. 5. クラウドサービス ハードウェア・ネットワーク OS ミドルウェア Webアプリケーションフレームワーク Webアプリケーション
  6. 6. 開発フローの全体像 どういう人たちがどういう流れでサービスを開発してるの?
  7. 7. リリースまでの流れ 要件定義 仕様/デザイン策定 実装 試験 リリース
  8. 8. 関わる人たち UX/UIデザイナー ドキュメントエンジニア アプリケーションエンジニア 品質保証エンジニア インフラエンジニア プロダクトマネージャー 要件定義 仕様/デザイン策定 実装 試験 リリース
  9. 9. よくある「開発フロー」の話 UX/UIデザイナー ドキュメントエンジニア アプリケーションエンジニア 品質保証エンジニア インフラエンジニア プロダクトマネージャー 要件定義 仕様/デザイン策定 実装 試験 リリース
  10. 10. 時間もあるので まずはよくある話をします!
  11. 11. 実装フェーズの効率的な進め方 どんなツールを活用して、どうやって効率的に実装してるの?
  12. 12. 2015/1 2015/2 2015/3 2015/4 2015/5 リリースサイクル Ver.3 試験実装 Ver.4 試験実装 Ver.5 試験実装
  13. 13. 機能実装 2015/1 2015/2 2015/3 2015/4 2015/5 Ver.3 試験実装 Ver.4 試験実装 佐藤 鈴木 田中 佐藤 鈴木 田中 新機能 バグFix 複数人による 複数バージョン の並行開発
  14. 14. 2015/1 2015/2 2015/3 2015/4 2015/5 Gitブランチ運用 Ver.3 Ver.4 佐藤 鈴木 田中 佐藤 鈴木 田中 バージョンブランチ フィーチャーブランチ マージ マージ ブランチ作成
  15. 15. フィーチャーブランチ ブランチ 作成 実装 プルリク 作成 レビュー マージ 実装担当者 レビュー担当者
  16. 16. 実装中にバグを見つけた時 2015/1 2015/2 2015/3 2015/4 2015/5 Ver.3 佐藤 鈴木 田中 誰が実装したどの機能が原因?
  17. 17. 難航する犯人探し 2015/1 2015/2 2015/3 2015/4 2015/5 Ver.3 佐藤 鈴木 田中 この中のどれか!
  18. 18. マージ コンパイル 単体テスト 受け入れテ スト デプロイ 自動テストの自動実行 × テスト通らぬ者、マージすべからず プッシュ コンパイル 単体テスト マージ可能 Webhook Webhook
  19. 19. Build Pipeline Plugin コンパイル 単体テスト 受け入れテ スト デプロイ ビルドプロセス の見える化
  20. 20. 自動テストの種類 プロトタイプ シミュレーション 受け入れテスト 探索的テスト 単体テスト コンポーネントテスト 負荷テスト セキュリティテスト ビジネス面 技術面 製品を批評開発を支援 「実践アジャイルテスト – テスターとアジャイルチームのための実践ガイド」より
  21. 21. ドッグフーディング 社外公開環境 ドッグフーディング環境 マージから反映まで30分 マージの数だけ1日に何度も更新 実業務で利用
  22. 22. 実装以外のお仕事 実装以外に開発チームが関わるお仕事ってどんなの?
  23. 23. 実装以外のお仕事 要件定義 仕様/デザイン策定 実装 試験 リリース 要件定義書 フィードバック収集 機能仕様書 タスク管理 バグ管理 試験設計書 リリース作業依頼 コミュニケーション 開発計画
  24. 24. 実装以外のお仕事の分類 ドキュメント管理 スケジュール管理 ToDo管理 コミュニケーション 要件定義書 フィードバック収集 機能仕様書 タスク管理 バグ管理試験設計書 リリース作業依頼 開発計画 その他もろもろ
  25. 25. 世の中でよく使われているツール ドキュメント管理 スケジュール管理 ToDo管理 コミュニケーション
  26. 26. サイボウズで使っているツール ドキュメント管理 スケジュール管理 ToDo管理 コミュニケーション
  27. 27. 業務に合わせたkintoneの活用 kintoneにはどんな機能があって、どう活用すればいいの?
  28. 28. まず押さえておきたいこと kintoneは使うものではなく、作るもの エンジニアのみなさんの得意分野!
  29. 29. どれぐらい時間かけてますか? •フォームに入力欄を1つ追加する場合 • データベースにカラム追加 • 一覧、詳細、追加、編集画面の修正 • 取得、追加、編集ロジックの修正 • 検索ロジックの修正 • 入力値チェックのテスト追加 数時間?
  30. 30. どれぐらい時間かけてますか? •フォームにファイル添付機能を搭載する場合 • データベースにカラム追加 • 詳細、追加、編集画面の修正 • 取得、追加、編集ロジックの修正 • 削除ロジックでファイルも削除 • ファイル保存ロジックの追加 • ファイルシステムに保存するか • データベースにBlobで保存するか • クラウドサービスにアップロードするか • ファイル保存のテスト追加 数日?
  31. 31. フォームを自由自在に設計できる ドラッグ&ドロップで フィールドを配置 数秒!
  32. 32. 基本的な画面が用意されている 詳細画面 一覧画面 追加/編集 画面
  33. 33. kintoneでドキュメント管理 カテゴリー機能で 分類
  34. 34. kintoneでToDo管理 プロセス管理機能で ステータスと作業者 を設定
  35. 35. kintoneでToDo管理 グラフ機能で 進捗確認
  36. 36. kintoneでスケジュール管理 カレンダー形式で 月表示
  37. 37. kintoneでコミュニケーション スペース機能で チームメンバー とやり取り ピープル機能で つぶやき
  38. 38. もっと自分好みに REST APIで外部 システム連携 プラグインで 機能拡張 JavaScript/CSSで 画面カスタマイズ
  39. 39. まとめ 今日一番お伝えしたかったことは?
  40. 40. 開発フローのおさらい 要件定義 仕様/デザイン策定 実装 試験 要件定義書 フィードバック収集 機能仕様書 タスク管理 バグ管理 試験設計書 リリース作業依頼 コミュニケーション 開発計画
  41. 41. 実装フェーズの効率的な進め方 •リリースサイクルに合わせたGitブランチ運用 •自動テストの自動実行 •ビルドプロセスの見える化 •目的に応じた自動テスト × ×
  42. 42. 業務に合わせたkintoneの活用 •kintoneは使うものではなく、作るもの •自分好みのkintoneを作ろう ドキュメント管理 スケジュール管理 ToDo管理 コミュニケーション
  43. 43. Enjoy Development! 効率的で楽しい開発を。

×