There is software and then there are systems. Software is relatively simple (I'm a software engineer by trade), and systems are crazy complex and becoming more complex by the day. Thinking that because you have the software figured out the system integration will follow easily (physical realities and limitations, regulation, maintenance, cost, legalities, ethics) is the modern arrogance of the Silicon Valley elite. And before you think I'm saying I know when it will all happen, I don't, I just know the predictions are almost always wildly off because we don't have enough systems thinkers. The last mile(s) are brutal.