Process as Investment
For my first job after university, I worked for a company with a ISO9001 certification. This meant that every project had a complete, documented process for every aspect, from reporting, to finance, to bug tracking, to code formatting.
There was even a team whose sole job was to define the template standards and enforce them across all projects. Most people thought they were busy-bodies, meddling with things they didn’t understand. While the team was staffed by people who had started doing project work, most had not done any for years.
What I’m saying is that formal process was thoroughly embedded in the organisation. Most people merely tolerated it, with many actively disliking it.
After a few years, I figured out a hack. Even as a relatively junior team member, I could dictate how code was written and tested. All I had to do is start on the project early, and write the standards documentation.
You might think that they wouldn’t leave an inexperienced person like me to do that, but if there’s one thing worse than having to read a standards document, it’s writing it. I like to think that I did a pretty good job, but my objective was to end any debate on subjects such as tabs versus spaces, where to put braces, and source control conventions. It worked!
I realised that I liked process, but mostly when I was defining it. Following other people’s process can be painful.
I belatedly realised that I was doing the right thing for the wrong reasons. It’s not that it has to be my way. It’s not that all process is bad. I’m arguing against bad process1.
I like this definition of process:
Process is the investment we make in inefficiency now to prevent errors from costing us later.
Code indentation styles we don’t like, and code reviews, and weird ways of working with git slow us down. That’s why 10x developers don’t bother with those niceties.
But if you think of process as an investment, then those 10x developers no longer seem so productive. Sometimes process is there for the sake of having process. Those people in the Quality team at my first job were often inadvertently arguing in favour of that. But it’s a trade-off and it’s important to understand why it’s there.
Yeah, no one argues in favour of bad process. I totally destroyed that straw man. ↩︎