Manual Frame Construction

From software: requirements gathering.

Understanding the situation and determining:

  • What are the specifications and requirements?
  • What is my role? What is their goal? What are the rules here?
  • This is a static computation – figuring out the config file to apply

Stalls

There is a potential for stalls here:

  • If the situation is novel I have to decide what is going on
  • If the situation is complex or ambiguous I may have to weigh different approaches

Satisficing

Of course the biggest stall is analysis paralysis. How do you know when you are done? There is always more data to gather or opinions to consider.

I use three heuristics to break the stall:

  • familiar situation, proceed with script
    • greetings
    • answering factual questions or stored opinions
    • going to lunch
  • resource allocation strategy
    • if the effort is much greater than the estimated value of the output or the cost of a mistake
    • then proceed with known incomplete data
    • e.g. deciding where to go for lunch or what movie to watch
    • this is probably my default – many things aren’t worth the full effort
    • see also Functional Logic Modeling – there is a feedback loop where I can adjust
  • perfect data is rarely available
    • do not stall the process – if action is needed work with the data we have
    • understand that the data is incomplete
      • use risk management strategies if needed
      • make a conscious decision to proceed
    • best effort given available data

For the latter two heuristics I can rely on a feedback loop in the functional logic modeling (plan) to adjust for new information that comes in.

Next Step: Functional Logic Modeling

Once I decide what I want and what are the facts in play I proceed to Functional Logic Modeling – time for a plan!