IA TOKI Camp 2017 - Avoiding Technical Debt

Ikatan Alumni TOKI
Ikatan Alumni TOKIIkatan Alumni TOKI
Avoiding Technical Debt
Ikatan Alumni TOKI Gathering @ TOKI Camp 2017
IA TOKI Camp 2017 - Avoiding Technical Debt
Problems
Phase as a startup..
❏ Product market fit, as soon as possible
❏ With limited budget
❏ Build fast, break fast
❏ As some metrics grow
❏ More backlogs
❏ More budget
❏ Growing team
IA TOKI Camp 2017 - Avoiding Technical Debt
Cost of Technical Debt
❏ Fix one bug, and two more pop up
❏ Really hard to understand code and modify it
❏ Waste time to explain the code
❏ New features, here comes old feature bugs
❏ Human cost
Code Assets Standardization
❏ Code styling
❏ Naming convention
❏ Commit message
❏ Unit testing
❏ Code review
❏ Refactor
Code Styling
Mostly handled by linter
Naming Conventions
❏ Filename: TitleCase, kebab-case, etc
❏ Class name: Noun
❏ Function name: Verb, camelCase
❏ Git branching name:
❏ add/new-feature
❏ update/existing-feature
❏ fix/bugs
❏ try/new-things
Unit test
❏ Happy case + exception case
❏ First step of bug fixing
Code Review
❏ Ensuring the code is understandable and maintainable
❏ Minimum one reviewer for each pull request
❏ 60 minutes timeboxing
❏ Everyone input is valid
❏ Share code ownership
Refactor
❏ Keep improving code quality
❏ Tools: design pattern, unit test
❏ Reference: Clean Code: A Handbook of Agile Software Craftsmanship by
Robert C Martin
IA TOKI Camp 2017 - Avoiding Technical Debt
IA TOKI Camp 2017 - Avoiding Technical Debt
IA TOKI Camp 2017 - Avoiding Technical Debt
Thank you.
1 of 15

Recommended

Javascript Unit Testing Tools by
Javascript Unit Testing ToolsJavascript Unit Testing Tools
Javascript Unit Testing ToolsPixelCrayons
770 views20 slides
Building the AO Tech Blog by
Building the AO Tech BlogBuilding the AO Tech Blog
Building the AO Tech BlogSarahNorris47
39 views15 slides
Building the AO tech blog by
Building the AO tech blogBuilding the AO tech blog
Building the AO tech blogAO Tech
2.5K views13 slides
Web performance by
Web  performance Web  performance
Web performance Major Ye
218 views27 slides
Add a backend and deploy! by
Add a backend and deploy!Add a backend and deploy!
Add a backend and deploy!SheilaJimenezMorejon
82 views9 slides
Create scalable and failure safe cluster MagentoCommerce using cloud hosting ... by
Create scalable and failure safe cluster MagentoCommerce using cloud hosting ...Create scalable and failure safe cluster MagentoCommerce using cloud hosting ...
Create scalable and failure safe cluster MagentoCommerce using cloud hosting ...Neklo
1.2K views24 slides

More Related Content

What's hot

Continuous Integration by
Continuous IntegrationContinuous Integration
Continuous IntegrationKelli Mohr
331 views11 slides
GDG Algiers DevFest 2013 Cool AndroidLibs by
GDG Algiers DevFest 2013 Cool AndroidLibsGDG Algiers DevFest 2013 Cool AndroidLibs
GDG Algiers DevFest 2013 Cool AndroidLibsnhachicha
689 views24 slides
Build a chatroom! by
Build a chatroom!Build a chatroom!
Build a chatroom!SheilaJimenezMorejon
88 views10 slides
Understand the system by
Understand the systemUnderstand the system
Understand the systemDiego Pacheco
117 views14 slides
Continuous Delivery at Snyk by
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at SnykAnton Drukh
139 views25 slides
Code Contracts by
Code ContractsCode Contracts
Code ContractsAlexei Skachykhin
689 views31 slides

What's hot(20)

