I've been doing a lot of business reading as of late. Mostly motivational/intro to entrepreneur stuff that is fluffy but still a fun read. The latest book introduced something called the 60% rule. The general gist is:
If you can get 60% of the functionality you need from an off the shelf solution at a low cost then you are better off doing that than doing a custom solution to get that 100%. Odds are that custom solution will add the other 40% over time.
This definitely flies in the face of a lot of what we do in the game development industry. There are now tonnes of middleware solutions for graphics, animation, physics, networking, etc. yet a huge percentage of people still roll their own custom solutions. There's always a logical reason around some missing functionality but it is true. I've done it myself countless times. Maybe it's ego or just a drive to learn new technological things. Either way it makes projects more expensive and longer.
I decided to try this new 60% idea when putting together the level editor for my current project. In this case I was leveraging a bunch of code from the game so it's not in the context of middleware systems but more in the context of functionality.
I made the conscious decision to keep the feature set to the bare minimum to acheive a useful tool and that's it. That means things like having ugly dev art all the way to not having a way to prompt for a filename (the tool currently has a hardcoded level filename that it loads).
Amazingly keeping things to this bare minimum I was able to get a functioning editor up in under an hour which was far shorter than I expected. It may be ugly and a little cumbersome but I'm already using it to save time on my level designing. As time goes on I'm going to identify pain points in my use of the tool and add small functionality as I go.
I'm not sure how well this approach will work to broader tasks but I am willing to give it a try. Cheaper and faster is the goal. So far the results are spot on.