Thursday, July 13, 2017

Create change... then get rid of it!

Someone said to me, just a few months ago - "There are two ways to deal with something you don't like. One is to try to change it and another is to accept it". The advice came from someone I had come to respect, yet the notion of accepting something that I don't like made me uncomfortable.

After thinking about it, and naturally falling back to the ethos of agile software development, I argue that the advice is sane and is closely related to managing change.

Here is what I think:
1. Responding to change sometimes requires creating the change
2. Any change requires prioritization
3. Some changes need to be shortlived
4. Some changes are not worth it
5. Some changes leave a mark behind
Creating the change

It is unnatural to me to accept something that I don't like straight away. So I try my best to make a change and make things better. If I don't even try, would I be doing my duty towards making the situation better? To me, this is about thinking about the change that should be made and how will I know that I have succeeded. This is the first step.
Prioritization

What if we treat all changes with an identical sense of importance and urgency? When everything becomes urgent and important, we become perfectionists and lose sight of what is valuable. The perfectionist approach usually results in too much work in progress that reduces focus and we get nothing done.
Shortlived changes

I used to think that changes are meant to persist. Now, that is hardly true! Too many changes are just transient. Their purpose, for example, maybe to trigger further changes or to be quick fixes so we can tackle an immediate problem at the moment.
Changes Not worth it (or Worth being patient about)

There are many changes that are just not worth trying. Maybe there are alternatives, or maybe it is just better to wait for the situation to just evolve. Jumping the gun doesn't solve a thing, in these cases. This is about accepting how things are at this moment, and not about giving up.
Changes that leave a mark behind

There are changes that we should really care about. Involve people who will be our partners, chart a course that will lead us to our desired state. Doesn't matter whether the change is small or big, although I am biased towards small changes as of now (it is 2017 and I am still about short Do/Build, Test and Learn cycles). Eventually, the change should not feel like a change... it should blend so much with the environment that it should feel like you've gotten rid of it!

Would love to hear your thoughts, what do you think?

14 Essential Software Engineering Concepts for Engineers and Managers

There are many terms and concepts that are important for an engineer to be familiar with, in order to effectively build software. This post ...