How do I explain to non-programmers how complex, time-consuming, and error-prone software development is?

Blog