{"id":2072,"date":"2020-07-22T17:47:45","date_gmt":"2020-07-22T05:47:45","guid":{"rendered":"http:\/\/www.davidbrebner.com\/?p=2072"},"modified":"2022-11-27T14:58:59","modified_gmt":"2022-11-27T01:58:59","slug":"design-led-agile","status":"publish","type":"post","link":"https:\/\/www.davidbrebner.com\/?p=2072","title":{"rendered":"Design Led Agile"},"content":{"rendered":"Original Article: <a href=\"https:\/\/www.umajin.com\/2020\/07\/21\/design-develop-deploy-with-design-led-agile\/\">more<\/a>\r\n<h4>Design Led Agile<\/h4>\r\n\r\n\r\n<em>\u201cDesign is not just what it looks like and feels like. Design is how it works.\u201d<\/em>\r\n\r\n\r\n\r\n\r\n\r\n\u2014 Steve Jobs\r\n\r\n\r\n\r\n\r\n\r\n<em>\u201cDesign-thinking firms stand apart in their willingness to engage in the task of continuously redesigning their business\u2026to create advances in both innovation and efficiency &#8211; the combination that produces the most powerful competitive edge.\u201d<\/em>\r\n\r\n\r\n\r\n\r\n\r\n\u2014 Roger Martin, author of the Design of Business\r\n\r\n\r\n\r\n\r\n\r\nDesign thinking is not just about making objects, but is at the core of effective strategy development and organizational change. The biggest barrier to implementing digital transformation rapidly is that design thinking results in new ideas that may require technical solutions using features such as; big data, AI and IOT. These solutions can be very complex and time consuming to implement.\r\n\r\n\r\n\r\n\r\n\r\nUmajin has developed the Design Led Agile methodology to combine Design Thinking and Agile Engineering.\u00a0 This methodology supports a collaborative approach to delivering innovation.\u00a0 It does so efficiently by delivering small bite sized processes built on top of existing business software and systems in a way that revolutionizes DevOps. Umajin improves enterprise agility by fundamentally changing BOTH the technical and the organizational processes for delivering innovation:\r\n\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n \t<li>The platform provides pre-built building blocks, a turnkey server environment, a multi user visual editor and the ability to instantly deploy content \/ process \/ native apps.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n \t<li>The platform puts digital transformation into the hands of the functional teams.\u00a0 They can quickly digitize and update their business processes with input and feedback from customers and partners.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n\r\nWith this methodology the bulk of the development is performed very quickly and with a very light DevOps requirement. Only then are the small and clearly defined requests for connectors, protocols or transformations made to engineering.\u00a0 These new modules go through the organization&#8217;s full DevOps process as they are built.\u00a0 When they are tested and complete they rejoin the design process.\r\n\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">Design Led Agile Methodology<\/h4>\r\n\r\n\r\n\r\n\r\nDesign Thinking is a well-established approach to define and frame problems, ideate and explore options, prototype, test, and iterate in a way that drives continuous improvement.\r\n\r\n\r\n\r\n\r\n\r\nSimilarly, Agile Software Engineering is a widely used set of values and principles that allows for the collaborative iteration of software specifications during development. It supports engineers in delivering quality software.\r\n\r\n\r\n\r\n\r\n<table class=\"wp-block-table\">\r\n<tbody>\r\n<tr>\r\n<td><figure><img decoding=\"async\" class=\"wp-image-60308\" style=\"width: 450px;\" src=\"https:\/\/www.davidbrebner.com\/wp-content\/uploads\/2020\/07\/design_thinking.png\" alt=\"\" \/><\/figure><\/td>\r\n<td><figure><img decoding=\"async\" class=\"wp-image-60309\" style=\"width: 450px;\" src=\"https:\/\/www.davidbrebner.com\/wp-content\/uploads\/2020\/07\/agile_engineering.png\" alt=\"\" \/><\/figure><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n\r\n\r\n\r\n\r\nThe challenge is that at its core, delivering reliable software engineering is at odds with continuous process redesign. This conflict is directly expressed in the paradox organizations face daily when balancing the ongoing requirement to innovate and compete at a business level and yet manage the budget, quality, security and capability required.\r\n\r\n\r\n\r\n\r\n\r\nTo make it possible to continuously redesign business processes without causing a huge engineering workload we need to create a positive relationship between design and engineering.\u00a0 In the Umajin methodology, we essentially combine the traditional model for Design Thinking with Agile Engineering. This creates a new lightweight model called Design Led Agile.\r\n\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">Design Led Agile<\/h4>\r\n\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" class=\"wp-image-60310\" src=\"https:\/\/www.davidbrebner.com\/wp-content\/uploads\/2020\/07\/design_led.png\" alt=\"\" \/><\/figure>\r\n\r\n\r\n\r\nDesign Led Agile starts with the traditional design process.\u00a0 This identifies customer problems moving through the process to get to the scope, goals and function.\u00a0 Once this design is validated, the team can rapidly build a functional prototype in Umajin.\u00a0 This prototype can be developed into a production system that can be properly secured, managed and maintained.\r\n\r\n\r\n\r\n\r\n\r\nThis functional prototype involves creating the visuals, workflow, actions and test data sets. This can all be created using the drag and drop Umajin editor in very rapid daily sprints.\u00a0 This allows the stakeholders and users to quickly test and evolve the design until it is fit for purpose.\r\n\r\n\r\n\r\n\r\n\r\nWhen users have defined how everything will actually work &#8211; any connectors, actions or components that are not already available from the deep library of Umajin capabilities can be handed to the agile engineering process as a <strong>REQUEST<\/strong>.\u00a0 These requests are now clearly specified and can be built using the tools and agile processes the developers prefer.\u00a0 Importantly this is also delivered on timelines and at quality levels that make efficient use of engineering resources.\r\n\r\n\r\n\r\n\r\n\r\nAfter suitable development and testing throughout the agile engineering process these requests are <strong>OUTPUT<\/strong> so they can be immediately used and tested inside the project.\u00a0 Even better, these connectors, actions and components are lightly coupled so they can be reused in other projects and upgraded with minimal effort from either the design or engineering perspective.\r\n\r\n\r\n\r\n\r\n\r\nThis is a massive change from the practical frustrations and feelings of lack of control that regularly occur on all sides of development, design, business and engineering.\u00a0 Design Led Agile means people are able to manage their own outcomes and work together in real time inside the same project using the same assets and terminology.\r\n\r\n\r\n\r\n\r\n\r\nThis \u201cEdge Execution\u201d model requires a change in responsibility and control along with a new approach and resourcing model.\u00a0 It means embracing design thinking, doing a larger volume of smaller projects, and delivering projects as a layer on top of the core IT systems &#8211; all while still providing high quality, security and stability.\r\n\r\n\r\n\r\n\r\n\r\nIn Design Led Agile, DevOps requirements are reduced exponentially as well as the need for outsourced resources.\u00a0 All of the engineering DevOps requirements around code quality, testing and security will have already been met during the agile engineering process when creating the connectors, actions and components. So for example functional testing and release management are comparable with the effort in publishing an important document &#8211; rather than the overhead on a full engineering QA process.\r\n\r\n\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\" style=\"width: 450px; align: center;\"><img decoding=\"async\" class=\"wp-image-60311\" src=\"https:\/\/www.davidbrebner.com\/wp-content\/uploads\/2020\/07\/devops.png\" alt=\"\" \/><\/figure>\r\n\r\n\r\n<h4 class=\"wp-block-heading\">The Reality Of Most Software Development Today<\/h4>\r\n\r\n\r\n\r\n\r\nIt is typical today that projects are built in a monolithic fashion with requirements gathered from many stakeholders.\u00a0 It\u2019s common to accumulate requirements over the duration of the project sign off phase and to have large lists of \u201cMUST HAVE\u201d features resulting in heavy project management requirements and long, cumbersome development cycles.\r\n\r\n\r\n\r\n\r\n\r\nIf you are reading this, you may well have been part of a project like this in the past or are currently in the middle of one or more.\u00a0 Projects often start behind schedule due to delays in scope, acceptance, third party vendor requirements and budget approvals.\u00a0 During the lifetime of a project it may be re-scheduled several times to accommodate changing requirements or the realization that it is bigger and more complex than first thought. This is due to any number of reasons; supposedly ill-formed requirements, discovering complications in the implementation and technology, changes of client requirements and changes in third party software or tools.\r\n\r\n\r\n\r\n\r\n\r\nDuring the project the developers will be frustrated by \u2018trivial\u2019 UI\/UX changes being asked of them while they have large engineering sprints to complete.\u00a0 Designers will be frustrated that the application didn\u2019t meet the user experiences they intended and stakeholders will be frustrated with the slow progress and financial implications.\r\n\r\n\r\n\r\n\r\n\r\nUpon delivery there is almost always a series of challenges reaching acceptance of the final product, often requiring additional rework.\u00a0 This will be followed by challenges with implementing, training and rolling out the solution to users, along with fixing the issues which almost certainly are discovered during early usage despite QA efforts.\r\n\r\n\r\n\r\n\r\n\r\n<strong>Monolithic Applications <\/strong>\r\n\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n \t<li>Overall project completion measured in years<\/li>\r\n \t<li>Interdependencies mean that nothing is available until all parts are complete<\/li>\r\n \t<li>UX nightmare of buried functionality and navigation trees to fit everything into the application<\/li>\r\n \t<li>Code is fragile under changing requirements<\/li>\r\n \t<li>Original developers hold the arcane knowledge of the system due to complexity and opacity<\/li>\r\n \t<li>Developer controlled processes prioritize function over form &#8211; resulting in rework<\/li>\r\n \t<li>Lack of early\/fast iteration can cause large parts of the application to need rework<\/li>\r\n \t<li>Large numbers of stakeholders can cause conflict resulting in potential delays in critical-path decisions<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n\r\nGiven the limitations of Monolithic Applications, many teams have avoided it and turned to Google Sheets, Excel and other ad hoc Low Code environments to improvise applications, creating both complexity and control issues in managing key processes.\r\n\r\n\r\n\r\n\r\n\r\n<strong>Proliferation of Ad Hoc Applications<\/strong>\r\n\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n \t<li>Important business logic is housed in hard to quantify silos<\/li>\r\n \t<li>Data is not properly backed up or managed (with mixtures of client or cloud spreadsheets)<\/li>\r\n \t<li>Single citizen \u2018developer\u2019 has knowledge of the single application<\/li>\r\n \t<li>Improper development techniques used can cause maintenance problems<\/li>\r\n \t<li>Different versions of data stored in multiple applications cause conflicts &#8211; which data is correct<\/li>\r\n \t<li>No ability to control access to the application<\/li>\r\n \t<li>Sensitive and private data may be exposed causing business, regulatory or even legal problems<\/li>\r\n \t<li>Quality Assurance is unlikely to have been implemented leading to instability and even loss of important data<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">Design Led Agile In Practice<\/h4>\r\n\r\n\r\n\r\n\r\nDesign Led Agile has been developed to deliver better outcomes, to be faster and more responsive to change, to encourage more iteration cycles, to promote more reuse, to layer on top of the underlying IT ecosystem and to create more robust solutions.\u00a0 Here is how this works in practice compared to traditional software projects.\r\n\r\n\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" class=\"wp-image-60326\" src=\"https:\/\/www.davidbrebner.com\/wp-content\/uploads\/2020\/07\/spectrum-1024x201.jpg\" alt=\"\" \/><\/figure>\r\n\r\n\r\n\r\nDesign within the Umajin platform covers the spectrum of visual design through to writing script code. It is important that the workflow between these elements is fluid not rigid. Team members can work together in real time moving through parts of the spectrum that suit, rather than being bound by their traditional title or role.\r\n\r\n\r\n\r\n\r\n\r\n<strong>Product Owner driven design:<\/strong> For example, a project could be started by the product owners who rather than spending weeks on a detailed specification and wireframes, make the layout in Umajin.\u00a0 Then they can layer in basic interaction, actions and temporary data to test this functional prototype with users.\u00a0 The prototype can now be extended, working with design in real time to complete the visual elements and tweak the layout. In parallel developers can tackle creating the database and any scripts required to make it production ready.\r\n\r\n\r\n\r\n\r\n\r\n<strong>Designer driven design:<\/strong> Where design owns the project kickoff it will begin with a layout, basic behavior and be followed by a visual design.\u00a0 The design team then cycle with the product owners until they are happy with the look and behavior.\u00a0 Once that\u2019s all locked down developers can join the project and create the secure\/scaleable database and any custom scripts required. All the while the look and behavior adjustments can continue.\r\n\r\n\r\n\r\n\r\n\r\n<strong>Developer driven design:<\/strong> It\u2019s also very common to have development start the design process (how things work, not just how they look).\u00a0 In this scenario developers would create a rough layout and actions, fleshing out the code and database until they feel they have achieved the desired behavior.\u00a0 Then they work with the product owners to ensure everything behaves as intended, collecting feedback from users.\u00a0 Then designers come in to adjust the layout and create the visual design and styling.\r\n\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h4>\r\n\r\n\r\n\r\n\r\nUmajin\u2019s Design\/Develop\/Deploy platform enables the Design Led Agile process for teams.\u00a0 At a high level it moves more of the transformation control and implementation into the design side, while improving communication with and reducing workload on engineering. It also respects the different responsibilities and mandates of the lines of business and the business&#8217;s IT function.\r\n\r\n\r\n\r\n\r\n\r\nThis whole approach is intended to reduce the scope and complexity of projects. The improved efficiency is multiplied as Umajin makes it easy for teams to reuse design elements, connectors, actions and even whole projects!\r\n\r\n\r\n\r\n\r\n\r\nUmajin is fundamentally re-inventing the process of digital transformation.\r\n\r\n\r\n\r\nCheers\r\nDavid","protected":false},"excerpt":{"rendered":"<p>Original Article: more Design Led Agile \u201cDesign is not just what it looks like and feels like. Design is how [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2080,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"image","meta":{"footnotes":""},"categories":[14,19],"tags":[],"class_list":["post-2072","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-blog","category-umajin-app-builder","post_format-post-format-image"],"_links":{"self":[{"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/posts\/2072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2072"}],"version-history":[{"count":7,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/posts\/2072\/revisions"}],"predecessor-version":[{"id":2273,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/posts\/2072\/revisions\/2273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=\/wp\/v2\/media\/2080"}],"wp:attachment":[{"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.davidbrebner.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}