Complex or complicated - Make complexity your friend
We live in a world of slogans which are just empty. Frequently prominent voices are used for such slogans. E.g., Steve Jobs is often used with his quotes about "creating user interfaces as easy as possible". Many of these quotes are of context and doesn't tell a lot.
Do you think about these examples, everybody agrees, that using a system should be as easy as possible. But in the same way, everybody agrees, that controlling a nuclear power plant with an iPod is not a good idea. The solution has to be in sync with the problem. Sometimes a complex problem has a complex solution.
The slogan sometimes heard in the Business Analysis community "Complexity is the enemy" is not comprehensible to me as our example, that it should be possible to control a nuclear power plant with an iPad. We describe Business Processes taking different views. Sometimes the Flow of Activities, the collaboration of different participants in the Business Process, conformity with legal requirements, automation of parts of the process or complete Business Process are frequent questions. We describe the different views on different abstraction level.
For me, the meaning of complex is different to the word complicated. Complexity is a precondition for the development of organizations, the stability of solutions. The human organism is complex by reason more complex (and more complicated) as the organism of an amoeba.
We speak a lot about Agility, Agile Development, Business Agility, Agile Innovation, ... These are buzzword everybody connects an own meaning. A connecting element is the request to be able to react fast to changing requirements and change in the business context. But not only fast, but with less effort as in the past, conform to legal requirements.
Complexity can be a blocking point. A more complex solution can be difficult to maintain, it is more difficult to recognize improvements and to realize them. But this means that we should avoid complicated solutions if possible and do them only when necessary, and that also complex solutions must be maintainable, adaptable and ready for improvement.
In model-driven engineering, I experience frequently the request, that a certain "thing" (system, collaboration, business process, business decision) must be described "on one page". Such models are simple and not complicated. But often such models are not easy to maintain. Possibly they miss important aspects. We speak about "Separation of Concerns" for a long time to make also complex models easy to maintain and complete. E.g., we argue that Business Rules and Business Decisions should not be mixed with Business Processes. How are these artifacts connected is an essential question we have to answer in our Business Architecture. How does the Business Strategy influence the design our Business Processes? Which Business Rules are relevant for which Business Activity? Which Systems are needed for which Business Processes?
So I change my statement to "Embrace complexity - make it your friend!".