Hardware development is well, harder than its software counterpart, true. For one, it's about what that article said about the costs involved, although I don't fully agree on the suggested costs per iteration, as the testing can be mostly done by simulators and the physical implementation can be only a last step in a broader development chain. For other, unlike the software, on the hardware level you are actually into real engineering, forced to deal with the real-world quirks and imperfections. The hardware complexity can not just balloon as the software does. You can not add there "features" for the sake of it (so just to scratch your intellectual itch) without much of a consequence like you do in software, and this makes it boring and a less appealing target for development. When it happens however, you got that described problem about having to read hundreds of data-sheet pages and then deal with both all that hidden complexity and the real world. That being said, with some discipline, the hardware development can be done!