{"id":431774,"date":"2018-06-16T20:20:49","date_gmt":"2018-06-16T20:20:49","guid":{"rendered":"https:\/\/essaypaper.org\/?p=26208"},"modified":"2018-10-24T09:10:24","modified_gmt":"2018-10-24T09:10:24","slug":"define-a-technical-decision-of-a-software-product","status":"publish","type":"post","link":"https:\/\/www.benedictsol.com\/blogs\/define-a-technical-decision-of-a-software-product\/","title":{"rendered":"Define A Technical Decision Of A Software Product"},"content":{"rendered":"<div class=\"question-title f-left\">\n<h2 id=\"question-title\" class=\"title\">Define A Technical Decision Of A Software Product<\/h2>\n<p>One of the essential skills great Technical Product Managers possess is the ability to make\u00a0Important Technical Decisions\u00a0(we call them ITDs). ITDs end up defining the core of a product. They focus on the stuff that matters &#8211; the data structures, algorithms, and technology patterns that will make the product valuable and differentiated.<\/p>\n<p>In this exercise, we will explain an ITD, and you will present an ITD you have made on one of your projects.<\/p>\n<p><strong>What is an ITD?<\/strong><\/p>\n<p>They are the most important decisions at the core of what a product does. They:<\/p>\n<ul>\n<li>Identify the technical data structures and algorithms that deliver the value to customers,\u00a0<strong>NOT<\/strong>\u00a0focus on User Interfaces or secondary\/non-essential features<\/li>\n<li>Clearly map the problem being solved to the correct existing implementation pattern,\u00a0<strong>NOT<\/strong>\u00a0focus on requirements without making important implementation decisions.<\/li>\n<li>Make bold and decisive decisions,\u00a0<strong>NOT<\/strong>\u00a0present the pros\/cons of many different approaches without taking a position.<\/li>\n<li>Explain the reasoning for their decisions so that peers may review and debate decisions,\u00a0<strong>NOT<\/strong>\u00a0provide decisions without any facts or reasoning<\/li>\n<li>Simplify complex problems into simple solutions,\u00a0<strong>NOT<\/strong>\u00a0try to cover all possible conditions\/cases. They do this by\n<ul>\n<li>Reducing scope to focus on the core<\/li>\n<li>Referencing and using large existing patterns where possible<\/li>\n<li>Explaining by analogy<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Self-Grading your ITD<\/strong><\/p>\n<p>The ITD you choose to present should:<\/p>\n<p><strong>I<\/strong> (Important)<\/p>\n<p>makes a key decision regarding a core data structure or algorithm that is at the heart of what the product does.<\/p>\n<p><strong>T<\/strong>\u00a0(Technical)<\/p>\n<p>be technical in nature.<\/p>\n<p><strong>D<\/strong>\u00a0(Decision)<\/p>\n<p>be clear about WHAT you chose and the logic for WHY you chose it<\/p>\n<p><strong>An Example of an ITD<\/strong><\/p>\n<p>I was asked to create a clone of the Slack messaging service. The most basic thing that Slack does is send messages and files, but after some investigation I realized that the Slack API is very powerful and important. Slack\u2019s own application is built on this API as well as an entire ecosystem of third-party apps. That API doesn\u2019t only send messages, it defines a set of Events and Actions that happen on a core data model. For this reason, I am choosing Rocket.chat (a third-party message delivery engine that contains a similar event model) instead of choosing an open XMPP implementation (such as Tigase).<\/p>\n<p><strong>Your Assignment<\/strong><\/p>\n<p>For this assessment you will explain one of the clearest ITDs you have made on a project.<\/p>\n<p><strong>Instructions<\/strong><\/p>\n<ol>\n<li>Create a new Google Doc with your full name and name of the assignment at the top.<\/li>\n<li>Type up your ITD as clearly as possible. It must be less than \u00bd page.<\/li>\n<li>Record a video explaining the ITD. It must be less than 2 minutes.<\/li>\n<li>Paste the link to the video in the bottom of your doc. Set sharing permissions. Turn in the link as your assignmen\u00a0t<\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Define A Technical Decision Of A Software Product One of the essential skills great Technical Product Managers possess is the ability to make\u00a0Important Technical Decisions\u00a0(we call them ITDs). ITDs end up defining the core of a product. They focus on <a href=\"https:\/\/www.benedictsol.com\/blogs\/define-a-technical-decision-of-a-software-product\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-431774","post","type-post","status-publish","format-standard","hentry","category-essay-paper-writing"],"_links":{"self":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/posts\/431774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/comments?post=431774"}],"version-history":[{"count":0,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/posts\/431774\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/media?parent=431774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/categories?post=431774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/tags?post=431774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}