Complexity in software development

Justin Etheredge writes:

This idea was introduced to us by Fred Brooks’ seminal paper “No Silver Bullet – Essence and Accident in Software Engineering”. Think of it like this, if you’re trying to solve a math problem, the essential complexity is the understanding of math required in order to actually calculate a solution. If you want to solve the problem, you’ll have to learn the math required (or find someone who knows it). You can’t escape the math if you want to solve the problem….While using a bleeding edge tool might give you performance in some areas, the newer it is, the more you’re going to feel the pain of supporting it. Also, the earlier you adopt a technology, the more pain you’ll experience as it grows and matures into a tool that is useful to a wide swath of users. Balancing the gain of leveraging a new technology with the pain that comes along with its use is something that technologists have been struggling with for a very long time.

This is an interesting illustration:

Is AI and ML in healthcare a solution looking for problem? Is it fundamentally altering the healthcare? Are we ready to accept the change and use case behaviours arising out of it? Complex “solutions” doesn’t mean that it would be predicable.We need simple solutions that have a verifiable result and not operate in the realm of “statistical uncertainty” but work with absoluteness.