{"id":5536,"date":"2019-05-08T14:14:32","date_gmt":"2019-05-08T07:14:32","guid":{"rendered":"http:\/\/54.151.235.32\/?p=5536"},"modified":"2021-03-03T18:00:26","modified_gmt":"2021-03-03T11:00:26","slug":"what-is-the-meaning-of-agile","status":"publish","type":"post","link":"https:\/\/renovacloud.com\/en\/what-is-the-meaning-of-agile\/","title":{"rendered":"What is the meaning of Agile?"},"content":{"rendered":"<p style=\"text-align: center;\"><em><sup>Hamilton at NASA, Photo courtesy of Creative Commons<\/sup><\/em><\/p>\n<h4>A Brief History of Agile<\/h4>\n<p><em>The story of Agile has only just begun. An approach to software found across the world from Airbnb to Apple, startups to multinational companies focused on iterative development. <\/em><\/p>\n<p>Agile is not really about computers or software, it\u2019s about the organization of people.<\/p>\n<p>In 1965, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Margaret_Hamilton_(scientist)\" rel=\"noopener\"><strong>Margaret Hamilton<\/strong><\/a>, a developer at NASA, coined the term <strong>\u201csoftware engineering.\u201d<\/strong> On November 22, 2016, Hamilton was awarded the\u00a0Presidential Medal of Freedom\u00a0by US President\u00a0Barack Obama\u00a0for her work leading the development of on-board flight software for NASA&#8217;s Apollo Moon missions<\/p>\n<p>But similar to the days of the \u201chuman computers\u201d at Harvard, software was seen as a kind of second-class lower science, less interesting work. Hamilton was a big proponent of trying to bring discipline from hardware engineering into the real of software engineering.<\/p>\n<p>She famously said, &#8220;<strong><em>The space mission software had to be man-rated. Not only did it have to work, it had to work the first time. And not only did the software itself have to be ultra-reliable, it needed to be able to perform error detection and recovery in real time.&#8221;<\/em><\/strong> A significant, intense ask that bring us today to have some abstractions helping us with our software delivery today.<\/p>\n<p>We can see that many of the early software projects were about the critical importance of maintaining safety.<\/p>\n<p><strong>Sending people into space has to be right the first time. Space missions are incredibly expensive and there\u2019s a huge amount of government funding and accountability. <\/strong><\/p>\n<p>&nbsp;<\/p>\n<h4>A Risky Implementation That Invites Failure<\/h4>\n<p>In 1970 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Winston_W._Royce\" rel=\"noopener\"><strong>Winston Royce<\/strong><\/a> published a paper called Managing the Development of Large Software Systems where he draws the following graph, which looks very much like a waterfall going from system requirements, analysis, coding, testing, and operations.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-5538 aligncenter\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2019\/05\/figure-300x195.png\" alt=\"\" width=\"623\" height=\"405\" \/><\/p>\n<p>Immediately after this graphic he says, <strong><em>&#8220;I believe in this concept, but the implementation described above is risky and invites failure. Required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated.&#8221;<\/em><\/strong><\/p>\n<p>In other words, Royce is saying that cost increases as time goes on, and this graph really represents that. If the cost of change is exponential in these systems, then it demands that you have to know exactly what&#8217;s happening in the previous step. It has to be accurate.<\/p>\n<p>It has to be validated before going to the next step because as you move through each step, it gets exponentially more expensive if there is changed required, whether that is an error or whether that is a change of the requirements.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-5539 aligncenter\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2019\/05\/graph-300x200.png\" alt=\"\" width=\"595\" height=\"396\" \/><\/p>\n<p>&nbsp;<\/p>\n<h4>Tragic Consequences<\/h4>\n<p>With Waterfall, there\u2019s a strict structure which means every decision has to be right, and every advancement requires a formal sign-off. What follows are some case studies (some more extreme than others) where this perfectionism a waterfall process broke down:<\/p>\n<p>An example can be seen in London\u2019s computer-aided dispatch in 1992. This was a computer system, which aimed to replace a paper-based system and increase the efficiency for the dispatch of London ambulances.<\/p>\n<p><strong>Great idea but the result was a disaster.<\/strong> It saw multiple units being sent to the same address and no units being sent to others. Calls got lost, which resulted in repeat calls, which were logged in the system individually. This congested system couldn\u2019t handle the volume of calls, which was unexpectedly high because they were able to accurately dispatch the ambulances.<\/p>\n<p><strong>There was no rollback. There was no plan B. The process only included one plan, with no adaptability. In the media that followed, there were reports of between 30 and 45 deaths, all due to a software release process gone horribly wrong.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h4>Takeaways From The Failures of Waterfall<\/h4>\n<h5><strong>Assumptions About The Accuracy Of the Previous Step<\/strong><\/h5>\n<p>If we go back to the waterfall process you can see the major failings: the inaccurate assumptions, and the clunky sign-off process. But these are related. Often in Waterfall, the people who are signing off for a team to get to the next step are not the most familiar with the project.<\/p>\n<p>They\u2019re just looking through requirements and saying if everything looks good. <strong>This top-down approach defaults to a process where those who sign-off are making assumptions, and they don\u2019t have the day-to-day experience of working on the project to help their judgment.<\/strong><\/p>\n<h5><strong>Too Much Pressure Around Fixed Scope, Time, and Cost<\/strong><\/h5>\n<p>When managers push developers and their teams to work longer and harder to meet their contractual demands, it\u2019s ultimately going to result in producing poorer quality software. They\u2019re going to make sure they&#8217;re getting that sign-off process without necessarily making sure whether what they are building is the right implementation.<\/p>\n<h5><strong>Integrated Testing Happens Too Late, If At All<\/strong><\/h5>\n<p>We must perform end-to-end testing. The first time that everything worked together should be in the lab environment and not in real, which is quite a scary thought. When there is no A\/B test, no small trial, just a really big launch that proved many people didn\u2019t understand what was really needed to solve the problem accurately the story failed.<\/p>\n<h5><strong>Process, Not People-Centric<\/strong><\/h5>\n<p><strong>Ultimately, Waterfall\u2019s biggest failing is that it puts its trust in a system, not the people working on a product.<\/strong> If your system does not empower the team to test ideas and change requirements based on these tests, then it is simply structure for the sake of structure.<\/p>\n<p>This reduces the accountability of individuals and puts more emphasis on successfully passing a gate, over building the right product.<\/p>\n<p>&nbsp;<\/p>\n<p>Source: <a href=\"https:\/\/content.pivotal.io\/blog\/a-brief-history-of-agile-part-1-the-rise-of-waterfall\" rel=\"noopener\">https:\/\/content.pivotal.io\/blog\/a-brief-history-of-agile-part-1-the-rise-of-waterfall<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hamilton at NASA, Photo courtesy of Creative Commons A Brief History of Agile The story of Agile has only just begun. An approach to software found across the world from Airbnb to Apple, startups to multinational companies focused on iterative development. Agile is not really about computers or software, it\u2019s about the organization of people. [&#8230;]\n","protected":false},"author":7,"featured_media":5537,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-5536","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-and-analytics"],"_links":{"self":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/5536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/comments?post=5536"}],"version-history":[{"count":0,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/5536\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/media\/5537"}],"wp:attachment":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/media?parent=5536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/categories?post=5536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/tags?post=5536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}