It was in a meeting room inside a large automotive giant’s IT organization, somewhere in Japan. I was working on a data migration software development team as an IT manager and a technical lead for the first time. I was about to present the software performance characteristics report for the first time and was already nervous under the quiet air conditioner in the land of the rising sun. The IT manager from the customer responsible for the project, a few of my team members (all English speaking), a very experienced Japanese-English interpreter, and myself were present in the room.
The meeting just began and after going through the agenda briefly, I presented the status of the project, the upcoming milestones, and a plan to support the software development and testing for the remaining phases. I shared the performance characteristics report. There was an eerie silence in the room for more than a minute when it was time for the IT manager to provide acceptance for the solution presented. Everyone was staring at the screen where the performance number was displayed. Finally, the silence broke when the IT manager asked a few questions about the volume, the type of data, and some details of the use cases. All the interactions were routed through the interpreter and it wasn’t a comfortable experience for me. I was getting acknowledgments and responses to my questions after a huge latency due to the language interpretation happening in between.
After a pause, I faintly heard something said in English from the direction of the IT manager. I was certain that he said ‘no good’ but I decided to give it a pass hoping that it wasn’t meant for me. I turned my head towards the interpreter. She said, “Kannan-san, the performance results are no good”. I wasn’t happy or even prepared to hear this. A ‘Go’ at this stage of the project was very important for my team to get an important milestone signed-off. The team was preparing to focus on implementing a few other functionalities and enhancements from that point onwards. Since this was a custom software there was no benchmark baseline for the performance. My further questions on what would be considered as ‘good’ were not responded convincingly.
After that meeting, I called my manager to inform him about the outcome. We agreed to find ways to optimize the algorithm and improve performance. I decided to compromise my sleep that night to improve the data fetching logic. By around 4 am in the morning I figured out that there was a major flaw in the algorithm written to fetch the data from the server. I was convinced that making a change to the logic would result in a better performance. With some tweaks and few further iterations of testing, the data fetch had shown a significant performance improvement instantly. The testing proved that the performance improved from 1 hour to about 30 minutes for the same data sample.
It was a Eureka moment. I immediately sent a mail to my team sharing this discovery. Later in the morning, I secured access to the customer IT office and performed a few more testing with some live data. The results were promising and it was certainly a quick success.
There was another meeting and in which I provided an update regarding the improved performance and shared the performance reports. I anxiously waited for a happy handshake from the customer. That anxious moment was shattered at once when I heard a ‘no good’ again from the IT manager. My further requests with the IT manager to know what was considered as ‘good’ was conveniently unanswered. I instantly started hating my presence in Japan and my difficult position in that project. We agreed to meet after one week.
The next week the team spent some relentless efforts. We addressed a few issues in the software, took up some functional enhancements, and implemented few change requests. I made further progress in identifying a few other performance loopholes and methods to optimize the algorithm. My team started improving the solution one after another.
A week later, we had gained much confidence regarding the performance. We cut down the performance by another 15 mins and started getting the impression that the software was much more optimized now. I was bracing myself to receive another ‘no good’.
The next day when we had another meeting I had the same familiar feeling. Already heard ‘no good’ twice so far and I wasn’t ready to accept the 3rd one. But to my pleasant surprise, this time I heard more than two words from the IT manager. “Kannan-san, still no good but this is much better”.I started feeling better. This really sounded much better.
After many years into the services industry, in retrospect, I find that the multiple ‘no good‘ moments had helped me get better with both my personal and professional life. It was certainly a small but powerful learning experience in my life. I started looking for perfection in me and in my surroundings in smaller increments. I started aligning myself in this newly found path of enlightenment to move from being ‘no good’ to becoming ‘so good’ on everything I touched. Combining this life lesson with my own experiences after this project I realize it is important to understand and remember the following 5 lessons. I’m still a student.
Why ‘no good’ is so good?
- Prepare to be wrong: At the very first meeting with the IT manager, I was overconfident about the outcome. I thought the customer would readily accept the solution presented. I wasn’t ready to receive a ‘no good’ for the status of the project presented. Unfortunately, I was immature and ‘no good’ myself. Therefore, it is important to believe that someone can prove your position wrong and reject your idea.
- Say ‘no good’ 5 times: Everyone knows the best approach to performing a root cause analysis is to ask ‘5 why’s’. Saying loudly ‘no good’s’ at least 5 times (could be more) would improve the results dramatically even before someone else says that. I started believing this since this can be done in any situation. Refine a presentation that you prepared today, an email to convince your customer, a solution idea, an interview that you are about to attend, and much more.
- Find ‘so good’, minimize ‘no good’: This is one of the key driving factors for success. If the project involves performance or any other key functionalities, it is important to identify and document the metrics clearly. If the metrics are not available to plan to establish the standards at the early stages of the work. Ask a question on what would excite the customer even before beginning the work. Identify the ‘so good’ factors that will create a positive outcome of your engagement. Learn from the experiences.
- Improve small, improve often: Projects are successful only when there is a great understanding of the customer priorities and project needs. It is always a challenge to clearly understand all the requirements and even document them in a perfect language. Customer intimacy is the key and the passion for making the solution a perfect one will help the team understand the unwritten needs or simply the delight factors. Develop the solution and constantly refine it if needed. Involving the customer in refining the solution is also the key. Bring in a large focus and attention even for smaller topics and continue to do small improvements Following Kaizen
- Believe ‘no good’ is not ‘so bad’: All of us make mistakes and tagged as ‘no good’ at multiple instances in our life. After all, it is not ‘so bad’ as what it is in reality. This only sets a stage for improvement and provide a multitude of opportunity to get better. There will be a momentary feeling of dejection but remember, it pushes back a few steps only to make you stronger as you return back to become ‘so good’. Draw courage and fight back.
“If you’re not prepared to be wrong, you’ll never come up with anything original”Ken Robinson
P.S I sent the first version of this blog to my son Aditya Kannan and asked him to provide his comments. He appeared in front of me within the next 5 minutes said ‘Dad, nice thoughts and a nice story!!’ with a short pause he said ‘no good’ with a grin on his face and showing his thumb pointing downwards. This blog underwent several iterations of changes after that 🙂
All right, when was the last time you heard a ‘no good’ from someone? How did you become ‘so good’ after that?
Want to share something about UltraTop5 with Coach Kay? Contact me.
References [ + ]