Upgrade to Pro — share decks privately, control downloads, hide ads and more …

外注が主な企業でどのように内製開発を立ち上げ・進化させているのか? / how we start in-house developement in enterprise?

iwashi
November 29, 2022

外注が主な企業でどのように内製開発を立ち上げ・進化させているのか? / how we start in-house developement in enterprise?

Developers Summit 2016【19-D-3】の登壇資料です。
http://event.shoeisha.jp/devsumi/20160218/session/1047/

iwashi

November 29, 2022
Tweet

More Decks by iwashi

Other Decks in Technology

Transcript

  1. Copyright © NTT Communications Corporation. All right reserved.
    外注が主な企業でどのように
    内製開発を⽴ち上げ・進化させているのか?
    @Developers Summit 2016
    NTTコミュニケーションズ株式会社
    技術開発部
    岩瀬 義昌
    2016年2⽉19⽇
    【19-D-3】

    View Slide

  2. Copyright © NTT Communications Corporation. All right reserved.
    外注が主な企業でどのように
    内製開発を⽴ち上げ・進化させているのか?
    @Developers Summit 2016
    NTTコミュニケーションズ株式会社
    技術開発部
    岩瀬 義昌
    2016年2⽉19⽇
    【19-D-3】

    View Slide

  3. Copyright © NTT Communications Corporation. All right reserved. 3
    ⾃⼰紹介
    ■名前
    岩瀬 義昌 / @iwashi86
    ■仕事
    NTTコミュニケーションズ 技術開発部
    Webコア Technology Unit
    “WebRTC”プラットフォームである
    “SkyWay”のTech Lead
    ■コミュニティ活動
    ・WebRTC Meetup Japan/Tokyo主催
    ・July Tech Festa登壇 など

    View Slide

  4. Copyright © NTT Communications Corporation. All right reserved. 4
    ⾃⼰紹介
    ■名前
    岩瀬 義昌 / @iwashi86
    ■仕事
    NTTコミュニケーションズ 技術開発部
    Webコア Technology Unit
    “WebRTC”プラットフォームである
    “SkyWay”のTech Lead

    今⽇の話は、会社全体の話ではありません
    所属するチームの話です
    ■コミュニティ活動
    ・WebRTC Meetup Japan/Tokyo主催
    ・July Tech Festa登壇 など

    View Slide

  5. Copyright © NTT Communications Corporation. All right reserved. 5

    View Slide

  6. Copyright © NTT Communications Corporation. All right reserved. 6

    View Slide

  7. Copyright © NTT Communications Corporation. All right reserved. 7

    View Slide

  8. Copyright © NTT Communications Corporation. All right reserved. 8

    View Slide

  9. 9
    Copyright © NTT Communications Corporation. All right reserved.
    デモ

    View Slide

  10. 10
    Copyright © NTT Communications Corporation. All right reserved.
    10
    https://www.flickr.com/photos/quinnanya/5725134193/in/photolist-9HUNWe-b8jHcK-rSwrzt-atwgwq-b pPfNY-bApGtz-ecmxMj-9EGJHX-5 28Fwg-8dUZxf-4U C2WQ-6g9N7Y-9gBdk-
    aJHuGn-Liot-ecfS8F-fxRKP-aJHzkc-2GjZ4-4eW4uF-aPeYT2-6g5B7n-4Z8NVd-c5ajMb-9XczhB-9Wr ZtQ-b8jGWK-9 YPUbX-mtwiS-9sbqhu-dKXwcs-bpPfk7-sL7JUy-pnYnKK-4Z4x ZF-
    4Z8Nbq-89sth7-2nMrHh-dLkS1Z-4Z4yD8-4Z4yGv-4Z4yyx -4WFtU8-bk4C1 S-b8jFHM-aEba pg-92 VG51-aFSRzH-8hpoTY-e5 KL4o
    WebRTCを⽣でさわるのは結構⼤変
    (⼀部、サーバサイドの⽤意などが必要)
    10
    そこで、少しでも簡単に開発者の皆様が使えるように…

    View Slide

  11. Copyright © NTT Communications Corporation. All right reserved. 11
    SkyWay = WebRTCプラットフォーム
    (WebRTC向けのSDKやサーバ機能を提供)
    SkyWayを利⽤するとWebRTCアプリが無料で簡単に作れます。

    View Slide

  12. 12
    Copyright © NTT Communications Corporation. All right reserved.
    本題

    View Slide

  13. Copyright © NTT Communications Corporation. All right reserved.
    http://www.slideshare.net/Ryuzee/devsumia
    https://www.flickr.com/photos/open_hardware_summit/5022739550/in/photolist-8DQ RtL-aUh4TP-myfDP2-tgjJZe -2XuJbH-2mxsf8-A5mN-5g835L-aUhb ZM-a1HgAW -6y5fwC-yPnDF9-BjKXny-b XT54q-7Ldom1-aEZH17-5aDmt9-6Wjja7-pEtq K-aUhhjR-aUhbig-8wu S6c-2tfSt1-7 KmnEc-
    6s2qrs-ofPE2-aUh5DK-5D9pAA-oLmndn-ymjQA8-642vMz-p1gMzR-nromLM-515Q9D-xW1hjb-tFGP CV-6Y 79Ee-aUhae6-eP6 i1J-wHsdZq -oGqWN8-tFGN7Z-8uoTx u-7gMb w1-ATeDD V-5pE VeN-tFyc6w-tYhqQP-tXNooG-8x 9uc6
    私は3年前のデブサミに聴衆として参加
    当時もっともインパクトを受けたセッションが…

    View Slide

  14. Copyright © NTT Communications Corporation. All right reserved.
    http://www.slideshare.net/Ryuzee/devsumia

    View Slide

  15. Copyright © NTT Communications Corporation. All right reserved.
    15
    https://www.flickr.com/photos/[email protected]/7997288513/in/photolist-d bGcfH-4ZydmF-8KRTbS-gYGNed-5S8UHL-4mmgEr-5eeufN-q KfJ7t-adEL4 -5Ru5mw -bYy4DQ-6Fkwxd -bHi2Fg-ekof5s-a3oQpv-foYgj3-dKmWT5-uu2s2J-r RyiiV-a3DUbb-7LXRvK-otgg7A-dNXYM2 -89Esw2-
    qJTubL-7kiEk1-pNqauh-dbbV7K-8d3Bnh-cXrjcs-qsYhgg-qJNfYn-7fDEPY-qGF2Us-7iEZ8u -cJYpef-4p77 SJ-qsvPzx-bEQwVQ -8xa29n-8 pqbNA-epYU CM-qsRRsb-foYs6s-r7eT7j-7aJdf-b ZkUE5-9AzrrQ-6H1xpw-769EGa
    当時の衝撃
    プレゼンの中で⾔われていたのが…

    View Slide

  16. Copyright © NTT Communications Corporation. All right reserved.
    16
    当時の衝撃
    https://www.flickr.com/photos/[email protected]/7997288513/in/photolist-d bGcfH-4ZydmF-8KRTbS-gYGNed-5S8UHL-4mmgEr-5eeufN-q KfJ7t-adEL4 -5Ru5mw -bYy4DQ-6Fkwxd -bHi2Fg-ekof5s-a3oQpv-foYgj3-dKmWT5-uu2s2J-r RyiiV-a3DUbb-7LXRvK-otgg7A-dNXYM2 -89Esw2-
    qJTubL-7kiEk1-pNqauh-dbbV7K-8d3Bnh-cXrjcs-qsYhgg-qJNfYn-7fDEPY-qGF2Us-7iEZ8u -cJYpef-4p77 SJ-qsvPzx-bEQwVQ -8xa29n-8 pqbNA-epYU CM-qsRRsb-foYs6s-r7eT7j-7aJdf-b ZkUE5-9AzrrQ-6H1xpw-769EGa
    「1⽇10回デプロイ」

    View Slide

  17. Copyright © NTT Communications Corporation. All right reserved.
    17
    誤記じゃないの?
    https://www.flickr.com/photos/[email protected]/7997288513/in/photolist-d bGcfH-4ZydmF-8KRTbS-gYGNed-5S8UHL-4mmgEr-5eeufN-q KfJ7t-adEL4 -5Ru5mw -bYy4DQ-6Fkwxd -bHi2Fg-ekof5s-a3oQpv-foYgj3-dKmWT5-uu2s2J-r RyiiV-a3DUbb-7LXRvK-otgg7A-dNXYM2 -89Esw2-
    qJTubL-7kiEk1-pNqauh-dbbV7K-8d3Bnh-cXrjcs-qsYhgg-qJNfYn-7fDEPY-qGF2Us-7iEZ8u -cJYpef-4p77 SJ-qsvPzx-bEQwVQ -8xa29n-8 pqbNA-epYU CM-qsRRsb-foYs6s-r7eT7j-7aJdf-b ZkUE5-9AzrrQ-6H1xpw-769EGa
    「1⽇10回デプロイ」
    10ヶ⽉に1回デプロイ
    当時の私の常識とはだいぶ違っていました

    View Slide

  18. Copyright © NTT Communications Corporation. All right reserved.
    18
    それから3年
    聴講から登壇する側へ
    https://www.flickr.com/photos/dgoomany/4976873174/in/photolist-8zMM1b-8V9ehf-duXNn7-57mr6F-kc7WT-4xBsMT-e2pZrM-5uDPns-71jap-8NPfGS-p3KzAA-aJh7uD-nvBRCq-
    z75or5-9pZZVn-fMrcKa-89X6da-CD9j-7k5Dsf-9LzggW-5rbtCP-sn5ecN-46YU7g-gxoMCB-dY3Cyx-68giiZ-6SkM1-9c9xPc-wQNQD-oUrYYB-D2gWBt-CFqVVz-LzGU1-ewJe9D-DnKE-
    7UTmVK-oKY1zF-kCFz-3nTR3N-8MdVtb-5uDp8U-qQYXdQ-e8WXNZ-s77Yd5-aJh6Qn-9x3XDe-PGqgb-9bqUfZ-ibYoB-3c7kyY

    View Slide

  19. Copyright © NTT Communications Corporation. All right reserved.
    19
    https://www.flickr.com/photos/image-catalog/17094809777/in/photolist-s3Bn nB-5ecVsc-rZLekL-8NV2G2 -fMpcwj-p8P32y-9Q JM29-p qm3VC-9Mzzyb-pogscj-CcwwE3-4reFUA-6ivkko-d2P T1b-7P3Gqd -8nebru -paTFdQ-p8P Khj-pq2e5 Z-6mZ4 Vw-8Gg4 Jc-8mqEGe-JWyHL-pq2fBg-
    p8P8h3-7fzsGM-cHeGWS-a15TX-6H2pUy-m2sbkz-yFCXvb-8dynz3-dBi5Cb-pecTz-krjgVc-fANQqR-krjB9x -kriU24-krjzZD-krm8 S5-krm8ou -krjroF-krjm2D-krkUKd-krjk5 Z-krjjtt-krjikr-k rkRPU-kriuSt-kr iuq6
    実際の経験ベースの
    ストーリーを共有

    View Slide

  20. Copyright © NTT Communications Corporation. All right reserved.
    20
    ⼤事な疑問
    そもそも…

    View Slide

  21. Copyright © NTT Communications Corporation. All right reserved.
    21
    なぜ内製? 外注じゃダメ?
    https://www.flickr.com/photos/mdpettitt/8671901426/in/photolist-ediLaQ-KGgU8-9SScHJ-5JE9tz-iXRZgo-9o5yon -5UnDmk-rrtnoF-6egx SJ-sQzvg-hcEYDX-7 ZiTg V-9v3xhu -6CrL7s-snRpm3 -do8JVU-do8Bez-oqtM3G -7Co7Fm-qD9 gxe-8uoSqU-2RF5eT-xsZh8-s29nxg-h nZzLf-dnav81-
    g2Q3N-v2dmxU-p9e9F3-bEVLmS-9nLGVj-7UNsX4-v2Ze9e-dV8sXM-8uoTxu-aD3ZhE -9uZpk3 -dVR5Cb -r3rY5 M-7URGdJ-ni4p7x -uZot4q -u5RNwp -vYncn5-3 X9Dcm-e5A9GJ-3 4av4j-xUCpDT-ynUaY6-La ARx

    View Slide

  22. Copyright © NTT Communications Corporation. All right reserved.
    22
    外注が悪いわけではない
    • 内製も外注も⽬的達成のための⼿段

    View Slide

  23. Copyright © NTT Communications Corporation. All right reserved.
    23
    • 内製も外注も⽬的達成のための⼿段
    • リソースが無い場合は外注しかない
    外注が悪いわけではない

    View Slide

  24. Copyright © NTT Communications Corporation. All right reserved.
    24
    • 内製も外注も⽬的達成のための⼿段
    • リソースが無い場合は外注しかない
    • 1つのリスクヘッジの⼿段でもある
    (ex. 瑕疵…)
    外注が悪いわけではない

    View Slide

  25. Copyright © NTT Communications Corporation. All right reserved.
    25
    外注で認識して
    おくべきこと
    しかし、外注利⽤時に強く認識したほうが良いことがあります。それは…

    View Slide

  26. Copyright © NTT Communications Corporation. All right reserved.
    26
    NDA
    NDAからはじまる⻑い⻑い旅路です。

    View Slide

  27. Copyright © NTT Communications Corporation. All right reserved.
    27
    NDA
    RFP

    View Slide

  28. Copyright © NTT Communications Corporation. All right reserved.
    28
    NDA
    RFP
    決裁

    View Slide

  29. Copyright © NTT Communications Corporation. All right reserved.
    29
    NDA
    RFP
    決裁
    契約

    View Slide

  30. Copyright © NTT Communications Corporation. All right reserved.
    30
    NDA
    RFP
    決裁
    契約
    検収

    View Slide

  31. Copyright © NTT Communications Corporation. All right reserved.
    31
    NDA
    RFP
    決裁
    契約
    検収
    エンプラで検収といえばもちろんコレです。

    View Slide

  32. Copyright © NTT Communications Corporation. All right reserved.
    32
    経験ありますよね?

    View Slide

  33. Copyright © NTT Communications Corporation. All right reserved.
    33
    Excel x スクショ = エビデンス
    https://www.flickr.com/photos/pegwinn/3470095624/in/photolist-6 hD9wU-88bnA9-8886bz-8 883xz-887kd8 -aPLhxp-rKH4 R9-71y 19d-r ZdK34 -9dHbir -9Ah VnH-4ZzAxk-9dHcqB-9dLfzL-6hD9zd-6p9Ant -UmZfT-889pDz-
    aUmQav-6hD9Ad-e2EV4q-a5WTjH-88aHw9-5eF2ZL-5eACT4-a5ZJeY-5XUgbM-d VWa8s-aW8C58-jCacyr-y CMfd-58 irwU-aPL966-a5W RBp -9Ah Vwa-eabGEB-88cwes-889aaV-8892vv-8 88YDg-888 VCD-88c4ny-888PjH-888LUP-
    888JLr-888Gzc-88bRuj-88bPqm-88bLWW-88bJjA

    View Slide

  34. Copyright © NTT Communications Corporation. All right reserved.
    34
    こんなはずじゃなかった
    このように考えるエンジニアもいると思います

    View Slide

  35. Copyright © NTT Communications Corporation. All right reserved.
    35
    その⼀⽅で…

    View Slide

  36. Copyright © NTT Communications Corporation. All right reserved.
    36
    http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
    1⽇10回デプロイしている企業も
    しかも2009年時点で…
    http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

    View Slide

  37. Copyright © NTT Communications Corporation. All right reserved.
    37
    その結果
    • IT企業にとって強⼒の源泉である
    技術⼒に差がついていく
    外注企業の
    技術⼒
    内製企業の
    技術⼒
    技術⼒の差だけではなく、先ほどの⻑い道のりから⽣まれる…

    View Slide

  38. Copyright © NTT Communications Corporation. All right reserved.
    38
    その結果
    • IT企業にとって強⼒の源泉である
    技術⼒に差がついていく
    • 外注のオーバヘッド分の速度の遅れ
    (ビジネス上のスピードの遅れ)
    ⼀⽅で、内製とは…

    View Slide

  39. Copyright © NTT Communications Corporation. All right reserved.
    39
    https://www.flickr.com/photos/derekskey/5249580870/in/photolist-8ZTtv1-bLaY2 K-Ax VrV-oMs8Kf-cXjaew-6 ZrEUq-pHrRH8 -pHrLp2-KG Knb-7m CHh3-6u BgKM -8ZQnrT -bxVhwo -AGGtNs-nYJQh8-8 4SHgx-td Ke9W-eSqaV-bxgfhw -oFsmuf-nHNcF-aUaAkV-6bwPeq-5UgdqV-mbNCv-
    7mCHa1-hxwnFA-aE7SpH-6CoiGa-dddE57-dddD74-89 Vtxi-jvjCRB-cUDNSd-bLPXiV-BAZBea-cqSKA-fovfW8-q 3iXaw -tkVGYF-6FPvHt-6hQ2 hR-adDQPN-fhpM pR-g 9vsj3-i9Z8oT -m5mNwr-gsxZ2J-cqTX7-ak KH6D
    内製とは…
    ⽣き残り・勝ち抜くための⼿段
    朗報もあります!

    View Slide

  40. Copyright © NTT Communications Corporation. All right reserved.
    40
    幸いにもソフトウェア開発が容易に
    例えば、インスタグラムという有名なアプリ・サービスがあります。
    Instagram

    View Slide

  41. Copyright © NTT Communications Corporation. All right reserved.
    Instagram
    41
    幸いにもソフトウェア開発が容易に
    http://jp.techcrunch.com/2011/06/14/20110613instagram-five-million-users/
    社員4⼈で500万⼈に
    サービス提供[2011年時点]
    (AWSなどのAPIをフル活⽤)

    View Slide

  42. Copyright © NTT Communications Corporation. All right reserved.
    42
    SkyWayは、なぜ内製メイン?
    ・WebRTCという技術進化に追従するため
    WebRTCは技術進化が本当に早いです。特に厄介なのが…

    View Slide

  43. Copyright © NTT Communications Corporation. All right reserved.
    43
    SkyWayは、なぜ内製メイン?
    ・WebRTCという技術進化に追従するため
    1〜1.5ヶ⽉で⼤幅アップデート
    https://commons.wikimedia.org/wiki/File:Google_Chrome_icon_and_wordmark_(2011).svg
    https://en.wikipedia.org/wiki/Firefox#/media/File:Mozilla_Firefox_logo_2013.svg
    Chrome/Firefoxのようなブラウザの進化の早さです。

    View Slide

  44. Copyright © NTT Communications Corporation. All right reserved.
    44
    SkyWayは、なぜ内製メイン?
    ・WebRTCという技術進化に追従するため
    ・内製で[開発⇒リリース]を
    ⾼速で回転させ、競争⼒を保持するため
    内製はまた、⾼速なサイクルに向いています。結果的にSkyWayは…

    View Slide

  45. Copyright © NTT Communications Corporation. All right reserved. 45
    (⾃称ですが)
    SkyWayは⽇本で最もメジャーな
    WebRTCプラットフォーム
    本⽇はそのようなSkyWayを開発した経験をベースに、皆様が次の状態になることをゴールとします。

    View Slide

  46. Copyright © NTT Communications Corporation. All right reserved.
    46
    今⽇のゴール
    内製を始める気になる ⇒ ⾏動する
    (そのための私が知るノウハウは本⽇、全て共有します)
    https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb-
    9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc
    終わった頃には、内製をはじめる勇気が出てきます!

    View Slide

  47. Copyright © NTT Communications Corporation. All right reserved.
    47
    以降のアジェンダ
    1. 内製開発の種をまく
    ・⽂化の話
    2. 内製開発を開花させる
    ・技術の話
    ・⽂化の話

    View Slide

  48. Copyright © NTT Communications Corporation. All right reserved.
    48
    以降のアジェンダ
    1. 内製開発の種をまく
    ・⽂化の話
    2. 内製開発を開花させる
    ・技術の話
    ・⽂化の話

    View Slide

  49. Copyright © NTT Communications Corporation. All right reserved.
    49
    https://www.flickr.com/photos/[email protected]/6004532099/in/photolist-a9 ANcv-oLhuEa-8Jvb KB-o CA9 7k-j8rSxH-b XWTiW-fxxug g-eDR8Gv-eD X7mf-eDR13t -eaNMBz-qYp Kd-d7scXo-7ojmH3-eDR3zX-6tJKx9-wkYqU7-ftgoYx -4SyTGJ-oEgAu i-9JzJpF -nJH1vy-72v CyX-75Y1r R-M9u7c-
    8nrj6Z-8nrjNg-eDR1qF-7u8mzu-nKfsD7-darVER-qgabey-fqyL3U-7ofsjn-8nrjbK-4egJb r-7Dq9ar-dGZGrG-5 Rcjci-7ofs36-nz6em3-88qgtB-t 47kUC-oWxGME -9sWco-Jtj9e-rrGuKu -7oftgk-6k8Yu h-6TXe 6e
    SkyWayのはじまり?

    View Slide

  50. Copyright © NTT Communications Corporation. All right reserved.
    50
    Date Event
    2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート
    2013/4 ・SkyWayのアイデア誕⽣
    2013/7-9 ・SkyWayのプロ⼘タイプ開発
    (この時点では外注100%に近い)
    ・サーバ構築&軽微な修正を内製で対応
    2013/12 ・トライアル公開
    ・⼿作業のオペレーションも多い
    2014/4- ・Web(フロントエンド/サーバサイド)を内製開発
    ・継続的インテグレーションなど導⼊開始
    経緯
    最初は外注がほとんどでしたが将来的な内製移⾏を⾒据えて開発をはじめました。ですが…

    View Slide

  51. Copyright © NTT Communications Corporation. All right reserved.
    51
    ■外注⽂化だと⼈も環境も無い
    ・だが、誰かが進めないと何も始まらない
    いきなり内製は難しい

    View Slide

  52. Copyright © NTT Communications Corporation. All right reserved.
    52
    ■外注⽂化だと⼈も環境も無い
    ・だが、誰かが進めないと何も始まらない
    ・そこで内製の範囲を絞って始める
    ⇒ ⽐較的、取組みやすいところから
    ⇒ その後、徐々に技術コアへ広げる
    いきなり内製は難しい
    さきほどの経緯の表を振り返ってみるとポイントは…

    View Slide

  53. Copyright © NTT Communications Corporation. All right reserved.
    53
    Date Event
    2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート
    2013/4 ・SkyWayのアイデア誕⽣
    2013/7-9 ・SkyWayのプロ⼘タイプ開発
    (この時点では外注100%に近い)
    ・サーバ構築&軽微な修正を内製で対応
    2013/12 ・トライアル公開
    ・⼿作業のオペレーションも多い
    2014/4- ・Web(ダッシュボード)を内製開発
    ・継続的インテグレーションなど導⼊開始
    振り返るとポイントはココ
    簡単なところから内製を開始した点でした。

    View Slide

  54. Copyright © NTT Communications Corporation. All right reserved.
    54
    Date Event
    2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート
    2013/4 ・SkyWayのアイデア誕⽣
    2013/7-9 ・SkyWayのプロ⼘タイプ開発
    (この時点では外注100%に近い)
    ・サーバ構築&軽微な修正を内製で対応
    2013/12 ・トライアル公開
    ・⼿作業のオペレーションも多い
    2014/4- ・Web(ダッシュボード)を内製開発
    ・継続的インテグレーションなど導⼊開始
    そして徐々に広げる
    徐々に難易度の⾼い部分に着⼿します。そんな内製を始めるための…

    View Slide

  55. 55
    Copyright © NTT Communications Corporation. All right reserved.
    55
    内製を始める際の⼼構え
    いくつか⼼構え、持つべきメンタルをお伝えします。1つ⽬は…

    View Slide

  56. Copyright © NTT Communications Corporation. All right reserved.
    56
    https://rotsuya.github.io/slides/enterprise-hacks-201512/#54
    ⼤⾵呂敷をひろげないこと!
    同様の良い格⾔・引⽤もいくつかあります…

    View Slide

  57. Copyright © NTT Communications Corporation. All right reserved.
    許可を求めるより
    寛容に期待しよう
    (TeamGeek より)
    ⼤企業では全てにおいて、許可をとると時間がかかりすぎて前に進めません。

    View Slide

  58. Copyright © NTT Communications Corporation. All right reserved.
    あらゆる⽂化は⼩さな種から育つ。
    またたったひとつの決定で
    ⽂化ができるわけでもない。
    (マイクロソフトを辞めて、オフィスのない会社で働いてみた より)
    寛容を期待して始めれば、徐々に⽂化ができてきます… そして⽂化と同時に…

    View Slide

  59. Copyright © NTT Communications Corporation. All right reserved.
    59
    https://www.flickr.com/photos/[email protected]/7033303711/in/photolist-bHvwa6 -9KTcrc-84bv SR-84bZAz-84buba-4R1f77-2xDarY-84eaUq-dWP JZt-7k3tGh -7Cepfo-cYMyHu -96jQLa-uXUPj-6mS3yx-b uFhEt-eEUS1J-61xVAq-4q CECx -6owpWW-8 iUbjR-vgHFQD-6j8UzJ-scDupb-
    dEsoXU-7sRCyT-8iXzxS-84c63v-acYE3M-9GbLwU-5F1y42-4M9pmY-5CJZRY-Z9P S-fArgmu -A2 R7zs-brJ5LA-65P KAV-KnML-4zFxPG-cDfz49-8EYiN7-zjZwr-fQPY2h-8 dv8TV-qe5K3b -84bXCR-84eQJG-84e CP1-8 4eatu
    仲間を増やす
    ⼈員追加にはいくつか気をつける点があります。徹底的に…

    View Slide

  60. Copyright © NTT Communications Corporation. All right reserved.
    60
    良い⼈材を集める(⼤企業だと難しいが)
    ・あらゆるチャネルを使う

    View Slide

  61. Copyright © NTT Communications Corporation. All right reserved.
    61
    ・あらゆるチャネルを使う
    ・業務委託(⼀流の⼈と)
    html5j ファウンダー
    ⽩⽯⽒
    Google Developer Expert
    吉川⽒
    良い⼈材を集める(⼤企業だと難しいが)
    ⽩⽯さん・吉川さんは同じロケで⼀緒に働いていただき、⾊々とノウハウを共有いただきました。

    View Slide

  62. Copyright © NTT Communications Corporation. All right reserved.
    62
    ・あらゆるチャネルを使う
    ・業務委託(⼀流の⼈と)
    ・異動(社内公募)
    良い⼈材を集める(⼤企業だと難しいが)
    単なる⼈事異動でなく、社内公募のような制度があれば積極活⽤します。

    View Slide

  63. Copyright © NTT Communications Corporation. All right reserved.
    63
    ・あらゆるチャネルを使う
    ・業務委託(⼀流の⼈と)
    ・異動(社内公募)
    ・新卒 / インターン / 中途
    良い⼈材を集める(⼤企業だと難しいが)
    なぜ、ここまでこだわる必要があるのでしょうか?それは…

    View Slide

  64. Copyright © NTT Communications Corporation. All right reserved.
    君の周りにいる⼈たちが
    君⾃⾝のパフォーマンスに影響する。
    仲間は慎重に選べ。
    (情熱プログラマー より)

    View Slide

  65. Copyright © NTT Communications Corporation. All right reserved.
    65
    単なるメンバ増はアンチパターン
    ・⼈が増えたからといって
    ⽣産能⼒は劇的に向上しない
    ・むしろチーム全体としての
    ⽣産性が下がることも…

    View Slide

  66. Copyright © NTT Communications Corporation. All right reserved.
    66
    ではメンバ追加のベストプラクティスは?

    View Slide

  67. Copyright © NTT Communications Corporation. All right reserved.
    67
    ・⾃分より優秀だと思う⼈を⼊れる
    ・その際、⾃分の⼈事評価が
    下がるなどと考えないこと
    ではメンバ追加のベストプラクティスは?

    View Slide

  68. Copyright © NTT Communications Corporation. All right reserved.
    68
    ・⾃分より優秀だと思う⼈を⼊れる
    ・その際、⾃分の⼈事評価が
    下がるなどと考えないこと
    ・むしろ、最⾼の⼈と働いた経験、
    そこで得たスキルが残りの⼈⽣に
    それ以上のメリットをもたらす!
    ではメンバ追加のベストプラクティスは?
    まだまだ仕事⼈⽣は⻑いです。後から全部回収できますし、お釣りが返ってきます。

    View Slide

  69. Copyright © NTT Communications Corporation. All right reserved.
    69
    ベストプラクティスは?
    ・⾃分より優秀だと思う⼈を⼊れる
    ・その際、⾃分の⼈事評価が
    下がるなどと考えないこと
    ・むしろ、最⾼の⼈と働いた経験、
    得たスキルが残りの⼈⽣に
    それ以上のメリットをもたらす
    https://www.flickr.com/photos/usdagov/14464606763/in/photolist-o3bTDM-q JLHrS-dReF B-7SCmub-pe 3MZ4 -6DBbu4 -sMtT5m-dJARfG-
    8PgRbq-9simtU-N86ze-83PGfF-aqbLwt-vBSHSL-3NT8qR-aso3sD-7Y7Skt-wS74at-p7Fnh i-cfQSy7-54tXnU-8TbNfH-eRKa A-7FUJFN-
    rDXWR2-ds4PRF-7NqdCd-7HxPc3-axmQA5-jxeDir-99dCeD-99dBe6 -2Z92 Rr-9t BWZa-5SGJ45 -mdNDj-dB92wY-4SuLwZ-2jGCCA-6BKk7-
    6iSKgo-pCE7i7-5K8iK1-Ba4qux-5qkTcj-5u7zq7-o9aj57-vG CQWq-66W1W B-56 X2go
    ここまでで
    メンバが徐々に増え
    チームが芽吹き始める

    View Slide

  70. Copyright © NTT Communications Corporation. All right reserved.
    70
    アジェンダ
    1. 内製開発の種をまく
    ・⽂化の話
    2. 内製開発を開花させる
    ・技術の話
    ・⽂化の話

    View Slide

  71. Copyright © NTT Communications Corporation. All right reserved.
    71
    SkyWayを⽀える開発技術
    https://www.flickr.com/photos/[email protected]/13834653335/in/photolist-n5wdrM-n5waV4-mZ6q6Y-gCTzTQ-ekfXSv-gCQuZB-sbVz7H-gCPXAU-mZ6tzG-boqwzC-mZ4H9D-4J6MGa-mZ2w6c-gQiEma-cMKB2w-mZ6rRw-BCerys-e4RBVD-
    mZZhwM-gqLgZM-mZ2wzg-reYN2J-gQhSBN-9zHArx-mZ6u61-7JwRBS-onaMDY-gqKxig-gqKTAP-9w7bSJ-rXZ4Z7-4Jizbj-FCB3A-naxcNS-N2Gh-netjUS-btBM6T-bBk3PK-9ujvK1-e85i2z-zRdM7x-mZ4kuY-mZ4Erg-81v4SH-mZZnik-brQnR3-
    4JaZdC-7JwTQJ-4J6LDn-5pPJUd
    内製をはじめた結果、どのような技術を使っているかといった現時点のスナップショットを
    をお伝えします。今回は技術説明のセッションではないので、概要だけお話いたします。

    View Slide

  72. Copyright © NTT Communications Corporation. All right reserved.
    Application (任意のアプリケーション)
    Orchestration アプリへの動的な設定値注⼊など
    Configuration ミドルウェア、DBの設定など
    Bootstrapping IaaSを利⽤したVM構築など
    72
    Provisioning Toolchain + App
    ・以降では、以下のレイヤで個別に説明
    ・基本⽅針は、コードに起こして全て⾃動化

    View Slide

  73. Copyright © NTT Communications Corporation. All right reserved.
    Application (任意のアプリケーション)
    Orchestration アプリへの動的な設定値注⼊など
    Configuration ミドルウェア、DBの設定など
    Bootstrapping IaaSを利⽤したVM構築など
    73
    Provisioning Toolchain + App

    View Slide

  74. Copyright © NTT Communications Corporation. All right reserved.
    74
    Bootstrapping / インフラ
    ・Infrastructure as Code(IaC)で
    宣⾔的に記述
    ・ローカル開発環境:
    ・Vagrant(VM構築)
    ・Packer(イメージ作成)

    View Slide

  75. Copyright © NTT Communications Corporation. All right reserved.
    75
    続:Bootstrapping / インフラ
    ・クラウド環境も同様にIaC
    ・利⽤クラウド
    クラウドには向き不向きがあるので使い分けます。
    Cloudnは通信事業者が提供するクラウドであり、通信量に応じて費⽤が発⽣しません。

    View Slide

  76. Copyright © NTT Communications Corporation. All right reserved.
    76
    続:Bootstrapping / インフラ
    ・クラウド環境も同様にIaC
    ・利⽤クラウド ⇒ 構築⽅法:
    内製の簡易
    Cloudformation

    ⇒ &
    Terraform Cloudformation
    構築は宣⾔的な記述に落として、⾃動で構築します。VMのみならず…

    View Slide

  77. Copyright © NTT Communications Corporation. All right reserved.
    77
    続:Bootstrapping / インフラ
    ・AWSのユーザ管理もTerraform
    lb というユーザを、/system/というパス配下に作成する例:
    ユーザ作成作業も、コードに落としてExcel等を利⽤しません。具体的な運⽤フローは…

    View Slide

  78. Copyright © NTT Communications Corporation. All right reserved.
    78
    修正分(ユーザ追加など)のPR作成
    ・AWSのユーザ管理もTerraform
    ・Pull Request Drivenで運⽤
    ①Pull Request GHE
    メンバ
    追加したい

    View Slide

  79. Copyright © NTT Communications Corporation. All right reserved.
    79
    GHEからCI起動
    ・AWSのユーザ管理もTerraform
    ・Pull Request Drivenで運⽤
    ①Pull Request
    ②Webhook
    Drone CI
    GHE

    View Slide

  80. Copyright © NTT Communications Corporation. All right reserved.
    80
    Dry-Runして変更内容を作成
    ・AWSのユーザ管理もTerraform
    ・Pull Request Drivenで運⽤
    ①Pull Request
    ②Webhook
    Drone CI
    ③terraform plan
    GHE

    View Slide

  81. Copyright © NTT Communications Corporation. All right reserved.
    81
    内容をレビュー ⇒ OKならマージ
    ・AWSのユーザ管理もTerraform
    ・Pull Request Drivenで運⽤
    ①Pull Request
    ②Webhook
    Drone CI
    ④⼈の⽬でレビュー
    &PRマージ
    GHE
    ③terraform plan

    View Slide

  82. Copyright © NTT Communications Corporation. All right reserved.
    82
    マージ契機でCI起動
    ・AWSのユーザ管理もTerraform
    ・Pull Request Drivenで運⽤
    ①Pull Request
    ②Webhook
    ⑤Webhook
    Drone CI
    ③terraform plan
    ④⼈の⽬でレビュー
    &PRマージ
    GHE

    View Slide

  83. Copyright © NTT Communications Corporation. All right reserved.
    83
    実際にAWSへ変更を反映
    ・AWSのユーザ管理もTerraform
    ・Pull Request Drivenで運⽤
    ①Pull Request
    ②Webhook
    ⑤Webhook
    Drone CI
    ③terraform plan
    ⑥terraform apply
    ④⼈の⽬でレビュー
    &PRマージ
    GHE

    View Slide

  84. Copyright © NTT Communications Corporation. All right reserved.
    Application (任意のアプリケーション)
    Orchestration アプリへの動的な設定値注⼊など
    Configuration ミドルウェア、DBの設定など
    Bootstrapping IaaSを利⽤したVM構築など
    84
    Provisioning Toolchain + App

    View Slide

  85. Copyright © NTT Communications Corporation. All right reserved.
    85
    Configuration
    ・ミドルウェアの導⼊などには
    Ansibleを利⽤
    ・導⼊後の正常性確認、
    およびリファクタ向けのテストは
    Serverspecを利⽤
    (開発フローはPRベースで先ほど同様なので割愛)

    View Slide

  86. Copyright © NTT Communications Corporation. All right reserved.
    Application (任意のアプリケーション)
    Orchestration アプリへの動的な設定値注⼊など
    Configuration ミドルウェア、DBの設定など
    Bootstrapping IaaSを利⽤したVM構築など
    86
    Provisioning Toolchain + App

    View Slide

  87. Copyright © NTT Communications Corporation. All right reserved.
    87
    Orchestration
    ・アプリケーションデプロイには
    Configuration同様にAnsible
    ・環境ごとの動的に変わる依存性注⼊、
    およびルートの動的変更向けに
    Serf & Consulを利⽤

    View Slide

  88. Copyright © NTT Communications Corporation. All right reserved.
    Application
    任意のアプリケーション
    (JavaScriptベースのアプリを例を紹介)
    Orchestration アプリへの動的な設定値注⼊など
    Configuration ミドルウェア、DBの設定など
    Bootstrapping IaaSを利⽤したVM構築など
    88
    Provisioning Toolchain + App

    View Slide

  89. Copyright © NTT Communications Corporation. All right reserved.
    89
    Application Development
    ・サーバサイドおよびフロントエンドで
    JavaScript / Node を利⽤
    Webに強いチームなので、クライアントもサーバもJSを利⽤しています。

    View Slide

  90. Copyright © NTT Communications Corporation. All right reserved.
    90
    Application Development
    ・サーバサイドおよびフロントエンドで
    JavaScript / Node を利⽤
    ・どちらもES6スタイルで記述し、
    初期設計からテストを⾃動化(TDD含む)
    【参考】利⽤モジュール例:
    - Gulp: タスクランナー
    - Babel: ES5へトランスパイル
    - Mocha: テストフレームワーク
    - Power-Assert: ⾼機能アサーション
    - Sinon: スタブ、モックライブラリ
    - Karma: 実ブラウザ向けのテストランナー
    特に最初からテストを⾃動化するようにしていて、様々なライブラリにお世話になってます。

    View Slide

  91. Copyright © NTT Communications Corporation. All right reserved.
    91
    Application開発フロー
    ・スクラムを採⽤しバックログをカンバン管理
    そんなアプリ開発はアジャイルの⼿法であるスクラムをよく利⽤します。

    View Slide

  92. Copyright © NTT Communications Corporation. All right reserved.
    92
    Application開発フロー
    ・スクラムを採⽤しバックログをカンバン管理
    ・カンバンは開発メンバの物理ロケ分散を考慮し
    Huboard(GitHub issueのWrapper)
    を利⽤してonline管理

    View Slide

  93. Copyright © NTT Communications Corporation. All right reserved.
    93
    Application開発フロー
    ・スクラムを採⽤しバックログをカンバン管理
    ・カンバンは開発メンバの物理ロケ分散を考慮し
    Huboard(GitHub issueのWrapper)
    を利⽤してonline管理
    ・個々のタスクは全てのメンバが拾うようにし、
    できるだけ多技能⼯を⽬指す
    ⇒ SPOFを開発プロセスの中で撲滅
    多技能⼯を⽬指しペアプロなども併⽤し、SPOFを減らしにかかります。

    View Slide

  94. Copyright © NTT Communications Corporation. All right reserved.
    94
    Application開発フロー
    ・スクラムを採⽤しバックログをカンバン管理
    ・カンバンは開発メンバの物理ロケ分散を考慮し
    Huboard(GitHub issueのWrapper)
    を利⽤してonline管理
    ・個々のタスクは全てのメンバが拾うようにし、
    できるだけ多技能⼯を⽬指す
    ⇒ SPOFを開発プロセスの中で撲滅
    ・その際の初期の⽣産性の低下は許容
    (どうせ後から回収できる)
    最初は⽣産性が落ちます。マネージャは許してあげてください。

    View Slide

  95. Copyright © NTT Communications Corporation. All right reserved.
    95
    続:Application開発フロー
    ①Pull Request
    ②Webhook
    ⑤Webhook
    Drone CI※
    ③dockerコンテナ上で
    任意のテスト実⾏
    ⑥Cloudn ObjectStorage
    やAWS S3へ保存
    ④コードレビュー
    &PRマージ
    GHE
    ・ベースは先ほど説明のフローと同様
    ※ ⼀部のCIは、Droneの代わりにJenkinsも併⽤
    Terraform時とほとんど同様なので、詳細は割愛しますが、ポイントは…

    View Slide

  96. Copyright © NTT Communications Corporation. All right reserved.
    96
    Point1: ④のコードレビュー
    ①Pull Request
    ②Webhook
    ⑤Webhook
    Drone CI※
    ③dockerコンテナ上で
    任意のテスト実⾏
    ⑥Cloudn ObjectStorage
    やAWS S3へ保存
    ④コードレビュー
    &PRマージ
    GHE
    ・ベースは先ほど説明のフローと同様
    ※ ⼀部のCIは、Droneの代わりにJenkinsも併⽤
    コードレビューの重要視です。コードレビューには様々なメリットがあります。それは…

    View Slide

  97. Copyright © NTT Communications Corporation. All right reserved.
    97
    ④コードレビュー
    ・コードレビューは有⽤
    ・ソフトウェアの品質向上
    ・チームメンバのスキル向上
    ・情報共有によるSPOFの撲滅
    良い点がたくさんあります。ですが、実際に簡単に組み込めているわけではなく…

    View Slide

  98. Copyright © NTT Communications Corporation. All right reserved.
    98
    ④コードレビュー
    ・コードレビューは有⽤
    ・ソフトウェアの品質向上
    ・チームメンバのスキル向上
    ・情報共有によるSPOFの撲滅
    ・⼀⽅でコードレビューは
    油断するとスキップされうるプロセス
    (実際、当初は上⼿くできていなかった)
    最初は難しかったです。じゃあ、どうやって組み込んでいったのかというと…

    View Slide

  99. Copyright © NTT Communications Corporation. All right reserved.
    99
    続:④コードレビュー
    ・そこで、チームの技術指針に組込み
    何度も話をするなどして、徐々に浸透させる
    コードレビューに他で、アプリケーション開発で重要視しているのが…

    View Slide

  100. Copyright © NTT Communications Corporation. All right reserved.
    100
    Point2: ⑥でもサクッと動く設計が重要
    ①Pull Request
    ②Webhook
    ⑤Webhook
    Drone CI※
    ③dockerコンテナ上で
    任意のテスト実⾏
    ⑥Cloudn ObjectStorage
    やAWS S3へ保存
    ④コードレビュー
    &PRマージ
    GHE
    ・ベースは先ほど説明のフローと同様
    クラウドでのデプロイに適した設計です。それは定番の指針があります。それは…

    View Slide

  101. Copyright © NTT Communications Corporation. All right reserved.
    101
    12 Factor App な設計へ
    http://12factor.net/ja/

    View Slide

  102. Copyright © NTT Communications Corporation. All right reserved.
    102
    アジェンダ
    1. 内製開発の種をまく
    ・⽂化の話
    2. 内製開発を開花させる
    ・技術の話(おまけ)
    ・⽂化の話
    ここまではエンジニアらしい技術を紹介してきました。
    ちなみに、今回のデブサミのテーマってご存知ですか?

    View Slide

  103. Copyright © NTT Communications Corporation. All right reserved.
    RealをHackする、ということです。ならば、エンプラのエンジニアらしく…

    View Slide

  104. Copyright © NTT Communications Corporation. All right reserved.
    エンタープライズ系業務も
    エンジニアらしくHack!
    エンプラで仕事で使うソフトと⾔えば…

    View Slide

  105. Copyright © NTT Communications Corporation. All right reserved.
    105
    Officeとは友達ですよね!?
    ・プロジェクト企画/計画書、営業資料 etc…
    ・Officeはビジネス職のメンバとの
    最強の共通プロトコル
    エンジニアがビジネス職の皆様と会話できる最強のプロトコルがOfficeです

    View Slide

  106. Copyright © NTT Communications Corporation. All right reserved.
    106
    • 提案資料.pptx
    オフィスあるある
    まずファイルを作ります。で修正を加えたら…

    View Slide

  107. Copyright © NTT Communications Corporation. All right reserved.
    107
    • 提案資料.pptx
    • 提案資料_20160219.pptx
    ⽇付を追加して更新
    さらに…

    View Slide

  108. Copyright © NTT Communications Corporation. All right reserved.
    108
    • 提案資料.pptx
    • 提案資料_20160219.pptx
    • 提案資料_20160219r2.pptx
    ちょっとした修正なのでr2へ
    ちょっとした修正をしました。そんな中、世の中には親切な⽅がいます…

    View Slide

  109. Copyright © NTT Communications Corporation. All right reserved.
    109
    • 提案資料.pptx
    • 提案資料_20160219.pptx
    • 提案資料_20160219r2.pptx
    • 提案資料_20160219(最終).pptx
    なんと親切なファイル名
    これは⾮常にわかりやすい! ですが、現実は⽢くないです…

    View Slide

  110. Copyright © NTT Communications Corporation. All right reserved.
    110
    • 提案資料.pptx
    • 提案資料_20160219.pptx
    • 提案資料_20160219r2.pptx
    • 提案資料_20160219(最終).pptx
    • 提案資料_20160219(最終2).pptx
    もう誰も信じられない

    View Slide

  111. Copyright © NTT Communications Corporation. All right reserved.
    111
    • 提案資料.pptx + 修正履歴/理由
    • 提案資料_20160219.pptx
    • 提案資料_20160219r2.pptx
    • 提案資料_20160219(最終).pptx
    • 提案資料_20160219(最終2).pptx
    本来必要なもの

    View Slide

  112. Copyright © NTT Communications Corporation. All right reserved.
    112
    • 提案資料.pptx + 修正履歴/理由
    • 提案資料_20160219.pptx
    • 提案資料_20160219r2.pptx
    • 提案資料_20160219(最終).pptx
    • 提案資料_20160219(最終2).pptx
    それはまさにバージョン管理が得意なところ
    ⇒ GitHubで管理すればいいのでは?

    View Slide

  113. Copyright © NTT Communications Corporation. All right reserved.
    113
    だが弱点がある = 差分が⾒れない
    GitHubって、バイナリの差分は⾒れません。ですが…

    View Slide

  114. Copyright © NTT Communications Corporation. All right reserved.
    114
    GitHubの事実
    https://help.github.com/articles/rendering-and-diffing-images/
    • 画像ならバイナリでも差分確認可能
    画像は差分が⾒れます。ならば、これを活⽤しましょう!

    View Slide

  115. 115
    Copyright © NTT Communications Corporation. All right reserved.
    115
    ということで、
    パワポ修正&レビューをCI likeに
    業務プロセスへ導⼊してみた

    View Slide

  116. Push &
    Pull
    Request
    Webhook
    PPTからJPG変換
    JPGを`git add`して、
    GitHubへPush
    git push
    差分を確認
    CIサーバ
    パワポのCIフロー
    パワポをPush、CIがフックして画像を⽣成、それをGitHubへ再Pushします。すると…

    View Slide

  117. 117
    パワポの差分レビューが簡単に!
    ⾚⾊点線枠のところが差分で、GitHubでビジネス業務⽂書もレビューできるようになりました!

    View Slide

  118. Copyright © NTT Communications Corporation. All right reserved.
    118
    アジェンダ
    1. 内製開発の種をまく
    ・⽂化の話
    2. 内製開発を開花させる
    ・技術の話
    ・⽂化の話(Tipsを紹介)
    最後に、チームが成⻑するために良かったTipsをいくつか紹介します。

    View Slide

  119. 119
    Copyright © NTT Communications Corporation. All right reserved.
    Tips 1: モチベーションの向上

    View Slide

  120. Copyright © NTT Communications Corporation. All right reserved.
    120
    個々のモチベーションを⾼める
    https://rotsuya.github.io/slides/enterprise-hacks-201512/#35
    これを補⾜するTEDのトークがあり、同様のことが⾔われています…

    View Slide

  121. Copyright © NTT Communications Corporation. All right reserved.
    「20世紀的な報酬、
    ビジネスで当然のものだと
    みんなが考える動機付けは機能はするが
    驚くほど狭い範囲の状況にしか合いません」
    ー ダニエル・ピンク
    121
    知的労働に対して、⾦銭的な報酬ではダメということです。では何が必要かというと…

    View Slide

  122. Copyright © NTT Communications Corporation. All right reserved.
    122
    モチベーションの3要素
    ⾃律性 熟達 ⽬的
    ・⾃由
    ・セルフコントロール
    ・何かを極める ・意義を感じられる

    View Slide

  123. Copyright © NTT Communications Corporation. All right reserved.
    123
    モチベーションの3要素
    ⾃律性 熟達 ⽬的
    ・⾃由
    ・セルフコントロール
    ・何かを極める ・意義を感じられる

    View Slide

  124. Copyright © NTT Communications Corporation. All right reserved.
    124
    ⾃由とセルフコントロール
    ・勤務制度
    ・リモートワーク
    ・フレックス
    ・開発合宿/ハッカソン

    View Slide

  125. Copyright © NTT Communications Corporation. All right reserved.
    125
    ⾃由とセルフコントロール
    ・勤務制度
    ・リモートワーク
    ・フレックス
    ・開発合宿/ハッカソン
    ・現チームでは3ヶ⽉に1回、
    開発合宿/ハッカソンを開催
    (⼤企業で20%ルールは、兼務・割り込みが多く難しい)
    ちなみに先ほどの パワポ x GitHub x CI も1泊2⽇の開発合宿で⽣まれたものです。

    View Slide

  126. Copyright © NTT Communications Corporation. All right reserved.
    126
    続:⾃由とセルフコントロール
    ・環境
    ・開発マシン(Mac)
    ・⼤きいディスプレイ
    ・⾃由なネットワーク
    エンプラ系の開発環境で重要なのがNWです。Slideshareなどをすぐに⾒れますか?

    View Slide

  127. Copyright © NTT Communications Corporation. All right reserved.
    127
    プロキシをくぐり抜けてませんか?

    View Slide

  128. Copyright © NTT Communications Corporation. All right reserved.
    128
    プロキシをくぐり抜けてませんか?
    無駄な部分にリソース消費してますよね。やはりエンジニアに必要なのは…

    View Slide

  129. Copyright © NTT Communications Corporation. All right reserved.
    129
    https://www.flickr.com/photos/kalyan02/4741751904/in/photolist-8e1HDb-u ZuS1 9-s8rMuD-6NBiXW-dWjASX-4sSHP1-7gyTGx-p3JgM V-xD7BBS-9o VL1S-7 uFkF1-3d45en -uYHRkF-34 RGLp-pNL5v5-qw RFHX-f5EY ST-srX6Dn-48qqS9 -BcR8 if-vd5CVT-B9z5JF-9Du5nJ-asnhrX-9 3QiHW-
    9VPysp-8B1zEg-bHPDvZ-6ZvBPc-7nV9sL-eZFf6T-fSvizn-4EeJjv-pMzoj2-AK5m R-5qT nBV-dmt8q-5MznQ1-dssvLL-e3w3aZ-3eNZ7s-4fpeSy-4fkfYP-bTRXJn-tq Vje-7Sm7h B-5oXSza-6vTZw J-du BgR8 -9DxVo
    ⾃由に使える開発向けネットワークを

    View Slide

  130. Copyright © NTT Communications Corporation. All right reserved.
    130
    続:⾃由とセルフコントロール
    ・環境
    ・開発マシン(Mac)
    ・⼤きいディスプレイ
    ・⾃由なネットワーク
    ・ツール
    ・Slack、GitHub
    ・任意のIDE など

    View Slide

  131. Copyright © NTT Communications Corporation. All right reserved.
    131
    Slack = エンジニア向けチャット
    ・APIが公開されており簡単にHack可能
    131
    SlackはAPIが公開されており、ボットを中に参加できます…1例として…

    View Slide

  132. Copyright © NTT Communications Corporation. All right reserved.
    132
    愛⽤されるボット
    ・メンバは作業中の情報を
    ボット(⾃動応答プログラム)を利⽤しつつ
    常時アウトプット ⇒ 作業の⾒える化
    ToDo管理の例
    132
    作業の⾒える化を狙ったTODOボットを利⽤しています。

    View Slide

  133. Copyright © NTT Communications Corporation. All right reserved.
    133
    続続:⾃由とセルフコントロール
    ・社「外」勉強会への参加の推奨
    133
    社外勉強会での発表は許可などが必要かと思いますが、積極的に送り出してください。

    View Slide

  134. Copyright © NTT Communications Corporation. All right reserved.
    134
    続続:⾃由とセルフコントロール
    ・社「外」勉強会への参加の推奨
    ・特にアウトプットを推奨
    ・コアとなるノウハウは隠蔽すべき、
    だが実際にはそれほど多くは無い
    134
    本当のノウハウは隠せばいいですが、周辺技術は特に出しても問題ないものも多いです。

    View Slide

  135. Copyright © NTT Communications Corporation. All right reserved.
    135
    続続:⾃由とセルフコントロール
    ・社「外」勉強会への参加の推奨
    ・特にアウトプットを推奨
    ・コアとなるノウハウは隠蔽すべき、
    だが実際にはそれほど多くは無い
    ・「講演する ⇔ 詳細に調査する」x N回
    を繰り返すと、「熟達」につながる
    135
    講演を繰り返すと、良いフィードバックループが周りモチベーション向上につながります。

    View Slide

  136. Copyright © NTT Communications Corporation. All right reserved.
    136
    再掲:モチベーションの3要素
    熟達 ⽬的
    ・⾃由
    ・セルフコントロール
    ・何かを極める ・意義を感じられる
    ⾃律性

    View Slide

  137. Copyright © NTT Communications Corporation. All right reserved.
    137
    熟達:何かを極める
    ・その道のエキスパートになる
    137
    勉強会で多く発表して、Expertになった良い⼈物が弊社にいます…

    View Slide

  138. Copyright © NTT Communications Corporation. All right reserved.
    138
    熟達:何かを極める
    ・その道のエキスパートになる
    ・例:
    NTTコミュニケーションズ
    Webアプリケーション エバンジェリスト
    Google Developer Expert
    ⼩松 健作 ⽒
    138
    現在はUSベイエリアで活躍中です!

    View Slide

  139. Copyright © NTT Communications Corporation. All right reserved.
    139
    再掲:モチベーションの3要素
    ⾃律性 熟達 ⽬的
    ・⾃由
    ・セルフコントロール
    ・何かを極める ・意義を感じられる
    139
    最後の要素は⽬的です。これは⾮常に難しいですが…

    View Slide

  140. Copyright © NTT Communications Corporation. All right reserved.
    140
    共感できるビジョンを⽰す
    https://rotsuya.github.io/slides/enterprise-hacks-
    201512/#45

    View Slide

  141. Copyright © NTT Communications Corporation. All right reserved.
    141
    SkyWayのミッションステートメント

    View Slide

  142. 142
    Copyright © NTT Communications Corporation. All right reserved.
    Tips 2: ⽂化の醸成

    View Slide

  143. Copyright © NTT Communications Corporation. All right reserved.
    143
    ・チームの⽂化を作る
    ・変化や逆境に強い組織
    ⽂化を作る
    143
    ⼤企業では、他の施策などから様々な余波がチームを襲ってきますが強いチームなら耐えられます

    View Slide

  144. Copyright © NTT Communications Corporation. All right reserved.
    144
    ・チームの⽂化を作る
    ・変化や逆境に強い組織
    ・⾏動指針を作って合意を形成し
    徐々に浸透させる
    ・新規メンバのチーム参加時に説明
    ・既存メンバ含め継続的に浸透
    ⽂化を作る
    144
    強いチームを作るために、⾏動指針などを規定して浸透させます。指針とは例えば…

    View Slide

  145. Copyright © NTT Communications Corporation. All right reserved.
    145
    チームのガイド・ポリシーの規定例

    View Slide

  146. Copyright © NTT Communications Corporation. All right reserved.
    146
    チームのガイド・ポリシーの規定例
    146
    情報発信・共有は特に重要視しています。具体的にはたとえば…

    View Slide

  147. Copyright © NTT Communications Corporation. All right reserved.
    147
    情報共有について
    ・原則、情報はURL付きで
    チーム内に全て公開して⾒える化

    View Slide

  148. Copyright © NTT Communications Corporation. All right reserved.
    148
    情報共有について
    ・原則、情報はURL付きで
    チーム内に全て公開して⾒える化
    なぜ、徹底して
    こだわるのか?

    View Slide

  149. Copyright © NTT Communications Corporation. All right reserved.
    149
    情報共有が必要な理由
    ・共有されていない情報は、
    そのままチームのSPOFになる

    View Slide

  150. Copyright © NTT Communications Corporation. All right reserved.
    150
    情報共有が必要な理由
    ・共有されていない情報は、
    そのままチームのSPOFになる
    ・情報の隠蔽は不要な権⼒を⽣み出す

    View Slide

  151. Copyright © NTT Communications Corporation. All right reserved.
    151
    情報共有が必要な理由
    ・共有されていない情報は、
    そのままチームのSPOFになる
    ・情報の隠蔽は不要な権⼒を⽣み出す
    ・プロジェクトの範囲が⾒えないと、
    個々のメンバの裁量も⽣まれない
    ・例:Aさんがやってる可能性があるから
    ⾃分がやっていいのか判断できない

    View Slide

  152. Copyright © NTT Communications Corporation. All right reserved.
    152
    情報発信を促すTips
    ・全体ミーティングなどで
    情報発信が必要な意義を理解してもらう

    View Slide

  153. Copyright © NTT Communications Corporation. All right reserved.
    153
    情報発信を促すTips
    ・全体ミーティングなどで
    情報発信が必要な意義を理解してもらう
    ・⾔い出しっぺが⾃ら書きまくる姿を⾒せる
    (⼼が折れそうでも、そこは頑張る!)

    View Slide

  154. Copyright © NTT Communications Corporation. All right reserved.
    154
    情報発信を促すTips
    ・全体ミーティングなどで
    情報発信が必要な意義を理解してもらう
    ・⾔い出しっぺが⾃ら書きまくる姿を⾒せる
    (⼼が折れそうでも、そこは頑張る!)
    https://speakerdeck.com/naoya/qing-bao-gong-you-shi-bai-aruaru

    View Slide

  155. Copyright © NTT Communications Corporation. All right reserved.
    155
    情報発信を促すTips
    ・誰かが記事などを書いてくれたら、
    全⼒で「 」!

    View Slide

  156. Copyright © NTT Communications Corporation. All right reserved.
    156
    実際にはこのぐらいのノリで
    ・誰かが記事などを書いてくれたら、
    全⼒で「 」!

    View Slide

  157. 157
    Copyright © NTT Communications Corporation. All right reserved.
    157
    Tips 3: ⽣産性の向上を強く意識
    エンプラ企業であまり意識されていないことかもしれませんが、⽣産性向上のためには…

    View Slide

  158. Copyright © NTT Communications Corporation. All right reserved.
    158
    集中することに集中する

    View Slide

  159. Copyright © NTT Communications Corporation. All right reserved.
    159
    続:集中することに集中する

    View Slide

  160. Copyright © NTT Communications Corporation. All right reserved.
    机の前に何時間座っていたかは
    どうでもいいことで、
    全神経を集中して
    仕事に取り組んだ時間が重要なのだ
    (ピープルウェア より)

    View Slide

  161. 161
    Copyright © NTT Communications Corporation. All right reserved.
    Tips 4: 継続的チーム改善

    View Slide

  162. Copyright © NTT Communications Corporation. All right reserved.
    162
    KPTでの振り返り
    ・定期的にチーム全体で改善会議
    ・実施⽅式はKPT(Keep, Problem, Try)

    View Slide

  163. Copyright © NTT Communications Corporation. All right reserved.
    163
    ポイントは担当者アサイン
    ・定期的にチーム全体で改善会議
    ・実施⽅式はKPT(Keep, Problem, Try)
    次回の改善事項の期⽇を決め
    担当者をアサインし
    次回の会議でTryを振り返り
    163
    当たり前かもしれませんが、特に担当者を決めるのが重要です。というのも…

    View Slide

  164. Copyright © NTT Communications Corporation. All right reserved.
    “私達”というのは結局やらない
    (Developerʼs Codeより)
    164
    「私達」は責任・責務をあいまいにする⾮常に便利な⾔葉です。

    View Slide

  165. Copyright © NTT Communications Corporation. All right reserved.
    165
    https://www.flickr.com/photos/matianming/11622156285/in/photolist-iH1A9V-dpgEPq-dpgyJi-4nACsY-MdAxR-3YxJ3M-5sVma5-6zY6TJ-MdBVW-PHMHg-iH5z9m-4nwxkn-aDJe7-iH1xgv-dpgJKU-cpnz4-dpgFjG-5fMjk-
    9sm6N6-wSJSXt-MdsaQ-fSEFmT-atS39L-fSEFnK-4nABrL-bt6mbS-aDJ63-PHcBj-6Bsn5y-MdBFc-fSFiD3-iH1yLK-aJn3R-pRR1j3-4eq7nv-5Lumw-DX7xAt-52brFk-7Q6Yj8-7SD1LL-4nADHE-2bKJG-93TZN5-fSBUpt-6ZwEVH-
    7SzFYB-7cNAiP-fEE2hu-7Q6WAg-fSFihm
    私達も まだまだ道半ば
    165
    改善に終わりはありません。だまだ出来ていないこともあります。例えば…

    View Slide

  166. Copyright © NTT Communications Corporation. All right reserved.
    166
    こういうスケジュールになってませんか?
    会議などで
    埋まっている
    カレンダーの図
    166
    これを引き起こす要因でメジャーなものが…

    View Slide

  167. Copyright © NTT Communications Corporation. All right reserved.
    167
    (管理層の考える)
    兼務の魔法
    +業務A(50%)
    +業務B(30%)
    +業務C(20%)
    = 100%

    View Slide

  168. Copyright © NTT Communications Corporation. All right reserved.
    168
    これ⼤嘘です
    +業務A(50%)
    +業務B(30%)
    +業務C(20%)
    = 100%
    168
    168
    これは間違ってます。理由は…

    View Slide

  169. Copyright © NTT Communications Corporation. All right reserved.
    169
    コンテキストスイッチのコストを忘れずに
    脳内2次記憶
    (HDD/SSD)
    脳内1時記憶
    (RAM)
    業務A
    業務B
    業務C
    業務A
    Swap-in
    Swap-out
    169
    169
    スワップイン・アウトのコストは無視できないレベルで⼤きいです。そのためには…

    View Slide

  170. Copyright © NTT Communications Corporation. All right reserved.
    170
    コンテキストスイッチのコストを忘れずに
    脳内2次記憶
    (HDD/SSD)
    脳内1時記憶
    (RAM)
    業務A
    業務B
    業務C
    業務A
    Swap-in
    Swap-out
    兼務は可能な限り解消すべき!
    (まだ道半ば)

    View Slide

  171. 171
    Copyright © NTT Communications Corporation. All right reserved.
    まとめ
    171

    View Slide

  172. Copyright © NTT Communications Corporation. All right reserved.
    172
    本⽇、お聞きいただいたこと
    • 内製開発の必要性
    • 内製開発の種をまく
    ・⽂化の話
    • 内製開発を開花させる
    ・技術の話
    ・⽂化の話

    View Slide

  173. Copyright © NTT Communications Corporation. All right reserved.
    173
    今⽇のゴール
    内製を始める気になる ⇒ ⾏動する
    https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb-
    9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc

    View Slide

  174. Copyright © NTT Communications Corporation. All right reserved.
    174
    今⽇のゴール
    内製を始める気になる ⇒ ⾏動する
    https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb-
    9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc
    NTT Comのような外注が多い企業でも
    イマドキの内製は実現できるのだから
    あなたの会社でも絶対にできる!

    View Slide

  175. Copyright © NTT Communications Corporation. All right reserved.
    175
    今⽇のゴール
    内製を始める気になる ⇒ ⾏動する
    https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb-
    9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc
    NTT Comのような外注が多い企業でも
    イマドキの内製は実現できるのだから
    あなたの会社でも絶対にできる!
    あとは⾏動するのみ!!!
    ご清聴ありがとうございました!

    View Slide