Ways to ship software
review.firstround.com
review.firstround.com
You can work around everything else. Prioritize speed or stability, use different standards for different areas, even any number of project management methodologies. A group of talented folks with a goal can make anything work.
But when you’re out of ideas, that’s when shipping dies. Your engineering department devolves into a pile of factorings and refactorings and turd polishing projects and academic exercises and none of it drives the business forward. It’s just busywork because engineers are expensive.
And trust me, they’re gonna get tired of the busywork and they will leave. You’ll get tired of paying them for busywork too.
Could this mean that the product is "finished" and you can put it in support mode and slowly reduce the number of people working on it?
Users always have problems they run into or novel usecases they’d like to use you for.
on more serious note - I'm curious what you mean by run out of ideas. do you mean product literally not having any ideas? that seems hard to believe. Or do you mean ideas just don't gain traction? I've seen that happen a lot more.
A failure to grow doesn't necessarily mean business failure. Sometimes business owners just want a lifestyle business.
Two years later, the ship went down. If I were the founder, I would focus on one thing: ship something people want badly as fast as possible.
In our case, we have this situation with SW vs HW shipping culture. On the SW side, we focus on continuously developing features and have deliberately emphasized productivity over schedule-predictability, while on the HW side they naturally are focused more on schedule-predictability due to complex dependencies.
Now, this dichotomy has created an interesting discussions inside the company on the right way to ship products and projects, and to me, arguments mainly come from the fact that people come from the different shipping culture and have hard time to see the benefits and requirements of the other culture.
Where we’ve had success is identifying the difference between SW that supports the hardware vs independent SW products that compliment the HW, and choosing to ship those products with different processes. Basically if the SW can support a recurring revenue model it follows a continuous development process. But if the software is really just the “operating system” for the hardware then it ships very much the way the rest of HW ships.