The most common conflict between the product team and the development team is the misalignment of the goals. To solve this as a dev team lead or a software engineer within the team, all you need is one fundamental mindset to shape the product sense:
-
With it, you can have a more clear view of where you put your time on, maximize your contributions to your team and company. This will dramatically help you in your software engineer career.
Focus on the outcome means it has some significant values from the user's perspective. Does it save their time on certain tasks? Does it empower users to achieve what they can't without the software product? Does it have a better performance than before?
Focus on the output means just continuously delivering some features or doing some refactors in the codebase, without even knowing anything else.
-
Following are three questions to ask that will help you focus on the outcome:
As a software engineer, if your day job is only about deciding how to implement the given solution, it only uses half of your talent. What makes software engineers valuable is the ability to leverage technology to figure out the best solution to the problem.
Spend some time looking at the statistics of the delivered features. Get the feelings about how users are using the product, if no one using it, discuss the go-to-market issue with the product manager if users are trapped in certain steps then talk to the designer. Again, getting all these statistics and feelings will help you have a clear view of what is happening. Besides just being assigned ticket one by one, you can initiate some important discussions according to what you've noticed, this can definitely help you put more time into implementing things that create value.
When introducing a new feature or system design pattern, we first will consider the maintainability or if it's implemented in a "clean" enough way. When it comes to outcome, there are two more important things that should be considered:
-
If you have read all three questions above, you might notice actually all of those are used to help you have more context outside the codebase. As a software engineer with a product sense, you will definitely be more confident in making some critical decisions which will lead to more value within the team.