It will often be about a balance of speed of development vs stability. And it will be impossible to create something bug free.
I focus more on backups and monitoring. So I might not prevent all bugs from happening, but in case they do - a) I find out very early (error monitoring + uptime monitoring) and/or b) I can roll back very quickly to a very recent version.
I'd rather deliver 6 imperfect features quickly and getting feedback from users early (feedback can mean tracking which features are being used most) and iterating early, than investing a lot of time into 3 technically great features, then finding out 2 of them people aren't really using.
I know it's scary, because it's sort of like going out onto the field without enough training. But focus on the added value you can deliver and listen to your customers, and it will be fine.
I focus more on backups and monitoring. So I might not prevent all bugs from happening, but in case they do - a) I find out very early (error monitoring + uptime monitoring) and/or b) I can roll back very quickly to a very recent version.
I'd rather deliver 6 imperfect features quickly and getting feedback from users early (feedback can mean tracking which features are being used most) and iterating early, than investing a lot of time into 3 technically great features, then finding out 2 of them people aren't really using.
I know it's scary, because it's sort of like going out onto the field without enough training. But focus on the added value you can deliver and listen to your customers, and it will be fine.