|
1 | | -faff init |
2 | | -faff config |
3 | 1 |
|
4 | | -We have a faff pipeline, which comprises: |
5 | | -- a source of work |
6 | | -- the private log |
7 | | -- a compiler to translate that log into a timesheet suitable for the target audience |
8 | | -- a identity with which that timesheet can be signed |
9 | | -- a faff recipient to receive the signed timesheet |
10 | | - |
11 | | -We have a bridged pipeline, which comprises: |
12 | | -- a source of work |
13 | | -- the private log |
14 | | -- a compiler to translate that log into a timesheet suitable for the target audience |
15 | | -- a bridge to the legacy system |
16 | | - |
17 | | -In perhaps both cases we might want to track the state of the timesheet. We would want to know when it had been successfully sent. |
18 | | - |
19 | | - |
20 | | -faff init |
21 | | -Initialise a faff repo in the current directory. |
22 | | - |
23 | | -faff config |
24 | | -Open faff configuration file in default editor. |
25 | | - |
26 | | -faff status |
27 | | -Show a quick status report of the faff repo and today's private log. |
28 | | - |
29 | | -faff start |
30 | | -Start recording time against an intent now. |
31 | | - |
32 | | -faff stop |
33 | | -Stop the current intent. |
34 | | - |
35 | | -faff log list |
36 | | -List all the private log entries, with a summary of the hours recorded that day. |
37 | | - |
38 | | -faff log show <date> |
39 | | -Print the specified private log to stdout. |
40 | | - |
41 | | -faff log edit <date> |
42 | | -Edit the specified private log in the default editor. |
43 | | - |
44 | | -faff log rm <date> |
45 | | -Delete the specified private log. |
46 | | - |
47 | | -faff log refresh <date> |
48 | | -Roundtrip the private log file to ensure file is properly formatted. |
49 | | - |
50 | | -faff id list |
51 | | -List the configured ids. |
52 | | - |
53 | | -faff id create <name> |
54 | | -Create a new id with the specified name. |
55 | | - |
56 | | -faff id rm <name> |
57 | | -Delete the specified id (public and private key). |
58 | | - |
59 | | -faff source list |
60 | | -List the configured work sources. |
61 | | - |
62 | | -faff source pull |
63 | | - |
64 | | -faff plan list <date> |
65 | | -List the plans effective on the specified date. |
66 | | - |
67 | | -faff plan show <date> |
68 | | -faff plan show --source <source> |
69 | | -faff plan show --id <id> |
70 | | -Show the plan on the specified date. |
71 | | - |
72 | | -Notes: |
73 | | - |
74 | | -I think the template idea has legs. |
75 | | - |
76 | | -A record has: |
77 | | -- an intent |
78 | | -- qualitative data |
79 | | - |
80 | | -An intent, fully expressed, has: |
81 | | -- a role |
82 | | -- an activity |
83 | | -- a goal |
84 | | -- a beneficiary |
85 | | - |
86 | | -In truth, a role can have _one or more_ roles, goals, or beneficiaries. But that feels like it's going too far - you should jus tpick the main one. |
87 | | - |
88 | | -A template might have a role, a goal, an activity, but an empty beneficiary - something like a "1:1" template would be the same RAG but switch in a different B. |
89 | | - |
90 | | -A template might have a role, a goal, and a beneficiary but an empty activity - something like "Adfinis Machine" template woudl always have the same RGB but you'd switch in a A. |
91 | | - |
92 | | -Mapping to a tracker is a different matter. It's _really_ the job of the compiler, but a next-to-impossible one without a hint. |
93 | | - |
94 | | -For templates, you'd want to be able to pick a template then sub in the variable, but the variable should also be pre-populated and if pre-existing should re-use an historic tracker association. |
95 | | - |
96 | | - |
97 | | -faff start |
98 | | -I am doing: 1:1s [TEMPLATE] (for: ben, emma, arthur, ... ) |
99 | | - Building the Adfinis Machine [TEMPLATE] (action: prep, something, something... ) |
100 | | - NSDR [TEMPLATE] (action: prep, run, minute) |
101 | | - Monday Sync |
102 | | - CS Role Review |
103 | | - |
104 | | - |
105 | | -faff start |
106 | | - |
107 | | -? What are you doing? |
108 | | - |
109 | | -1. Type an _activity_. |
110 | | - At the very least, you want to record that you are working on an activity. If you have used |
111 | | - an activity before, we should suggest matches here. |
112 | | - Examples of activities include: |
113 | | - - reading email |
114 | | - - writing a document |
115 | | - - reviewing a proposal |
116 | | - - strategic thinking |
117 | | - - a URL to a Jira task, or the name of task |
118 | | - - working on project X, or sub-project X.1 |
119 | | -2. Type an _intent_. |
120 | | - An intent is richer than an activity. It represents everything you _should_ be tracking when |
121 | | - you track time (role, activity, goal, beneficiary), and everything you need to map it to legacy |
122 | | - time-tracking systems. |
123 | | -3. Our goal is to record intents, but folks won't always have the time or energy to do this inline. |
124 | | - |
125 | | - |
126 | | -It seems obvious at this second that I would achieve all of this by: |
127 | | - |
128 | | -- answering the question "what are you doing?" |
129 | | -- hmm, the epiphany evaporated |
130 | | -- it was going to be something like "and if you're reusing an old intent with a new activity or beneficiary, then you can turn it into a template then", but you'd probably need to rename it, too |
131 | | -- maybe, if you've got a _nearly_ right intent, something like "preparing for NSDR", you could: |
132 | | - - choose it |
133 | | - - see the associated intent |
134 | | - - say "yes, no, or tweak" |
135 | | - - if you tweak, you can tweak either the activity or the beneficiary |
136 | | - - in doing so, you create a template |
137 | | -- then in future, if you choose a _template_ rather than a straight intent, you'll be: |
138 | | - - given the list of all the values you've previously put into the template as quick options |
139 | | - - press Esc to see all options or add a new one |
140 | | - - you shouldn't be able to add a new one directly from the shortlist, because you might roll a brand new beneficiary |
141 | | - when there's already a suitable entity |
142 | | - |
143 | | -Separate problem - I'm making entities like "element/juhol" but those are _not_ coming from Element - they're local. So should they be |
144 | | -local/element/juhol? |
145 | | - |
146 | | -? What are you doing? |
147 | | -> Create new: 1:1 with Juho |
148 | | -? What job role are you playing in this activity? |
149 | | -> Head of Customer Success (element/head-of-customer-success) |
150 | | -? What action are you doing? |
151 | | -> 1:1 (element/1:1) |
152 | | -? What's the main goal of this activity? |
153 | | -> Resolving Operational Issues (element/resolving-operational-issues) |
154 | | -? Who or what is this for or about? |
155 | | -> element/staff/juho |
156 | | -? Are there any trackers to associate? |
157 | | -> Admin (myhours/12345) |
158 | | -? Any more? |
159 | | - |
160 | | - |
161 | | -? What are you doing? |
162 | | -> 1:1 with Juho |
163 | | -? Are these details still correct: |
164 | | -- Role: Head of Customer Succes (element/head-of-customer-success) |
165 | | -- Objective: Resolving Operational Issues (element/resolving-operational-issues) |
166 | | -- Action: 1:1 (element/1:1) |
167 | | -- Subject: Juho (element/staff/juho) |
168 | | -- Trackers: Admin (myhours/12345) |
169 | | - |
170 | | -titlecase |
171 | | - |
172 | | -? What job role are you playing in this activity? |
173 | | -> Default: Head of Customer Success (element/head-of-customer-success) |
174 | | -? What action are you doing? |
175 | | -> Default: 1:1 (element/1:1) |
176 | | -? What's the main goal of this activity? |
177 | | -> Default: Resolving Operational Issues (element/resolving-operational-issues) |
178 | | -? Who or what is this for or about? |
179 | | -> element/staff/juho |
180 | | -? Are there any trackers to associate? |
181 | | -> Admin (myhours/12345) |
182 | | -? Any more? |
183 | | - |
184 | | -? Are these details still correct? |
185 | | - |
186 | | - |
187 | | - |
188 | | - |
189 | | -New question - how do we store trackers? |
190 | | -I'm trying to cut down on their complexity now - they're just an identifier and a name. |
191 | | - |
192 | | -So in the plan, they could be |
0 commit comments