The Strategies of Software Development