2.3. Attention to In-Efficiencies¶
An open question:
How many times in your life, have you gone back to your car (or your home door) just to reconfirm whether you locked it when you left?
In a similar sense, a few familiar questions may also be raised in your mind;
Did you save your file before you compiled your software?
Are you having the latest version of the code with you?
Are you working on the correct branch of your software configuration management system?
While testing, are you running the latest version of the code on your device?
There was a time when there were no remote car keys. Those days you would have to walk back (or maybe run) to your car. With remote car keys, as long as you are in range of your remote key, you can get your confidence that the car is locked or not, by a simple press of a button. See the comparison, walking a long-distance versus just standing where you are and confirming your doubt.
Now, let’s revisit questions similar to the above questions.
Did you save your file before you compiled the software?
If you are using an IDE to develop and compile, then you are in luck. Most IDEs these days ensure to remind you to save files before compilation.
But if you have to use a different IDE/editor to edit your code, and you use some other IDE (or command line utilities and scripts) to compile your code, you may not be sure whether you have saved your file or not. The IDE/editor that you are using for edit has no idea that you are compiling the code. I cannot give a hint to you to save your file.
- For such situations, check the settings of your IDE.
E.g. In VSCode, it’s possible to autosave your file when you move/switch to another window/file. If you enable this setting, you will never be in the doubt.
Or enable to run external script from the IDE you use to edit your code.
Summary
You must use the right IDE/editor for your work.
Are you having the latest code with you?
What will you do to confirm this? Will you open some files from the code base to check if it has the expected changes? You do not prefer to use something that is old, but you just want to check if you have the latest code. What if you don’t want to switch to the latest code yet? How do you know this is the latest code? Maybe you remember from a coffee table discussion or morning stand-up meeting about some recent changes. It would be a bad idea if you would try to search those changes in your code base and understand if you have something latest.
You just want to confirm whether you are with the latest code or not, but you do not want to switch to something new. Not yet.
For such cases. You can check this with Git→Check if work-area is latest and Subversion→Check if work-area is latest.
Summary
You must use the configuration management system effectively and to your advantage.
Are you working on the correct branch of your software configuration management system?
In Git, it is possible to Set Prompt to know which branch you are on.
In Subversion, it is also possible to Set Prompt to know which branch/revision you are on.
Are you running the latest version of the code on your device?
Can you put build timestamp in your development image and show that it is prominently shown in your test application?
Can your build system show the last build time stamp?
If yes, you just have to compare these dates to get the confidence that it’s the latest enough.
Small things do not get attention
If I ask you what you did yesterday, you will easily remember the activity that took many hours. And it would be fair for you to think about automating that. But can you take account of the item that you have repeated quite a lot last week? Or Month? It is really easy for you to notice something that takes you hours. But equally difficult to find something that just takes minutes, but could have been avoided. Something that can make your efforts more deterministic and predictive. Something that you can automate and help you to avoid Context Switch. You need to develop an eye for attention to detail such inefficiencies and slowly work on them. As we hinted, you will have to tune your Mindset to improve your productivity.