diff --git a/doc/development/README.md b/doc/development/README.md
index af3207671e6e9ca2c7907804d78036c884102880..5df6ec5fd56e98392b4bdff42e77f530b5b58fb7 100644
--- a/doc/development/README.md
+++ b/doc/development/README.md
@@ -108,6 +108,7 @@ description: 'Learn how to contribute to GitLab.'
 - [Database Debugging and Troubleshooting](database_debugging.md)
 - [Query Count Limits](query_count_limits.md)
 - [Database helper modules](database_helpers.md)
+- [Code comments](code_comments.md)
 
 ## Integration guides
 
diff --git a/doc/development/code_comments.md b/doc/development/code_comments.md
new file mode 100644
index 0000000000000000000000000000000000000000..36962eb46d4ee6e55f4468a5b3eb6eac83cb9346
--- /dev/null
+++ b/doc/development/code_comments.md
@@ -0,0 +1,14 @@
+# Code comments
+
+Whenever you add comment to the code that is expected to be addressed at any time 
+in future, please create a technical debt issue for it. Then put a link to it 
+to the code comment you've created. This will allow other developers to quickly
+check if a comment is still relevant and what needs to be done to address it.
+
+Examples: 
+
+```rb
+# Deprecated scope until code_owner column has been migrated to rule_type.
+# To be removed with https://gitlab.com/gitlab-org/gitlab-ee/issues/11834.
+scope :code_owner, -> { where(code_owner: true).or(where(rule_type: :code_owner)) }
+```