Indeed, it all about communication and what in a post catches the attention of people. In hindsight, I have also been guilty of "misspeaking",
baseline is much quicker to write than our “(current knowledge of) the present state” (substitute present with As Is if you wish). My apologies inciting an almost ideological discussion when I am after a practical discussion.
By the way the qualification “current knowledge” before "present state" is quite important as we don’t have the present state fully codified in our repository and some projects, if they are transformational in nature, have a component (please don’t think, in UML terms, UML) aimed at discovering the "present state". Architecture can be a bit like map mapping, surveying existing landscapes and not just building new landscapes.
Since my misspeaking seems to have sent the thread into an unintended direction, I am happy to settle with the "Current knowledge of the present state" (or with any abbreviation that anybody reading this may come up with).
In my opinion, there are really 3 sets of questions at hand here:
1) When does a target state becomes the present/As Is state? How long does it take to become the present/As Is state? How do you bring the target state into the "Current knowledge of the present state"?
2)There are plenty of complex of organisations and products out there running concurrent projects with significant architectural dependencies that will all result on a significant change to the present state, I am sure that I am not the only one in this forum that faces or has faced this situation. The specific set of questions, in addition to those above, are:
How to handle projects aimed at introducing
something that is going to be used/consumed by multiple other projects? How to handle projects aimed at replacing
something that is used/consumed by existing systems (including when the existing systems are not part of the "current knowledge of the present state"?
3) If a project does not become part of the present state, what do be do with it? [Note: Please keep in mind that the project may have built nothing that gets deployed but may have improve our current knowledge of the present state.]
I think everybody agrees that you can't have a "free for all", where anybody can change anything at any time. We also agree that we wish to have a single "model".
Agreed, although reading this thread I have doubted it sometimes. Some of the replies could be construed as a "free for all", no single "model" needed endorsement. This is because the lack of engagement about the practicalities about how do this with Sparx EA.
Of course, Sparx EA does not have magic bullets but there are many Sparxian technical devices that can be used to create a repository and those "doppelgangers" and reconcile them with their ancestors. Firstly, as the "baseline" misspeaking above clearly indicates the structure of the repository, in terms of
"folders", is likely not to be irrelevant.
Secondly, Sparx EA seems to offer 3 technical devices to create those "doppelgangers" and trace them back to their
"ancestors":
- Transforms, which we use to move from logical to physical, physical to logical and, partially, to move from conceptual to logical
- Dropping an elements as an Instance of an Object
- Just let everybody create their own elements an carry out a periodical reconciliation
Thirdly, some of the new elements are not "doppelgangers". They are actually new and need to be brought into the present state.
I don't think anybody has commented on repository structures, technical Sparxian devices to improve efficiency and traceability, or any of the 3 sets of questions above.
And, finally,
many thanks to Paolo for his assistance of trying to refocus the thread.