Software development efficiency

Source: Internet
Author: User
Software development efficiency

Taiyan Network Studio Wu Yu

 

The fact that software development projects cannot be completed on schedule seems to be a common fact. Think about the fact that even a dominant company like Microsoft has to develop a vista, it has to be postponed and postponed, what is the result of some project delays in other companies?

It should be said that there are many development and management models, such as the Popular RUP and XP in recent years, all of which have put forward their own understandings of problems in software development. But what I want to talk about here today is not what I think about: ant or bee, these insects, how are they managed by a large team?

Just as the macro-economy is a comprehensive reflection of the micro-economy, the efficiency of individuals will still be shown as the efficiency of the team. I don't know how insects are managed, but I prefer to believe that they fully rely on individual cooperation to achieve the overall efficiency of the team. In other words, they do not have a heroic core. Using the lines in "My brother is a good man", you can't beat the devil alone.

The software industry has its own particularity. For example, the WPS Of The Year was developed by the old generation. However, the current situation does not seem to support this issue, so the company recruits people with the ability to work together. A team with a heroic core is indeed excited, but teams without core figures do not seem to have a small number of projects. My personal observation is that there are fewer and fewer developers who actually participate in both management and development. Just like the emergence of a large number of civilian officials in the military, there are more and more cooperation and a longer Management span, management is getting harder and harder, and development efficiency is getting lower and lower.

To be honest, I have been working on development for many years and have little ability to turn the tide off, unless that project is simple enough and enough time is enough for me to re-develop it. Here, I have weakened the management to be invisible to outsiders like ant financial and bee financial, and developers are simply relying on mutual collaboration to complete the project.

 

Valid working hours

The bureaucratic life of "one cup of tea, one cigarette, one newspaper for half a day" is rare now, but think about it carefully. How much time have you invested in your work? My personal opinion is that if a programmer can have two hours of effective working time a day, I will consider letting him join the team, but I can only do simple things; if a programmer can have four hours of effective working time a day, it can be the backbone of the team; if a programmer can have more than six hours of working time a day, he can bring a team to work.

Don't take a long day of work, and there are still many people working late, but in fact there are very few effective working hours, it is unfair to some people to describe "Work hard", because they do work very hard, but unfortunately, even those who work hard have very little effective working time, 8 hours of work overtime became 16 hours, and it seems very hard, in fact, it is not the case. You can say that such a person is a good person, but it must be a mediocre person!

Many organizations have worked overtime to complete projects. I have seen one of the projects at Minsheng Bank, the hardest part of which is working overtime. one contractor simply instructs employees to work until every day and work six days a week. In fact, the contractor himself admitted that this overtime method had no effect, but it suffered from the customer's requirements.

The "capitalism exploitation of workers" in the advanced mode mostly increases the labor intensity by improving the work efficiency. For example, if a screw is installed for three seconds, the stopwatch will know the efficiency for a while. Only management that does not know how to improve work efficiency can increase work intensity by increasing work time. The technical barriers to software development are too high, and it is difficult to quantify to that extent. I checked a piece of information online and communicated with my colleagues via IM. It took a while. Therefore, this is difficult to monitor, but everyone will know what he has done today and what he can feel without quantification. Constantly Strengthening this feeling is like constantly improving artistic accomplishment. For a growing artist, the advantage is lifelong. I would like to remind your team to keep asking: How long does it take me to finish this job?

 

Resolves project bottlenecks in advance

Project development will inevitably encounter bottlenecks. However, if you can plan the bottleneck in advance, the project will be much smoother. On the contrary, it is difficult to be reborn. For example, you cannot wait until the code is developed and find that the device is not in place. You cannot do it until you find that the technical solution is not feasible. Most of my projects go hand in hand. No one works as a forward engineer. Once a problem occurs, everyone has to stay with me, including working overtime. There is no bottleneck in project management. It is indeed an art to allow everyone to do different things separately and collaborate with each other like ant financial and bees. Using individual efficiency to improve the team's efficiency makes everyone know what they should do and reduces the team wait time, which is equivalent to resolving the project bottleneck to some extent.

 

Unified core values

It is common for development teams to disagree. It is common for customers, leaders, technologies, personal opinions, and even personal preferences to have disputes. However, they often have a deep influence on teamwork. Most of the technicians prefer to convince people, but occasionally they will become very casual. If your statement and practice cannot be recognized by him, he will feel that this team is not what he wants, and will immediately look for new ideas to accept his team. He also thinks that this team does not belong to him (Remember, he rarely thinks that he belongs to this team), and his quality of work will decrease.

It is not easy to find a core value that everyone can agree with, not to mention the core values of different teams. For example, some people are only for money, some are for money and technology, and some are for management or sales instead of this industry.

Development is flexible. However, many technical staff are not flexible at all. I have seen some programmers choose not to use IDE for the reason that they have never used ide. Some C ++ programmers refuse to reference it thousands of miles away for the reason that they are "used ", and "understand yourself ". In the face of these technical staff who insist on themselves, hard competition will not have any good results. "Convince people with good faith" is a common choice, but it usually takes some time or even a long time.

In other words, without administrative pressure, it is more difficult to persuade technicians to use more advanced technologies and methods. Even if a technician uses advanced methods and technologies, he can make a mess for you. If advanced technology leaves people who can play its role, it is also a waste product.

In the face of a team that seems to be on the surface and has no such mentality at all, I will take the lead. Generally, no one is in conflict with each other. Therefore, it is the first key to find a team member who can cooperate and make a demonstration as soon as possible. This is a good job. We have seen the results. The promotion of other things is only a matter of time.

To put it bluntly, the core value is actually a sense of identity. At least the majority of the team should recognize and recognize the team so that everyone can collaborate smoothly.

 

Streamline relationships

The larger the project, the more complex the relationships are. I once saw that my team members were transferred by other team leaders, so I went to talk to them separately. Tell my team members that your work is arranged by me. You can fully communicate with them, but you cannot directly listen to others, resulting in the failure of my work arrangement; at the same time, I also told other team leaders that communication is normal, but I am responsible for the development progress. You can talk to me and adjust my development plan, however, the development plan cannot be disrupted at will.

There are still many relationships to streamline, such as those with customers, sales, demands, and testing. Straighten out various relationships, that is, to ensure that your team can calm down, think rationally, and work rationally every day, which is also improving work efficiency.

 

I believe that different levels of management are different, and I hope to hear and see different experiences.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.