It would have been nice had the article gone into a little detail about what a `non-replicable element' could be. I mean, for programming projects that you intend to market, it kind of goes without saying that there should be a differentiator that would give you a sustainable advantage. This article kind of left me hanging. Beyond that, I'd argue that although the _mechanics_ of software development has improved quite a bit, there is still plenty of room to mess things up if you aren't good at thinking about programming problems.