development needs tasks their people allows developed windows other where clients collection manual using services application staff products language design system provides information framework source process functionality developers access interface these approach server client software driver domain systems applications which automated integration standard product developing macroview based example business layer JoelLipman.Com