I founded a software company earlier this year. My co-founder is incredibly smart and one of her best qualities is that she is constantly radiating ideas on how we can improve this and optimize that about our product. The downside to this, is that this leads to significant delays on the development end because by the time we're halfway done implementing feature A, she's already come up with a way to make A 10x better and we end up scrapping most of the work invested, leading to much slower progress than I and our customers would like. It's important to note here that it's not just her thinking her idea will make it much better, she's objectively correct in the large majority of cases, so I don't want her to stop having and sharing ideas either. How do I best address this?
5 Answers
Use versioning.
As one of the famous saying goes:
"Done is better than perfect."
Once you have decided on an idea (which eventually should strongly relate to the value addition to consumer / customer), go ahead and implement is as version X.0. The improvements can be added in version X.1, and so on.
she's already come up with a way to make A 10x better
Is it actually 10× better for your customers? If not, you need to say "that's very cool, but let's look at that next year when we've solved customer problem A, B and C". It sounds like your co-founder doesn't understand that the point is to deliver value to customers, not to build shiny tech.
Ah yes, we've all working with someone who start full of energy and ideas and...
Squirrel!
Okay, jokes aside, the best way I've found to deal with people is to have a plan WITH DEADLINES - the Dates are crucial. With a date, when they come up with the next great new idea that requires a complete rewrite, you can point to the plan and say 'if we do this, we will miss this Deadline, which will impact XYZ' - and then you can say 'let's put this idea into the next set of Deadlines' or Sprint or similar.
As others have said, getting the first version working in the real world is a lot harder to do (and often involves the more boring elements of Dev work).
I STRONGLY recommend using an issue management system. Encourage entering ideas there, then discuss, assign priorities and time estimates and due dates (if any), and have folks take tasks from there. That gives you an official place to catch everything from bugs to brainstorming, and a mechanism for making clear that the first requirement is to create a viable product release.
There are several good systems available, free or paid product. Some of them integrate with file/code management systems, which is a huge plus.
(Heck, I really should get into the habit of using one for solo projects too... it's quite possible to interrupt yourself with new ideas, and the structured system is better than a TODO file.)
10x based on which metrics?
It’s very easy to get stuck optimising things that don’t actually matter.
As a company, you and your cofounder need to agree with each other what matters and what doesn’t.
It sounds like you don’t have outside investors, in which case your #1 and only priority should be acquiring and keeping paying customers.
All other metrics should be prioritised only to the extent that they help you acquire new customers and keep your existing ones.
If you 10x some metric that customers don’t really care about that much and the delays make them unhappy then it is a bad thing to spend your limited time on.
That instinct to optimise things is great. You just have to make sure it’s being channeled into optimising things that actually matter for your company.
-
This is a somewhat related message that you may find useful: joelonsoftware.com/2000/05/12/…– KazNov 17, 2022 at 16:49
-