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