4 ms·
> I would define it having in mind the following dimensions: functionality, reliability, usability and security (I will pick reliability for the sake of exampl
by throwaw12 3y ago
> I would define it having in mind the following dimensions: functionality, reliability, usability and security
(I will pick reliability for the sake of example)
Let's start from perfect state where every one of those dimensions have 100% quality --> Impractical (or even impossible for some dimensions)
Ok, now let's do it 6 9s (99.9999), AWS S3 (which is a simple CRUD API for storage, kidding) has this kind of reliability, with 100s of engineers --> Practical, very high cost
What are we left with 99.9? 99.0? to achieve this level of reliability you need a solid team (>2 people, because of bus factor) who constantly monitors the situation and makes necessary improvements to the product, which means either you need additional hands or you sacrifice product development
Now we are at 95-99 range. Doable with 1 person, but again needs some trade-offs to have a balance between new feature development, maintain the old system and bug fixes.
Now let's discuss current market, imagine you just built a new product and people started copying your offering, with more features. What do you sacrifice? If my company's existence depends on feature parity because customers demand it from every similar offering, I would sacrifice reliability.
It's not 0/1 decision, good enough is really good enough in some cases, but it is difficult to sustain good enough when you are competing with other players in the market