William Dickey’s Post

View profile for William Dickey, graphic

Proprietor, React/.NET Developer - TrendFriendAI.com

I've been seeing posts lately about Developer value, productivity and refactoring versus "fix the bug and move on with your life." I thought I'd give it a ramble, just for grins. One post illustrated at their shop each dev averages 1.48 releases to production every day. (I don't remember the exact number it was > 1 and a max of like 2.5 but it was an EXACT number, which is impressive). The post was actually about Push and Pray versus Staging. However, what caught my attention was the highlighting of a number of pushes on average versus what did those releases do to A) Increase Revenue, and by how much. B) Increase customer/user happiness and by how much. C) Increase Profits, and by how much. I've always held to the notion that Developer time is gold. Pure gold. Not only do we command relatively large salaries, but opportunity costs are astronomical in some cases. Developer time wasted is too big of a risk. Each task given to a developer should be measured in A, B or C above. If those metrics, revenue, profit and customer satisfaction can't match what one would pay to have the ticket completed, then you should enter tickets that DO. And focus on tasks that will exceed in value what you pay in development costs. Not only is that sustainable business but it is also better for Developer morale, happiness and productivity. We love to hear about how we helped the business, in those terms (A, B, C). Not so much we completed X amount of busy work last quarter. Another sort of theme I've seen by the magic of social media feed AI is the age old debate of refactoring versus patching. I wanted to write down some stuff about that versus A, B and C above. I think if your codebase has significant design flaws that are affecting those it should be evaluated as a ticket. Negative impacts can be accounted in the same way. Prohibiting growth can also be accounted against development costs. Most of the time if it's not broken, we don't fix it. And SHOULDN'T fix it, because revenue, profit and customer satisfaction are not impacted at all. But sometimes those issues DO affect those things significantly. My recent case is I have a code base I wrote completely myself, years ago, and it was fairly unfinished. It involved a manual 30–60-minute process of collecting data, sorting data, massaging data, pasting data, 3x each, etc. Not a huge deal, easily automated yet if you have to do that once or twice per quarter, you can't justify hiring a dev to automate it. Until you forget to do it. And the "business" loses money. It wasn't broken, I didn't fix it. Because fixing it meant refactoring the entire data model, switching the entire data source, introducing a 3rd party tool (which actually became 2 3rd party tools) and all the joy that comes with that sort of thing. Until the "business" lost enough money to where the 12-18 story points required to complete that work got backlogged and the "dev team" picked it up. Dev Time is gold. Use it wisely.

To view or add a comment, sign in

Explore topics