3 ms·
Software is unpredictable because there is little demand for predictability. As it is a trade-off, predictability requires experience. Inexperienced application
by edejong 10y ago
Software is unpredictable because there is little demand for predictability. As it is a trade-off, predictability requires experience. Inexperienced application of methods to enhance predictability is expensive.
Speaking from experience:
- Isolate state in modules (micro-services)
- Focus on systems language first, external behaviour second, implementation details last.
- Design systems to fail and fail fast.
- Do not adhere to Postel's law. Be strict in what your systems accept. This forces the systems designer to create a language which is extensible.
And general advice for teams:
- Consistency is the most important factor in success. Choose rarely and choose wisely your: languages / eco-systems / OSes / cloud services / frameworks. Change based on requirements, not HN popularity.