{"id":37390,"date":"2019-06-27T12:37:29","date_gmt":"2019-06-27T19:37:29","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/premier-developer\/?p=37390"},"modified":"2019-06-28T07:09:19","modified_gmt":"2019-06-28T14:09:19","slug":"tribal-knowledge-the-anti-devops-culture","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/tribal-knowledge-the-anti-devops-culture\/","title":{"rendered":"Tribal Knowledge \u2013 The Anti-DevOps Culture"},"content":{"rendered":"<p>App Dev Manager <a href=\"https:\/\/www.linkedin.com\/in\/silviano-blea-jr-26380441\/\">Silviano Blea<\/a> explores the idea of how &#8220;tribal knowledge&#8221; can work against an organization&#8217;s ability to adapt and transform in their DevOps journey.<\/p>\n<hr \/>\n<p>With the adoption of all things DevOps, changing the culture of an organization has become vitally important for teams to adapt to a more dynamic world. As described by <a href=\"https:\/\/devblogs.microsoft.com\/premier-developer\/devops-and-culture-part-1\/\">Ron Vincent\u2019s Blog DevOps and Culture, Part 1<\/a>: \u201cTechnology changes exponentially (fast) yet organizations change logarithmically (slow)\u201d. Over time this gap widens and requires organizations to re-org\/reset or simply get left behind. To adopt DevOps Principles and Practices, organization must unsure they have the culture to support this philosophy. To put it in other terms, they must ensure any negative culture habits have been rooted out, because \u201cPeople don\u2019t leave jobs, they leave toxic work cultures\u201d. In my career, the single most detrimental culture habit has been \u201cTribal Knowledge\u201d syndrome. It can severely handicap a project, a team, and even an entire organization.<\/p>\n<p>I define Tribal Knowledge as the knowledge one obtains from belonging to a project, team, or organization for a long time and acquiring how-to knowledge and nuggets of information that cannot be easily obtained by other individuals. In software development teams, this often means 1) Knowing the code base, 2) Knowing certain techniques, 3) Knowing the technical debt, 4) Knowing certain processes and people to get things accomplished. Not only is this information not easily obtained by other individuals, often it is not easily shared (or intended to be shared). New team members suffer the most because they are at a severe disadvantage and may take months or years to acquire the same knowledge via the same methods. It is this behavior that I believe is the single most important factor for Software Development, IT, System Engineering, Testing and Integration teams to eliminate to improve their culture and setup for success in the new DevOps World. From Ron Vincent\u2019s 2<sup>nd<\/sup> blog, <a href=\"https:\/\/devblogs.microsoft.com\/premier-developer\/devops-and-culture-part-2\/\">DevOps and Culture, Part 2<\/a>: \u201cWe don\u2019t change culture, we can only change behavior. Changing culture is a side effect.\u201d<\/p>\n<p>For teams and organizations to take the DevOps (or DevSecOps) next step, they must identify and remove any roadblocks to improvement if they truly want to adopt the \u201cAgile Manifesto\u201d. The Agile Manifesto is at the heart of DevOps. This can be summarized with several key points.<\/p>\n<ol>\n<li>Things must be repeatable. If only a single individual has certain knowledge on how to do things, then it is not repeatable and counter-productive to the DevOps Culture. For example, IT teams can document the installation\/configuration of server apps (SQL Server, TFS, DevOps, etc.)<\/li>\n<li>Automate things. If processes are manual, find a way to build tools\/scripts that can automate them for the entire team (not just a single individual) and make them available\/known to the greater team. Build with the entire team in mind, as opposed to individualistic goals.<\/li>\n<li>Build quality. Take the time to remove technical debt (tribal knowledge) for the greater good of the team. Managers must actively promote and reward this behavior to drive out tribal knowledge.<\/li>\n<li>Take the long-term approach. Often times in software development projects, managers want things done ASAP without understanding the scale of the problem, time constraints, and technical hurdles (especially technical debt). By tackling smaller problems (aka Sprints and Planning) teams can slowly chip away at larger problems. Managers must also actively promote and reward this behavior to drive out tribal knowledge.<\/li>\n<\/ol>\n<p>By removing or reducing tribal knowledge from projects and teams, organizations set themselves up for success in an ever-changing landscape (exponentially changing). In other words, you can add to your DevOps culture (or create one) simply by subtracting the bad habits and behaviors.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By removing or reducing tribal knowledge from projects and teams, organizations set themselves up for success in an ever-changing landscape (exponentially changing). In other words, you can add to your DevOps culture (or create one) simply by subtracting the bad habits and behaviors.<\/p>\n","protected":false},"author":582,"featured_media":37840,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,22],"tags":[21,3],"class_list":["post-37390","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alm","category-devops","tag-devops","tag-team"],"acf":[],"blog_post_summary":"<p>By removing or reducing tribal knowledge from projects and teams, organizations set themselves up for success in an ever-changing landscape (exponentially changing). In other words, you can add to your DevOps culture (or create one) simply by subtracting the bad habits and behaviors.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/37390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/582"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=37390"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/37390\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/37840"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=37390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=37390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=37390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}