{"id":50,"date":"2012-12-18T02:21:00","date_gmt":"2012-12-18T02:21:00","guid":{"rendered":"https:\/\/caroli.org\/en\/iterative-and-incremental\/"},"modified":"2019-12-25T11:54:36","modified_gmt":"2019-12-25T14:54:36","slug":"iterative-and-incremental","status":"publish","type":"post","link":"https:\/\/caroli.org\/en\/iterative-and-incremental\/","title":{"rendered":"iterative and incremental"},"content":{"rendered":"<p>Agile software development is typically iterative and incremental. The software requirements are sliced and planned into iterations.\u00a0 The software is built incrementally, with newly developed slices being added to (or deployed with) the working slices. The figure below is depicts the nature of Agile software development.<\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td><a href=\"https:\/\/1.bp.blogspot.com\/--wBtdq_k3jg\/UM_Oth82XfI\/AAAAAAAACjM\/m7DihdDB8ic\/s1600\/work+cycle.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/--wBtdq_k3jg\/UM_Oth82XfI\/AAAAAAAACjM\/m7DihdDB8ic\/s320\/work+cycle.png\" alt=\"\" width=\"320\" height=\"178\" border=\"0\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td>the work cycle<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Agile software development progresses in small development cycles that typically last from one to four weeks. As you can see in the figure above, there are several activities that happen within a development cycle. These activities differ depending on your flavor of Agile, and the maturity of Agile within your organization.\u00a0 Agile incrementally delivers increasing value over time, whereas the traditional software development process delivers no value until the end. The figure below depicts typical Agile incremental delivery by means of consecutive iterations.<\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td><a href=\"https:\/\/3.bp.blogspot.com\/-7wf-I3CA1BI\/UM_O_9TaxAI\/AAAAAAAACjU\/1b5lscQQq3g\/s1600\/iterating.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/3.bp.blogspot.com\/-7wf-I3CA1BI\/UM_O_9TaxAI\/AAAAAAAACjU\/1b5lscQQq3g\/s400\/iterating.png\" alt=\"\" width=\"400\" height=\"160\" border=\"0\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td>delivering\u00a0 incrementally<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The figure above illustrates three consecutive iterations. The overall requirements are represented by a backlog of work, which is a collection of smaller pieces of requirements. Then from the overall backlog, the work is selected for an iteration. Scrum calls these product backlog and iteration backlog, respectively. Subsequently, as the work progresses, it is continually integrated with the previously completed work. Finally, the work completed within the iteration is either released, or waits for complementary work from future iterations. The graph of functionality versus time (below) provides an effective visual representation for Agile and traditional development delivery styles. In this graph, the X axis represents the elapsed time, and the Y axis represents the delivered functionality.<\/p>\n<div><a href=\"https:\/\/4.bp.blogspot.com\/-P9A6aPayJrU\/UM_SDS1ecuI\/AAAAAAAACj4\/g_qQhWY5qrQ\/s1600\/func+vs+time+-+agile+3.png\" target=\"_blank\" rel=\"noopener\">\u00a0<\/a><\/div>\n<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td><a href=\"https:\/\/4.bp.blogspot.com\/-YHxZ3TqRbv8\/UM_SFD-smTI\/AAAAAAAACkQ\/qhHrYwYSQKg\/s1600\/func+vs+time.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/4.bp.blogspot.com\/-YHxZ3TqRbv8\/UM_SFD-smTI\/AAAAAAAACkQ\/qhHrYwYSQKg\/s320\/func+vs+time.png\" alt=\"\" width=\"320\" height=\"208\" border=\"0\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td>graph functionality versus time<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The graph above represents the project at the beginning, or time zero. In this case no functionality has been completed yet. And this is the same situation for Agile or traditional software development. The figures that follow show what is delivered in Agile versus traditional software development teams. <b>Traditional sequence:<\/b><\/p>\n<div><a href=\"https:\/\/4.bp.blogspot.com\/-YHxZ3TqRbv8\/UM_SFD-smTI\/AAAAAAAACkQ\/qhHrYwYSQKg\/s1600\/func+vs+time.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/4.bp.blogspot.com\/-YHxZ3TqRbv8\/UM_SFD-smTI\/AAAAAAAACkQ\/qhHrYwYSQKg\/s320\/func+vs+time.png\" alt=\"\" width=\"320\" height=\"208\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"https:\/\/1.bp.blogspot.com\/-HoJg7R0XqZw\/UM_SEhyPs5I\/AAAAAAAACkI\/4HkAbpNayWs\/s1600\/func+vs+time+2.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-HoJg7R0XqZw\/UM_SEhyPs5I\/AAAAAAAACkI\/4HkAbpNayWs\/s320\/func+vs+time+2.png\" alt=\"\" width=\"320\" height=\"257\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"https:\/\/1.bp.blogspot.com\/-lsed8puvn7U\/UM_SEPy5ATI\/AAAAAAAACkA\/tZ4TirVGWbE\/s1600\/func+vs+time+-+complete+-+non+Agile.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-lsed8puvn7U\/UM_SEPy5ATI\/AAAAAAAACkA\/tZ4TirVGWbE\/s320\/func+vs+time+-+complete+-+non+Agile.png\" alt=\"\" width=\"320\" height=\"199\" border=\"0\" \/><\/a><\/div>\n<div><\/div>\n<p><b>Agile sequence:<\/b><\/p>\n<div><a href=\"https:\/\/4.bp.blogspot.com\/-YHxZ3TqRbv8\/UM_SFD-smTI\/AAAAAAAACkQ\/qhHrYwYSQKg\/s1600\/func+vs+time.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/4.bp.blogspot.com\/-YHxZ3TqRbv8\/UM_SFD-smTI\/AAAAAAAACkQ\/qhHrYwYSQKg\/s320\/func+vs+time.png\" alt=\"\" width=\"320\" height=\"208\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"https:\/\/4.bp.blogspot.com\/-uywXQt_LCFg\/UM_SB6avUXI\/AAAAAAAACjo\/96h08t7y_-8\/s1600\/func+vs+time+-+agile+1.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/4.bp.blogspot.com\/-uywXQt_LCFg\/UM_SB6avUXI\/AAAAAAAACjo\/96h08t7y_-8\/s320\/func+vs+time+-+agile+1.png\" alt=\"\" width=\"320\" height=\"229\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"https:\/\/4.bp.blogspot.com\/-KGaEYVy_pV8\/UM_SC1yDHYI\/AAAAAAAACjw\/qe0TAwI1d-M\/s1600\/func+vs+time+-+agile+2.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/4.bp.blogspot.com\/-KGaEYVy_pV8\/UM_SC1yDHYI\/AAAAAAAACjw\/qe0TAwI1d-M\/s320\/func+vs+time+-+agile+2.png\" alt=\"\" width=\"320\" height=\"213\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"https:\/\/4.bp.blogspot.com\/-P9A6aPayJrU\/UM_SDS1ecuI\/AAAAAAAACj4\/g_qQhWY5qrQ\/s1600\/func+vs+time+-+agile+3.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/4.bp.blogspot.com\/-P9A6aPayJrU\/UM_SDS1ecuI\/AAAAAAAACj4\/g_qQhWY5qrQ\/s320\/func+vs+time+-+agile+3.png\" alt=\"\" width=\"320\" height=\"234\" border=\"0\" \/><\/a><\/div>\n<p>This sequence shows how Agile delivers small slices of functionality over time, while the more traditional software development style only delivers at the end.<\/p>\n<div><\/div>\n<div><strong>Like this topic? check out this book:<\/strong> <a href=\"https:\/\/leanpub.com\/optimizingtheflow\" target=\"_blank\" rel=\"noopener\">Optimizing the flow; process improvements for high performing agile teams<\/a><\/div>\n<table>\n<tbody>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Agile software development is typically iterative and incremental. The software requirements are sliced and planned into iterations.\u00a0 The software is built incrementally, with newly developed slices being added to (or deployed with) the working slices. The figure below is depicts the nature of Agile software development. the work cycle Agile software development progresses in small [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":807,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1919],"tags":[702],"inception_activities":[],"colaboradores":[],"class_list":["post-50","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-culture","tag-book-en"],"_links":{"self":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":0,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media\/807"}],"wp:attachment":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/tags?post=50"},{"taxonomy":"inception_activities","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/inception_activities?post=50"},{"taxonomy":"colaboradores","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/colaboradores?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}