Admin Rationales - VTAstrobotics/Documentation GitHub Wiki
Why bother writing things down? That sounds like a lot of work, but I do it. Do you think that I like writing? I'm an engineer.
I didn't write anything down for years. What changed? I came to believe that the annoying task of writing things down was worth it. Here are some big reasons why I try to write as much as I can:
- To not forget something
- Many times I have solved some problem, only to find it returns a few weeks later. It pains me as I don't remember what the heck I did that fixed it before.
- To save time
- On occasion, I have been the only person on the team who knows something. For example, how to turn on, connect to, and drive the robot. I could explain it to everyone who needs to know when they ask, but that would take forever. So I write once and they can read as much as they want without bothering me. It also saves them the time of waiting for me to get back to them, and for some, the embarrassment of asking for help.
- To let others learn from my mistakes
- To keep my message clear
- Have you ever played a game of telephone? That's mirrored by the oral tradition that's so common among all organizations.
- To have a lasting impact on the team
- If you want anything you do to have a lasting impact on the team, you'd better document it.
- I joined the team in Fall 2021. Due to the pandemic, we had nothing from previous teams besides the documents they had left behind in our Google Drive and junk in our bay. It took us 3 years to make it back to the competition with a functioning robot. Three years of making the same mistakes they did. Three years of trying to figure out how to use the components they left behind. Two years of failing to meet the basic competition requirements. If someone who graduated in 2011 or 2012 returned, I think they would have been very disappointed that their efforts had gone to waste. After all those years, we were still struggling with the same problems they'd solved. What a waste.
Why bother writing down decisions and justifications?
I didn't share my rationales in the past. I did a lot of researching, studying, and thinking to solve administrative problems. At some point, I arrived at the best solution that I could and was ready to move forward.
In the past, I would take all of my evidence, use my best judgment, and make a decision. Then, I would share this decision and expect others to agree and enthusiastically support my brilliant solution. What do you think happened?
Now, I share the evidence with others so we can make the decision together. If I am right and have found the best solution based on the information available, then everyone else will eventually converge on my great idea anyway. I can't remember this happening.
Almost every single time, someone thinks of something that I didn't. So we converge on a different better idea.
I write rationales because I believe this to be the most important thing that I can do to help the team be better this year, next year, in 5 years, in 10 years, and in 100 years.
I have the memory of a goldfish. Perhaps you can relate? Ever solved a problem, only to have it occur a few weeks, months, or years later, but forget how you solved it? I have, and it's really annoying when it takes a while to solve it again. So, I try to write. Then, I can forget, but if it happens again, I can find the solution easily.
In more advanced cases though, such as designing a robot, there may be a time when a solution spawns a new problem. If that problem is difficult enough, you may want to scrap the solution. Can you? If you don't know or remember what that solution was for, there's no way to know what you can and cannot do.
For example, let's say one year the team decides to stop using Arduinos and begin using Raspberry Pis. The following year, the team thinks that Arduinos are better, but they don't know why they previously chose differently. Who should they trust? Themselves or the team from the past? Perhaps the team from the past tried the Pis and found something. The team from the past could have been more dedicated than the team is currently. Or the team from the past could have just chosen because some guy used an Arduino kit before.
Solving administrative or managerial problems is similar. Should the team interview potential recruits? How many meetings should the team have? Should we write down our rationales? The point is the same: if you don't know, you don't know whether to trust yourself or someone from the past.
If you think telling others is enough, I joined the team in Fall 2021, the first time the team was allowed back into our lab space after the pandemic. Trust me when I say that absolutely nothing that was not written down survived. I couldn't find much more on this subject than a couple of old team charters.
It would be a shame for the product of your hard work to be cast aside because someone in 2 years has no idea why you did it that way.
I know the team will cast aside my solutions—and they should, if they don't they will stagnate. I just hope they know that they have found a better solution and build on my work, rather than regress. So I write my rationales.