Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rebuild Team - 急成長プロダクトのDev&Opsで生じる悪循環とその解決策 / ...
Search
yuzutas0
PRO
October 13, 2017
Technology
56k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rebuild Team - 急成長プロダクトのDev&Opsで生じる悪循環とその解決策 / 20171013
SPI Japan 2017の発表資料です。
refs.
https://yuzutas0.hatenablog.com/entry/2017/10/16/093000
yuzutas0
PRO
October 13, 2017
More Decks by yuzutas0
See All by yuzutas0
OLSにおける推定量β1=共分散÷分散の導出 / 20230517
yuzutas0
PRO
2
750
民間企業におけるデータ整備の課題と工夫 / 20220305
yuzutas0
PRO
15
8.4k
累計参加者8,500名! #DataEngineeringStudy の43スライドから学ぶ、データエンジニアリングの羅針盤 / 20220224
yuzutas0
PRO
14
5.7k
あの人の自分戦略を聞きたい!2022 #devsumi / 20220218
yuzutas0
PRO
4
4.3k
データ基盤による利益最大化と初期構築プロセス / 20220209
yuzutas0
PRO
10
6.9k
Engineer Career Lounge#1「エンジニアの成長戦略を考える」 #ECLounge カンニングペーパー / 20211217
yuzutas0
PRO
3
1.6k
Data Management Guide - 事業成長を支えるデータ基盤のDev&Ops #TechMar / 20211210
yuzutas0
PRO
22
27k
[投影資料]『実践的データ基盤への処方箋』の刊行にあたって #TechMar / 20210210-2
yuzutas0
PRO
1
3.9k
DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022
yuzutas0
PRO
55
47k
Other Decks in Technology
See All in Technology
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
220
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
140
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
520
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
2
860
購入ドメインでの課題と取り組み
ykagano
0
140
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
550
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
0
110
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
120
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
[2026 Oracle Technical Deep Dive] OCI AI Resilience -OCIのセキュリティ対策機能をきちんと使いこなす- (2026年9月17日開催)
oracle4engineer
PRO
0
130
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
The untapped power of vector embeddings
frankvandijk
2
1.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
The Curious Case for Waylosing
cassininazir
1
550
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
YesSQL, Process and Tooling at Scale
rocio
174
15k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
GraphQLとの向き合い方2022年版
quramy
50
15k
Transcript
Rebuild Team ٸϓϩμΫτͷDev&OpsͰੜ͡Δѱ॥ͱͦͷղܾࡦ 2017-10-13 (Fri) SPI Japan 2017
presented by @yuzutas0 IUUQTXXXQFYFMTDPNQIPUPDPMMFBHVFTDPPQFSBUJPOpTUCVNQpTUT
90ຕ / 20min ͲΜͲΜ͍͖·͢
ɹSho Yokoyama (@yuzutas0) ɹɹ • ϦΫϧʔτςΫϊϩδʔζ •
ೝఆεΫϥϜϚελʔ • ΤϯδχΞνʔϜͷ্ཱͪ͛ɾཱͯ͠
ɹຊͷ༰ “ٸʹ͏௧Έ” Λ1ͭ1ͭղফͯ͠ νʔϜΛ҆ఆԽͨ͠ࣄྫΛڞ༗͠·͢
ɹఆ͢Δର ٸϑΣʔζͷϓϩμΫτ։ൃɾӡ༻ʹؔ৺ͷ͋Δ • ιϑτΣΞΤϯδχΞ • νʔϜϦʔμʔ • ৫Ϛωʔδϟʔ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
ɹ௧ʹۤ͠ΉϓϩμΫτ ձࣾͷ࣍Λ୲͏ࣄۀͱͯ͠ͷظ νʔϜཱͯ͠ͷඞཁੑ ϝϯόʔ2ഒ/Q εέʔϧظ ച্3ഒ/ άϩʔε ো2݅/Ӧۀ
ةػతঢ়گ
ɹ“0→1” ͕ੜΜͩෛ࠴ ώοτ͢Δ͔ෆ֬ఆͰίετΛׂ͚ͳ͔ͬͨ ֎ʹؙ͛ γεςϜ࣭ γεςϜͷݶք ϐʔΫ࣌ؒଳͷԠ͕20sec ࢢ֦େ Ϣʔβʔ૿Ճ
ɹ“1→10” ʹඋ͑ͨ࠶ߏங ϐʔΫ࣌ؒଳͷϨεϙϯελΠϜΛ0.05secʹ400ഒͷվળ ɹɹɹɹɹɹɹɹɹɹɹɹΦϯϓϨ ϨϯμϦϯάHTMLͱ jQueryͷଟॏಡࠐ → VirtualDOMɾSPA ʢඇಉظϕʔεͷ௨৴ʣ
֤αʔόͷεέʔϧΞοϓˍεέʔϧΞτ DBΩϟογϡ → KVSҠ ϚϧνϚελߏʹWriteࢄ ඇਖ਼نԽ&Ϛελςʔϒϧഇࢭ ʹJoinεΩϟϯΛݮ ϙʔϦϯά࠷దԽ ΤϯυϙΠϯτΛࢄ ϩδοΫશॻ͖͠ JPA؆қੜΫΤϦ → ࣗલSQLͰ࠷దԽ
ɹ“1→10” ʹඋ͑ͨԽ αϒγεAͷ࠶ߏங ՔಇதγεςϜͷ อकӡ༻ αϒγεAͷ ड͚͠ ʴαϒγεAͷ ػೳՃΛ࠶։
ʴαϒγεBͷ ػೳՃΛ࠶։ αϒγεBͷ࠶ߏங αϒγεCͷ࠶ߏங αϒγεBͷ ड͚͠ γεςϜ࠶ߏஙνʔϜ ։ൃˍӡ༻νʔϜ ػೳՃΛҰ࣌ఀࢭ͢Δܭը͕ͩͬͨࣄۀ෦ͷཁٻͰ࣮ࢪ γεςϜ෦ͷϚωδϝϯτ͕ະհࡏͷ··Γ࢝Ίͨ ֎Λഇࢭ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹϛογϣϯ • ։ൃɾӡ༻νʔϜΛཱͯ͢͜ͱ • ͞ΒͳΔͷΛߏங͢Δ͜ͱ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
γεςϜো͕Ӧۀ͋ͨΓ2݅ൃੜ͢Δঢ়گ͕1ϲ݄ଓ͍ͨ → શνʔϜͷ͋ΒΏΔ։ൃΛࢭΊͯ੩Խ ঃʑʹऩଋ͕ͨ͠ • ߃ٱରԠਃ͠ૹΓ • िʹԿճ͔࣌ݶര͕രൃ • ϦϦʔεͷʹ৽ͨͳো͕ൃੜ
ɹͳʹͱ͋ΕՐΛফ͢ https://www.pexels.com/photo/water-outside-fire-hose-69934/
ɹѱ॥Λଧ։͢Δվળ׆ಈ վળαΠΫϧΛͻͨ͢Βճ͠ଓ͚ͨ ݱঢ়ͷՄࢹԽ ಁ໌ੑ ϘτϧωοΫͷಛఆ ݕࠪ ϓϥΫςΟεͷద༻ దԠ
ɹ˞ٕज़؍ίπίπվળ͠ͳ͕Β ίʔυ࣭ͷ୲อ ϒϥϯνઓུͷಋೖ QAࢧԉɾςετڧԽ ϦϦʔε࡞ۀͷࣗಈԽ ཁ݅ϑΥʔϚοτඋ ςετ͚ࢿཧ IUUQTPOJDTPGUTPMVUJPOTJORVBMJUZBTTVSBODFBOEUFTUJOHIUNMɹɹɹIUUQOWJFDPNQPTUTBTVDDFTTGVMHJUCSBODIJOHNPEFM
݁Ռతʹʮݱ͚ͩͰແཧʹղܾ͠ͳ͍ʯʮ૬ஊ͢ΕղܾͰ͖Δ͜ͱ͋Δʯͷϝοηʔδʹͳͬͨ ɹ˞֎෦ϦιʔεͰෆΛิ͍ͳ͕Β ࢿɿϗϫΠτϘʔυϞχλʔ ࣝɿಛఆͷઐՈαϙʔτ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹϘτϧωοΫ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര τϥϒϧ ମྗɾϝϯλϧʹܸ ͗Α͏͕ͳ͍
ɹࠞཚͨ͠··োʹରቂ͢Δ
• ܰඍͳෆ۩߹ͰͷΦϯίʔϧۀରԠ͕ൃੜ͍ͯͨ͠ • ෆదͳରԠʹΑΔೋ࣍ࡂ͕গͳ͔Βͣൃੜ͍ͯͨ͠ ɹোͷੳ͔Βணख
• ࣭ɾোରԠʹ͓͚Δؔऀͷઢ߹Θͤ • ఆٛͦͷͷ < “ఆظతͳձ” Λ௨ͨ͡ڞ௨ೝࣝͷৢ ɹαʔϏεϨϕϧΛఆٛ
ɹͲͷ͘Β͍ ”͍” Ϩϕϧ͔ SLA ػೳ ηΩϡϦςΟɾ๏ ίΞػೳ αϒػೳ ඇػೳ
৴པੑɾՄ༻ੑ ੑೳɾΩϟύγςΟ OLA ʴ Өڹൣғ ར༻ऀɾγΣΞ ࣌ؒଳ αϙʔτڥ ʹ ରԠ ଈ࣌ରԠ - ϕετΤϑΥʔτ ༏ઌରԠʢʼػೳՃʣ ௨ৗରԠʢʹػೳՃʣ ӡ༻ ఆظతͳධՁ → ࠶ൃࢭ + ࣄલ༧ αʔϏεϨϕϧఆٛࣗମͷݟ͠ ࢀরʰαʔϏεϨϕϧɿઃܭͱӡ༻ͷϓϥΫςΟεʱ http://yuzutas0.hatenablog.com/entry/2017/05/23/073000
ಋೖ࣌ʹաڈࣄྫΛ౿·͑ͨγϛϡϨʔγϣϯͰઆ໌ ྫྷ੩ʹ͢ͱʮ͜ͷϨϕϧͷෆ۩߹Ͱʯʮ௨͠ͷରԠΛͯ͠ʯ ʮೋ࣍ࡂ͕ى͖ͨ͜ͱʯͷ೦͕͞ු͖ூΓʹͳΔʢஅج४ͷඞཁੑʣ ɹʮ͜ΕΛܾΊͯԿͷҙຯ͕͋Δͷʁʯ ͜ͷτϥϒϧͩͱ ͜ͷରԠʹͳΔ ͜ͷτϥϒϧͩͱ ͜ͷରԠʹͳΔ
͜ͷτϥϒϧͩͱ ͜ͷରԠʹͳΔ
αʔϏεϨϕϧΛஅͷدΔลͱͯ͠গͣͭ͠ఆணͤ͞Δ ɹײযΓͰҙࢥܾఆ͕ͳ͞Ε͕ͪ ɹʮαʔϏεϨϕϧఆٛͩͱ ɹɹ͜ͷΑ͏ʹஅͰ͖·͢Ͷʯ ҙࢥܾఆͷʹډ߹ΘͤΔ γεςϜ෦ͷ৬ऀΛঌש͢Δ τϥϒϧൃੜ࣌ ϝϯόʔʹΛֻ͚ͯΒ͏
৺ཧత҆શੑ ʮ૬ஊ͢ΕؒରԠͤͣʹࡁΉʯ ϝϯόʔ͕ҰํతʹෆརӹΛ ඃΒͳ͍Α͏ʹίϛϡχέʔγϣϯ
ܗ֚ԽɾߗԽΛ͙ͨΊͷӡ༻ઃܭ • ݄࣍ͷৼΓฦΓͰఆٛࣗମΛՃචɾमਖ਼ • աେɾաগͳΦϖϨʔγϣϯϨϕϧͰରԠ → ͔࣍ΒదͳϨϕϧͱ͢Δձ • Ξοϓσʔτ͍͢͠Α͏ʹίϥϘϨʔγϣϯπʔϧʢConfluenceʣʹهࡌ
ɹॳߟྀ֎ͩͬͨ৽؍͕ग़Δ
ɹదͳϨϕϧͰ࣭ʹରቂ͢Δ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹϘτϧωοΫ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ർฐ ”୲ऀ”ͷ๊͑Δ ՝ΛΓ։͘
ɹ“୲ऀ”͚͕ͩ՝ʹରቂ͢Δ
ɹ1on1ʹͯώΞϦϯά IUUQTXXXQFYFMTDPNQIPUPBEVMUCFBSECFWFSBHFCMVS
ɹɹɹɹɹ • ϝϯόʔ͝ͱʹҟͳΔ՝ҙࣝΛ๊͍͑ͯΔ ɹɹɹɹɹ • ͦͷ “” Λ͓ޓ͍ʹൃ৴͍͋͑ͯ͠ͳ͍ ɹɹɹɹɹ •
νʔϜͱͯ͠ “” ͷݕɾղܾ͕Ͱ͖͍ͯͳ͍ ɹܧଓతͳ՝ͷݕ͕Ͱ͖͍ͯͳ͍ IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM
•ʮߴ͍༏ઌʯͩΒ͚ͷܭը •ʮߴ͍༏ઌʯͩΒ͚ͷׂΓࠐΈ࡞ۀ • “୲ऀ” ͕ՔಇΛ૿͢͜ͱͰܭըʹ࣮ଶΛ߹ΘͤΑ͏ͱͨ͠ ɹ༏ઌॱҐʹԠͯ͡࡞ۀͰ͖͍ͯͳ͍
νʔϜ෦ͷձΛ׆ੑԽ → ಁ໌ੑΛอͭ → ݕࠪɾదԠͷαΠΫϧΛճ͢ ɹεϓϦϯτηϨϞχʔΛ։࠵ What ԿΛ͢Δ͔ How
Ͳ͏ͬͯ͢Δ͔ ि࣍ϨϏϡʔ ࡞ۀ݁ՌϑΟʔυόοΫ σΠϦʔMTG ࡞ۀͷ࠶ܭը ि࣍ϓϥϯχϯά Ҋ݅ͷ࠶ܭը ϨτϩεϖΫςΟϒ ϓϩηεͷ࠶ܭը What ԿΛ͢Δ͔ How Ͳ͏ͬͯ͢Δ͔
ɹηϨϞχʔʹ͏ΞΠςϜͷඋ ɹϓϩμΫτόοΫϩά ɹݶΒΕͨਓһͰ༏ઌॱҐʹԠͯ͡࡞ۀ͢ΔΩϡʔ ɹোϦετ ɹϨτϩεϖΫςΟϒͰՄࢹԽ͞Εͨ՝ ɹεϓϦϯτόοΫϩά ɹݱঢ়ͷ࡞ۀਐḿΛՄࢹԽ͢ΔΧϯόϯ
*ྫʮ͋ͷَిͷதͰखॱॻΛ࡞ͬͯϨϏϡʔͰ͖ͨʂೋ࣍ࡂ͕ى͖ͳ͍Α͏ʹಈ͚ͨͷྑ͔ͬͨʂʯ ɹKPTʹΑΔৼΓฦΓ͔Βணख Keep ݫ͍͠ঢ়گ͔ͩΒͦ͜ൃش͞Εͨ ྑ͍Λ͔ͬ͠Γͱশ͑߹ͬͨ* Problem ʢͦͷ্Ͱʣ֤ϝϯόʔ͕ ײ͍ͯ͡Δ՝Λચ͍ग़ͨ͠ IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM
ɹTryͱͯ͠ϓϥΫςΟεΛঃʑʹಋೖ ݱ͕ແཧͳ͘ड͚ೖΕΒΕΔॱ൪ͰΞδϟΠϧख๏Λద༻ʢ͍͖ͳΓεΫϥϜͩͱߏ͑ΒΕΔʣ 1ʹ͋Ε͜Ε ରԠ͢Δͷແཧͩʂ ༏ઌॱҐͷΩϡʔཧ όοΫϩάΛಋೖ Problem Try Ωϡʔͷݟ͠Λ
ͨ͠΄͏͕ྑ͍ͷͰʁ ݟ͠ػձͱͯ͠ ϓϥϯχϯάձٞΛಋೖ Problem Try ଞͷҊ݅ΛΒͳ͍ͷͰ αϙʔτͰ͖ͳ͍ʂ σΠϦʔMTG ि࣍ϨϏϡʔΛಋೖ Problem Try
ɹʮΓํ͕ίϩίϩมΘΔʯ ϓϥΫςΟεͷద༻͕ٸ͗͢Δͱɺݱͷϝϯόʔ͕뱌Ͱ͖ͳ͍ • ೲಘͰ͖ΔൣғΛฉ͖ग़͢ → શһ͕ೲಘͰ͖Δ෦͔Βಋೖ • ͜ͷνʔϜʹ·ͩૣ͗ͨ͢ →
ʮͬͺΓΊ·͠ΐ͏ʯͰΓ͠ • த్ͳద༻Ώ͑ͷProblem͕ڍ͕Δ → TryͰ͞Βʹຊ֨ద༻ •ʮࠜຊͷߟ͑ํΛΓ͍ͨʯͱ͍͏ҙݟ → رऀʹରͯ͠ࢀߟਤॻͷҊ
ɹ“ݱͷৼΓฦΓ”Λجʹ্Ґ࿈ܞ Slack #kpt ʹߘ ؾ͍͙ͨ͢ڞ༗ ߘΛࢀߟʹͯ͠ ϨτϩεϖΫςΟϒ Try Λચ͍ग़͢
Ϛωδϝϯτձٞ Ͱ ্ҐʹαϚϦʔใࠂ ͦͷProblem νʔϜͰରॲՄೳ͔ʁ Yes No ࢀরʰΤεΧϨΛࢧ͑Δٕज़ - ΞδϟΠϧͳใ࿈૬ͱใྲྀ௨ʱ http://yuzutas0.hatenablog.com/entry/2017/08/10/090000 Lean Escalation ͷ࠲Έ
ɹνʔϜͱͯ͠՝ͱରቂ͢Δ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹϘτϧωοΫ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ KPTΛ௨ͯ͠՝͕ු্ ʢνʔϜͷॏ՝ͱͯ͠߹ҙܗʣ ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁ ہॴ࠷ద
• શମ૾Λશ͘Βͳ͍ • શମ૾ʹΞΫηεͰ͖ͳ͍ ɹہॴ࠷దͷ༠Ҽ
͋ΒΏΔ։ൃɾӡ༻ۀͷɺ͋ΒΏΔఔʹ ͋ΒΏΔProblem͕Ϛοϐϯά͞Εͨ ཁٻཧ ཁ݅ఆٛ ઃܭ ࢼݧ ग़ՙ ӡ༻ Problem
Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem ɹʮԿͱͳ͘ʯͷ࡞ۀͩΒ͚
Tryͷ༏ઌॱҐܾΊ૬ޓαϙʔτ͕ࠔ • ୲ऀҎ֎ʢ୲ऀࣗͰ͑͞ʣ֤ʑͷۀϑϩʔΛѲͰ͖ͳ͍ • ۀ༰ͷͲ͜ʹɺͲͷΑ͏ͳϜμɾϜϥɾϜϦ͕ੜ͡Δ͔ݟ͑ͳ͍ ɹશମ૾͕ෆಁ໌
࡞ۀ࣌ؒɾͪ࣌ؒखΓͷ࣮ଶΛચ͍ग़͢ ϜμɾϜϥɾϜϦ͕ੜ͡ΔՕॴΛಛఆ ɹόϦϡʔετϦʔϜϚοϓʢVSMʣΛ࡞ Ҿ༻ݩʮຊͷDevOpsมֵΛଅਐ͢ΔόϦϡʔετϦʔϜϚοϐϯάʯ http://gihyo.jp/dev/column/01/devops/2017/value-stream-mapping
ݟ͑ʹ͍͘෦ʹ͕ͦ͜જΉ ʹ શۀΛՄࢹԽ͢Δ͜ͱ͕େ ɹ֤ۀ͝ͱʹผͷVSMΛ࡞Δ ػೳՃͷ։ൃ γεςϜোରԠ ΧελϚʔ͔Βͷ ͍߹ΘͤରԠ ଞ෦ॺ͔Βͷ
࡞ۀґཔରԠ γεςϜอकۀ ྫɿEOSLରԠ γεςϜӡ༻ۀ ྫɿΩϟύγςΟܭଌ http://gihyo.jp/dev/column/01/devops/2017/value-stream-mapping
1. ೲಘͯ͠Β͏ • ҙࣝɾଧͪखΛઆ໌ • ࣾͰͷVSM׆༻ࣄྫΛհ 2. શһͰVSMΛ࡞ •
֤୲ऀ͕આ໌͠ͳ͕ΒۀͷྲྀΕΛॻ͘ • “ϜμɾϜϥɾϜϦ” ”ϝϯόʔؒͷೝࣝͷࠩ” ΛՄࢹԽ • ·͞ʹਐߦதͩͬͨҊ݅ͷϦεΫΛͦͷͰݕͰ͖ͨʢޭମݧʣ ɹશһࢀՃܕϫʔΫγϣοϓ͔Β࢝ΊΔ ࣮Ԛ͍Ͱ͢ʜʜ
ɹʮ߆ଋ͕࣌ؒ͗͢Δʯ ϫʔΫγϣοϓͰ શһ͕ཧղ͍͢͠ ʮػೳՃʯΛର Γ୲ऀʹ ώΞϦϯά VSMΛ࡞ ʹ՝ͷՄࢹԽ ͙͢Ͱ͖ΔՕॴ͔Β
ۀϑϩʔΛվળ վળޮՌ͕ݟ͑Δ ʹඞཁੑɾೲಘײ
ɹۀͷશମ૾ΛΔ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹϘτϧωοΫ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ KPTΛ௨ͯ͠՝͕ු্ ʢνʔϜͷॏ՝ͱͯ͠߹ҙܗʣ ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁ ہॴ࠷ద
• શମ૾Λશ͘Βͳ͍ • શମ૾ʹΞΫηεͰ͖ͳ͍ ɹہॴ࠷దͷ༠Ҽ
վળ׆ಈΛ௨ͯ͠ٸܹʹϧʔϧɾϓϩηε͕ܾ·͍͕ͬͯ͘ ҙࢥܾఆͷεϐʔυʹυΩϡϝϯτԽ͕ؒʹ߹Θͳ͍ ɹʮͲ͜ΛݟΕ͔Δʁʯ ※ຊߘʹ͓͚ΔʮυΩϡϝϯτʯূɾܖతͰͳ͘ɺۀඪ४Խͷʮ࡞ۀखॱॻʯʮΠϯϑϥڥҰཡʯͱ͍ͬͨͷ
• υΩϡϝϯτԽʴߋ৽͠ଓ͚Δ͜ͱͷॏཁੑKPTͰڧௐ • ʑͷίϛϡχέʔγϣϯͰʮͥͻจॻԽ͍ͯͩ͘͠͞ʯʮߋ৽͍ͯͩ͘͠͞ʯ • ଅਐҊΛืΔ → ϝϯόʔओମͰଅਐbotνέοτӡ༻ͷࢼߦࡨޡ ɹʢҊࣗମଓ͔ͳ͔͕ͬͨϝϯόʔ͕ࣗൃతʹจॻԽ͢ΔΑ͏ʹͳͬͨʣ
ɹνʔϜશһʹਪਐऀͱͯ͠ৼͬͯΒ͏
• ϝϯόʔ͕ओମతʹจॻԽ → ผͷॴʹࣅͨυΩϡϝϯτ͕ॏෳ ɹ࣮ྫ: A͞Μ͕োΛड͚ͯϦϦʔεखॱॻΛߋ৽ → B͞ΜผͷखॱॻͰಉ͡ϛε →
C͞Μ • ໎ͬͨͱ͖ʹɺͲ͜ΛݟΕʢʹͲ͜ʹॻ͚ʣྑ͍͔͔Βͳ͍ ɹʮͲΕ͕ਖ਼͍͠ʁʯ ϦϦʔεखॱॻA "͞Μ োൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ࡞ۀ࿙ΕΛө ϦϦʔεखॱॻA ʢөࡁΈʣ ϦϦʔεखॱॻB ʢະөʣ #͞Μ "͞Μ ಉ͡ো͕ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ࡞ۀ࿙ΕΛө ϦϦʔεखॱॻA ʢөࡁΈʣ "͞Μ ϦϦʔεखॱॻB ʢөࡁΈʣ #͞Μ ϦϦʔεखॱॻC ʢະөʣ $͞Μ ·ͨಉ͡ো͕ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ
ɹϨΨγʔυΩϡϝϯτ मਖ਼͕͍ͭޙճ͠ ԿΛॻ͚͍͍͔໎͏ Ͳ͜ʹॻ͚͍͍͔໎͏ Write ݟ͔ͭΒͳ͍ ใ͕ݹ͍ɾޡΓ ࣅͨ༰͕ࢄࡏ͍ͯ͠Δ Read
·͞ʹϨΨγʔίʔυͱಉ͡ ର͕ࣗવݴޠʢ͘͠දɾਤʣʹͳ͚ͬͨͩʂ ↓ ઃܭɾमਖ਼ͷΓํϓϩάϥϛϯάͱಉ͡Ͱʁ
ɹMVCΞʔΩςΫνϟͷద༻ ґଘؔʹج͍ͮͨυΩϡϝϯτઃܭ View ϦϦʔε࡞ۀखॱॻ ΠϯϑϥڥҰཡ JenkinsϩάΠϯใ ϦϦʔεه_201704XX Controller
Model
܁Γฦ͠ϖʔδҰׅཧ ɹIteratorύλʔϯ(GoF)ͷద༻ View ϦϦʔε࡞ۀखॱॻ ΠϯϑϥڥҰཡ JenkinsϩάΠϯใ ϦϦʔεه_201704XX Controller
Model ϦϦʔεه_201704XX ϦϦʔεه_201705XX ϦϦʔεه_201706XX
ɹDocument as Code - υΩϡϝϯτΛιʔείʔυͷΑ͏ʹѻ͏ ɹ • ϘʔΠεΧτݪଇɿ๚Εͨϝϯόʔ͕Ճචɾमਖ਼ ɹɹɹɹɹจॻΛݟΔલΑΓɺݟͨޙͷ΄͏͕៉ྷͳঢ়ଶͱͳ͍ͬͯΔͷ͕·͍͠ ɹ
• ίʔυϨϏϡʔɿߏʹΜͩΒ૬ஊ ɹɹɹɹɹʮ͜͏͍͏ҙਤͰ͜͜ʹॻ͜͏ͱࢥ͏ʂͲ͏ࢥ͏ʁʯΛ૬ஊ͢ΔSlackνϟϯωϧ ʹ ϨϏϡʔ׆ੑԽ Ͳ͜ʹͲͷυΩϡϝϯτ͕͋Δ͖͔Λ ίʔσΟϯάʹྫ͑ͯձ͢Δ ↓ ߟ͑ํ࡞ۀͷਐΊํʹͯ·Δ IUUQTQJYBCBZDPNFOMJCSBSZCPPLTNPOUFTTPSJTIFMG
• Ϣʔεέʔεੳ • ϦϑΝΫλϦϯά • ϖΞϓϩάϥϛϯά • Ϟϒϓϩάϥϛϯά •
όʔδϣϯཧ ɹυΩϡϝϯτΛίʔυͷΑ͏ʹѻ͏16ͷύλʔϯ (Document Design Pattern) • ΞʔΩςΫτνʔϜ • ίϯΣΠͷ๏ଇ ମ੍ͷύλʔϯ • ٕज़తෛ࠴ • ϙʔτϑΥϦΦ • ίʔσΟϯάΛଅ͢ • ίʔυϨϏϡʔ • ϘʔΠεΧτ • Rule of Three จԽͷύλʔϯ • MVCϞσϧ • GoFσβΠϯύλʔϯ • ܧଓతσϦόϦʔ / ΠςϨʔγϣϯ ߏͷύλʔϯ ࡞ۀͷύλʔϯ ˞ମ੍จԽσβΠϯʢઃܭʣʹӨڹΛ༩͑ΔͷͰσβΠϯύλʔϯʹؚΊ͍ͯ·͢ ࢀরʰDevOpsͱυΩϡϝϯτσβΠϯύλʔϯʱ http://yuzutas0.hatenablog.com/entry/2017/07/06/083000
ɹใͷΞΫηγϏϦςΟ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹϘτϧωοΫʁ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ ݁Ռతʹྑ͘ͳΔ෦ͳͷͰ ͷΞϓϩʔνͳ͠ ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ ࣭ྼԽ
1. എܠɾ՝ 2. վળ׆ಈ ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
3. ৼΓฦΓ ɹΞδΣϯμ
• ։ൃɾӡ༻νʔϜΛཱͯ͢͜ͱ • ͞ΒͳΔͷΛߏங͢Δ͜ͱ ɹϛογϣϯ
ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ
ɹ௧ΈΛ੍͢Δ ػೳෆશͷѱ॥ ϓϨογϟʔ → “୲ऀͷ” ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε ޓ͍ͷࣄΛΒͳ͍ αϙʔτɾϨϏϡʔͰ͖ͳ͍ ୲ऀ͚ͩͰࣗݾ݁
ఆ֎ͷ༷ ߟྀෆͷ։ൃ ͦͷ྇͗ͷӡ༻ γεςϜোͷଟൃ ػೳՃͷԆ ਂରԠɾٳग़ࣾͷৗଶԽ “0→1” ͷ࣌ݶര ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ࣭ྼԽ αʔϏεϨϕϧ ηϨϞχʔ όϦϡʔετϦʔϜ υΩϡϝϯτ
ɹάϩʔεΛ࣋ଓՄೳʹ͢Δ॥ Dev ❤ Ops “0→1” ͷ࣌ݶര νʔϜ֦େͷ४උ
ࣝͷܧঝ γεςϜো: 0.5݅/݄ʹݮগ ܰඍͳෆ۩߹: ਂٳରԠ0ʹ ҆ఆԽ ηϨϞχʔʹΑΔݕࠪͱదԠ VSM/υΩϡϝϯτʹΑΔۀܕԽ ՄࢹԽ ୲֎ϝϯόʔ͕ॿݴɾαϙʔτ ࣄલʹΛݕ→࣭༧ શମ࠷ద ঃʑʹݮΔ
ɹ৽نࢀըऀͷ @KPTͰͷձ Կ͔ฉ͍ͨΒશ෦ʮܾ·͍ͬͯͳ͍ʯ ͜ΜͳʹԿܾ·͍ͬͯͳ͍ݱॳΊͯ υΩϡϝϯταϙʔτ͕ॆ࣮͍ͯͨ͠ ͜ΜͳʹεϜʔζʹ্ཱ͕ͪΕͨݱॳΊͯ 4Q Joinϝϯόʔ 1Q
Joinϝϯόʔ
1. ૣ͍ஈ֊Ͱ༏लͳएखࣾһΛԿ໊͔ଞ෦ॺ͔ΒҾ͖ൈ͍ͨ 2. அج४ͱͨ͠ਓࡐཁ݅ = അྗ͕͋Δ͜ͱ ɹ • ఏىɾվળਪਐͰ͖Δࣗൃੑɹ͜ͷΞαΠϯਪਐΛ૿ͨ͢ΊͷଧͪखͳͷͰ ɹ
• ৬ೳԣஅࢤɹτϥϒϧԣஅՕॴͰى͖ΔͨΊʢྫɿiOSͱWebAPIΛ྆ํݟΔඞཁ͕͋Δʣ ɹ • Կ͔͠Β1ͭͷݴޠɾFWͷۀར༻ܦݧɹ1ͭεΩϧͷϕʔε͕͋ΕଞͷεΩϧֶΔͨΊ ɹ • ιʔείʔυʹ৮Εͣ͘͢Ϳ͍ͬͯΔ͜ͱɹݏͰຖιʔείʔυΛಡΈॻ͖Ͱ͖ΔमཏΛఏڙͰ͖ΔΑʂ ʮՖܗ෦ॺɾՖܗۀͰͳ͍ʯʮ্͕٧·͍ͬͯΔʯͳͲͷཧ༝Ͱ֘͢Δएखଟ͍ͩΖ͏ͱ͍͏ൃ ϝϯόʔͷҰһͱͯ͠ ॥ͷγϑτΛܦݧ Qຖͷମ੍֦େʹ߹Θͤ ͞ΒʹνʔϜΛׂ ֤νʔϜϦʔμʔͱͯ͠ ਪਐʹͳͬͯΒ͏ ɹεέʔϧʹ͚ͨਪਐ
ɹ॥Λճͨ͢Ίʹඅͨ͠ίετ ݱϝϯόʔͷίϛϡχέʔγϣϯίετΛେ෯ʹඅͨ͠ ɹ • ظతʹσϦόϦʔʹϚΠφεӨڹʢʹݟ͑Δɿલఔͷ࣭୲อͰ݁Ռతʹϓϥεʣ ɹ • ͲͷΈͪѱ॥ΛࢭΊΔͨΊʹඞཁͳίετͩͱ্Ґ৫ɾൃදऀೝ͍ࣝͯ͠Δ
εςʔΫϗϧμʔશମͱͷѲΓऑ͔ͬͨ ɹ • ঢ়گ͕ঢ়گͳͷͰʮνʔϜͷ՝ΛΓ։͘͜ͱʯʮ্Ґ৫ʹୡ͢Δ͜ͱʯ͕࠷༏ઌ ɹ • ֎͔Βͷݟ͑ํʮোΛग़ͨ͠ɾ։ൃ͕Ε͍ͯΔͷʹɺखΛࢭΊͯϫʔΫγϣοϓΛ࢝ΊΔνʔϜʯ ɹ • ݏຯΛݴΘΕͨͷ12Ͱͳ͍ → ͜ͷѹྗ͕ѱ॥ͷਅҼ → कΓखͱͯ͠ͷΤϯδχΞ෦ॺͷҙٛ ্Ґ৫ˍଞ෦ॺϝϯόʹཪͰϑΥϩʔ͍ͨͩ͘ܗͱͳͬͨ ɹ • ಛʹʮ։ൃܦݧ͋ΓʯʮϏδωε෦ʹॴଐʯͷϝϯόʔ͕؇িࡐͱͳͬͨͷ͕େ͖͍
ɹ͞ΒͳΔͷͨΊʹ Ծઆ ऩӹ Dev&Ops࠷దԽͷ༨ ྫɿνʔϜͷΫϩεϑΝϯΫγϣφϧԽ γεςϜ؍Ͱͷߏங ྫɿաͳٕज़తෛ࠴Λ༧͢ΔΈ Biz Dev
Ops ɹBizΛ౿·͑ͨ ɹ શମ࠷దԽ ɹ • γεςϜ ɹ • ϓϩηε ɹ • ࢪࡦɾཁ݅
ɹBizDevOpsʹ͚ͨऔΓΈ “෦ॺɾ৬Λ͑ͨϝτϦΫεͷڞ༗” ͱ “σʔλ׆༻จԽͷண” ࢀরʰJupyterͱBigQueryʹΑΔσʔλੳج൫ͷDevOpsʱ http://yuzutas0.hatenablog.com/entry/2017/09/12/203000 σʔλج൫
ɹϏδωεՁʹ͚ͨվળ
࠷ޙʹ
ɹProduct Growth εϐʔυײΛେࣄʹ͢Δ • രΛආ͚ͳ͕ΒલʹΓଓ͚Δͱ͍͏͜ͱ • രʹ͔ࣗΒಥͬࠐΉ͜ͱͰͳ͍ → ෛই͢Δ΄Ͳ͘ͳΔ ΤϯδχΞ͔ͩΒͦ͜ؾ͚Δ͜ͱ
• ʮ͜͜যͬͯμϝͩʂʯʮരͩʂஸೡʹਐΉͧʂʯͱ͍͏໘ • खΛಈཱ͔͢ʢ͔ͭͯखΛಈ͔ͨ͠ܦݧऀʣͰͳ͍ͱ͔Βͳ͍ • ٸϓϩμΫτͰͦͷ໘͕ͻͨ͢Βଓ͘ IUUQTXXXQFYFMTDPNQIPUPDBSFGSFFDIJMEDIJMEIPPEDPVOUSZTJEF
ɹٯઆͷΤϯδχΞϦϯά ϕετϓϥΫςΟεײత • ΫΦϦςΟΛߴΊΔͨΊʹɺଈ࣌ରԠΛݮΒ͢ • ΞδϦςΟΛߴΊΔͨΊʹɺखΛࢭΊͯ͠߹͏ ߟ͑ΔͱͨΓલͷ͜ͱ • যͬͨ··ࣄΛଓ্͚ͯख͘ߦ͘Θ͚͕ͳ͍ ɹɹ৸ෆͷૢॎ͕࢜୲͢ΔඈߦػʹΓ͍͔ͨʁɹύχοΫঢ়ଶͷ֎Պҩʹखज़͞Ε͍͔ͨʁ
ɹɹάϩʔεϑΣʔζ͔ͩΒͱ͍ͬͯѱ॥Λ์ஔ͍͍ͯ͠ཧ༝ʹͳΒͳ͍ • νʔϜʹಁ໌ੑͱݕࠪͱదԠ͕ඞཁ IUUQTXXXQFYFMTDPNQIPUPBEVMUBEWFOUVSFCBDLQBDLEBZMJHIU
ʮ͜Ε͓͔ͬͯ͘͠ͳ͍Ͱ͔͢ʁʯ ୭͔͕Λ্͛Δ͜ͱ͕ɺվળͷୈҰา ʮ͜ΕͬͯͲ͏ͳ͍ͬͯ·͔͢ʁʯ ୭͔ʹΛֻ͚Δ͜ͱ͕ɺಁ໌ੑͷୈҰา νʔϜͷҰһͷׂͰ͢ ࠓ͜͜ʹ͍ΔࢲͨͪࣗͷׂͰ͢
νʔϜͱͯ͠ϓϩηεΛվળ͠Α͏ νʔϜͱͯ͠γεςϜΛվྑ͠Α͏ νʔϜͱͯ͠ϓϩμΫτΛͤ͞Α͏
νʔϜͷ҆ఆͷ্ʹͦ͜ ܧଓతͳސ٬Ձͷఏڙ͕ ʢͦͷ݁Ռͱͯ͠Ϗδωεͷ͕ʣ ࣮ݱͰ͖Δͷͩͱࢥ͍ͬͯ·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ presented by @yuzutas0 IUUQTXXXQFYFMTDPNQIPUPDPMMFBHVFTDPPQFSBUJPOpTUCVNQpTUT
- ࢼߦࡨޡɾࣦഊࣄྫ - ࢀߟࢿྉ - Special Thanks ɹAppendix
ɹվળ͕࠷ίʔυΛॻ͍ͯ͠·ͬͨ தʹ1ਓͰίʔσΟϯά͢ΔӋʹͳͬͨ • ࠷ॳͷࠒϝϯόʔࣗͷ୲ൣғ͔͔͠Βͳ͔ͬͨ • αϒγεςϜԣஅͰઃܭɾ࣮Ͱ͖Δਓࡐ͕͍ͳ͍ঢ়ଶ എதΛݟͤΔ͜ͱͷޫͱӄ • ணૣʑʹқͷߴ͍ઃܭɾ࣮Λͬͯͷ͚͔ͨΒͦ͜ɺϝϯόʔͷ৴པΛಘͨଆ໘͋Δ •
վળʹྗΛׂ͚ͣɺਓҭͨͣɺνʔϜ͕ػೳ͠ͳ͍ʢϓϨΠϯάϚωʔδϟʔͷΞϯνύλʔϯʣ ࣗΛଅͯ͠ঃʑʹ݈શԽ • एखࣾһͷҾ͖ൈ͖ ʴ ձͷ׆ੑԽ ʴ ܧଓతͳ࡞ۀ༰ͷϑΟʔυόοΫʢि࣍ϨϏϡʔʣ
ɹBizDevOpsͷଅਐ - ૣ͗ͨ͢ࢪࡦ 1. νʔϜϏδϣϯɺΫϨυɺ։ൃKPIͷࡦఆ • Ծઆɿඪ૾ج४͕͋Εվળͷํੑ͕ݟ͑ͯϝϯόʔ͕ࣗൃతʹಈ͚Δ • ݁ՌɿϚΠφεΛθϩʹ͍ͯ͠Δ్தͳͷͰɺকདྷͷֆۭࣄɾݱ࣮ຯ͕ͳ͍៉ྷࣄ 2.
Ϗδωεߏɾঢ়گʹ͍ͭͯͷษڧձ • Ծઆɿ୲֎ͷۀͷΛฉ͘͜ͱͰBizͷછΈग़͠Λޙԡ͠Ͱ͖Δ • ݁Ռɿ໘നͦ͏͚ͩͲࠓͦΕͲ͜ΖͰͳ͍ͷͰϑϥετϨʔγϣϯ → ࠷ۙʹͳͬͯ࠶νϟϨϯδ • ʮ2าઌΛݟਾ্͑ͨͰɺ1าઌΛଅ͘͢Β͍͕ͪΐ͏Ͳ͍͍ʯ by ϝϯλʔ 7JTJPO .JTTJPO 7BMVF
ɹࢀߟࢿྉ ॻ੶ɾPDF ʰϦʔϯ։ൃͷຊ࣭ - ιϑτΤΞ։ൃʹ׆͔͢7ͭͷݪଇʱɹʰεΫϥϜΨΠυ - εΫϥϜશΨΠυ: ήʔϜͷϧʔϧʱ ʰ৫ύλʔϯ -
νʔϜͷʹΑΓΞδϟΠϧιϑτΣΞ։ൃͷมֵΛଅ͢ʱʰΤΫετϦʔϜϓϩάϥϛϯά - Embrace Changeʱ ʰΣϒΦϖϨʔγϣϯ - αΠτӡ༻ཧͷ࣮ફςΫχοΫʱʰڧ͍ձࣾ͜͏ͯ͠࡞ΒΕΔʂ - ITIL࣮ફͷమଇʱ εϥΠυ • ݁ՌతʹεΫϥϜʹͳͬͯΔʂͳͷ͕͍͍ͱࢥ͏ʂɹhttps://speakerdeck.com/bufferings/jie-guo-de-nisukuramuninatuteru-nafalsegaiitosi-u-number-rsgt2017 • ޮՌతͳࣗಇԽΛࢦ͢ʂ Value Stream Mapping ࣮ફϫʔΫγϣοϓ https://docs.com/ushio-tsuyoshi/8263 • ৽نࣄۀ͕ରቂ͢Δݱ࣮͔ΒΤϯδχΞϦϯάΛ၆ᛌ͢Δ https://www.slideshare.net/i2key/devsumib • αʔϏεϨϕϧɿઃܭͱӡ༻ͷϓϥΫςΟε http://yuzutas0.hatenablog.com/entry/2017/05/23/073000 • ΤεΧϨΛࢧ͑Δٕज़ - ΞδϟΠϧͳใ࿈૬ͱใྲྀ௨ http://yuzutas0.hatenablog.com/entry/2017/08/10/090000 • DevOpsͱυΩϡϝϯτσβΠϯύλʔϯ http://yuzutas0.hatenablog.com/entry/2017/07/06/083000 • JupyterͱBigQueryʹΑΔσʔλੳج൫ͷDevOps http://yuzutas0.hatenablog.com/entry/2017/09/12/203000 IUUQFDOJLLFJCQDPKQJUFNCPPLT1IUNM
ɹSpecial Thanks ൴Βͷ৺ڧ͍ࢧ͕͔͑͋ͬͨΒͦ͜ɺνʔϜཱͯ͠ʹઐ೦͢Δ͜ͱ͕Ͱ͖·ͨ͠ɻ ຖͷ ٽ͖ࣄ ૬ஊʹ೪Γڧ͘ରԠ͠ଓ͚ͯͩͬͨ͘͜͞ͱΛײँ͓ͯ͠Γ·͢ɻ Satoshi UejimaɹɹࢸΒͳ͔ͬͨΛཪͰϑΥϩʔ͍͖ͨͩ·ͨ͠ɻʮ͏ແཧͬ͢ʯͷʹɺ ɹɹɹɹɹɹɹɹɹ ݟ͍ۤ͠ݴ͍༁ͷ1ͭ1ͭͱஸೡʹ͖߹ͬͯ͘Εͨ࠷ߴͷ্࢘Ͱͨ͠ɻ
Itsuki KurodaɹɹɹνʔϜͷ࣮จ຺Λ౿·্͑ͨͰɺվળͷଧͪखɾਐΊํʹ͍ͭͯ ɹɹɹɹɹɹɹɹɹ ຊ࣭త͔ͭੜ࢈తͳΞυόΠεΛ͍͖ͨͩ·ͨ͠ɻ Kenichi Takahashiɹ৫໘Ͱͷ੯͠Έͳ͍όοΫΞοϓΛ௨ͯ͠ ɹɹɹɹɹɹɹɹɹ ج൫උҊ݅։ൃͷيಓ͕ΔΑ͏ʹαϙʔτ͍͖ͨͩ·ͨ͠ɻ