tl;dr:"My motivation to understand the schema of a big project like Gitlab was to compare it against schemas I am designing and learn some best practices from their schema definition. I can surely say I learnt a lot."
tl;dr:Shekar provides 3 reasons: (1) Developers don’t re-read their code often enough. (2) Lack of business domain understanding. (3) Undervalue good naming. Also, helpful questions to ask: "which business concept is this functionality related to? How can I map business terms to code? What can I learn from API contracts and / or documentation of competitors?"
tl;dr:Shekhar outlines an approach using a decision making matrix and prompting key variables of what's valuable for the organization, such as productivity, suitability for architecture and efficiency.