Continuous Integration by Kelli Mohr
Continuous IntegrationContinuous Integration
Continuous Integration
Kelli Mohr331 views
GDG Algiers DevFest 2013 Cool AndroidLibs by nhachicha
GDG Algiers DevFest 2013 Cool AndroidLibsGDG Algiers DevFest 2013 Cool AndroidLibs
GDG Algiers DevFest 2013 Cool AndroidLibs
nhachicha689 views
Continuous Delivery at Snyk by Anton Drukh
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
Anton Drukh139 views
The Shortest Article about a Check of nginx by Andrey Karpov
The Shortest Article about a Check of nginxThe Shortest Article about a Check of nginx
The Shortest Article about a Check of nginx
Andrey Karpov145 views
Recent Change of cpm by Shoichi Kaji
Recent Change of cpmRecent Change of cpm
Recent Change of cpm
Shoichi Kaji580 views
Queueing at the Checkout by William Tracz
Queueing at the CheckoutQueueing at the Checkout
Queueing at the Checkout
William Tracz336 views
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0 by Amir Zmora
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
Amir Zmora168 views
Detailed Introduction To Docker by nklmish
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish1.2K views
Random thoughts and dev practices / advices to build a great product by Guillaume POTIER
Random thoughts and dev practices / advices to build a great productRandom thoughts and dev practices / advices to build a great product
Random thoughts and dev practices / advices to build a great product
Guillaume POTIER574 views
Kotlin vs Java • Bapusaheb Patil • TechieAid Talk by Bapusaheb Patil
Kotlin vs Java • Bapusaheb Patil • TechieAid TalkKotlin vs Java • Bapusaheb Patil • TechieAid Talk
Kotlin vs Java • Bapusaheb Patil • TechieAid Talk
Bapusaheb Patil293 views

Similar to IA TOKI Camp 2017 - Avoiding Technical Debt

Extracts from "Clean code" by
Extracts from "Clean code"Extracts from "Clean code"
Extracts from "Clean code"VlatkaPavii
42 views13 slides
Experiences building a multi region cassandra operations orchestrator on aws by
Experiences building a multi region cassandra operations orchestrator on awsExperiences building a multi region cassandra operations orchestrator on aws
Experiences building a multi region cassandra operations orchestrator on awsDiego Pacheco
232 views67 slides
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ... by
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...PyData
484 views19 slides
Test Driven Development Introduction by
Test Driven Development IntroductionTest Driven Development Introduction
Test Driven Development IntroductionNguyen Hai
1K views33 slides
Software Testing, Everyone's responsibility by
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibilityKurt Bliefernich
120 views27 slides
5 Steps to Detecting Issues Earlier in Your Release Cycles by
 5 Steps to Detecting Issues Earlier in Your Release Cycles 5 Steps to Detecting Issues Earlier in Your Release Cycles
5 Steps to Detecting Issues Earlier in Your Release CyclesPerfecto by Perforce
156 views22 slides

Similar to IA TOKI Camp 2017 - Avoiding Technical Debt(20)

Extracts from "Clean code" by VlatkaPavii
Extracts from "Clean code"Extracts from "Clean code"
Extracts from "Clean code"
VlatkaPavii42 views
Experiences building a multi region cassandra operations orchestrator on aws by Diego Pacheco
Experiences building a multi region cassandra operations orchestrator on awsExperiences building a multi region cassandra operations orchestrator on aws
Experiences building a multi region cassandra operations orchestrator on aws
Diego Pacheco232 views
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ... by PyData
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
PyData484 views
Test Driven Development Introduction by Nguyen Hai
Test Driven Development IntroductionTest Driven Development Introduction
Test Driven Development Introduction
Nguyen Hai1K views
Software Testing, Everyone's responsibility by Kurt Bliefernich
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
Kurt Bliefernich120 views
5 Steps to Detecting Issues Earlier in Your Release Cycles by Perfecto by Perforce
 5 Steps to Detecting Issues Earlier in Your Release Cycles 5 Steps to Detecting Issues Earlier in Your Release Cycles
