{"id":30063,"date":"2024-10-24T09:30:00","date_gmt":"2024-10-24T07:30:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=30063"},"modified":"2024-10-17T14:37:06","modified_gmt":"2024-10-17T12:37:06","slug":"fail-fast-when-failure-is-a-win","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/","title":{"rendered":"Fail Fast: when failure is a win"},"content":{"rendered":"\n<p>In a world driven by rapid development and continuous innovation, failure isn\u2019t always a setback\u2014in fact, it can be a <strong>winning strategy<\/strong>.<\/p>\n\n\n\n<p>Let\u2019s talk about <em>Fail Fast<\/em>, a fundamental methodology in software development that aims to quickly identify the limitations and critical issues of a solution.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-what-is-fail-fast\"><strong>What is Fail Fast?<\/strong><\/h4>\n\n\n\n<p><em>Fail Fast<\/em> is an approach with a single goal: to find a potential stopping point. If Descartes said <em>Cogito ergo sum<\/em> (I think, therefore I am), here we could say <em>Deficio ergo sum<\/em> (I fail, therefore I exist).<\/p>\n\n\n\n<p>This approach is especially crucial in contexts like the IoT (Internet of Things), where the variables are numerous and often beyond our direct control. But trust me, this methodology can prove useful in any field.<\/p>\n\n\n\n<p>Imagine working with a &#8220;black box,&#8221; an element over which we have little visibility or influence. The documentation is brief, with a list of expected behaviors, but few certainties. On the other hand, we have detailed user stories, reviewed together with UX and QA teams, ready to be tested against rigorous test plans.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-so-why-aim-to-fail\"><strong>So, why aim to fail?<\/strong><\/h4>\n\n\n\n<p>Because discovering as early as possible that something isn\u2019t working allows us to make timely decisions, adjust the course, and, if necessary, escalate the issue.<\/p>\n\n\n\n<p><em>Fail Fast<\/em> is the opposite of \u201csandbagging,\u201d which is the habit of postponing a problem, hoping it will be forgotten or classified as \u201cnon-reproducible.\u201d<\/p>\n\n\n\n<p>By acting immediately, we can prevent problems from accumulating and becoming unmanageable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-how-to-put-it-into-practice\"><strong>How to Put it into Practice?<\/strong><\/h4>\n\n\n\n<p><em>Fail Fast<\/em> often finds its application through <em>Proof of Concept<\/em> (PoC).<\/p>\n\n\n\n<p>A team, or even a single developer, tests a solution to quickly validate it. But it\u2019s not just about confirming whether something works; the PoC should challenge the solution, testing it under conditions that could lead to failure.<\/p>\n\n\n\n<p>Senior or Expert profiles are typically involved in these activities due to their experience in identifying critical points and \u201chitting\u201d where problems are most likely to arise. However, it\u2019s not an absolute requirement: anyone with the right mindset and approach can contribute to the <em>Fail Fast<\/em> process.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-a-practical-example-ble-synchronization-in-background-on-ios\"><strong>A Practical Example: BLE Synchronization in Background on iOS<\/strong><\/h4>\n\n\n\n<p>A context where it\u2019s easy to apply this strategy is hardware, often characterized by &#8220;black boxes&#8221; over which we have limited control.<\/p>\n\n\n\n<p>Many of you may have a smart band or a smart ring. These devices continuously collect data, and for you users, it\u2019s convenient to open the application and find updated data without waiting for a long synchronization process, right?<\/p>\n\n\n\n<p>Great, but if we consider BLE (Bluetooth Low Energy) and iOS background operations as potential pain points, we\u2019re dealing with a powder keg ready to explode at any moment.<\/p>\n\n\n\n<p>From experience, we know there are critical patterns involving BLE and iOS in different scenarios (we could talk about it for days&#8230;). A classic example of applying <em>Fail Fast<\/em> would be to immediately verify if the peripheral simply requires physical interaction to maintain or re-establish the connection periodically.<\/p>\n\n\n\n<p>If we don\u2019t run this test right away, we risk discovering too late that background synchronizations don\u2019t work as expected. This could compromise the seamless user experience they anticipate, forcing us to review the entire software or hardware project.<\/p>\n\n\n\n<p>Or, worse, see negative reviews on app stores increase steadily.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-fail-fast-from-pxd-physical-x-digital-to-d\u00b2-digital-x-digital\"><strong>Fail Fast: From PxD (Physical x Digital) to D\u00b2 (Digital x Digital)<\/strong><\/h4>\n\n\n\n<p>In the <em>Physical x Digital<\/em> (PxD) context, as is often the case in IoT projects, <em>Fail Fast<\/em> is almost mandatory. But it\u2019s also worth applying it in the <em>Digital x Digital<\/em> (D\u00b2) realm\u2014purely digital projects. If we receive documentation for a REST or GraphQL API, for example, why not test it immediately in a real-world scenario where it might fail? Better for us to find out than the client.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-but-aren-t-there-already-automated-tests\"><strong>\u201cBut aren\u2019t there already automated tests?\u201d<\/strong><\/h4>\n\n\n\n<p>It\u2019s true, many believe that a solution validated by unit tests and internal QA is safe. However, recent failures, even in fields like aerospace, show that even an apparently stable system can present surprises when a third party starts interacting with it. Testing with a <em>Fail Fast<\/em> approach, perhaps with a precise time-box, could make all the difference.<\/p>\n\n\n\n<p>I\u2019m curious to hear your thoughts and whether you\u2019ve adopted this practice as well. Do you have any concrete examples? Let me know!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a world driven by rapid development and continuous innovation, failure isn\u2019t always a setback\u2014in fact, it can be a winning strategy. Let\u2019s talk about Fail Fast, a fundamental methodology in software development that aims to quickly identify the limitations and critical issues of a solution. What is Fail Fast? Fail Fast is an approach&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\">Read more<\/a><\/p>\n","protected":false},"author":297,"featured_media":30129,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[3356],"tags":[],"collections":[],"class_list":{"0":"post-30063","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-devops","8":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Fail Fast: when failure is a win - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Discover how a fail fast approach can help you boost innovation and obtain unexpected results in software development.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fail Fast: when failure is a win\" \/>\n<meta property=\"og:description\" content=\"Discover how a fail fast approach can help you boost innovation and obtain unexpected results in software development.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-24T07:30:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Matteo Crippa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matteo Crippa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\"},\"author\":{\"name\":\"Matteo Crippa\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/33b203724f28c3afc91db33645a50b30\"},\"headline\":\"Fail Fast: when failure is a win\",\"datePublished\":\"2024-10-24T07:30:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\"},\"wordCount\":732,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp\",\"articleSection\":[\"DevOps\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\",\"name\":\"Fail Fast: when failure is a win - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp\",\"datePublished\":\"2024-10-24T07:30:00+00:00\",\"description\":\"Discover how a fail fast approach can help you boost innovation and obtain unexpected results in software development.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp\",\"width\":1792,\"height\":1024,\"caption\":\"fail fast approach image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fail Fast: when failure is a win\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/33b203724f28c3afc91db33645a50b30\",\"name\":\"Matteo Crippa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/1673371233293-100x100.jpeg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/1673371233293-100x100.jpeg\",\"caption\":\"Matteo Crippa\"},\"description\":\"Hi, I am Matteo, the Mobile Team Leader at \ud83d\udd34 intent. \ud83d\ude80 Creator of: Awesome Swift, Awsome BLE, LeafMiner \u2618\ufe0f\u26cf\ufe0f. \u270d\ufe0f Contributor in: Flutter, CareKit, ResearchKit, MapLibre, Fuel, Vapor. \ud83d\udd2c I usually develop using iOS - (Objective-C, Swift), Android - (Kotlin), Node.js - (Express.js, AWS Lambda), Deno, Flutter, Vue.js\",\"sameAs\":[\"https:\/\/withintent.com\",\"https:\/\/linkedin.com\/in\/matteocrippamc\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/ghego\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Fail Fast: when failure is a win - Codemotion Magazine","description":"Discover how a fail fast approach can help you boost innovation and obtain unexpected results in software development.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/","og_locale":"en_US","og_type":"article","og_title":"Fail Fast: when failure is a win","og_description":"Discover how a fail fast approach can help you boost innovation and obtain unexpected results in software development.","og_url":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2024-10-24T07:30:00+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp","type":"image\/webp"}],"author":"Matteo Crippa","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Matteo Crippa","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/"},"author":{"name":"Matteo Crippa","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/33b203724f28c3afc91db33645a50b30"},"headline":"Fail Fast: when failure is a win","datePublished":"2024-10-24T07:30:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/"},"wordCount":732,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp","articleSection":["DevOps"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/","url":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/","name":"Fail Fast: when failure is a win - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp","datePublished":"2024-10-24T07:30:00+00:00","description":"Discover how a fail fast approach can help you boost innovation and obtain unexpected results in software development.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp","width":1792,"height":1024,"caption":"fail fast approach image"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/fail-fast-when-failure-is-a-win\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.codemotion.com\/magazine\/devops\/"},{"@type":"ListItem","position":3,"name":"Fail Fast: when failure is a win"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/33b203724f28c3afc91db33645a50b30","name":"Matteo Crippa","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/1673371233293-100x100.jpeg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/1673371233293-100x100.jpeg","caption":"Matteo Crippa"},"description":"Hi, I am Matteo, the Mobile Team Leader at \ud83d\udd34 intent. \ud83d\ude80 Creator of: Awesome Swift, Awsome BLE, LeafMiner \u2618\ufe0f\u26cf\ufe0f. \u270d\ufe0f Contributor in: Flutter, CareKit, ResearchKit, MapLibre, Fuel, Vapor. \ud83d\udd2c I usually develop using iOS - (Objective-C, Swift), Android - (Kotlin), Node.js - (Express.js, AWS Lambda), Deno, Flutter, Vue.js","sameAs":["https:\/\/withintent.com","https:\/\/linkedin.com\/in\/matteocrippamc"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/ghego\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-600x600.webp","author_info":{"display_name":"Matteo Crippa","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/ghego\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/10\/FAIL-FAST-APPROACH-600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"Matteo Crippa","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/ghego\/"},"uagb_comment_info":0,"uagb_excerpt":"In a world driven by rapid development and continuous innovation, failure isn\u2019t always a setback\u2014in fact, it can be a winning strategy. Let\u2019s talk about Fail Fast, a fundamental methodology in software development that aims to quickly identify the limitations and critical issues of a solution. What is Fail Fast? Fail Fast is an approach&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/30063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/297"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=30063"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/30063\/revisions"}],"predecessor-version":[{"id":30101,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/30063\/revisions\/30101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/30129"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=30063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=30063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=30063"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=30063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}