After work, I met up with a friend for dinner before we went to catch the movie: Ant-man and The Wasp in the cinema. While we were eating, we caught up on some work stuff and how “fuck up” companies we worked at when it came to processes. The management people tell everyone else, probably including themselves, that they are doing agile development and throw in words like SCRUM, etc. to so call “inspire” the troop when it’s obvious they are doing what my friend termed “fake agile”. They hold stand up meetings to sync up what’s everyone is doing yet never put in practice Test-driven development, pair programming, Continuous Integration, etc. They use JIRA to assign task and ask us to update it properly but never really create user stories properly, never define the story points, and have poorly defined EPICS. Hell, the customer and the product owner aren’t even participating.
Put it this way. I’m a sucker for rules or processes when there’s one. I will follow it to the letter as much as I can and I hate it when people start to make it gray instead of black and white. It’s like polluting the purity of the rule. So when people have gone through the trouble of defining what’s Agile Methodology, I kind of expect people to follow it to the letter. And that’s how you can ensure consistency, predictability and quality. If people are changing stuff left and right without care, we will end up with a mess that will take more time to clean up.
And at the same time, I recognize that in business, flexibility is required. If not there’s no way the business can survive. But that doesn’t mean you can or should play fast and loose with the “processes”. Those things are there for a reason to solve problems discovered by other experts.
Of course, complaining doesn’t change the situation. Only action can. I’ve reached a stage of my career that I am letting it go and don’t harp on “why aren’t you doing it the right way?” for the sake of my sanity and mental health.
Talking about that, I also started to apply this “flexibility” in my work. I stop preaching about design patterns, how one should do certain things, etc. I leave it up to my colleagues how they want to implement something. I also don’t really care that much if the codes they write aren’t in the proper folder or package. On the other hand, I follow my own rules and way of doing things, ensuring that it is as consistent throughout as possible. And when I write codes, I can get rather verbose with all the layerings, double dispatch, etc. But I know that if I want to change something, I don’t need to hop from class file to class file and change in multiple places. That’s because I always strive to be as fine-grain as possible in my codes. DRY and SOLID are my best friends in this case.
Other than work, during my free time, I tried to either read the books I bought or continue to write my novel. And yes, I know I promise I will finish the draft by end of May and now it’s July. I’m not as productive as I would like and I’m constantly feeling drained or tired no matter how much I sleep. Then sometimes I will be distracted by my video games, or be annoyed at my parents for talking so loudly when I wanted a quiet house. I really admire the fact that I was able to write 40% of the novel during the long Chinese New Year weekend back in February. And now the process of putting the remaining 60% took me almost four months and still ongoing. I do feel disappointed with myself. I just have to try harder.
I will turn in early tonight and then wake up early tomorrow to see if I can cramp half an hour or an hour of writing. I’m feeling pretty exhausted now.