I worked my way through college as a waiter at one of those identic chain restaurants with kitschy bits of Americana haphazardly strewn upon the walls. As I was new to the food service industry, things did NOT go well at first. I would run to get the young couple at table five drink refills, then come back to the family at table seven asking for more mustard, then come back to the businessmen at table three asking for their check so they can make a meeting. I’d wear myself ragged running back and forth, making separate trips for each request, and ending up with unhappy customers. All the while, I would observe more experienced servers cruise through their shifts with much less effort while far outpacing me in customer satisfaction and tip money. What was I missing? I’m moving faster than these people. I’m taking fewer breaks. I’m beating myself up, so how are they beating me?
One night, a seasoned manager pulled me aside and gave me a bit of advice. “Instead of trying to cater to individual needs one-at-a-time”, she said, “treat all of your tables as one.” This made a lot of sense to me. Instead of fielding individual requests, I started doing everything at the same time. I’d pile food for three tables on my tray, grab a cloth to wipe down a dirty table, and pick up a condiment caddy on the way out of the kitchen. Things got even worse. I was overwhelming myself by trying to do too much at once, causing sloppy work, customers who did not feel attended to, and the occasional dropped tray of food. There must be a better way.
The answer to my servitorial shortcomings, oddly enough, came from the Classical Philosophy course I was taking that semester. Aristotle argued that virtue comes through a mean between two extremes. One who retreats from all confrontation is a coward. One who mindlessly charges into battle with no caution is reckless. The virtue of “bravery” comes from the mean between these two extreme examples; someone who approaches battle cautiously and does what needs to be done despite his or her own fears. This doctrine is better known as the “golden mean”. With this in mind, I developed a more level headed and balanced approach to my duties as a waiter. I looked at what needed to be done as a whole, logically grouped those tasks together, and executed in an iterative manner. Step 1: Clean all dirty tables, Step 2: Get all drink orders, Step 3: Deliver food to tables three and five, etc. With this new balanced strategy, I went on to become one of the highest earning waiters at the restaurant.
I have since graduated college and moved on from food service, but the lessons I learned there stick with me to this day. When I arrive at new client sites, I very often see the same types of mistakes that I encountered back at the restaurant. Many companies will attempt to “boil the ocean” when they begin a new architecture project. They will attempt to model every aspect of their operation all at once, and inevitably get tripped up in the sheer volume of work, causing the whole project to collapse like an overloaded tray of food. For instance, many organizations are currently focused on taking their business digital. A bank may decide that they want to develop an app where customers can take a picture of a check and it’s immediately deposited into their account. This requires changes to the operating model as well as the infrastructure that supports it, and also requires a specific skillset.
To deliver the quickest ROI, we want to ask the following questions:
Focusing architecture activities on information related to these specific questions will help keep the scope of your work on target.
On the other extreme, some companies will focus too intently on one single aspect of their architecture. This approach generally fails to produce enough value to the enterprise as a whole, causing the project to eventually sputter and die. We don’t want to just keep modeling for the sake of modeling. What do we need to move forward? Get that into the architecture, then move on.
My advice to organizations that are guilty of either extreme is always the same; “look to Aristotle and remember the golden mean.” If you look at your architecture from a high level, group it into logical chunks, and attack those chunks in turn, you will achieve a much higher level of success for your project over less “virtuous” extreme approaches.