SlideShare a Scribd company logo
1 of 23
REPLACING SYSTEM
LESSONS LEARNT FROM WEATHER BOT
Nguyen Minh Tuan, LINE Corp
Agenda
1
LINE
Bot
2
Weather
Bot
3
Replace
Weather
Bot
4
Next
Plan
LINE Bot
LINE Bot
WEATHER
Bot
Weather Bot
 Open on April 2012
 First Bot of LINE
 Bot ID: 1
Weather Bot List
TAIWAN
SINGAPORE
SPAIN
KOREA
MALAYSIA
COLOMBIA
TURKEY
ARGENTINA
INDIA
VENEZUELA
CHILE
PERU
PHILIPPINES
UK
JAPAN
5,826,046
1,709,716
139,023
1,124,529
65,852
112,248
313,117
199,941
42,035
56,972
120,151
153,379
693,224
1,709,716
90,134
Friend numbers
Replace
Weather Bot
Replace Weather Bot System
CAUSE
Reason for replace
REQUIREMENT
Of Weather Bot
CONS
Of Weather Bot System
PROS
Of Weather Bot System
SOLUTION
For New System
Cause
Difficult
To scale, change, add more Bot
Update API
To new Message API (version 2.0)
Old Language
Using programming language (PERL)
Change Provider
To Weather Forecast Content Provider
Not Enough
Monitor System is not enough
Others
…
Requirement
 Project quality must be equal or higher
 Zero down time
Cons of System
Swim by yourself
Balance betweenTime and Dream
NO
Perl Developer
Specification
Technical document
MUST
A Complex System
Pros of System
 Free to implement every thing (not time)
 Standing on the Kong’s shoulders
Solutions
A Complex System
Split to manage
Use Microservices
Solutions
NO
Specification
Technical Doc
Specs are the what users
are seeing
Recreate documents from
code and bot’s behavior
Solutions
Break
&
Build
 Devs always want to break and build instead of
modification
 Having a balance point between Time and Dream
 Some parts are recreated, some parts are
modified but recreated later
Solutions
Project Quality
Use Git Process
Review
Unit Test, Intergration Test (for Developer)
Auto Test (for Tester)
Monitoring System (System and App Logic)
 Flow must be reviewed before coding
 Code must be reviewed before merging
UnitTest Effection
Coding Time Testing Time Release Time
~ 0%30% ~ 50%50% ~ 100%
Confidence
200% ~ 300%
Next Plan
Next Plan
Add
New Bot
Standard
Services
for other systems
Q&A
Thank You

More Related Content

More from LINE Corporation

LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE Corporation
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享LINE Corporation
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE Corporation
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享LINE Corporation
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Corporation
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed KubernetesLINE Corporation
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE Corporation
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE Corporation
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Corporation
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Corporation
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Corporation
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發LINE Corporation
 
LINE Ads Platformの開発を支えるKafka
LINE Ads Platformの開発を支えるKafkaLINE Ads Platformの開発を支えるKafka
LINE Ads Platformの開発を支えるKafkaLINE Corporation
 
I/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したか
I/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したかI/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したか
I/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したかLINE Corporation
 
生粋のKotlin LoverによるLINEのKotlinの話
生粋のKotlin LoverによるLINEのKotlinの話生粋のKotlin LoverによるLINEのKotlinの話
生粋のKotlin LoverによるLINEのKotlinの話LINE Corporation
 
LINEで広告プラットフォームをJava+Golangで立ち上げた話
LINEで広告プラットフォームをJava+Golangで立ち上げた話LINEで広告プラットフォームをJava+Golangで立ち上げた話
LINEで広告プラットフォームをJava+Golangで立ち上げた話LINE Corporation
 
Efficient And Invincible Big Data Platform
Efficient And Invincible Big Data PlatformEfficient And Invincible Big Data Platform
Efficient And Invincible Big Data PlatformLINE Corporation
 
LINE iOS開発で実践しているGit tips
LINE iOS開発で実践しているGit tipsLINE iOS開発で実践しているGit tips
LINE iOS開発で実践しているGit tipsLINE Corporation
 
JavaからKotlinへのスムーズな移行を目指して(サーバサイド)
JavaからKotlinへのスムーズな移行を目指して(サーバサイド)JavaからKotlinへのスムーズな移行を目指して(サーバサイド)
JavaからKotlinへのスムーズな移行を目指して(サーバサイド)LINE Corporation
 
あなたは本当に信頼されているだろうか?
あなたは本当に信頼されているだろうか?あなたは本当に信頼されているだろうか?
あなたは本当に信頼されているだろうか?LINE Corporation
 

More from LINE Corporation (20)

LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發
 
LINE Ads Platformの開発を支えるKafka
LINE Ads Platformの開発を支えるKafkaLINE Ads Platformの開発を支えるKafka
LINE Ads Platformの開発を支えるKafka
 
I/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したか
I/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したかI/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したか
I/O intensiveなKafka ConsumerアプリケーションのスループットをLINE Ads Platformではどのように改善したか
 
生粋のKotlin LoverによるLINEのKotlinの話
生粋のKotlin LoverによるLINEのKotlinの話生粋のKotlin LoverによるLINEのKotlinの話
生粋のKotlin LoverによるLINEのKotlinの話
 
