{"id":1029,"date":"2012-04-24T21:24:31","date_gmt":"2012-04-24T20:24:31","guid":{"rendered":"http:\/\/dpscomputing.com\/wordpress\/?p=1029"},"modified":"2012-04-24T21:24:31","modified_gmt":"2012-04-24T20:24:31","slug":"interactive-systems-design-using-an-iterative-model","status":"publish","type":"post","link":"https:\/\/www.dpscomputing.com\/blog\/2012\/04\/24\/interactive-systems-design-using-an-iterative-model\/","title":{"rendered":"Interactive Systems Design Using An Iterative Model"},"content":{"rendered":"<p><a href=\"http:\/\/dpscomputing.com\/wordpress\/wp-content\/uploads\/2012\/04\/interativedesignmodel.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1030\" data-permalink=\"https:\/\/www.dpscomputing.com\/blog\/2012\/04\/24\/interactive-systems-design-using-an-iterative-model\/interativedesignmodel\/\" data-orig-file=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/interativedesignmodel.jpg\" data-orig-size=\"423,222\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Iterative Design Model\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/interativedesignmodel-300x157.jpg\" data-large-file=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/interativedesignmodel.jpg\" tabindex=\"0\" role=\"button\" class=\"size-medium wp-image-1030 alignright\" title=\"Iterative Design Model\" src=\"http:\/\/dpscomputing.com\/wordpress\/wp-content\/uploads\/2012\/04\/interativedesignmodel-300x157.jpg\" alt=\"Iterative Design Model\" width=\"300\" height=\"157\" srcset=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/interativedesignmodel-300x157.jpg 300w, https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/interativedesignmodel-150x78.jpg 150w, https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/interativedesignmodel.jpg 423w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Further to our <a href=\"http:\/\/dpscomputing.com\/wordpress\/2012\/04\/11\/application-design-waterfall-model\/\">previous article on the Waterfall Model<\/a>, we will now discuss interactive systems design using an iterative model.<\/p>\n<p>The iterative design model is a fairly new model when compared to the waterfall model, however it is growing in popularity for a number of reasons. \u00a0Firstly, what exactly is the iterative design model?<\/p>\n<p>The iterative design model is a dynamic model of design that involves multiple iterations of the design process, rather than just one (such as in the Waterfall model). \u00a0The iterative design model implies repeated design, implementation and evaluation of a system. \u00a0An aspect which is often feature in and works well with iterative design is prototyping, in the form of rapid prototype development. \u00a0Iterative design also lends itself to User Centred Design (UCD).<\/p>\n<p>Rapid prototype development has multiple benefits and as many prototypes as can fit into the allocated project time should be created.<\/p>\n<p>The first benefit of iterative design is that it allows initial design mistakes to be overcome. \u00a0It is rare in any project that a design is right the first time &#8211; in fact, it is usually hard to know the exact requirements of a project before implementation has started. \u00a0In a linear model, after the design stage is over, it&#8217;s over. \u00a0There&#8217;s no going back and modifying the design during the implementation stage. \u00a0Whether your design decisions were good or bad, you are stuck with them and this can impact the final system you create. \u00a0With an iterative approach, this problem is solved (partly). \u00a0You set out your requirements, design the system, produce a prototype and then evaluate the prototype. \u00a0You can then use what you have learnt from that prototype to redesign the system and produce another prototype. \u00a0The idea is that the system improves with each iteration.<\/p>\n<p>Secondly, as previously mentioned, during the requirements phase of a project you are unlikely to know the exact requirements of the system. \u00a0As you realise more requirements or changes to your requirements later during the iteration, you can make modifications to the design on the next iteration.<\/p>\n<p>Another benefit is that, in many cases, you will be working for and with a non technical customer (and possibly non technical users). \u00a0They may not necessarily understand complex design documents or technical specifications. \u00a0However, they do understand prototypes that they can play with!! \u00a0It&#8217;s a lot easier for them to test a prototype, see it in action, and see the implications of decisions made during the requirements and design phases.<\/p>\n<p>One thing that does have to be noted though is, as with any other design model, this isn&#8217;t perfect. \u00a0And you most certainly can&#8217;t make huge errors due to carelessness and expect their to be no implications. \u00a0Sometimes, initial bad design decisions cannot be overcome due to design inertia &#8211; basically some decisions made in the early stages of the project can have such drastic consequences or be so fundamental that it cannot be changed significantly enough to negate the initial bad design decision.<\/p>\n<p>Overall, the iterative design model is a good design model, that is currently underused. \u00a0Some businesses have become aware of its potential and have started using it with their software products with some promising results. \u00a0The iterative design model is likely to increase in popularity in the future, but there will also be a place for the Waterfall model as well.<\/p>\n<p>When choosing a design model for a project it is always important to consider which design model best suits the project and the circumstances surrounding it. \u00a0There isn&#8217;t one model that is good for every project &#8211; some models benefit some projects better than others!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Further to our previous article on the Waterfall Model, we will now discuss interactive systems design using an iterative model. The iterative design model is a fairly new model when compared to the waterfall&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[55],"tags":[348,339,357,356,191,358],"class_list":["post-1029","post","type-post","status-publish","format-standard","hentry","category-articles","tag-application-design","tag-application-development","tag-interactive-systems-design","tag-iterative-design-model","tag-software-development","tag-software-development-project"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p3nsfA-gB","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts\/1029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/comments?post=1029"}],"version-history":[{"count":2,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts\/1029\/revisions"}],"predecessor-version":[{"id":1032,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts\/1029\/revisions\/1032"}],"wp:attachment":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/media?parent=1029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/categories?post=1029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/tags?post=1029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}