Sometimes I create a solution to a simple problem. However instead of making use of the solution, I keep extending it unnecessarily. This is why for this kind of project, I want to systematically restrain my future self from adding new features beyond the initial vision e.g. by actively refusing generic and re-usable code.
What is the search engine friendly term for this approach or at least for this situation? “Ad-hoc programming” may be literally what I’m talking about, but in practice it’s associated with unplanned happenings.
Many of an engineering bent, including programmers / coders / developers / whatever we’re called this week, have an innate desire to tinker with things and add “just one more feature”. This is known as “feature creep” as more and more metaphorical little bells and whistles are added. See also: “Bells and whistles” itself, “creeping featurism”, “feeping creatures” (ho-ho), and variants thereof.
Searching some of those actually finds other terms that other responders have mentioned.
Most of my stuff over the years has been hobby or job-adjacent rather than my actual job to produce the tools I did, so I think what really helped me to stop working on the very few things that were requested by other people was not being a user of the tool I created.
I still had to “use” things to test them, but once they were in real use, I didn’t have to see them all the time and think “I could just add this little thing here / there / etc.”
It was only at the request of the users that specific new features were added.
Getting someone else to design the interface is often helpful, assuming they’re not an absolute fool.
A few years later, a very similar tool I made, one that I was a user of, got a lot more tinkering and feature churn. Maintaining backwards compatibility reigned some of that in, but there were a couple of times where that wasn’t possible.
Thank you! That’s exactly what I need, but I probably have a unique case where I as the developer am the cause for the feature creep myself. For work, luckily our product is an ERP software, so in most cases I’m naturally uninterested for more features :D