New ask Hacker News story: Ask HN: How should the cost of maintaining new software features be forecast?
Ask HN: How should the cost of maintaining new software features be forecast?
6 by cwkoss | 2 comments on Hacker News.
I PM for a software engineering team. Estimating the cost of implementing a new feature is a fairly squishy process, but our team has gotten reasonably good about it. i.e. How many engineer weeks will it take to go from specification to released to customers? However, I think it's an even-harder problem to try to estimate what the ongoing maintenance costs of supporting that new feature will be. - There will inevitably be some amount of bugs and/or UX issues that need to be resolved soonish after release. - Adding a new feature increases the cost of making future changes to the overall system (ex. changing a db object that is queried by 4 different endpoints will be harder than one that is only queried by 3 endpoints, also dependency management with microservices) - Having more code doing more things means that engineer spin-up and switching costs increase. We currently just budget a proportion of each quarter to address technical debt and unexpected bug reports, but are finding this proportion is getting increasingly taxed by the growing feature set, and it can be a bit hard to justify to the suits. Our a priori expectations of what the 'system complexity' costs of different features still feels quite coarse. There are some features that we maybe would have not prioritized as highly if we had been able to anticipate the downstream challenges that resulted from it. Does anyone have good techniques that you use for comparatively forecasting how much the ongoing maintenance costs of a potential new feature will be? Our process currently feels too squishy and subjective, and I suspect someone here has found a better way. Or is this just an inherent challenge of software development planning that doesn't have an easy solution?
6 by cwkoss | 2 comments on Hacker News.
I PM for a software engineering team. Estimating the cost of implementing a new feature is a fairly squishy process, but our team has gotten reasonably good about it. i.e. How many engineer weeks will it take to go from specification to released to customers? However, I think it's an even-harder problem to try to estimate what the ongoing maintenance costs of supporting that new feature will be. - There will inevitably be some amount of bugs and/or UX issues that need to be resolved soonish after release. - Adding a new feature increases the cost of making future changes to the overall system (ex. changing a db object that is queried by 4 different endpoints will be harder than one that is only queried by 3 endpoints, also dependency management with microservices) - Having more code doing more things means that engineer spin-up and switching costs increase. We currently just budget a proportion of each quarter to address technical debt and unexpected bug reports, but are finding this proportion is getting increasingly taxed by the growing feature set, and it can be a bit hard to justify to the suits. Our a priori expectations of what the 'system complexity' costs of different features still feels quite coarse. There are some features that we maybe would have not prioritized as highly if we had been able to anticipate the downstream challenges that resulted from it. Does anyone have good techniques that you use for comparatively forecasting how much the ongoing maintenance costs of a potential new feature will be? Our process currently feels too squishy and subjective, and I suspect someone here has found a better way. Or is this just an inherent challenge of software development planning that doesn't have an easy solution?
Comments
Post a Comment