Start with the Most Difficult Part
Any development project involves elements that we don't know at the beginning and discover as we progress. In this paper, the author discusses the advantages of starting with the most difficult part of a software development process.