Guide to Software Development - Langer, Arthur M. (Springer London, 2016)