I am a software engineer and I care deeply about my software quality, while I assume my product manager only cares about the final product. I can’t imagine my product manager would care how I get my work done, only that it is done. How can a product manager ensure the work I do as an engineer is quality work?
A few thoughts:
For this it seems like something obvious to just ask that all my code is tested. But while I may test my code it doesn’t account for the quality of the code. I may write terrible code and test it, and we’d only pay the penalty in the future when we add new features.
Small Scope – Catch Time Delays Early
One other idea is to have small chunks of work with estimated times, and if the estimate is too much then it may be a sign of code quality and we can plan to address that early. However, as an engineer I usually already know if my code is good or I’m rushing through it. While this seems to make sense it’s also seems like a difficult idea to sell to the business team.
Hire Better Engineers
This is the only idea I know of. Start with good engineers and make them leads. I’m putting this idea here as a baseline. But not everyone is the best. In my experience any requests from a lead seems like time taken out of the final product, then it’s convincing the product that we need more time to have the same the exact same output except with more reliable code base.
Unless the business team fully understands and budgets the need for quality code, it seems like every project will bloat until it’s too late. What else can be done to have code quality be part of the business?