During my computer science classes in college, professors typically presented program development as a process of transforming an algorithm into real code programmed in a programming language. The algorithms were almost always described in terms of a sequence of steps to be taken to solve the problem. At a higher level, my experience and training in algorithm design and division of labor suggested breaking each problem into a collection of discrete stages to be implemented in isolation. When all the stages are finished, they are combined to form the complete application.

However, this discretive process for the construction of applications leads to an assembly-line model of information processing in the way that data and partial results are forwarded from one processing stage to another. These processes take data (e.g., a transaction stream or extracted records from multiple data sets) as input and provide some product as output. That product can be a physical product (such as invoices to be sent to customers), a side effect (such as the settlement of a sequence of transactions) or an information product (such as a business intelligence report).

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access