Rethinking Software Development: The Human Factor (Part 2)

Original link: https://ourai.ws/posts/human-factors-in-software-production-part-2/

In Rethinking Software Development: The Human Factor, Part 1, I briefly describe the limitations of the individual and the main aspects of the ideology that an organization should have. As the so-called “thought determines behavior”, the actual behavior of members during the operation of the organization is influenced by the ideology described in that article.

communication and collaboration

Since we want to do “big things” together, since we want to cooperate, we cannot avoid division of labor and communication. This part is basically personal cultivation, the cultivation of everyone in the organization has improved a little bit, and the combined effect cannot be underestimated.

Let’s take software production as an example to talk about my related views –

In the previously written ” Rethinking Software Development: Software Production “, it was mentioned that there will be some division of labor in software production, and each of us will undertake one or more of them.

When you are in your position, you must first figure out the boundaries of your duties and the required qualifications, meet the relevant qualification indicators and perform your duties within the boundaries, and be able to give professional solutions or suggestions in your own links.

It’s not just about doing your own thing, you also need to be familiar with the upstream and downstream links and even the relevant content of the entire link, which will help everyone to work hard, align and share background knowledge/context, Reduce friction in communication, grasp the direction of things, and allow yourself to make more down-to-earth and problem-solving decisions.

Treat the person you communicate with as a person, and you must have the least respect. Everyone has their own positions and emotions. Positions can be expressed, but emotions must be restrained, problem-solving oriented, and rational communication and discussion.

When there is a conflict between positions, don’t rush to think that the other party is stupid and ignorant. You might as well try to think of yourself as such, and use “lowering your body” instead of “seizing a high position”, and try to understand the reasons for the other party’s position as much as possible, try to understand, Promote consensus in the direction of common or organizational interests.

Although you can’t treat others as idiots, you can treat them as idiots, especially when you communicate across different types of work—things that are taken for granted to yourself may be unfamiliar and unexplainable to others. Try to communicate in plain language and intuitive notation – follow conventions and best practices, avoid creating concepts and putting old wine in new bottles.

Take programming as an example, some people are lazy or show off their skills, and they will write some confusing code——

A programming language is another language for communication between programmers, keywords are specific verbs in the language, variables/constants are nouns or adjectives, function calls are a sentence, and an entire document is an article.

A qualified code is the language level of a normal person. The process of reading does not require too much thinking, and you can understand the meaning by intuition. Elegant code is a beautifully written article that is not only easy to understand, but also comfortable and something to learn from. Poor code is written by someone who has not learned the language well or is insane, and it is easy to get confused.

Whether writing code or writing articles, the reader’s reading experience needs to be considered.

Olay’s thoughts

To sum up, there are two main factors that affect the fluency of communication and collaboration, one is ideological attitude, and the other is poor information. The latter is discussed in more depth in Communication in the Real World .

management means

Although it is necessary to “put people first” and respect the will and needs of individuals, the organization will end sooner or later – everything will develop in a chaotic direction, and when it is placed on people with self-awareness, this phenomenon will only intensify; Nature has its own laws to maintain order, and human organizations need to rely on management to maintain order.

In my opinion, “management” is the control of resources for the normal operation of the system and the reduction of entropy. In the context of “organization”, it is mainly the control of people, and the “people” here are both ordinary employees and managers. Therefore, in an organization, there is not only management from top to bottom, but also complaints from bottom to top.

The power in the hands of managers represents responsibility, and the greater the power, the greater the responsibility. Power is a double-edged sword. Although it can be cut down at any time, it is best not to use it unless it is absolutely necessary, otherwise it is easy to hurt yourself in the opposite direction. In view of this, under normal circumstances, managers will use various indicator tools to control subordinates to meet their own interests.

The above expression seems to be derogatory, but it is actually a neutral expression. How to use it depends on the actual intention and degree of the manager’s use of the indicator tool. To do things depends on the results, but also on the method; to have a routine, but also to have a conscience. Those managers who only focus on performance and indicators are not qualified managers. They are in their positions and have no morals.

The ideal management should be able to arouse the enthusiasm of the subordinates, arouse the sense of mission and achievement of standing together through thick and thin, and make them feel that work is not only a means of maintaining survival and living, but also a way of self-realization, and ultimately achieve self-organization and self-management. Effect; the most ideal organizational form is a decentralized or weakly centralized organization based on a common vision.

conflict of interests

In jurisprudence, there are “should” and “actually”, that is, “should, ideally” and “actual, reality” – in the above and
The content described in the previous article is considered “should be”, so let’s roughly talk about what “actually” is.

Humans are selfish, and they will give priority to their own interests in doing things. There are animal instincts for survival inherited from genes, and the same is true for organizations composed of people.

However, the organizational structure is to artificially and openly divide multiple interest groups. Just as it is difficult to divide the division of labor into a very clear responsibility boundary, there will also be overlapping responsibilities between departments and groups, resulting in conflicts of interest.

“Frankness” is a valuable quality. It is difficult for a person to be truly pure. The more he bears, the more difficult it is to be pure. For the sake of personal interests or the interests he bears, he tries his best to find excuses.

Taking technology selection as an example, what “thinks from the perspective of the long-term development of the department and even the company’s technology” and “in order to improve program performance and improve team efficiency and member level” are all politically correct cover, and the actual focus is to consider. It is to satisfy one’s own interests. As long as the chosen thing is not full of flaws, one can think of thousands of reasons for it to be implemented. Two holders of equally opposing views have no way to persuade each other, unless one party uses power to suppress the other. one side.

The reality is that, whether it is between individuals, between individuals and organizations, or between organizations, it is usually the interests of one’s own interests that are given priority rather than common interests or (higher) organizational interests, which arise from each other. Friction, reducing overall operating efficiency and increasing entropy.

Summarize

The core of improving efficiency is that the organization acts from top to bottom in accordance with the ideas of “people-oriented” and “win-win cooperation”, and forms a corresponding organizational culture. To improve efficiency only from the methodological and tool levels is only a scratch, and it is easy to encounter symptoms rather than cures. to the bottleneck.

This article is reprinted from: https://ourai.ws/posts/human-factors-in-software-production-part-2/
This site is for inclusion only, and the copyright belongs to the original author.

Leave a Comment