{"id":27622,"date":"2017-05-25T21:17:46","date_gmt":"2017-05-25T19:17:46","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27622"},"modified":"2017-05-25T21:17:46","modified_gmt":"2017-05-25T19:17:46","slug":"eight-rules-for-effective-software-production","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/25\/eight-rules-for-effective-software-production\/","title":{"rendered":"Eight Rules for Effective Software Production"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Timofey Nevolin wrote an excellent article &#8220;<a href=\"https:\/\/www.toptal.com\/it\/eight-rules-for-software-production\">Eight Rules for Effective Software Production<\/a>&#8221; over at <a href=\"https:\/\/www.toptal.com\/\">Toptal.com<\/a>. \u00a0The whole thing is well worth a read, but here are the 8 rules to get you started:<\/p>\n<ol>\n<li>Understand the IT Mentality<\/li>\n<li>Do Not Mix Software Production and Development Methodologies<\/li>\n<li>Use Persistent Storage as an Extension to Human Memory<\/li>\n<li>Stop Wasting Time on Formal Time Estimation<\/li>\n<li>Understand the Cost of Switching Tasks and Juggling Priorities<\/li>\n<li>Use Architecture Reviews as a Way to Improve System Design<\/li>\n<li>Value Team Players<\/li>\n<li>Focus on Teamwork Organization<\/li>\n<\/ol>\n<p>All of these are good and true, but if I had to pick one, I&#8217;d say that rule 4 is my personal favorite. \u00a0Sometimes I feel like I&#8217;ve spent a good quarter of my life in meetings, discussions, and other estimation sessions. \u00a0And looking back at all of them, I have to honestly say that they all of them were a waste of time. \u00a0The only useful part of an estimation session is a high-level project plan, but that can be achieved with a project planning session &#8211; much narrower goal, much more measurable, and much easier to achieve.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Timofey Nevolin wrote an excellent article &#8220;Eight Rules for Effective Software Production&#8221; over at Toptal.com. \u00a0The whole thing is well worth a read, but here are the 8 rules to get you started: Understand the IT Mentality Do Not Mix Software Production and Development Methodologies Use Persistent Storage as an Extension to Human Memory Stop &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/25\/eight-rules-for-effective-software-production\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Eight Rules for Effective Software Production<\/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":"Eight Rules for Effective Software Production #work #programming #ProjectManagement #management","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":[580,3178,1673,17],"keyring_services":[],"class_list":["post-27622","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-management","tag-project-management","tag-software-engineering","tag-work"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":47591,"url":"https:\/\/mamchenkov.net\/wordpress\/2020\/03\/12\/tips-for-implementing-a-software-release-process\/","url_meta":{"origin":27622,"position":0},"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":10070,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/04\/23\/daily-del-icio-us-bookmarks\/","url_meta":{"origin":27622,"position":1},"title":"Daily del.icio.us bookmarks","author":"Leonid Mamchenkov","date":"April 23, 2006","format":false,"excerpt":"Shared bookmarks for del.icio.us user tvset on 2006-04-22 Interesting Google Calendars Tagged as: calendar calendars cool culture events google history holidays internet lists social software time tools gethuman database -- Per-company instructions on how to get through to a live person, bypassing infinite answering machines, and questions. Tagged as: automation\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":29239,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/21\/how-to-slow-down-to-go-faster-than-ever-in-software-development\/","url_meta":{"origin":27622,"position":2},"title":"How to Slow Down to Go Faster Than Ever in Software Development","author":"Leonid Mamchenkov","date":"January 21, 2019","format":false,"excerpt":"While reading through \"How to Slow Down to Go Faster Than Ever in Software Development\" I couldn'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's\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":27331,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/","url_meta":{"origin":27622,"position":3},"title":"Software Engineering at Google","author":"Leonid Mamchenkov","date":"February 11, 2017","format":false,"excerpt":"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document\u00a0entitled \"Software Engineering at Google\", where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking,\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":24103,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/05\/13\/on-software-liability-laws\/","url_meta":{"origin":27622,"position":4},"title":"On software liability laws","author":"Leonid Mamchenkov","date":"May 13, 2015","format":false,"excerpt":"I came across this interesting opinion on\u00a0software liability. \u00a0Just to keep them here for the context, the suggested software liability rules include the following: Consult criminal code to see if any intentionally caused damage is already covered. If you deliver software with complete and buildable source code and a license\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":22396,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/08\/18\/pulp-software-repository-management\/","url_meta":{"origin":27622,"position":5},"title":"Pulp &#8211; software repository management","author":"Leonid Mamchenkov","date":"August 18, 2014","format":"link","excerpt":"Pulp - software repository management. Pulp is a platform for managing repositories of content, such as software packages, and pushing that content out to large numbers of consumers. If you want to locally mirror all or part of a repository, host your own content in a new repository, manage content\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":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27622","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=27622"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27622\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27622"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}