LINEで広告プラットフォームをJava+Golangで立ち上げた話
LINEで広告プラットフォームをJava+Golangで立ち上げた話LINEで広告プラットフォームをJava+Golangで立ち上げた話
LINEで広告プラットフォームをJava+Golangで立ち上げた話
 
Efficient And Invincible Big Data Platform
Efficient And Invincible Big Data PlatformEfficient And Invincible Big Data Platform
Efficient And Invincible Big Data Platform
 
LINE iOS開発で実践しているGit tips
LINE iOS開発で実践しているGit tipsLINE iOS開発で実践しているGit tips
LINE iOS開発で実践しているGit tips
 
JavaからKotlinへのスムーズな移行を目指して(サーバサイド)
JavaからKotlinへのスムーズな移行を目指して(サーバサイド)JavaからKotlinへのスムーズな移行を目指して(サーバサイド)
JavaからKotlinへのスムーズな移行を目指して(サーバサイド)
 
あなたは本当に信頼されているだろうか?
あなたは本当に信頼されているだろうか?あなたは本当に信頼されているだろうか?
あなたは本当に信頼されているだろうか?
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Replacing System: lessions learnt from weather bot

Editor's Notes

  1. Xin chào tất cả các bạn, mình tên Tuấn đến từ line corp. Trong buổi hôm nay mình sẽ chia sẻ các kinh nghiệm về việc nâng cấp, thay thế một hệ thống đã có. Các vấn đề và giải pháp focus vào weather bot tuy nhiên mình tin với các hệ thống khác ko ít thì nhiều cũng sẽ gặp vài vấn đề tương tự.
  2. Trước tiên mình trình bay qua về line bot, weather bot sau đó tập trung về vấn đề – giải pháp trong weather bot.
  3. Từ 2,3 năm trở lại đây thuật ngữ chat bot xuất hiện như xu hướng liên quan đến mạng xã hội. Line bot có thể hiểu là chat bot của line. Các bài báo PR thường có xu hướng cao siêu hoá vấn đề, bản chất nhìn về mặt thiết kế hệ thống, một chat bot khá đơn giản.
  4. Tạo ra một con bot mới rất đơn giản, các bạn tạo hệ thống nhận message và phản hồi message nhận được là xong một con bot. Việc con bot thông minh hay không tuỳ thuộc vào hệ thống bot mà các bạn phát triển. Cơ bản message phản hồi có thể chia làm 3 loại: Dựa trên AI Dựa trên rule base Dựa trên cơm
  5. Weather bot phát triển dựa trên rule base. Weather bot là gì  tên cũng hình dung ra được, con bot cung cấp thông tin thời tiết
  6. Tại sao tôi phải nâng cấp, thay thế một hệ thống đang chạy ổn định. – Quay lại vấn đề của nokia, CEO của nokia sau khi bán cho micrsoft đã nói một câu nói rất đau xoát và nổi tiếng: Chúng tôi không làm gì sai cả, nhưng chúng tôi đã thất bại. Việc không cần thay đổi chỉ xảy ra trong môi trường độc quyền ko cạnh tranh – không tồn tại trong thế giới công nghệ. Weather bot hiện tại ko có bot khác cạnh tranh trên hệ thống của Line nhưng ko nằm ngoài quy luật vẫn luôn cần nâng cấp, cải thiện (mục tiêu tối thượng: luôn tìm cách đem lại trải nghiệm tốt hơn cho user)
  7. Hệ thống phức tạp: các thành phần đều móc nối đến nhau  khó nâng cấp, sửa code hoặc add thêm chức năng, khó scale.
  8. Tại line chúng tớ có rất nhiều chuyên gia  tránh được nhiều đường vòng.
  9. Phân rã hệ thống: phân tách layer, định vị rõ từng thành phần trong mỗi layer.  1, 2 người làm sau đó cả team ngồi review, phân tích để đưa ra quyết định layer nào hoặc thành phần nào sẽ được nâng cấp. Hoạc thay thế trước. Nâng cấp, thay thế từng thành phần nhỏ  test  deploy.  thay thế các thành phần background trước. KN: tránh deploy quá nhiều thứ cùng lúc  không control được chất lượng.
  10. Document được tạo ra từ code có khá nhiều điểm khác biệt so với spec dựng từ end-user: thống nhất đây là chức năng ko phải bug. Trong quá trình thay thế hệ thống bọn tớ loại bỏ vài chức năng ko phải là bug này :))
  11. End user nghĩ phần mềm version cao tốt hơn phần mềm version thấp -> coder mới hiểu ko phải phần mềm version cao đều tốt hơn phần mềm version thấp. - Để triển khai được unit-test thành công: cần chọn con người trước, trainning tư tưởng về unit-test: dependency, stub, mock, code covarage. - Sự khác nhau giữa unit-test vs intergration test. - Hiện tại dự án code covarage đạt > 90%.  tập trung sang branch covarage. Với dự án ít dev ko cần care nhiều về git process, nhưng với các dự án nhiều dev, phát triển nhiều chức năng cùng lúc, trình tự deploy các chức năng không đồng nhất -> nếu ko có quy trình git sẽ có rất nhiều vấn đề: Code conflict. Test ok - demo cho khách hàng thì lỗi Release chức năng sai plant.
  12. Sau khi thay thế hê thống -> số lượng user tăng nên và tập đoàn quyết định tăng số lượng bot