Skip to content

Commit 9580b8b

Browse files
authoredJun 11, 2024··
Merge pull request #36 from ONSdigital/spp_10694_method_template
Spp 10694 method template
2 parents a40b5c0 + 24a48c9 commit 9580b8b

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed
 

‎Method_Spec_Template.md

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# \<Method Name> Specification
2+
3+
## 1.0 Meta
4+
5+
* Support area – \<Who it helps, and what it helps to achieve>
6+
* Method theme – \<What does the method do>
7+
* Status – \<Is the Method fully released or still a WIP>
8+
9+
## 2.0 Terminology
10+
11+
\< This Section must contain:
12+
A List of the different data encountered in this method,
13+
with an explanation of what it is
14+
>
15+
16+
## 3.0 Introduction
17+
18+
\< This section must contain:
19+
20+
An Introduction to the method, describing the purpose
21+
of the method and an example of the sort of data it
22+
could be used on, the primary business use-case of the
23+
method, any other potential use-cases as well as any
24+
limitations of the method >
25+
26+
## 4.0 Assumptions
27+
28+
\<This section must contain:
29+
Any requirements of the data that would be required
30+
for the method to work, e.g an integer value may be
31+
assumed to be a positive integer >
32+
33+
## 5.0 Method Input and Output
34+
35+
### 5.1 Input Records
36+
37+
\<This Section must contain:
38+
39+
A List of the input data required to run the method,
40+
including any types that are specified with examples
41+
where needed, e.g a type of any may want an example
42+
of what may be used within
43+
the field
44+
45+
Additionally include a list of any optional values
46+
or "variable" values, (e.g if one of two columns
47+
must be populated, identify which columns these are).
48+
49+
Finally, add in anything else note-worthy about the
50+
inputs (e.g if an input is a "switch" value, where the
51+
input should be 0, 1, or 2 for instance).
52+
>
53+
54+
### 5.2 Output Records
55+
56+
\<This Section must contain:
57+
58+
Similar to the previous section, A list of output data
59+
created by the method, including any types and where
60+
relevant, any examples.
61+
62+
Again, anything note-worthy about specific outputs should
63+
be mentioned, (e.g if an output provides a character output
64+
that specifies what the method did, if it successfully
65+
completed or not, or if it completed, if it amended data)
66+
>
67+
68+
## 6.0 Overall Method
69+
70+
\<This method must contain:
71+
72+
An overall description of what the method does from start
73+
to finish, how it interacts with the data presented to it,
74+
and an explanation of what different outputs it may produce,
75+
depending on what is triggered within the method,
76+
77+
Additionally, you may want to go into further detail of the
78+
rationale of the method, e.g on an editing method you may
79+
want to explain why you would be making automatic corrections
80+
to data, and what are the boundaries for doing this sort of
81+
correction
82+
>
83+
84+
### 6.x any other specifics
85+
86+
\<This section and following subsections would contain:
87+
88+
Any specifics of the method that warrants its own section,
89+
e.g what a method does in zero cases if there is any
90+
specific behaviour, or when a method applies error correction
91+
if it does so, or how the method handles exceptions when
92+
they occur.
93+
>
94+
95+
## 7.0 Calculations
96+
97+
\<This section must contain:
98+
subsections containing any calculations that the method
99+
does, these calculations should be written in both mathjax
100+
and asciimath, see the below from totals_and_components as
101+
an example >
102+
103+
### 7.1 EXAMPLE - Error Detection Calculations
104+
105+
For all error detection approaches as described in section 6, the
106+
method initially identifies contributors where the following is
107+
not satisfied for *n* components at time *t*:
108+
109+
$$ \large y_{1, t} + \dots + y_{n, t} = y_{total, t} $$
110+
111+
```asciimath
112+
y_{1, t} + ... + y_{n, t} = y_{total, t}
113+
```
114+
115+
If the above is satisfied, then no error is detected, and the method stops.
116+
Else, the error detection process will proceed depending on the chosen approach.

0 commit comments

Comments
 (0)
Please sign in to comment.