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
[마소콘2018] 기술 부채의 늪 탈출기- 개발 문화의 완성 - 허진수
Search
MICROSOFTWARE
December 17, 2018
Programming
3
410
[마소콘2018] 기술 부채의 늪 탈출기- 개발 문화의 완성 - 허진수
2018년 12월 15일 마이크로소프트웨어 콘퍼런스, 마소콘 2018
기술 부채의 늪 탈출기- 개발 문화의 완성 - 허진수
MICROSOFTWARE
December 17, 2018
Tweet
Share
More Decks by MICROSOFTWARE
See All by MICROSOFTWARE
[마소콘2019] 버즈니가 두드린 7가지 장벽 - 남상협
microsoftware
1
670
[마소콘2019] Blockchain for Education '더 나은 교육을 위한 블록체인' - 신지현
microsoftware
2
420
[마소콘 2019] 혁신의 장벽을 개발자스럽게 부수기 - 반병현
microsoftware
0
560
[마소콘 2019] 클라우드에서 온프레미스로 - 송지하
microsoftware
2
680
[마소콘 2019] 클라우드를 처음 만난 날 - 홍장유
microsoftware
0
530
[마소콘 2019] 서버리스를 활용한 분산 처리- 김민준
microsoftware
1
780
[마소콘 2019] MongoDB를 사용하며 느낀 것들 - 김인범
microsoftware
0
630
[마소콘 2019] 멀티 클라우드, ‘어떻게’보다 ‘왜’를 먼저 묻자 - 김세준
microsoftware
0
320
[마소콘2018] SW품질 프로세스로 보는 SI프로젝트의 기술부채 - 강희석
microsoftware
1
600
Other Decks in Programming
See All in Programming
Go コードベースの構成と AI コンテキスト定義
andpad
0
160
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
これならできる!個人開発のすゝめ
tinykitten
PRO
0
150
AIエージェントの設計で注意するべきポイント6選
har1101
6
3k
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
Patterns of Patterns
denyspoltorak
0
430
クラウドに依存しないS3を使った開発術
simesaba80
0
220
CSC307 Lecture 01
javiergs
PRO
0
670
愛される翻訳の秘訣
kishikawakatsumi
3
370
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
630
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
180
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
230
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Bash Introduction
62gerente
615
210k
Agile that works and the tools we love
rasmusluckow
331
21k
Optimizing for Happiness
mojombo
379
70k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
So, you think you're a good person
axbom
PRO
1
1.9k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
51
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
Typedesign – Prime Four
hannesfritz
42
2.9k
Design in an AI World
tapps
0
120
Transcript
Dec 11, 2018 MASOCON 2018 기술 부채의 늪 탈출기: 개발
문화의 완성 ೲࣻ - ۟झ۽ࠁ ӝࣿোҳࣗ SWѐߊ ܻ؊ ݃ࣗ 394ഐ ࣁ࣌7 (40') 16:20 ~ 17:00
Lead Software Engineer Koriel
None
None
None
None
None
None
Our History 2016 2018 2015 2017 2019 ()۟झ۽ࠁ ߨੋ ࢸ݀
ೠ ুझನ 2014 ੋӝ࢚ ࢚ࣻ Ҵ CA ഐࣁ ࢎ ࢸ݀ SK Telecom ઁ2ഥ T Hackaton ୭࢚ࣻ ()۟झ۽ࠁ ࣗӝস ഛੋ Echelon Asia Summit 2016, TOP 11 ࢶ ೠച ੋ߬झݢ(٘ܿ۞झ) ߂ ېীࣇ ߮ ாೖఎ۽ࠗఠ ୨ 15রਗ ై ਬ 2018 IF Design Award पप ହস ؘݽؘ ࢚ (җӝࣿࠁాनࠗ) 2018 ೠҴস೯ ైਬ ೠചѤࢸҗ IoT ۖಬ সޖഈড(MOU) Ѿ ()۟झ۽ࠁ ߮ӝস ੋૐ ࣗӝস ୭ࣻ ֙ӝস ࢶ ()ೊۨ 1রਗ ై ਬ ()۟झ۽ࠁ ӝࣿোҳࣗ ࢸ݀ ೠҴ۽ࠈসഈഥ(KAR) ഥਗࢎ оੑ য়࠳ۨੋ / য় ੋ߬झ ݢ۽ࠗఠ 40রਗ ై ਬ झఋস Global Demoday 1ਤ ࣻഄनӝস࢚ ࢚ࣻ (KOTRA) Beyond TIPS 2017 ୭࢚ࣻ ࢚ࣻ ( ࣗ߮ӝসࠗ/ೠܿਗ) Next level 9 2014
My History 2016 2017 April 2015 2017 Jan 2018 োࣁҮ
ޛܻҗ ੑ ೠҴ٣ణ٣যҊ١Ү ઔস Ү জ(োজ) ѐߊ 3000ݺ ࢎਊ ۟झ۽ࠁ ܨ Software Engineer C++, Javascript, Swift ޖੋ೦ҕӝ ѐߊ Naver D2 Startup Factory Speech Korea Robot Aircraft Competition ݧ੬ ࢎۢ RoR Web application tutor DevOps manager ӝࣿোҳࣗ SWѐߊ ҙܻ ӝദࠗఠ ߓನө ݽٚ җਸ ҙܻ 10 2013
What is DevOps? 11
Legacy codes No issue management No git rules No code
review Problems 12
Legacy codes No issue management No git rules No code
review Problems 13
None
None
None
None
Issue management • Kanban, not Scrum • Weekly conference call
• Daily stand-up meeting • Version-based scheduling • VOC by creating JIRA issue 18
Backlog
None
Due date
None
Tracking issues’ status
Development workflow 24
Bug fix workflow 25
Daily stand-up meeting Not a real offline stand-up meeting 26
Daily stand-up meeting 1. Yesterday’s work 2. Today’s work 3.
An inconvenience 27
None
None
Our own git flow • Bug fixes ——-——-———- hotfix branch
• Others ——————-——— feature branch • Release commit ——-—-— release branch • master and develop is under protection 30
and one more strict rule… The master and develop branches
can only be modified via the GitLab MR. 31
None
Description
None
None
None
What is this? 37
LGTM emoji LGTM means “Looks Good To Me”. Code reviewers
use this to approve the changes. 38
LGTM emoji 39
Plaid Ѩషח ҳۨೠ Ѫٜী ೞח Ѧ ೖ೧ঠ פ. ٘ ܻ࠭ח
ೠ ೠ ੍Ҋ п पࣻܳ ইղח Ѫ ইתפ. ٘ ܻ࠭ח ٘ܳ ਵ۽ ࠁҊ ؊ ҅ী ٜযݏח ࠁח Ѫੑפ. ࢎ ࣗೠ ݭٜਸ Ҋ۰ೞݶ উ ػח Ѫ ইפ݅ ӒѪ ٘ ܻ࠭ ୡ غযࢲח উ ؾפ.
None
Jenkins is for… Build automation CI/CD pipeline 42
Jenkinsfile 43
Our lovely Jenkins is doing now… • Build triggers •
Push Events • Opened Merge Request Events • Comment (regex) for triggering a build • Extracting artifacts • Auto-release by tag-push 44
Jenkins is the first code reviewer 45
Jenkins is the first code reviewer 46
Build artifacts 47 Just download and test!
Auto-release by tag-push 48
Auto-release by tag-push 49
Auto-release by tag-push 50
None
None
It’s done!
Koriel ҙܻ ೡ ѐߊо ٘݅ ಞೞѱ ࢿೡ ࣻ ب۾ ذח
Ѫ
Any questions? 5 min.
Thanks for visiting See you next time, Let’s call it
a day!
Contact info ࢲୡҳ ъթ۽ 311
[email protected]
koriel.kr fb.me/devkoriel 57