While I was reading this (long) article, I've felt like all the different pieces of the puzzle in my head go in the right place.
This is the most complete and correct description of the software development best and worst practices I've ever read. Michael Dubakov covered every single aspect and analyzed each factor that can impact on the speed of a software project.
I've only to add a single small note about refactoring: I'm not sure that it is a non-value added activity. Generally speaking it may be so but often, after a refactoring I've found my code run faster and/or have a smaller memory footprint.
That said, it's definitely a great article. Take your time to read and re-read it.