For a while, there was a fad for software engineers to rebel against “Process”.
They hated the fact that there were rules and procedures for things and wanted the freedom to make code. They wanted to run free among the linkers and cuddle up to garbage collectors, i presume.
Yeah, i wasn’t one of those types.
You see, i also cook. i understand that a good meal generally doesn’t happen by wandering into the kitchen and seeing what happens. It involves thinking about what meals you’re going to eat up to a week ago when you’re making a grocery list. It involves setting up a clean workspace, making sure tools are ready, and performing the steps. Mind you, while there’s some “drudgery”, it’s not much, and hey, there’s meat, fire & knives, so that’s a bonus.
But yeah, one of the keys of good, actually fun, cooking is that “organization will set you free”. Having ingredients ready to go when you need them is amazing. Pinch dishes are cheap as hell and make your life so, so much better. (You can get dozens at the local Goodwill or Dollar Store for just a few bucks.)
So, yeah, it makes sense that you have some level of process for coding. You want to understand what you’re building, have the tools and tests set up, and then have check lists so you don’t forget something. Because if you don’t you ABSOLUTELY will forget something. Plus, having a checklist is one less thing to spend precious memory dealing with. Heck, pilots have lots of them, and frankly, they help them stay focused on, you know, flying.
Of course, no process is ever really finalized and all process is subject to review and updating. You should never have to fight a process, it should be smooth and nearly second nature. If a process doesn’t work, it should be changed.
Sorry, just spent some time creating some additional process in order to capture data that we were ignoring because we forgot to capture it.
Granted, getting folks to follow process is harder.