仓库源文

.. Kenneth Lee 版权所有 2018-2020

:Authors: Kenneth Lee :Version: 1.0

Requirement Analyzing vs. Voting


Days ago, I made a keynote speech in an open source event. Before I got on the podium, I had planned to add some new examples to my slide according to the discussion with some companies in the event. But I could not see the notes bar of the slide on the stage, so finally, I just simply forgot to talk about them.

So I write it here for your reference.

In an organization with several parties, the maintainer or leader of the organization like to ask for vote from the members. They assume that the members will say that the organization is doing good and they are happy to join when they fulfill the top voted items.

In my career as a software architect, this always lead to a fail in the end. When we made a software platform for different products or teams, we had tried to do the same. But finally, we found that they never be happy with us in the end. There are two reason here:

  1. As a software platform, people won't ask you for key features. They intend to ask for something that they cannot do, (in most case, neither can you,) or it is not worthy for them to do. So you fulfill their list, you just make their mouth shut, but never make them happy. And if they are not happy, they can always find a reason that you do not really fulfill their requirement, or even they don't need to find a reason, they just leave.

  2. Even you have very good technologies that they don't have, they want to get it from you. But there is no effort to ask for anything. They will ask many of them without consideration. Your work will lost focus, you will never reach the best end.

So when I develop our OS distribution for our product lines, I adopt a total different strategy. I spend about a year for requirement analyse. I did ask them for their top requirements and asked for voting. But I did not take them serious. I study their structure accordingly:

  1. What is their organization structure and everyday work?

  2. What is their biggest effort to make? What are their key requirements from their own customers?

  3. What is the key reason that they try to cooperation with you. What is the best relationship between you and them.

So finally I will come up with my own requirement list. And I start to put all my effort to implement the list. In the period to the end, they will blame me everyday. But I don't care, because they don't leave. I brought and would bring benefit to them. They rely on me. People blame something only when they rely on it or they want them better. If they say "you are so good", they are just showing their (own) kindness. They don't really care about you.

That's why I say we should work with "NO NAME". If you focus on the good name, you will never reach "Tao".