Hi Ryan,
Complexity is a complex topic :). Jokes apart, when we discuss complexity of systems it is often with a specific context.
In my personal experience, the focal points of the organizations that demand the system in question will define what aspects of complexity matter to them most. Normally the important metrics for identifying complexity are tightly linked to strategic goals and decisions made on company's higher levels.
Without further ado, I see the following "complexities" in a system being assessed:
- Complexity due to a use of too many different technologies that are not usually seen together as a framework.
- Complexity due to the use of very complex frameworks
- Complexity in the hardware required to make the solution viable
- Complexity inherent from regulations that are market specific (normally compliance with regulations)
- Complexity due to scope coverage being too broad
- Complexity due to the diversity of business stakeholders using the solution (same system serves many different departments/units)
- Complexity due to the use of old technology (normally tied to scarcity of resources that can maintain / evolve that solution)
- Complexity due to early adoption of immature or sub-optimal technology.
- Complexity due to deployment strategy / CI/CD pipelines.
- Complexity in relation to configuration requirements
- Complexity in relation to how changes are implemented (configuration versus customization)
- Complexity around operation of the solution / lack of automation
- Complexity related to availability (geo redundancy / high availability / Fail Over capabilities)
- Complexity in the capability to integrate with other systems (the microservices / digital transformation bandwagon)
and the list can go on and on.
I would suggest you identify what are the core values of your target audience and focus on what would be required to fulfill their long term view before initiating any sort of complexity analysis. No system is "complex by its own" they are NORMALLY just as complex as they need to be on the context they were conceived. Take complexity assessment one level up, and assess complexity against company's core values and you will get good analysis material and good decision support material.
Best Regards,
Raphael.
------------------------------
Raphael do Amaral Raymundo
Ericsson Inc.
------------------------------
Original Message:
Sent: Oct 28, 2019 20:31
From: Ryan Jeffery
Subject: Opinions wanted - Benchmarking system complexity
Hi TM Forum Community,
I'd love to get your opinion on something... how do we benchmark system complexity? To measure how complex our management stack is and therefore provide a signpost for simplification.
A colleague has opined that the number of apps in a stack could be used a proxy. I can see where he's going with that, but I feel that it doesn't account for architectural differences such as monolith versus microservices.
FWIW, I've included a bunch of additional thoughts in the following blog, but I'd love to first get your uninfluenced opinion on complexity benchmarking.
http://passionateaboutoss.com/opinions-wanted-how-to-benchmark-oss-bss-complexity
#CustomerExperience
#TMForumGeneral
------------------------------
Ryan Jeffery
PassionateAboutOSS.com
------------------------------