Yeah, I knew someone was going to ask. Sadly, I can’t, for reasons of proprietaryness. But a general sense:
For each high-level action to be taken: is this a choicepoint (if so, what alternatives are there, and who chooses, and when is that choice made, and can it be changed later)? is this a potential endpoint, intentional or otherwise (if so, do we have to clean up, and how do we do that? what happens next?) is it optional (see choicepoint)? should we log the action? should we journal the action?
For each decision to be made: on what data structure does that decision depend? how does that data structure get populated, and by what process, and is that process reliable (and if not, how do we validate the data structure)? What happens if that data structure is changed later? Where does that decision get logged? Where does the data structure get exposed, and what processes care about it, and what do they need to do with it?
For each data structure to be instantiated and/or marshalled: what latency/throughput requirements are there? are they aggregate or individual, and do they need to be monitored? need they be guaranteed? how long do they need to persist for, and what happens then (e.g., archiving)? What’s the estimated size and volume?
Yeah, I knew someone was going to ask. Sadly, I can’t, for reasons of proprietaryness. But a general sense:
For each high-level action to be taken: is this a choicepoint (if so, what alternatives are there, and who chooses, and when is that choice made, and can it be changed later)? is this a potential endpoint, intentional or otherwise (if so, do we have to clean up, and how do we do that? what happens next?) is it optional (see choicepoint)? should we log the action? should we journal the action?
For each decision to be made: on what data structure does that decision depend? how does that data structure get populated, and by what process, and is that process reliable (and if not, how do we validate the data structure)? What happens if that data structure is changed later? Where does that decision get logged? Where does the data structure get exposed, and what processes care about it, and what do they need to do with it?
For each data structure to be instantiated and/or marshalled: what latency/throughput requirements are there? are they aggregate or individual, and do they need to be monitored? need they be guaranteed? how long do they need to persist for, and what happens then (e.g., archiving)? What’s the estimated size and volume?
Etc., etc., etc.