Brent Simmons writes beautifully about a frustration that most indie software developers can relate to: the payoff proposition. He highlights the all-too-common scenario where a user offers a cash bounty, $50 for instance, to add a particular feature:
“The developers I know would rather rip up $50 bills, long sequences of them, than do something that, in their best judgment, is against the best interests of the software and its users.”
This reminds me of a listener question from a soon-to-be-released episode of Core Intuition, the podcast I do with Manton Reece. The question asks, roughly, “how can managers who don’t code relate better to their programmer employees?”
Non-coder managers and customers have a lot in common: they have a great vision for the future of a product, with little understanding of the work it will take to get there.
This is no slight on customers, or managers. Puhleez, I need customers, and if everything goes right with my business, I’ll be a manager before too long.
The naivete of customers is not a problem in itself, in fact it can be inspiring and motivating. “Yes, that does sound impossible to me, but you’re right, it would be freaking awesome if I can make it happen!”
Freaking awesome is a far better motivator than a stack of bills. You have to give the developer some credit for knowing how to evolve a product. After all, you must like what they’ve done so far, or you wouldn’t be trying to hijack their development schedule.
It boils down to something Brent nails in his write-up:
“If it’s the right feature and the right time to do it, the developer will do it. If it’s not, then it won’t get done.”
This is harsh but honest. Developers are always making judgment calls, for better and for worse. Yes, these judgment calls sometimes consider monetary compensation. We have to make a living, so great applications are built by choosing features that satisfy the intersection of “freaking awesome” and “financially viable”.
If your payoff proposition is freaking awesome, then you won’t need to pay a developer to consider it. They’ll be overjoyed just to hear the suggestion. Otherwise, it will take a lot more than $50 to pull them away from what they know is best for the product. In the end, this is good for you. Not only do you get to keep your $50, but you get to enjoy a carefully-designed application, as well.