Identify the technical data structures and algorithms that deliver the value to customers, NOT focus on User Interfaces or secondary/non-essential features
Technical data structures and algorithms
One of the essential skills great Technical Product Managers possess is the ability to make Important Technical Decisions (we call them ITDs). ITDs end up defining the core of a product. They focus on the stuff that matters – the data structures, algorithms, and technology patterns that will make the product valuable and differentiated.
In this exercise, we will explain an ITD, and you will present an ITD you have made on one of your projects.
What is an ITD?
They are the most important decisions at the core of what a product does. They:
- Identify the technical data structures and algorithms that deliver the value to customers, NOT focus on User Interfaces or secondary/non-essential features
- Clearly map the problem being solved to the correct existing implementation pattern, NOT focus on requirements without making important implementation decisions.
- Make bold and decisive decisions, NOT present the pros/cons of many different approaches without taking a position.
- Explain the reasoning for their decisions so that peers may review and debate decisions, NOT provide decisions without any facts or reasoning
- Simplify complex problems into simple solutions, NOT try to cover all possible conditions/cases. They do this by
- Reducing scope to focus on the core
- Referencing and using large existing patterns where possible
- Explaining by analogy
Self-Grading your ITD
The ITD you choose to present should:
makes a key decision regarding a core data structure or algorithm that is at the heart of what the product does.
be technical in nature.
be clear about WHAT you chose and the logic for WHY you chose it
An Example of an ITD
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’s own application is built on this API as well as an entire ecosystem of third-party apps. That API doesn’t 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).
For this assessment you will explain one of the clearest ITDs you have made on a project.
- Create a new Google Doc with your full name and name of the assignment at the top.
- Type up your ITD as clearly as possible. It must be less than ½ page.
- Record a video explaining the ITD. It must be less than 2 minutes.
- Paste the link to the video in the bottom of your doc. Set sharing permissions. Turn in the link as your assignmen