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