Chapter 5

Agile Architecture in Practice

Enterprises around the world are facing a momentous transformation, as they move away from traditional, inflexible approaches to leveraging IT resources to a more agile way that helps to improve business processes. But what is a business process, anyway? The traditional definition is a sequence of activities that leads to a business result or something similar. The implication from that definition is that business processes are repeatable and formally defined, as though we were programming a robot, only we may be programming people instead.

ZapThink believes that such a definition is too limited to be of much use today. Instead, we define a business process as anything a business does. Such a process might be automated, or fully manual, or some combination. It might be highly repeatable, different every time you do it, or somewhere in between. It may be formally defined and documented, or completely ad hoc.

We understand that this definition is broader than most, but we've defined business processes this way on purpose—because we're going to consider how technology can help us automate or otherwise streamline the full breadth of business processes, from the most mundane, repeatable sequences of activities, to the most fluid, dynamic endeavors. After all, Agile Architecture presupposes that business processes (defined broadly) will often be dynamic.

From the technology perspective, however, the more dynamic a process is, the more difficult ...

Get The Agile Architecture Revolution: How Cloud Computing, REST-Based SOA, and Mobile Computing Are Changing Enterprise IT now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.