Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rebuild Team - 急成長プロダクトのDev&Opsで生じる悪循環とその解決策 / ...
Search
yuzutas0
PRO
October 13, 2017
Technology
8
54k
Rebuild Team - 急成長プロダクトのDev&Opsで生じる悪循環とその解決策 / 20171013
SPI Japan 2017の発表資料です。
refs.
https://yuzutas0.hatenablog.com/entry/2017/10/16/093000
yuzutas0
PRO
October 13, 2017
Tweet
Share
More Decks by yuzutas0
See All by yuzutas0
OLSにおける推定量β1=共分散÷分散の導出 / 20230517
yuzutas0
PRO
1
470
民間企業におけるデータ整備の課題と工夫 / 20220305
yuzutas0
PRO
14
6.9k
累計参加者8,500名! #DataEngineeringStudy の43スライドから学ぶ、データエンジニアリングの羅針盤 / 20220224
yuzutas0
PRO
15
5k
あの人の自分戦略を聞きたい!2022 #devsumi / 20220218
yuzutas0
PRO
3
3.7k
データ基盤による利益最大化と初期構築プロセス / 20220209
yuzutas0
PRO
10
6.2k
Engineer Career Lounge#1「エンジニアの成長戦略を考える」 #ECLounge カンニングペーパー / 20211217
yuzutas0
PRO
3
1.4k
Data Management Guide - 事業成長を支えるデータ基盤のDev&Ops #TechMar / 20211210
yuzutas0
PRO
17
23k
[投影資料]『実践的データ基盤への処方箋』の刊行にあたって #TechMar / 20210210-2
yuzutas0
PRO
1
3.2k
DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022
yuzutas0
PRO
55
45k
Other Decks in Technology
See All in Technology
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
530
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
190
日経のデータベース事業とElasticsearch
hinatades
PRO
0
200
Two Blades, One Journey: Engineering While Managing
ohbarye
3
780
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
1
2.4k
OPENLOGI Company Profile
hr01
0
60k
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
530
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
330
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
6
1.5k
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
210
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
570
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
The Invisible Side of Design
smashingmag
299
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building Your Own Lightsaber
phodgson
104
6.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
500
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
The Pragmatic Product Professional
lauravandoore
32
6.4k
What's in a price? How to price your products and services
michaelherold
244
12k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
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ɹ৫໘Ͱͷ੯͠Έͳ͍όοΫΞοϓΛ௨ͯ͠ ɹɹɹɹɹɹɹɹɹ ج൫උҊ݅։ൃͷيಓ͕ΔΑ͏ʹαϙʔτ͍͖ͨͩ·ͨ͠ɻ