Frameworks should be architected in the same way that software systems are. Both need to be able to evolve without adding complexity, be robust and be clear in how their different components interact. Few frameworks, other than FLEX, however, have what could be called an architecture. Most are collections of value and practices loosely overlaying some principles (which, often enough the framework itself doesn’t follow well).
Once we start thinking of the architecture of a framework, however, the question arises – “can we refactor frameworks to improve them?” I believe there is a parallel between refactoring a poor software design to improve it and refactoring a poorly architected framework and creating a better one. In this case, because FLEX has been architected to be a manifestation of Lean and Flow principles, I suggest that any refactoring of SAFe towards FLEX will be an improvement.
My next blog will take SAFe and point out a couple of dozen (I think) refactorings, each of which will improve SAFe and take us to a better framework. I suggest this new framework will look remarkably like FLEX. Why? Because FLEX was designed to maximize Flow and Lean thinking while assisting organizations to manifest business agility.