Where does your team's knowledge go?

I like this notion that there is a way to make conversation useful for information gathering. Lets be clear, though there is a difference between saving a conversation and collecting information.

The way Slack works is it saves everything. This is how it was marketed early on "if you have a new team member, they have access to all you old conversations and documents" great idea- not as effective as we hope it would be. No one is going to spend the time to go back over 5 months of Slack conversations to find the information on a specific topic: for example "product requirements." This would require them to read a 5 month long chat to find the dozen or so conversations about "product requirements" (including all the conversations about movies, Thanksgiving lunch, and time off) while they could utilize the search function this would not remove all extra work and would skip over all conversations that didn't use the exact words "product," "requirement," and "requirements." Both of these place a lot of work on the new team member-it is not easy to consume this kind of information.

Ideally a new team member would be able to read through a one- pager or a nifty wiki to find all the necessary information about "product requirements." Collecting information, parsing information, and refining information is required to provide this but is quite costly. To get documentation like this takes hours of someone's time though reading, asking, having conversations, checking and double checking that they understood what everyone else said and meant. This is very costly. It can be done by a single person gathering and processing this information or it can be done by the group who documents and collects their own conversations. Be sure you enter context switching into your cost calculations.

In both of these extremes, to get decent information for the new team member requires work- either on the part of the new team member or on the part of the documentation writer. Someone is always paying for convenient information. This is true if the information is communally gathered as well. It might be a better option to hold ALL conversations via JIRA ticket or the appropriate wiki page but organizing that takes work- work to identify the ticket, open JIRA and input information there- if this is your process, hopefully your team members go to THAT ticket looking for your notes (instead of the one next to it) or see your update. It could be worth while to copy every important conversation from Slack into the appropriate wiki page. This does not go without its cost to gather the information: especially the opportunity cost someone is paying to identify the important information instead of bringing value to the product.

If we are following the Agile principal of "Simplicity - the art of maximizing the amount of work not done- is essential" then we only want to put in as much work as is beneficial for the most number of people (or for the people with the least amount of time). It is possible to hire someone to parse through your slack conversations and organize every conversation into a wiki page- but it is likely that 90% of those pages would never be referred to again. Huge waste of time and cost.

I will only mention the cost of finding this information when it is needed, where to find it, how to get to the right piece at the right time.

All this to make the point that clear and organized information is expensive. While the cost is being paid somewhere, it might be possible to get a basic framework together to encourage your teams to organize their own information. This is a culture, value, and habit conversation not specifically a technology conversation (with space given to a piece of technology that trains team members to do this).

Tasker use cases

Android app: tasker

Tasker is an automation software for Android. After introducing a few friends to the software and explaining how I use it, I figured I'd make this information available here to reference to.

Tasker uses a trigger or combination of triggers (tasker calls these profiles) to activate an action (tasker calls these tasks). This means that WHEN something happens (profile is activated) THEN something else happens (task is executed). I have also included a reason or use cases (FOR) if I felt the use was not obvious.

Current simple tasks

  1. WHEN: connected to my car Bluetooth THEN: set audio levels to full

  2. WHEN: my wife texts “where are you” THEN: auto respond with phone's GPS location

  3. WHEN: recieve a sms or signal + WHEN: connected to car Bluetooth THEN: read message out loud*

  4. WHEN: recieve a sms or signal + WHEN: connected to Bluetooth headset THEN: read message out loud*

  5. WHEN: headset is plugged in THEN: adjust audio levels to desired loudness

  6. WHEN: airpods are connected THEN: adjust audio levels to desired loudness

  7. WHEN: the time reaches 'the hour' (on the hour) THEN: vibrate phone FOR: hourly notification*

  8. WHEN: button is pushed (on home screen) and time length is selected (in minutes) THEN: keep screen active FOR: reading recepies while cooking, etc

  9. WHEN: phone connects to car's Bluetooth + WHEN: phone's battery is below 60% THEN: tell me to plug in my phone

  10. WHEN: I receive an SMS containing keywords like “liked” “loved” “laughed at” THEN: dismiss the sms notification FOR: not receiving a ton of notifications when people with iPhone “like” a message (this comes through on Android in a very annoying way: 'Julie liked “I'm on my way”’ or 'Jack liked an image”)*

Systems of tasks.

These are systems containing multiple tasks to serve a single purpose. Mostly to show what can be done with the right set of tasks.

  1. I have a system of tasks that tracks what audio app I am using at any given time so the task that reads messages out loud can pause and then play that app before and after reading the message out loud.

  2. I have a system of tasks that will close out specific apps after 5 minutes of use if it is between 10pm and 10am (this helps “tired Cale” not death scroll and waste sleep time or get too distracted in the morning).

  3. I have a system of apps that force the Android 12 big clock on lock screen into the small clock on lock screen (basically keeps a notification perminently open)

Plans

These are either tasks that I plan to create, plan to enhance, or had set up on my old phone before it crashed (I didn't have this backed up).

  1. When I receive a sms while in my car, have tasker ask a) if I want to hear the message (with voice response: “yes” “no” “save for later”) and b) if I want to respond. Then take voice response to compose sms message. I had this 80% of the way set up before I switched phones.

  2. Add ability to activate “read sms outloud” if not connected to Bluetooth (if driving a different car, or listening to music via phone speakers). This would be triggered by a pull down toggle, ideally.

  3. Add vibration pattern to the hourly chime so I know what time it is while the phone is in my pocket

  4. I need to test and refine #10 so I don't miss regular messages with those words in it. At one point I had a task that would respond with an annoying message, but deactivated this because it is not the person using iMessage that is aggressive, it is the way iMessage intentionally does not work with other systems that is annoying.

  5. I have tested and worked on (but not successfully implemented) a time tracking system that a) tracks what contexts I am in (home, away, driving, work) and what apps I am using (am I watching Netflix or listening to music) and b) asks me for what I had accomplished in the past 30 minutes

  6. I had (but got deleted when I switched phones) a button that messaged my wife and set a destination for home in Google maps. I intended to implement a system that would send an ETA based on where I was.

  7. I have always thought it would be cool to have my phone auto send a message to my wife when my phone was about to die (but I let my phone die so frequently this would get annoying for her)

  8. Create a unique vibration pattern for a calls and messages from different people.

  9. Include a shortcut to my home lighting controls from the power menu (thanks for changing this, Android 12. It was so convenient and now it is not)

Logisitics

I have been playing around with Tasker for about 2 years now, and am only getting into its capabilities. It does cost money, but cheap enough for the joy and convenience it provides.

For those who are interested, Tasker is able to play well with a lot of.other automation apps including the Kustom (KLWP, KWGT) apps and Zappier.

Autotools

There are additional plugins you can purchase from the same developer called AutoTools that are available on a monthly subscription (very cheap). AutoTools offers more than I know what to do with but a very convenient plugin to read notifications is my main draw to it.

The plugins are a separate app because the original developer of Tasker retired the project to the current developer who, at the time had created a set of plugins on his own. The current developer is extremely present on Reddit and creates updates for Tasker quite frequently, bringing around new features with each update.

Taskernet

While Tasker was not created with the ability to easily share and import profiles/tasks (and for a while the community was very proud of the “do it yourself or don't do it at all” mentality), the current developer has created a repository of profiles/tasks available to import. Be cautious with this as so many of these are heavily dependant on your own variables (ie: Bluetooth device names, sms numbers, etc) that they don't all work out of the box and it is worth while to figure out how they work.

App creation

It is good to know that individual apps can be exported and created using certian tasker profiles. I haven't done much research into this, but have heard about it quite a bit.

Remind me to include links in this note to the app and adjacent content.