{"id":185,"date":"2013-12-09T14:31:33","date_gmt":"2013-12-09T14:31:33","guid":{"rendered":"http:\/\/blogs.nd.edu\/devops\/?p=185"},"modified":"2013-12-09T14:41:36","modified_gmt":"2013-12-09T14:41:36","slug":"avoiding-waterfall-governance","status":"publish","type":"post","link":"https:\/\/sites.nd.edu\/devops\/2013\/12\/09\/avoiding-waterfall-governance\/","title":{"rendered":"Avoiding Waterfall Governance"},"content":{"rendered":"<p><em>A brief follow-up to the post I wrote on\u00a0<a href=\"http:\/\/blogs.nd.edu\/devops\/2013\/12\/09\/governance-to-do-list\/\">governance\u00a0topics<\/a>. <\/em><\/p>\n<p>As we operationalize\u00a0the\u00a0cloud, we will eventually get to a place where we have solid policies and process around everything on our governance to-do list and more. However, I think it&#8217;s critical, as Sharif put it, to &#8220;think like a startup&#8221; while we &#8220;operate like an enterprise.&#8221;<\/p>\n<p>The first thing any programmer learns about managing a development lifecycle is to forget &#8220;waterfall.&#8221; \u00a0Trying to nail down 100% of the design before coding is not only a waste of time; it&#8217;s actively damaging to your project, as changes inevitably come later in the process, but you&#8217;re too tied down with earlier design decisions to adapt. \u00a0I&#8217;m sure no one in this organization doubts the value of agile, iterative coding. \u00a0We do our best to establish requirements early on, often broadly, refining as we go. \u00a0We get feedback early and often to constantly guide our design toward harmony with the customer&#8217;s changing understanding of the software as it grows.<\/p>\n<p>We should apply the same strategy toward our cloud initiative. \u00a0Because it&#8217;s so easy to build and tear down infrastructure, and because our host and application deployments will be scripted, automated, and version-controlled, we have the\u00a0luxury\u00a0of trying things, seeing how they work, and shifting our strategy in a tight feedback loop. \u00a0Our governance initiative is very important, but it&#8217;s also important that it&#8217;s not a &#8220;let&#8217;s decide, then do&#8221; process. \u00a0That&#8217;s why I\u00a0didn&#8217;t just ask for people to come back with designs on paper for things like IAM roles and infrastructure. \u00a0I asked that they try things out and return with demos for the group. \u00a0Let&#8217;s be iterative; let&#8217;s be agile. \u00a0Let&#8217;s learn as we go and build, build, build, until we get where we want to be.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A brief follow-up to the post I wrote on\u00a0governance\u00a0topics. As we operationalize\u00a0the\u00a0cloud, we will eventually get to a place where we have solid policies and process around everything on our governance to-do list and more. However, I think it&#8217;s critical, &hellip; <a href=\"https:\/\/sites.nd.edu\/devops\/2013\/12\/09\/avoiding-waterfall-governance\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1550,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[65102,65101,65126],"class_list":["post-185","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-agile","tag-governance-2","tag-iaas"],"_links":{"self":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts\/185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/users\/1550"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/comments?post=185"}],"version-history":[{"count":2,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts\/185\/revisions"}],"predecessor-version":[{"id":191,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts\/185\/revisions\/191"}],"wp:attachment":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/media?parent=185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/categories?post=185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/tags?post=185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}