# TEA-DT Workshop Cheatsheet
[toc]
## Primary Elements
The five primary elements of an assurance case are as follows:
1. Goal Claim
2. Property Claim
3. Strategy
4. Evidence
5. Context
### Goal Claim

A top-level _goal claim_ serves to direct the process of developing an assurance case towards some value or principle that is desirable or significant.
The type of goal chosen will determine and constrain the set of lower-level property claims and evidence that are _relevant_ and _necessary_ for the overall assurance case.
### Property Claim

Collectively, the set of property claims in an assurance case serve to establish the central argument for how the top-level goal claim has been established. The property claims achieve this by detailing *properties* of a project or the system that help justify why the top-level goal is likely to be true (e.g. how a component has been developed, who was involved in the decision-making).
### Strategy

A strategy element in an assurance case helps to make clear the reasoning or approach used to _decompose_ a high-level goal claim into more specific property claims.
From the perspective of the team building the assurance case, strategy elements provide scaffolding or a blueprint for how the team plan to demonstrate that a certain goal or claim is met by breaking it up into sub-arguments. From the perspective of an individual reviewing an assurance case, strategy elements help make the team's reasoning more transparent and accessible.
### Evidence

Evidence is what grounds an assurance case. Whereas goal claims orient and direct an argument, strategies help scaffold the logic of an argument, and property claims help specify and establish an argument, evidence is what provides the basis for trusting the validity of the case as a whole.
The types of evidence that need to be communicated will depend on the claims being put forward. For instance, if a claim is made about the attitudes of users towards some system, then findings from a workshop or survey that explored these attitudes may be needed. Alternatively, if the claim is about a model's performance exceeding some threshold, then evidence about the test will be needed (e.g. benchmarking scores and methodology).
### Context

Assurance is not established independently of a specified context.
For example, the safty of a plane is not assured outside of details such as a) who is flying the plane, b) who engineered the plane's components and how they were put together, and c) how well-regulated the aviation industry is.
Therefore, context elements allow the developers of an assurance case to provide important additional information to constrain the scope of relevant elements.
## 5 Tips for Developing a Good Assurance Case
1. *Don't write an essay.* The information provided in each of the individual elements should be clear and concise. The aim is to ensure the logic of your argument is clear. Additional details are likely to be found in the documents linked to in your evidence.
2. *Start at the top, and iterate.* Start at the top of the argument, with the goal claim and systematically break it down into strategies and claims. Then, once you have an initial draft, revisit the overall sructure to see if improvements can be made.
3. *Use strategies strategically.* Strategies are there to help you structure your argument by helping you identify and the communicate how you intend to meet your goal. However, they are not the central claims of your argument.
4. *Test your claims*. Each element should be written as a claim that can be verified or falsified. It will be natural for the authors of the claims to more readily identify the evidence that supports a claim. So, it can be helpful to specifically try to undermine the validity of a claim to minimise the risk of confirmation bias.
5. *Note your assumptions* Clearly state and acknowledge any assumptions made during the construction of the assurance case. This transparency helps in assessing the robustness of the argument.
- NB: we're currently adding this feature to the platform, so there won't be an option for doing this in the editor directly. You can use the comments functionality for the time being.