{"id":7375,"date":"2015-02-05T17:20:00","date_gmt":"2015-02-05T17:20:00","guid":{"rendered":"http:\/\/superdevresources.com\/development-workflow-automation\/"},"modified":"2015-12-31T16:54:45","modified_gmt":"2015-12-31T11:24:45","slug":"development-workflow-automation","status":"publish","type":"post","link":"https:\/\/superdevresources.com\/development-workflow-automation\/","title":{"rendered":"Development Workflow Automation with Build Scripts &#038; Tools"},"content":{"rendered":"<p>Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and value for writing build (or setup or deployment) scripts. However it\u2019s important and imperative to adopt the habit of automating the <strong>mundane<\/strong> and <strong>essential<\/strong> process of build, setup &amp; running unit test suite; as this helps\u00a0in saving hours of manual effort wasted, which could have otherwise been used for carrying out further useful work.<\/p>\n<div class=\"image-wrapper\">\n<p><img decoding=\"async\" src=\"https:\/\/superdevresources.com\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png\" alt=\"Development Workflow Automation\" \/><\/p>\n<\/div>\n<p>After the design of a project is done, a development plan and choosing appropriate tool for creating the build and deployment scripts for the project should also be given considerable\u00a0thought. It is a good development practice to finalize on a suitable tool for creating the build scripts which can be run from command lines or shell files or batch scripts. This helps in automating\u00a0the everyday routine of creating daily builds and deployment, both for staging and test environment.<\/p>\n<h2 id=\"need-for-build-scripts\">Need for Build Scripts<\/h2>\n<p>In teams where there are separate Development and QA (Quality Assurance) teams, it is a daunting task to update the QA team when there are changes in build steps <em>or<\/em> order <em>or<\/em> pre-requisite dependencies <em>or<\/em> environment set-up\u00a0for deployment. As I have mentioned in my previous post that such changes must be <a href=\"https:\/\/superdevresources.com\/importance-documentation-software-development\/\">documented<\/a> for reference and\u00a0also shared via team-wide mails and wikis; it is often overlooked in a daily deployment scenario and thus time is wasted on trivial known issues. Hence having build and deployment scripts saves time for both\u00a0development and QA teams.<\/p>\n<h2 id=\"what-kind-of-tasks-can-be-automated\">What kind of tasks can be automated<\/h2>\n<blockquote><p>Anything which can be automated should be automated.<\/p><\/blockquote>\n<p>Or in a nutshell, automation of anything which is a routine task and can be done as per listed or documented steps, should be aimed for automation.\u00a0This includes but not limited to project build scripts, environment check and setup scripts, install scripts, un-install scripts, running unit-test, build-verification test scripts,\u00a0check-in verification scripts.<\/p>\n<p>For eg. developers often use the Unit-test framework with an IDE to run and verify their source code and feature developed. Similarly, QA teams can create test suites for API testing, code coverage,\u00a0functional testing, performance testing, etc which can be then called at different points like code check-in or daily built or milestone completion thus eliminating redundant tasks and minimizing <strong>un-fit builds<\/strong>.<\/p>\n<p>Some products require a setup step, which can also be automated. Similarly you may need an un-install step to remove the software from the system or an upgrade step for testing the upgrade flow. Such routine tasks can be scripted to save both development and QA time.<\/p>\n<h2 id=\"choice-of-build-tools\">Choice of build Tools<\/h2>\n<p>There are many options available for doing all the above listed goals. I personally prefer doing things\u00a0in different scripting tools which meets my goal. For eg. for creating build and running unit test on the product I prefer <a href=\"http:\/\/nant.sourceforge.net\/\">NAnt<\/a>. It is targeted for the .Net framework and\u00a0is similar to <a href=\"http:\/\/ant.apache.org\/\">Apache Ant<\/a>. It is easy to use XML-based configuration files, where you define various target <a href=\"http:\/\/nant.sourceforge.net\/release\/latest\/help\/tasks\/\">tasks<\/a>\u00a0like compile, move or copy files or folders, regex helper for modifying file markers, zip\/unzip filesets, version binaries. There are also some great custom task library provided\u00a0by <a href=\"http:\/\/nantcontrib.sourceforge.net\/\">NAntContrib<\/a> which is community supported and sooner or later make it into the official NAnt task library.<\/p>\n<p>For Java based projects <a href=\"http:\/\/maven.apache.org\">Maven<\/a> is the preferred primary build tool. It is also a XML-file driven build tool. I have used Maven to build my java project, execute test cases &amp; define\u00a0and manage dependencies on other projects which is the coolest and the most powerful feature of Maven.\u00a0It lets you define local module dependencies, <a href=\"http:\/\/search.maven.org\/#browse\">dependencies provided by JDK<\/a> (eg log4j, HTML parsers), or a private custom repository for\u00a0your own company.<\/p>\n<p>For automated builds and deployments, I prefer <a href=\"http:\/\/jenkins-ci.org\/\">Jenkins<\/a>. I have also used <a href=\"https:\/\/www.jetbrains.com\/teamcity\/\">TeamCity<\/a> and <a href=\"https:\/\/developer.ibm.com\/urbancode\/plugins\/anthillpro\/\">AntHillPro<\/a> in\u00a0the past. For all my needs both fitted the bill. They can be easily configured to run check-in build automation, setting up and deploying the daily build binaries to both dev and QA environments.\u00a0It has various options to tag your builds as\u00a0per your requirements. To think about it, I will write a separate post on using Jenkins sometime soon. But to sum up, if you are not using automation scripts, I suggest you start using them. It makes\u00a0life easier.<\/p>\n<h2 id=\"key-takeaway\">Key Takeaway<\/h2>\n<p>The key point to remember is that we should try to automate repeatable tasks as\u00a0much as possible. They help in continuous integration, on-demand as well as scheduled automation. Helps catch and report bugs in early stages of development thus improving product quality and saving time\u00a0&amp; money. There are various other options available which can be used to write automated scripts. They can be a heterogeneous mix. If you do not have anything at present, you can start with putting\u00a0together short basic build scripts, and keep on improving them over time. Before you know it, you will have a fully automated system, and soon you will realize how have you been doing without it.<\/p>\n<p>Let us know if you have used any other tool or any scenario for automation which you feel saved you team time and effort and we will share it with all.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new &#8230; <a title=\"Development Workflow Automation with Build Scripts &#038; Tools\" class=\"read-more\" href=\"https:\/\/superdevresources.com\/development-workflow-automation\/\" aria-label=\"Read more about Development Workflow Automation with Build Scripts &#038; Tools\"><span><\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":7625,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[150],"class_list":["post-7375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-build-tools","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding","resize-featured-image"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Development Workflow Automation with Build Scripts &amp; Tools - Super Dev Resources<\/title>\n<meta name=\"description\" content=\"Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/45.32.231.40\/development-workflow-automation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Development Workflow Automation with Build Scripts &amp; Tools - Super Dev Resources\" \/>\n<meta property=\"og:description\" content=\"Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and\" \/>\n<meta property=\"og:url\" content=\"https:\/\/45.32.231.40\/development-workflow-automation\/\" \/>\n<meta property=\"og:site_name\" content=\"Super Dev Resources\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/superdevresources\" \/>\n<meta property=\"article:published_time\" content=\"2015-02-05T17:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-12-31T11:24:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/45.32.231.40\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"405\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Parag Agrawal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@parag_a\" \/>\n<meta name=\"twitter:site\" content=\"@superdevres42\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Parag Agrawal\" \/>\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:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/\"},\"author\":{\"name\":\"Parag Agrawal\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#\\\/schema\\\/person\\\/c83afd0ac58acaeaa95a6780872e6eae\"},\"headline\":\"Development Workflow Automation with Build Scripts &#038; Tools\",\"datePublished\":\"2015-02-05T17:20:00+00:00\",\"dateModified\":\"2015-12-31T11:24:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/\"},\"wordCount\":884,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/superdevresources.com\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/dev-workflow-automation.png\",\"keywords\":[\"Build Tools\"],\"articleSection\":[\"Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/\",\"url\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/\",\"name\":\"Development Workflow Automation with Build Scripts & Tools - Super Dev Resources\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/superdevresources.com\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/dev-workflow-automation.png\",\"datePublished\":\"2015-02-05T17:20:00+00:00\",\"dateModified\":\"2015-12-31T11:24:45+00:00\",\"description\":\"Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#primaryimage\",\"url\":\"https:\\\/\\\/superdevresources.com\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/dev-workflow-automation.png\",\"contentUrl\":\"https:\\\/\\\/superdevresources.com\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/dev-workflow-automation.png\",\"width\":700,\"height\":405},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/development-workflow-automation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/superdevresources.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Development\",\"item\":\"https:\\\/\\\/superdevresources.com\\\/category\\\/development\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Development Workflow Automation with Build Scripts &#038; Tools\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#website\",\"url\":\"https:\\\/\\\/45.32.231.40\\\/\",\"name\":\"Super Dev Resources\",\"description\":\"Design, Development, Business &amp; Marketing Resources\",\"publisher\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/45.32.231.40\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#organization\",\"name\":\"Super Dev Resources\",\"url\":\"https:\\\/\\\/45.32.231.40\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/superdevresources.com\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/sdr.png\",\"contentUrl\":\"https:\\\/\\\/superdevresources.com\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/sdr.png\",\"width\":512,\"height\":512,\"caption\":\"Super Dev Resources\"},\"image\":{\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/superdevresources\",\"https:\\\/\\\/x.com\\\/superdevres42\",\"https:\\\/\\\/www.pinterest.com\\\/superdevres42\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/45.32.231.40\\\/#\\\/schema\\\/person\\\/c83afd0ac58acaeaa95a6780872e6eae\",\"name\":\"Parag Agrawal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1288fce85b1eee6d6acd708cb91f6b4b77efc000d040d61d91442f199ad70072?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1288fce85b1eee6d6acd708cb91f6b4b77efc000d040d61d91442f199ad70072?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1288fce85b1eee6d6acd708cb91f6b4b77efc000d040d61d91442f199ad70072?s=96&d=mm&r=g\",\"caption\":\"Parag Agrawal\"},\"description\":\"Parag Agrawal has spent 7+ years working in technology with giants like Microsoft &amp; Expedia. He loves to share his learning and meet new people.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/parag_a\"],\"url\":\"https:\\\/\\\/superdevresources.com\\\/author\\\/parag\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Development Workflow Automation with Build Scripts & Tools - Super Dev Resources","description":"Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and","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:\/\/45.32.231.40\/development-workflow-automation\/","og_locale":"en_US","og_type":"article","og_title":"Development Workflow Automation with Build Scripts & Tools - Super Dev Resources","og_description":"Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and","og_url":"https:\/\/45.32.231.40\/development-workflow-automation\/","og_site_name":"Super Dev Resources","article_publisher":"https:\/\/www.facebook.com\/superdevresources","article_published_time":"2015-02-05T17:20:00+00:00","article_modified_time":"2015-12-31T11:24:45+00:00","og_image":[{"width":700,"height":405,"url":"https:\/\/45.32.231.40\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png","type":"image\/png"}],"author":"Parag Agrawal","twitter_card":"summary_large_image","twitter_creator":"@parag_a","twitter_site":"@superdevres42","twitter_misc":{"Written by":"Parag Agrawal","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#article","isPartOf":{"@id":"https:\/\/45.32.231.40\/development-workflow-automation\/"},"author":{"name":"Parag Agrawal","@id":"https:\/\/45.32.231.40\/#\/schema\/person\/c83afd0ac58acaeaa95a6780872e6eae"},"headline":"Development Workflow Automation with Build Scripts &#038; Tools","datePublished":"2015-02-05T17:20:00+00:00","dateModified":"2015-12-31T11:24:45+00:00","mainEntityOfPage":{"@id":"https:\/\/45.32.231.40\/development-workflow-automation\/"},"wordCount":884,"commentCount":0,"publisher":{"@id":"https:\/\/45.32.231.40\/#organization"},"image":{"@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#primaryimage"},"thumbnailUrl":"https:\/\/superdevresources.com\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png","keywords":["Build Tools"],"articleSection":["Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/45.32.231.40\/development-workflow-automation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/45.32.231.40\/development-workflow-automation\/","url":"https:\/\/45.32.231.40\/development-workflow-automation\/","name":"Development Workflow Automation with Build Scripts & Tools - Super Dev Resources","isPartOf":{"@id":"https:\/\/45.32.231.40\/#website"},"primaryImageOfPage":{"@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#primaryimage"},"image":{"@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#primaryimage"},"thumbnailUrl":"https:\/\/superdevresources.com\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png","datePublished":"2015-02-05T17:20:00+00:00","dateModified":"2015-12-31T11:24:45+00:00","description":"Developers are always content and happy with writing code in rich and feature-full IDEs. Often for a new development team there seems no incentive and","breadcrumb":{"@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/45.32.231.40\/development-workflow-automation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#primaryimage","url":"https:\/\/superdevresources.com\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png","contentUrl":"https:\/\/superdevresources.com\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png","width":700,"height":405},{"@type":"BreadcrumbList","@id":"https:\/\/45.32.231.40\/development-workflow-automation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/superdevresources.com\/"},{"@type":"ListItem","position":2,"name":"Development","item":"https:\/\/superdevresources.com\/category\/development\/"},{"@type":"ListItem","position":3,"name":"Development Workflow Automation with Build Scripts &#038; Tools"}]},{"@type":"WebSite","@id":"https:\/\/45.32.231.40\/#website","url":"https:\/\/45.32.231.40\/","name":"Super Dev Resources","description":"Design, Development, Business &amp; Marketing Resources","publisher":{"@id":"https:\/\/45.32.231.40\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/45.32.231.40\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/45.32.231.40\/#organization","name":"Super Dev Resources","url":"https:\/\/45.32.231.40\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/45.32.231.40\/#\/schema\/logo\/image\/","url":"https:\/\/superdevresources.com\/wp-content\/uploads\/2016\/12\/sdr.png","contentUrl":"https:\/\/superdevresources.com\/wp-content\/uploads\/2016\/12\/sdr.png","width":512,"height":512,"caption":"Super Dev Resources"},"image":{"@id":"https:\/\/45.32.231.40\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/superdevresources","https:\/\/x.com\/superdevres42","https:\/\/www.pinterest.com\/superdevres42\/"]},{"@type":"Person","@id":"https:\/\/45.32.231.40\/#\/schema\/person\/c83afd0ac58acaeaa95a6780872e6eae","name":"Parag Agrawal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1288fce85b1eee6d6acd708cb91f6b4b77efc000d040d61d91442f199ad70072?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1288fce85b1eee6d6acd708cb91f6b4b77efc000d040d61d91442f199ad70072?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1288fce85b1eee6d6acd708cb91f6b4b77efc000d040d61d91442f199ad70072?s=96&d=mm&r=g","caption":"Parag Agrawal"},"description":"Parag Agrawal has spent 7+ years working in technology with giants like Microsoft &amp; Expedia. He loves to share his learning and meet new people.","sameAs":["https:\/\/x.com\/parag_a"],"url":"https:\/\/superdevresources.com\/author\/parag\/"}]}},"jetpack_featured_media_url":"https:\/\/superdevresources.com\/wp-content\/uploads\/2015\/02\/dev-workflow-automation.png","jetpack-related-posts":[{"id":23369,"url":"https:\/\/superdevresources.com\/how-to-get-started-with-website-test-automation\/","url_meta":{"origin":7375,"position":0},"title":"How to Get Started With Website Test Automation","author":"SDR Team","date":"December 4, 2020","format":false,"excerpt":"Illustration by Freepik Storyset Software testing is an integral part of any software release, as it helps to ensure that your website or application is functioning as expected and delivers a smooth user experience to all parties that will be using the end product, as they won\u2019t notice annoying bugs\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/superdevresources.com\/category\/development\/"},"img":{"alt_text":"website test automation getting started","src":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2020\/12\/website-test-automation-getting-started.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2020\/12\/website-test-automation-getting-started.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2020\/12\/website-test-automation-getting-started.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2020\/12\/website-test-automation-getting-started.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":33566,"url":"https:\/\/superdevresources.com\/how-github-actions-improve-infrastructure-as-code-management-with-terraform\/","url_meta":{"origin":7375,"position":1},"title":"How GitHub Actions Improve Infrastructure-as-Code Management with Terraform","author":"SDR Team","date":"December 11, 2023","format":false,"excerpt":"Terraform is one of the most widely used Infrastructure-as-Code (IaC) management tools. It gained traction as it was adopted by the DevOps and cloud computing communities. It stands out for a number of reasons particularly its declarative configuration language, multi-cloud support, plan-and-apply workflow, and CI\/CD integration. However, Terraform, on its\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/superdevresources.com\/category\/development\/"},"img":{"alt_text":"github actions improve iac terraform","src":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/12\/github-actions-improve-iac-terraform.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/12\/github-actions-improve-iac-terraform.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/12\/github-actions-improve-iac-terraform.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/12\/github-actions-improve-iac-terraform.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":33359,"url":"https:\/\/superdevresources.com\/enhancing-code-resilience-by-leveraging-edr-in-software-development\/","url_meta":{"origin":7375,"position":2},"title":"Enhancing Code Resilience by Leveraging EDR in Software Development","author":"SDR Team","date":"September 12, 2023","format":false,"excerpt":"Attacks on the software supply chain have been among the prominent cybersecurity events in the past few years. In 2018, leading chip maker TSMC suffered a malware attack that affected over 10,000 devices. In 2020, the infamous SolarWinds and Codecov attacks demonstrated how software supply chains continue to be vulnerable.\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/superdevresources.com\/category\/development\/"},"img":{"alt_text":"leveraging edr software development","src":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/09\/leveraging-edr-software-development.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/09\/leveraging-edr-software-development.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/09\/leveraging-edr-software-development.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2023\/09\/leveraging-edr-software-development.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":11158,"url":"https:\/\/superdevresources.com\/web-app-frameworks-non-developers\/","url_meta":{"origin":7375,"position":3},"title":"8 Ideal Web App Frameworks for the Non-Developers","author":"Pawan Sahu","date":"December 8, 2017","format":false,"excerpt":"Thinking about developing an app for your business website? But, do you know how to code? Not everyone is aware of coding but that shouldn\u2019t stop you from creating your own app for your customers. There did exist a time when web-app development was just for the skilled programmers and\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/superdevresources.com\/category\/development\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2017\/12\/Featured-Image.jpeg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2017\/12\/Featured-Image.jpeg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2017\/12\/Featured-Image.jpeg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2017\/12\/Featured-Image.jpeg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":27981,"url":"https:\/\/superdevresources.com\/top-no-code-platforms-2021\/","url_meta":{"origin":7375,"position":4},"title":"Top 5 No Code Platforms 2021","author":"SDR Team","date":"August 23, 2021","format":false,"excerpt":"In this article, you will learn about the 5 best platforms in the world for creating projects without using code. They are optimized and very well thought out, made for users so that they can create their project even without knowing how to code. 1. Andromo Andromo is a platform\u2026","rel":"","context":"In &quot;Business &amp; Startups&quot;","block_context":{"text":"Business &amp; Startups","link":"https:\/\/superdevresources.com\/category\/business\/"},"img":{"alt_text":"no code platforms","src":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2021\/08\/no-code-platforms-2021.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2021\/08\/no-code-platforms-2021.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2021\/08\/no-code-platforms-2021.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2021\/08\/no-code-platforms-2021.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":16493,"url":"https:\/\/superdevresources.com\/agency-designers-developers-collaborate-effectively\/","url_meta":{"origin":7375,"position":5},"title":"How Your Agency&#8217;s Designers and Developers Can Collaborate More Effectively","author":"SDR Team","date":"August 27, 2019","format":false,"excerpt":"It isn't uncommon for designers and developers at agencies to clash when building a website \u2014 that is, if their collaboration process isn't streamlined. As the designers crystalize the look of the site's front end, they could overlook the functionalities that the developers are hard coding on the backend of\u2026","rel":"","context":"In &quot;Design&quot;","block_context":{"text":"Design","link":"https:\/\/superdevresources.com\/category\/design\/"},"img":{"alt_text":"team collaboration","src":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2019\/08\/team-collaboration.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2019\/08\/team-collaboration.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2019\/08\/team-collaboration.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/superdevresources.com\/wp-content\/uploads\/2019\/08\/team-collaboration.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/posts\/7375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/comments?post=7375"}],"version-history":[{"count":0,"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/posts\/7375\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/media\/7625"}],"wp:attachment":[{"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/media?parent=7375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/categories?post=7375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/superdevresources.com\/wp-json\/wp\/v2\/tags?post=7375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}