5 Steps to Detecting Issues Earlier in Your Release Cycles
Software development best practices & coding guidelines by Ankur Goyal
Software development best practices & coding guidelinesSoftware development best practices & coding guidelines
Software development best practices & coding guidelines
Ankur Goyal5K views
Extracts from "Clean Code" by VlatkaPavii
Extracts from "Clean Code"Extracts from "Clean Code"
Extracts from "Clean Code"
VlatkaPavii49 views
Extracts from "Clean Code" by VlatkaPavii
Extracts from "Clean Code"Extracts from "Clean Code"
Extracts from "Clean Code"
VlatkaPavii30 views
Mifos X - Extensible Platform and Software Development Kit by Markus Geiß
Mifos X - Extensible Platform and Software Development KitMifos X - Extensible Platform and Software Development Kit
Mifos X - Extensible Platform and Software Development Kit
Markus Geiß1K views
Understanding TDD - theory, practice, techniques and tips. by Malinda Kapuruge
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.
Malinda Kapuruge182 views
Beyond Technical Debt: Unconventional techniques to uncover technical and soc... by Juraj Martinka
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Juraj Martinka52 views
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf by Andrew Lamb
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfManaging Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Andrew Lamb468 views
BDD & Beyond: The Past, Present, & Future of Test Automation by Ford Prior
BDD & Beyond: The Past, Present, & Future of Test AutomationBDD & Beyond: The Past, Present, & Future of Test Automation
BDD & Beyond: The Past, Present, & Future of Test Automation
Ford Prior107 views
TDD and Simple Design Workshop - Session 1 - March 2019 by Paulo Clavijo
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
Paulo Clavijo811 views
Big code refactoring with agility by Luca Merolla
Big code refactoring with agilityBig code refactoring with agility
Big code refactoring with agility
Luca Merolla1.6K views

Recently uploaded

iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
33 views69 slides
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 slides
1st parposal presentation.pptx by
1st parposal presentation.pptx1st parposal presentation.pptx
1st parposal presentation.pptxi238212
9 views3 slides
The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
126 views24 slides
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院IttrainingIttraining
41 views8 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
55 views21 slides

Recently uploaded(20)

iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
1st parposal presentation.pptx by i238212
1st parposal presentation.pptx1st parposal presentation.pptx
1st parposal presentation.pptx
i2382129 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada126 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn21 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet60 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf

IA TOKI Camp 2017 - Avoiding Technical Debt

  • 1. Avoiding Technical Debt Ikatan Alumni TOKI Gathering @ TOKI Camp 2017
  • 3. Problems Phase as a startup.. ❏ Product market fit, as soon as possible ❏ With limited budget ❏ Build fast, break fast ❏ As some metrics grow ❏ More backlogs ❏ More budget ❏ Growing team
  • 5. Cost of Technical Debt ❏ Fix one bug, and two more pop up ❏ Really hard to understand code and modify it ❏ Waste time to explain the code ❏ New features, here comes old feature bugs ❏ Human cost
  • 6. Code Assets Standardization ❏ Code styling ❏ Naming convention ❏ Commit message ❏ Unit testing ❏ Code review ❏ Refactor
  • 8. Naming Conventions ❏ Filename: TitleCase, kebab-case, etc ❏ Class name: Noun ❏ Function name: Verb, camelCase ❏ Git branching name: ❏ add/new-feature ❏ update/existing-feature ❏ fix/bugs ❏ try/new-things
  • 9. Unit test ❏ Happy case + exception case ❏ First step of bug fixing
  • 10. Code Review ❏ Ensuring the code is understandable and maintainable ❏ Minimum one reviewer for each pull request ❏ 60 minutes timeboxing ❏ Everyone input is valid ❏ Share code ownership
  • 11. Refactor ❏ Keep improving code quality ❏ Tools: design pattern, unit test ❏ Reference: Clean Code: A Handbook of Agile Software Craftsmanship by Robert C Martin