{"id":29239,"date":"2019-01-21T12:51:00","date_gmt":"2019-01-21T10:51:00","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=29239"},"modified":"2019-01-21T12:51:08","modified_gmt":"2019-01-21T10:51:08","slug":"how-to-slow-down-to-go-faster-than-ever-in-software-development","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/21\/how-to-slow-down-to-go-faster-than-ever-in-software-development\/","title":{"rendered":"How to Slow Down to Go Faster Than Ever in Software Development"},"content":{"rendered":"<!-- google_ad_section_start -->\n\n<p class=\"wp-block-paragraph\">While reading through &#8220;<a href=\"https:\/\/www.infoq.com\/articles\/slow-down-go-faster\">How to Slow Down to Go Faster Than Ever in Software Development<\/a>&#8221; I couldn&#8217;t help but nod my head in agreement continuously.  The article goes over the well-known and familiar challenges in software development, but it also words them in a very simple and straight-forward way.  It&#8217;s difficult to disagree with.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are a few quotes to get you started.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>As\u00a0<a href=\"https:\/\/cleancoders.com\/episode\/clean-code-episode-9\/\">Robert C. Martin mentions on the primary value of software at CleanCoders<\/a>, \u201cThe ability of a software system to tolerate and facilitate such ongoing change is the primary value of software&#8221;. Rushing is evil in software development. Any attempt to rush causes dramatic damage in productivity, focus, people\u2019s effectiveness, adaptation capability, and tolerance of software.<br>For instance, we always have time for fixing bugs, but no time for writing tests. We don\u2019t refactor and write tests because we don\u2019t have enough time. But we have time for debugging, hacking code and fixing bugs.<br>We focus on processes so much that we often forget the main asset in software development: people. Processes help people to improve the way they build products, increase motivation and cultivate a healthy environment. In the end, the efficiency of processes is important, but people are crucial.<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Processes and tools do not build products, but people do. We have to admit, &#8220;talent hiring&#8221; is the most important functionality of an organization. It has direct impact on the future of the company and the product itself.<br>Hire the best talent for your organization. By saying \u201cthe best\u201d, I do not mean the smartest, or most experienced people around. I look for passion, discipline and motivation at a minimum. If all three exists in a talent, the other skills can grow with ease. Hiring is a win-win process, so both sides should gain from the process. So you should slow down your hiring process and invest on improving it. People join companies in which they believe. So model the behavior you want to see. And through your company culture, your vision and people, make talent believe in you.<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>One thing is clear. Without having a quality codebase, you cannot be agile, sorry. The first thing you need to do is eliminate technical debt and resolve bugs. If you need to stop building the features for a while, and focus on eliminating bugs.<br>&#8220;Fixing bugs and deploying to servers afterwards&#8221; is not a proper procedure today. It contains risks and danger. We need a better and more disciplined way of doing it. When you want to fix a bug, first write a test and reproduce the problem programmatically. Then fix the bug and see that the tests are passing. Deploying to production is safe afterwards.<\/p><\/blockquote>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>While reading through &#8220;How to Slow Down to Go Faster Than Ever in Software Development&#8221; I couldn&#8217;t help but nod my head in agreement continuously. The article goes over the well-known and familiar challenges in software development, but it also words them in a very simple and straight-forward way. It&#8217;s difficult to disagree with. Here &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/21\/how-to-slow-down-to-go-faster-than-ever-in-software-development\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How to Slow Down to Go Faster Than Ever in Software Development<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"How to Slow Down to Go Faster Than Ever in Software Development #WebDev #management #productivity","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3069,3178,1673,1330],"keyring_services":[],"class_list":["post-29239","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-best-practices","tag-project-management","tag-software-engineering","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28369,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/10\/the-most-dangerous-word-in-software-development\/","url_meta":{"origin":29239,"position":0},"title":"The most dangerous word in software development","author":"Leonid Mamchenkov","date":"February 10, 2018","format":false,"excerpt":"I think this article -\u00a0The Most Dangerous Word In Software Development - hits the nail on the head. \u201cJust\u201d implies that all of the thinking behind a feature or system has been done. Even worse, it implies that all of the decisions that will have to be made in the\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29025,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/25\/sr-ht-sir-hat-open-source-software-suite-for-managing-your-software-development-projects\/","url_meta":{"origin":29239,"position":1},"title":"sr.ht (&#8220;sir hat&#8221;) &#8211; open source software suite for managing your software development projects","author":"Leonid Mamchenkov","date":"November 25, 2018","format":false,"excerpt":"sr.ht - pronounced \"sir hat\" - is a new competitor in the world of GitHub, BitBucket, and GitLab.\u00a0 Much like all of these, you can either self-hosted it or use a managed service.\u00a0 It might not yet be as fancy, polished, and cool (I think they need a better name\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/sr.ht_-500x408.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":47591,"url":"https:\/\/mamchenkov.net\/wordpress\/2020\/03\/12\/tips-for-implementing-a-software-release-process\/","url_meta":{"origin":29239,"position":2},"title":"Tips for Implementing a Software Release Process","author":"Leonid Mamchenkov","date":"March 12, 2020","format":false,"excerpt":"I came across this nice article outlining some of the tips for implementing the software release process. Software Development process is not complete and mature without a well-defined release process for the software applications. Every software application needs to be delivered or deployed at some point in time and for\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11210,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/05\/29\/toolbox-wordpress-cakephp-sugarcrm-rt\/","url_meta":{"origin":29239,"position":3},"title":"Toolbox : WordPress, CakePHP, SugarCRM, RT","author":"Leonid Mamchenkov","date":"May 29, 2008","format":false,"excerpt":"Over the last couple of years I've been working a lot with these four applications - WordPress, CakePHP, SugarCRM, and RT.\u00a0 Each of these is beautiful in its own way.\u00a0 Each of these tools is an Open Source Software. Each of these tools has a large community. Each of these\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18905,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/12\/03\/optimizely-ab-testing-software-made-easy\/","url_meta":{"origin":29239,"position":4},"title":"Optimizely &#8211; A\/B testing software made easy","author":"Leonid Mamchenkov","date":"December 3, 2013","format":"link","excerpt":"Optimizely - A\/B testing software made easy Interestingly, CEO's direct phone number is one of the options on the pricing page.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28124,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/10\/20\/periodic-table-of-software-engineering\/","url_meta":{"origin":29239,"position":5},"title":"Periodic Table of Software Engineering","author":"Leonid Mamchenkov","date":"October 20, 2017","format":false,"excerpt":"I came across this Periodic Table of Software Engineering, and I think it's an excellent visualization.\u00a0 For those working their way to become software engineers, it provides a nice map of skills, topics, and knowledge areas to cover.\u00a0 For the rest, it clearly explains why software is so much more\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/10\/periodic-table-of-software-engineering-500x350.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/29239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=29239"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/29239\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=29239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=29239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=29239"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=29239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}