In part 1, I set out to name what lies between "fully manual" and "fully autonomous" on the axis of human involvement, and started with a single artifact. Each of the three artifacts in the chain from intent to design (requirements, spec, and design) has one of six levels of human authorship: machine-free (5), machine-polished (4), machine-assisted (3), machine-coauthored (2), machine-authored (1), or machine-only (0).
In this second part, I will combine these three levels into one overall level of human involvement and finally put a name to my own SDD method.
As before, the requirement-level key words follow RFC 2119 and RFC 8174.
Levels of human involvement (method levels)
Written in chain order, the three artifact levels form what I call the profile of a method. The profile 4-3-1, for example, stands for machine-polished requirements, a machine-assisted spec, and a machine-authored design. Profiles can be compared step by step: one profile is at least as human as another if each of its three levels is at least as high. This is also known as the product order. Not every pair of profiles is comparable this way (5-0-0 and 0-5-5 are not), but any set of profiles has a stepwise minimum and maximum, so a method can also state a range of profiles.
A method's profile states what it prescribes for its artifacts. An artifact's level records what actually happened. Where the two differ, the project has left the method at that step.
A profile is exact, but it is not a single point on an axis. For that, the three levels need to be combined into one. I suggest using the arithmetic mean and calling the result the profile index. It treats the levels as equally spaced and gives all three steps the same weight. That is a simplification, but it serves our purposes.
The profile index is then mapped to five overall levels of human involvement.
Fully manual
The profile index MUST be equal to 5.
This is equivalent to saying the profile equals 5-5-5.
Semi-manual
The profile index MUST be below 5 and MUST be at least 3.
Balanced
The profile index MUST be below 3 and MUST be at least 2.
Semi-autonomous
The profile index MUST be below 2 and MUST be above 0.
Fully autonomous
The profile index MUST be equal to 0.
This is equivalent to saying the profile equals 0-0-0.
Remarks and examples
Both endpoints are the ones from my SDD definition, and they are strict: "fully" means every step. The levels between them are anchored in uniform profiles. "Semi-autonomous" is borrowed from my definition, where it described a human in the loop at every step, and a machine-authored artifact with human review at every step (1-1-1) is its typical case. "Semi-manual" starts at the mirror image of that case: exclusive human authorship with a machine assisting at every step (3-3-3). In between, "balanced" starts at shared authorship at every step (2-2-2) and also covers profiles whose steps lean in opposite directions (5-3-0), so that the two sides even out across the chain.
Some examples:
| Profile | Index | Overall level |
|---|---|---|
| 5-5-5 | 5 | Fully manual |
| 5-5-4 | 4.67 | Semi-manual |
| 3-3-3 | 3 | Semi-manual |
| 4-3-1 | 2.67 | Balanced |
| 5-3-0 | 2.67 | Balanced |
| 2-2-2 | 2 | Balanced |
| 1-1-1 | 1 | Semi-autonomous |
| 0-0-1 | 0.33 | Semi-autonomous |
| 0-0-0 | 0 | Fully autonomous |
A method SHOULD state its profile next to the level name, as in "balanced (4-3-1)", since the level gives the position on the axis and the profile shows how human involvement is distributed across the chain.
Since the profile index rises with every artifact level, every profile in a range has an index between those of its endpoints. If both endpoints share an overall level, the whole range does, and the range names that level once, as in "semi-autonomous (1-1-0 to 2-2-1)". Otherwise, each endpoint names its own level, as in "balanced (3-2-1) to semi-manual (4-3-2)".
Where my method stands
This brings me back to where I started. For the SDD method I am currently thinking about, the abstraction level was easy to name: high, at the "system" end of the axis. Now its level of human involvement has a name as well: balanced (3-2-2). Humans would author the requirements with a machine assisting, and coauthor the spec and the design with it. The method might actually cover a whole range down to semi-autonomous (2-2-0) with coauthored requirements and spec and a machine-only design.
If I make it past the thinking stage, I will let you know here.
Top comments (0)