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