That has become pretty controversial recently, but I think the difference is that in software development, building knowledge is the work. You write software and simultaneously build expertise in your team regarding what the software does that allows you to maintain it and move forward.