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.

自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜

Asiyan Automation Alliance 2015 ~JI・DO・U・KAッ! (2015/06/27) にて発表した資料です。(約45分)
申し込みサイト : http://kokucheese.com/event/index/285177/

…当日本番大失敗の自戒を込めて…

自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜

  1. 1. Asiyan Automation Alliance 2015 そんな自動化で 大丈夫か? 大〜 丈夫だ、問題ない〜
  2. 2. …という題名での発表を 予定しておりましたが、 当初構想とかけはなれて しまったため、 急遽、 タイトルと内容と 意気ごみを変更して お送りします。
  3. 3. Asiyan Automation Alliance 2015Asiyan Automation Alliance 2015 オッサン技術者の一年戦争〜 〜 オ ー ル ド タ イ プ Ver.1.0
  4. 4. Part.0 雑な プロパガンダ
  5. 5. みなさん、 自動化は好き ですか?
  6. 6. みなさん、 自動化 やってますか?
  7. 7. みなさん、 自動家って 知ってますか?
  8. 8. みなさん、 自動家って 知ってますか? そりゃそうですよね。 オレが 言い出したん だから♪
  9. 9. 自動  とここでは呼ばせてもらいます! 自動家 とここでは呼ばせてもらいます! 前回のあらすじ① • 自動化が大好きで、実際に考え、 機構を作り出す人の事を… オ ー ト メ ー タ ー
  10. 10. 自動  とここでは呼ばせてもらいます! 自動家 とここでは呼ばせてもらいます! 前回のあらすじ① • 自動化が大好きで、実際に考え、 機構を作り出す人の事を… オ ー ト メ ー タ ー 前年の今ごろ、 AAA というイベントが ありまして… そこでブチアゲ させて頂いた。
  11. 11. んなの 見てないし、 わけわからん!
  12. 12. では、 こんなノリで 覚えて下さい。
  13. 13. 自動化する人、 自動家。 (オートメーター)
  14. 14. みなさんは 自動家 ですか?
  15. 15. 賛同いただけた方 賛同の方 -> ですよね! いやー来てよかった! 今日を楽しみましょう!
  16. 16. ちょっと…という方 「いやぁちょっと…」の方 -> ですよね! では、本日から 名乗って行きましょう♪
  17. 17. ちょっと…という方 「いやぁちょっと…」の方 -> ですよね! では、本日から 名乗って行きましょう♪ スキを生じぬ 二段構え!
  18. 18. \(・_\)オイトイテ(/_・)/
  19. 19. 大願! 自動家 自動化脳自動化術 自動化主義 これを持つ人材、これを持つ人材、 チーム、現場、会社、国、チーム、現場、会社、国、 そして世界となれば…そして世界となれば…SS 前年のAAAにて ・自動家は必要だ! ・自動家はこういう人だ! ・そうでないとイヤだ! というのを 世に投げてみました。
  20. 20. 大願! 自動家 自動化脳自動化術 自動化主義 これを持つ人材、これを持つ人材、 チーム、現場、会社、国、チーム、現場、会社、国、 そして世界となれば…そして世界となれば…
  21. 21. 自動家 は、 増えた でしょうか?
  22. 22. ①増えた!
  23. 23. ①増えた! そうでしょうそうでしょう! なるほど 「一般化」 「コモディティ化」 「キャズムをこえる」 してっいてるんですね!
  24. 24. ②増えてません!
  25. 25. ②増えてません! それはいけませんね! 「現場がしんどい」 可能性があります。 増やしていかないと ですね!
  26. 26. 現実側を 追いつかせて 行く スタイル
  27. 27. このセッションでは、 「一年間、一人のオッサン が自動家をやってみた」 その実録と得られたモノ、 また「自動化の考え方」 について話していきます。
  28. 28. Part.1 Who are you ?
  29. 29. 自己紹介 三浦 一仁(ミウラ カズヒト) @kazuhito_m
  30. 30. こう覚えてください… 三浦 一仁(ミウラ カズヒト) @kazuhito_mあだ名が… ”みうみう” (1977年 、独身〜 ) の 自動家(見習い)
  31. 31. Part.2 ミウラの一年
  32. 32. 動いてみた ついに「自動化」を していく 役回りの仕事に!
  33. 33. どんな感じか… スクラムマスター スクラムチーム 改善テーマ
  34. 34. どんな感じか… スクラムマスター スクラムチーム 改善テーマ • 自動家?…っぽい業、始まる –2014/08 から、客先常駐で • アジャイル開発のチーム6人中の一人として –「タスクボードの付箋をこなす」広く知ら れたやり方のスクラムチーム –スクラムマスター・プロダクトオーナー在 • 「プログラマ 兼 自動化環境整える人」 という役割 –スクラムマスターから「改善のテーマ」を 与えられ、それを月単位で実現していく –通常の(プロダクト作る)プログラマもする
  35. 35. 仕事の仕方 通 常 プ ロ ダ ク ト 開 発 自動家 業 1〜2割程度 1 日 • 通常の開発の傍ら、 1〜2割程度をCI/CDや 自動化に 「使って良い」 という立場
  36. 36. 通 常 プ ロ ダ ク ト 開 発 自動家 業 1 日 • しかし… • ふっつーの「プログラ ム能力」が低く、一人 分こなせず • 自動家としても…(ry 実際には
  37. 37. 通 常 プ ロ ダ ク ト 開 発 自動家 業 1 日 • しかし… • ふっつーの「プログラ ム能力」が低く、一人 分こなせず • 自動家としても…(ry 実際には 実力不足、 うらめしい! (無論、自戒です)
  38. 38. やったこと 月度 実現したもの 2014/08 Jenkinsを使った継続的インテグレーション(CI)環境 2014/09 Dockerを使った継続的デリバリー(CD)環境(即時デプロイメントパイプライン) 2014/10 CDからつながるVNCSeverとSeleniumテスト環境&テスト方式 2014/11 メトリクス記録 2014/12 DB更新テスト環境&テスト方式 2015/01 〃 2015/02 ステージング環境へのデプロイ自動化(1アクション化 2015/03 本番環境デプロイ自動化(1アクション化) 2015/04 〃 (ここまでが課題) 2015/05 本番環境 as Code(頓挫・継続中) 2015/06 「開発環境をすべてLinuxでできるか実験」as Code(趣味・継続中) • その他:チャットサーバ導入、音楽・音声の導入 • スクラムマスターに「改善のテーマ」を与えられ、実 現方法考える仕事 • 2015/05以降は「自分で考えて改善していく」仕事
  39. 39. やったこと •百聞は一見にしかず! –※デモしまーす
  40. 40. やったこと • 作ったもの –結構、普通 •CD/CIの教科書に書いてある模範的な 「ビルド/デプロイパイプライン」 –特筆点 •CIサーバ以外、すべてDocker内で挙動 –ポータビリティ高し –サーバマシン一つでも再現できる
  41. 41. やったこと • 作ったもの –結構、普通 •CD/CIの教科書に書いてある模範的な 「ビルド/デプロイパイプライン」 –特筆点 •音がなる、しゃべる、パトランプ回る –OK・NGの時、大体何かリアクション –人語を操る •CIサーバ以外、すべてDocker内で挙動 –ポータビリティ高し –サーバマシン一つでも再現できる 現場の事情と 自身の 「これいいんじゃね?」 をやってみて 知った事
  42. 42. やってみた事 その1 • パトランプ回してみた –どんなこと? • ソースのコミット時に自動テストを回し、 NGになるとパトランプが回るようにした –なぜ? • テストが落ちている(異常な状況)を当たり 前にしないため –結果 • 皆がCIサーバ(Jenkins)とソースの状態を 気にするようになった –想定外の結果 • 「回してなるものか!」のチキンレースに
  43. 43. やってみた事 その2 • CIサーバが音を出す –どんなこと? • 自動テスト終了時に音(SE)を出した • NG/OKともに別の音がなるように –なぜ? • 個人的に…自分もチームメンバーも「働い てるで!」を知らしめたかった –結果 • なんとなく実績をアピール出来た –想定外の結果 • 皆が他人のソースコミット状況を知り最新 ソースをこまめに取得するように
  44. 44. 問題発生!
  45. 45. 問題は? CIサーバのテスト種類も増えてきて、ジョブ も増えて、それごとSEを割り当てていたら… 「この音は何の意味じゃったかなぁ?」とい うカオスなことに… ♪ ♪ ♪ ♪ ♪ ♪
  46. 46. やってみた事 その3 • CIサーバが人語をしゃべる –どんなこと? • CIサーバのジョブの最後にジョブ名などを 日本語で話させるようにした –なぜ? • ジョブ情報を画面を見ずに知覚したかった • 「サーバーが喋る」とか最高にロック! –結果 • 問答無用で結果がわかるようになった –想定外の結果 • 横のチームに波及した
  47. 47. やってみた事 その4 • 音声をチャイムに転用してみた –どんなこと? • 昼休み、定時など、イベント事に喋らせた • その際、個人名を入れたりカウントダウン したり、日毎に違う事言わせたり遊んだ –なぜ? • 「言い難い事」は機械に言わせたかった –結果 • 比較的時間に従うようになった –想定外の結果 • チームにリズムを作った • メンバーがJenkinsで遊ぶようになった!
  48. 48. やってみた事 その他 • その他色々 – どんなこと? • シチュエーション別大量テストサーバ作成 • 1〜2日の「短い仕事」にも自動化を(HTML自動修 正など) • Webの画面自動テスト&自動動画撮影 • ワンクリックデプロイ – なぜ? • 「自動化の良さ」をチームに解って欲しかった – 結果 • チームメイトが要求とアイディアを出すように なった
  49. 49. そんな「自動家」として 一年間 現場でやってみて 考えた事
  50. 50. 考えた事 やったことに関して– • 自分が「これが良い!」と思う事をやる重要性 –一般のセオリーでないものもやってみる • 例えば「テストOK時に音」など –何かしらの知見は得られる –ただし、チームを巻き込んでるので「予想を 超える悪いFB」には即時撤退すること • 自身の狙いと異なる「予想外の成果」が在ると 知る –「メンバーがJenkinsで遊び始める」など –自分ひとりでは「実行できない」し「その価 値に気づけない」ので、他者の協力と観測が 必要
  51. 51. 考えた事 - 自分が何を目指したか • 自分が何を目指したか –「与えられたテーマ」or「自身の工夫」 において –今思えば(暗黙のうちに)3つを意識 ①人の感覚に働きかけるモノ ②全自動 ③なんちゃら as Code
  52. 52. 考えた事 - 「自動化」の意識調査 • 自身の現場での「人の自動化の意識」分布 – ※三浦独自調べ&とある現場限定です – ※絶対的に母数が少ないためやはり限定的です 自動化意識無し自動化意識無し 40%40% 自動化意識在りも非実施自動化意識在りも非実施 40%40% 自動化を実施自動化を実施 20%20%
  53. 53. 考えた事 - 「自動化」の意識調査 • ただし… –誰かが継続的に意識を注入する事で変化 •自動家(的ポジ)、お客様、リーダなど 自動化意識無し自動化意識無し 20%20% 自動化意識在りも非実施自動化意識在りも非実施 40%40% 自動化を実施自動化を実施 40%40%
  54. 54. 考えた事 - 自動化は最初が肝心 • 「自動化」はやはり「最初が肝心」 –今回、自動化を実現するに、プロセス・ 仕組みで「なんでこの形?」が多かった •その把握に苦労し、既存の仕組み変更 に多くの労力を使った –「自動化」を実現しないまでも… •自動化を前提(かつToBe)とした –ロードマップ –プロセス&ツールデザイン を初期にできるだけやると、おそらく 苦労を抑えられるのでは?
  55. 55. Part.3 「自動化」って いったい 何でしょね?
  56. 56. 「自動化」の 到達基準
  57. 57. 「自動化」の到達基準 • 何が出来たら 「自動化が成った」 といえるのか • 2つある気がします ①「道具」の側面 ②「価値」の側面
  58. 58. 「自動化」の到達基準 道具– ①「道具」の側面 –「自動化の道具」は何を満たせば「自動化が 成った」と言えるか 1.人が常時付き添うことなく動く 2.人がすることが 「開始/終了の意思」と 「最小限の判断」しかしない 3.見ようと思えば状態を観測できる ※但し1.の「期間」は決めておかなければならない
  59. 59. 「自動化」の到達基準 - 価値 ②「価値」の側面 –「自動化の価値」は何を満たせば「自動化 成った」と言えるか • コストが想定内 • 改善の効果がある –仕事の速度、確実性、ストレス、プロセスな ど • 施策にビジネス価値がある • ※定性的なものが多く明確化は若干難しい
  60. 60. 「自動化」の到達基準 - 三浦の場合 • ミウラの一年ではどうだったか –「道具」の側面 • 8割ほど出来てた –作った道具に関してはほぼ「手放し運転」の現在 –若干「時折トラブル」というものも… –「価値」の側面 • 「スクラムマスターからの依頼」で自動化 だったので「価値が在る」前提 –ビジネス観点を注入している・制御している 人間がいれば適正な自動化になる –SMと自動家の組み合わせは良い…かも? • ただし今後(6月から)は自身の責任となる
  61. 61. 「自動化」の到達基準 - 三浦の場合 • ミウラの一年ではどうだったか –「道具」の側面 • 8割ほど出来てた –作った道具に関してはほぼ「手放し運転」の現在 –若干「時折トラブル」というものも… –「価値」の側面 • 「スクラムマスターからの依頼」で自動化 だったので「価値が在る」前提 –ビジネス観点を注入している・制御している 人間がいれば適正な自動化になる –SMと自動家の組み合わせは良い…かも? • ただし今後(6月から)は自身の責任となる プロダクトにおける 「プロダクト・オーナー」 のように、 自動化における 「オートメーション・オーナー」 という人が居ても 良いかもしれない…
  62. 62. 「自動化」の 浸透プロセス
  63. 63. 「自動化」の浸透プロセス • 「自動化」する、という事を広義で見れば –「道具出来た」が終わりではありません 自動化の道具 作ったで!! 知らんがな…
  64. 64. 「自動化」の浸透プロセス 1.自動化の道具が作られる 3.自動化の発想/要求がチームから出る 5.自動化道具がチームにより作られていく 2.チーム各員が自動化道具を使える 4.自動化道具がチームに運用維持される
  65. 65. 「自動化」の浸透プロセス 1.自動化の道具が作られる 3.自動化の発想/要求がチームから出る 5.自動化道具がチームにより作られていく 2.チーム各員が自動化道具を使える 4.自動化道具がチームに運用維持される 一年で行けたのは ココくらい? ココまで行けたら、 自動家不要!(卒業)
  66. 66. 「自動家になる」は ゴールなのか?
  67. 67. 「自動家」はゴールなのか? • 「自動家」は「完成体」で「ゴール」? –と問われたのですが、その時自分は尊敬 を込め「そう思ってる」と答えました • が!? –それでは「成るまで数年かかる」「担い 手が居ない」ので… • 今は –「ロール」のようなもの –組織中どんな立場でも「成りえる」もの と考えるようになりました
  68. 68. ちょっと伝わるかわかりませんが… • 「自動家」は「完成体」で「ゴール」? –と問われたのですが、その時自分尊敬を 込めは「そう思ってる」と答えました • が!? –それでは「成るまで20年かかる」「担い 手が居ない」ので… • 今は –「ロール」のようなもの –組織中どんな立場でも「成りえる」もの と考えています 例えば…
  69. 69. 超抽象的な図でごめんなさい… 世の中に新しくできた技術や仕組みやバズワードやトレンド 降ってくる ソフトウェア開発の世界 ハードウェアの 世界 お客様の業務 ご家庭 要件考える人 ビジネス価値を 上げる提案 できへんかな? 開発者 アプリ使いやすく出来 へんかな? 開発現場を もっと作りやすく できへんかな? 自分を 楽に 出来へん かな? 機械回す人 仕事が もっと早く 正確にならんかな? はぁー 生活がもっと 楽に快適に ならんもんかね? 今夜の おかずは なんじゃらほい? お父ちゃん ユーザに便利な サービスや製品 でけへんかな? 担当者 新しい仕事を 依頼できない かな? 「これを使って」を頭に、 各立場で咀嚼して、 活用の方法を考える
  70. 70. そして… 世の中に新しくできた技術や仕組みやバズワードやトレンド 降ってくる ソフトウェア開発の世界 ハードウェアの 世界 お客様の業務 ご家庭 要件考える人 ビジネス価値を 上げる提案 できへんかな? 開発者 アプリ使いやすく出来 へんかな? 開発現場を もっと作りやすく できへんかな? 自分を 楽に 出来へん かな? 機械回す人 仕事が もっと早く 正確にならんかな? はぁー 生活がもっと 楽に快適に ならんもんかね? 今夜の おかずは なんじゃらほい? お父ちゃん ユーザに便利な サービスや製品 でけへんかな? 担当者 新しい仕事を 依頼できない かな? そこに 「自動化の考え方」 を注入する 人々…
  71. 71. 個人的には尊敬を込めて… 世の中に新しくできた技術や仕組みやバズワードやトレンド 降ってくる ソフトウェア開発の世界 ハードウェアの 世界 お客様の業務 ご家庭 要件考える人 ビジネス価値を 上げる提案 できへんかな? 開発者 アプリ使いやすく出来 へんかな? 開発現場を もっと作りやすく できへんかな? 自分を 楽に 出来へん かな? 機械回す人 仕事が もっと早く 正確にならんかな? はぁー 生活がもっと 楽に快適に ならんもんかね? 今夜の おかずは なんじゃらほい? お父ちゃん ユーザに便利な サービスや製品 でけへんかな? 担当者 新しい仕事を 依頼できない かな? そんな人々は全員 「自動家」であり 「自動家ロール」な 人々なんだ ソフトウェア開発者は 考える方面も広く 可能性も多いので 若干世に出る事が多め?
  72. 72. さて、今回のAAAは…
  73. 73. この図を… ソフトウェア開発の世界 ハードウェアの 世界 お客様の業務 ご家庭
  74. 74. この図を… ソフトウェア開発の世界 ハードウェアの 世界 お客様の業務 ご家庭左に 90度回転 させて…
  75. 75. ソフトウェア 開発の世界 ハードウェアの世界 お客様の業務 ご家庭 こうなりますわな
  76. 76. ソフトウェア 開発の世界 ハードウェアの世界 お客様の業務 ご家庭 次に… 自動化 を対象に 分類¥詳細化 して…
  77. 77. ・ITS/BTSやポータル、ソース管理との連携 ・自動トレーサビリティ 構成管理・全体情報連携 ・ソース自動生成 ・IDE/補助ツール プログラミング ・設計書パースによ るデータ化 ・用語辞書(IME的) などの補助ツール 設計 ・自動テスト ・メトリクス取得 テスト ・自動作成・破棄 ・プログラム的な 構成管理 環境(インフラ等) ・1アクションビルド ・1クリックデプロイ ビルド・リリース ・”検知”による テスト・ビルド・デプロイ ・プロセス(作業) 同士の連結 ・DevOps 継続的インテグレーション 継続的デリバリー ソフトウェア 開発の世界 ハードウェアの世界 ・ファクトリー・オートメーション ・モデル駆動によるテスト お客様の業務 ・EUC ・マクロ化や操作の記録/再生 ・データ連携 ・GUIを使ったユーザによるデザイニング ご家庭 ・サービス間連携 ・フューチャーホームコントローラ ・家電ネットワーク ・自立式家電(掃除機等) どこかで見た図…ですね
  78. 78. ・ITS/BTSやポータル、ソース管理との連携 ・自動トレーサビリティ 構成管理・全体情報連携 ・ソース自動生成 ・IDE/補助ツール プログラミング ・設計書パースによ るデータ化 ・用語辞書(IME的) などの補助ツール 設計 ・自動テスト ・メトリクス取得 テスト ・自動作成・破棄 ・プログラム的な 構成管理 環境(インフラ等) ・1アクションビルド ・1クリックデプロイ ビルド・リリース ・”検知”による テスト・ビルド・デプロイ ・プロセス(作業) 同士の連結 ・DevOps 継続的インテグレーション 継続的デリバリー ソフトウェア 開発の世界 ハードウェアの世界 ・ファクトリー・オートメーション ・モデル駆動によるテスト お客様の業務 ・EUC ・マクロ化や操作の記録/再生 ・データ連携 ・GUIを使ったユーザによるデザイニング ご家庭 ・サービス間連携 ・フューチャーホームコントローラ ・家電ネットワーク ・自立式家電(掃除機等) AAAセッションをマッピングすると… 2^N台サーバのセットアップ @石井俊直氏 制約の中で上司の無茶振りを 自動化してみた話 @梅津正洋氏(@ume2_sendai) しくったシステムテストを立て直す。 しくらない画像認識自動化ツールsikuli @徳隆宏氏(@tokutaka) 統合的でシームレスな テスト環境を提供する @SRA 泉和行氏 「神は細部に宿りたまう」 きめ細やかなテスト自動化 by Frienldy @石川達也氏(@StoneGuitar777) PowerShellを用いた自動化手法について @牟田口大介氏(@mutaguchi) Game's Continuous Delivery @森理 麟氏(@moririring) ギアと開発とわたし @鈴木一裕氏(@kz_suzuki) 欧米風と関西風、 2つのTest Automation Patterns @前川博志氏(@posaune)、森田誠氏
  79. 79. ついでにインフォメーション 懇親会 (ビア バッシュ) 参加者 募集中!
  80. 80. Part.4 いろいろ 言うて きましたが… 大切にしたいモノ〜 〜
  81. 81. なんとなく思う事 • 皆さんもそうではないでしょうか? –ここに居る皆さんは、そうであって ほしいなと願って居ます • なぜこんなに自動化したいのだろう –「~を自動化して便利になったら楽 しくね?」と夢を人に語る時が楽し かったという原体験
  82. 82. だから…したいのだな • 「自動化」は 「自分楽しい」とか「他者を快適に」とい うふうに「エンターテイメント」で 「ポジティブ」な行為 • 技術を使って仕組みを作る …それが私たち「自動家」 ある人は、漫画を書いて神様に… ある人は、小説を書いて巨匠に… じゃあ…自分たちは?
  83. 83. 敷居は低く、望みは大きく • 自動家居ないです –成りましょう! •なあに「オレ自動家です!」と宣 言したらその日からです♪ –増やしましょう! •例を見るまでもなく「こういう考 えかたがある」と伝えるだけでも 、自動家は生まれます
  84. 84. 敷居は低く、望みは大きく • すでに自動家だったかたも、 今成られた方も、これから成る方も、 本日でも一年後でも、 「自分の一年はこんな戦いでした!」 という話しが出来たなら、 「こんなに嬉しいことはない」 と思います。
  85. 85. 最後に… (いつもの雑いヤツ)
  86. 86. 自動家 (オートメータ) やめへんで!
  87. 87. ご清聴 ありがとう ございました。
  88. 88. ボツ稿 (実際の発表は 前のページまで)
  89. 89. なんとなく思う事 • 古今東西… –「人々の生活を便利で効率良 く」の手段は、 コンピュータの前から、 産業革命の前から 「自動化」です
  90. 90. 「自動化」の 考え方
  91. 91. 「自動化」の考え方 • 「自動家」が「自動化」を考える時の考え方として… システム構築の一年生が 「(人間含む)多くの手段を使って柔軟に」 と習うなら… 自動家は、基本的に「全自動」を狙う
  92. 92. 「自動化」の考え方 • 実現するもの(ToBe)が決まったら… ドナタ社製 ①ドンピシャなものを探す
  93. 93. 「自動化」の考え方 ①ドンピシャなもの が無かったら? ②使える部品を探して繋ぐ
  94. 94. お手製 「自動化」の考え方 ②使える部品 も足らなければ? ③部分的に作る 俺モジュール
  95. 95. 「自動化」の考え方 ③部分的に作る でもニッチもサッチもいかなければ? ④フルスクラッチ 俺製 俺製 俺製 俺製
  96. 96. 「自動化」の考え方 ④がどうしても出来ないならば… ※別解-全自動化をあきらめる

×