Yesterday, during a coffee break, I had an interesting conversation with a colleague consultant from "the other planet". Now, I am from planet Earth of course. I make sound and earthly design decisions when it comes to designing software systems for "the business" (who happen to live on Mount Olympus). Not knowing any better, I approach the business' demands with the methodologies I was taught and with the skills I have acquired over the years. The process "consultants of my kind" follow is roughly like this:
Okay, this is slightly exaggerated, but more or less true (I may have been watching too many episodes of Top Gear).
In my conversation with the extra-terrestrial colleague from the planet SAP, we embarked on all this. Every large enterprise either has an SAP-based system or an Oracle-based system for managing enterprisy things such as enterprise resources (ERP), customer relations (CRM) and the supply chain (SCM). That means that the consultants of my kind working for a large enterprise will eventually deal with an SAP consultant during the process I sketched above. An SAP consultant approaches a business' demands from a completely different direction:
You can imagine what happens when a consultant from my kind is to collaborate with an SAP consultant on a system. I tend to want to understand the internal workings of parts of SAP, and if these parts really are suitable for the business in the long term and if they should perhaps be replaced with parts from other vendors. But the SAP consultant does not understand why I would want all that. The SAP consultant would specify the system in terms of business applications, where I would specify it in terms of technology components that ideally comply with open standards. We are both right in part. It is the classic clash between open and closed. I love that! I have such an exciting job!
- Help the business understand their main problem and what they really need: translate their demands (which are often features like: a blue casing, a multi-touch UI or a "stealth mode" button) to actual needs. The result should be a set of bare necessities that current (legacy) systems are not fulfilling or can no longer fulfill (in case of systems near their end of life).
- Make a logical design of the system that fulfills these needs (resulting in a selection of pictures that show stick figures holding balloons and rectangular shapes with arrows).
- Make a physical design of the system. The result of this step should be at least one technical solution, but preferably a number of technical solutions for the problem we helped the business understand in step 1. Such a solution usually is a composition of legacy systems and new technologies. An exciting but also very time consuming part of this step is the selection of the new technologies, which can lead to miniature religious wars within the IT department.
- Realize the solution that you managed to convince the business of picking. The new system is built from the ground up over a period that roughly varies between 1 month and 4 years. Ideally, the business is involved in this process so we end up with a system that it indeed needs and can actually use.
Okay, this is slightly exaggerated, but more or less true (I may have been watching too many episodes of Top Gear).
In my conversation with the extra-terrestrial colleague from the planet SAP, we embarked on all this. Every large enterprise either has an SAP-based system or an Oracle-based system for managing enterprisy things such as enterprise resources (ERP), customer relations (CRM) and the supply chain (SCM). That means that the consultants of my kind working for a large enterprise will eventually deal with an SAP consultant during the process I sketched above. An SAP consultant approaches a business' demands from a completely different direction:
- Determine the industry (e.g. insurance, health care, banking, retail, utilities, ...) that the business requesting the service of the SAP consultant, belongs to.
- Make a single, authoritative, SAP-specific design that is entirely in shades of blue (it is even called "blueprint")
- Compose an industry tailored SAP package that exactly fulfills the business' bare necessities.
- Advice the business to buy this package and to make no (if possible) or only minimal customizations. Use it as it is.
- Implement the SAP packaged composed in step 3. This takes between 9 and 18 months on average, although there are cases known where it took just 45 days, but also 10 years. The result is a system that already does about 80% of what you need out of the box. One trick in achieving 100% is in making the business in question see that they are not a special case in their industry, and that their specific needs are not really necessary. In the end, these business will customize their SAP system to approach the 100% need coverage.
You can imagine what happens when a consultant from my kind is to collaborate with an SAP consultant on a system. I tend to want to understand the internal workings of parts of SAP, and if these parts really are suitable for the business in the long term and if they should perhaps be replaced with parts from other vendors. But the SAP consultant does not understand why I would want all that. The SAP consultant would specify the system in terms of business applications, where I would specify it in terms of technology components that ideally comply with open standards. We are both right in part. It is the classic clash between open and closed. I love that! I have such an exciting job!