Hi Karl, solid inputs. Agree with all your points. Thanks.
Just adds on for clarification
We cannot totally avoid documentation. We still have them as needed. But not like other engineerings, it’s no longer documenting everything to the very detail. The ultimate detail will be the code.
As for bugs, indeed, weighing the cost and it’s impact is the deciding point. Some bugs might not be fixed. The decision should be a joined decision from product and tech impact as well. Hence developer consideration is important.
Systematic test will help as much. We can have 100% coverage for each classes. But once the variation of end to end testing is combined together, there will be gaps that is missed, especially in a large scale software. Testing is a hard topic.
Thanks for sharing about the book writen. 50 years of experience is definitely invaluable.