Innocent Features Blowing Up Scope
A great reminder that feature requests need scrutiny, otherwise you end up with a lot of unnecessary complexity either from your human developers or from an AI agent going overboard:
Working on a tool that extracts certain information from a set of Microsoft Word documents, our client asked for a feature that would show where the relevant information came from: Show which document it's from, show some of the surrounding context, and show the page number.
On the surface, these three pieces (document, context, page number) sound like they all should have similar complexity, and so it's not unreasonable to ask for them. But one of these three is in fact much harder to implement. Can you guess which one?
It's the page number. A Word Document (docx format) does not store the dynamic page breaks; they're just re-computed on the fly once the document is viewed: Content from the file is displayed, and when the page fills up, that's where you get the page break. So to figure out which page a piece of text from the document is from, you have to recreate the rendering flow. Way harder than you'd think, and a good reminder that product and development teams need to communicate constantly: You want this feature, but how much do you want it? Is it worth it to implement it when doing so delays all other features by three weeks and adds a lot of bloat to the codebase?
A human developer will push back because they acutely feel that it violates proportionality. An AI doesn't come loaded with such a sense, so you'd have to be extra careful. Of course, the AI might implement the whole thing in less time, but in such a case of mismatched proportions, it'll likely not do a good job unless you provide ample steering and direction, which, again won't be in proportion to the actual value of the feature.
Long story short, make sure to sanity-check how much effort your innocent feature really takes.
