Development Team building in software project management

Source: Internet
Author: User
Tags coding standards

Why have we been plagued by problems such as the Development delay of software development projects, the cost exceeding the budget, and the inability to guarantee software quality? I never think that the main problem that arises is that the project management method is insufficient, the software engineering cannot be understood, or the software development capability is not strong, the main problem is that we often neglect the construction of software development teams. How can I successfully complete a software development project without a good team? Looking back on the many years of development experience, I will summarize some experiences of software development team building and try to explain how to build a proactive, harmonious, stable, and efficient software development team from various aspects, I hope you can add and adjust them based on your daily project management status.

1Software Project Managers must establish their own authority in the software development team.

The software project manager is the leader in the software development team. to successfully lead the development team to complete the software development task, developers must be convinced of your knowledge structure, management, coordination, and decision-making capabilities, therefore, the software project manager must possess considerable professional and management qualities and be brave enough to take responsibility for the success or failure of software development projects. In this way, the software development team can establish its own prestige.

The software project manager should stand at a higher level than the developers to understand the developed system and development process, so as to guide the whole situation, you need to know but do not have to be proficient in the technologies used in the software development process, the tools used, and the key points and difficulties in each link in the development process, in order to make accurate and correct decisions at critical times, so as to establish an authoritative position in the software development team.

One of the common mistakes I have encountered in software development organizations is that R & D managers often intervene in Project Manager Management, in fact, the establishment of the prestige of the software project manager in the software development team also requires the support of the R & D manager. The R & D manager and the project manager should establish an interactive mechanism of mutual trust reporting and guidance, even if the project manager encounters an error in the management process, the R & D manager should provide more guidance to avoid directly interfering in the software development process. The R & D manager must grant the project manager full trust and independent execution rights.

2Obtain the full trust and support from the company's decision-making layer on the software development team.

During software development, especially for large-scale software projects, it is often necessary to deal with daily administrative, marketing, procurement, technical support, and finance departments. without the support of the company's decision-making layer, cross-department collaboration will inevitably encounter obstacles, the support of the company's decision-making layer comes from their full trust in our software development team. We trust that we can complete the development tasks well according to the vision and objectives of the software products.

The company's decision-making layer's trust in our software development team comes from the professional background and management skills trusted by the R & D manager and project manager, and from the vigorous working spirit of the development team, it comes from the concerted effort of the development team and the strong sense of mission, honor and responsibility of the development team.

Some of our software R & D managers and project managers often pick up the shortcomings of developers in front of the company's decision-makers and complain about the lack of human resources, the consequence is that the company's decision-making layer is increasingly losing confidence and trust in our development team. The R & D manager and project manager should report the strengths of each developer to the company's decision-making layer, and report on how we can improve the overall collaborative development capability of the team by making up for the weaknesses of individual developers, let the company's decision-making layer fully realize our unity and strength as a collective, so as to have confidence, trust and support for us.

3Establish a trust and loyalty mechanism in the development team.

Only by our project manager's sincere trust in every member of the software development team can we gain the developer's loyalty to the project manager, the project, and the company. As a manager, first of all, do not predicate the developer's abilities, ethics, and work attitude with prejudice. Instead, trust the developer and communicate with the developer in good faith. Only by fully trusting every developer and believing that they can complete the tasks assigned to them will they devote themselves to their development work with full enthusiasm. Trust also reflects an open mind, only by trusting their loyalty, let each developer understand the project objectives, the software architecture and functional requirements, and the development tasks and progress of other members of the development team, in this way, developers and project managers can cooperate with each other to feel happy rather than helpless.

Trust means that each developer is given sufficient permissions for his or her own tasks. Loyalty means that each developer is responsible for the success of the tasks assigned to him. When holding a project start-stage meeting, you can discuss and determine the permissions of each developer. When holding a project development process meeting, verify that each developer has various conditions to perform assigned tasks. Do not assign tasks to a developer who has no permission to execute such tasks.

4To form a discussion atmosphere in which a short meeting is continuously held to solve the problem.

The traditional Chinese medicine has such a saying that "it is difficult to get through, but it is not painful in general", which is reflected in the frequent communication in software project management, eliminate conflicts between all team members on a problem. It is an effective method to hold brief discussions from time to time during software development.

The project manager should constantly communicate with every developer During the software development process and ask if they have encountered any technical obstacles during the development process, check whether there are misunderstandings about the requirements or business, and check whether there are different understandings and conflicts between developers on one aspect. When any of the above problems is found, the project manager should organize relevant personnel to hold a brief meeting in a timely manner, designate the primary owner of the problem to prepare the topic, relevant materials and presentation PPT, three hours in advance, the participants are required to submit their respective opinions and suggestions to the principal responsible person for a summary, discuss them at the meeting, and reach an agreement through the discussion, form meeting minutes as the Development Guide for the next step.

5Develop a good habit of affirming the achievements of developers in public.

Large software development projects often last for a long period of time. In this long development process, it is far from enough to reward developers only at milestones. The project manager should praise the developers who have performed well, worked efficiently, and solved many problems during each work meeting, in addition, developers are often invited to participate in such praise from R & D managers and corporate decision-making levels, which greatly satisfies the developers' psychology. Developers who have problems during the development process should try to point out the deficiencies in the way they are discussed during the project meeting, and jointly discuss how to solve the problems through improvement, avoid being criticized by all developers during project meetings. We can communicate with individual developers in private.

In the software development process or after the software development is complete, due to the impact of various factors, it is inevitable that the original system needs to be changed. Changes will inevitably be resisted by developers, especially those that do not affect the business logic, such as interface adjustments, because developers think that their development is successful and perfect. At this time, the project manager should first affirm the achievements of the developers and affirm that the current changes are based on their previous successes, so that the developers will be willing to accept the changes.

6Actively cultivate the collective honor of the software development team.

We advocate a sense of honor, less utilitarian, and clearly define success and failure. We emphasize that success is personal success first, and then the success of the team. We emphasize that failure is first the failure of the team, then, the individual fails. We need to advocate maintaining the dignity of intellectuals. Dignity comes from developing outstanding software products. Dignity comes from strong team cohesion and from the recognition of company leaders and customers.

A team without honor cannot have a good sense of responsibility. A team without responsibility cannot develop excellent software products. Building software products in a software development team is the crystallization of the collective wisdom of the development team. Every developer's effort in the development process is hard to be as accurate as the piece-rate work in the production line, in the development process, developers can help each other, not only eliminate the bad ethos, but also enhance the collaboration atmosphere, team cohesion and collective sense of honor.

7Fully identifies, gives full play to, and uses the personality of software developers to efficiently complete development tasks.

Software development is a kind of creative activity. Creativity requires a great deal of publicity, but such publicity is subject to the enterprise's management system and software development specifications, as a software project manager, you should work with the R & D manager to find and grasp the balance between specifications and personality. In the software development process, the project manager should carefully observe and analyze the personality of each developer, and assign different development content to different personalities, such a task assignment can make every developer feel valued, and such a task assignment can make the developer feel the pleasure of work, such a task assignment can enable every developer to devote himself to software development. The way to suppress personalized Task Assignment can easily lead to resistance and negative attitudes of developers.

We respect the individuality of developers, rather than promoting personal heroism. Their behaviors are restricted by the company's rules and regulations, their styles are restricted by coding standards, and their documents are restricted by various document templates. The key to ensuring the maximum performance of developers under the control of various systems lies in the full, honest, and friendly communication between the project manager and developers. To enable developers to automatically and automatically complete software development tasks, the result must be efficient and high-quality.

8Create a working atmosphere for collaboration between developers and development teams.

In the process of software development, various obstacles and difficulties will inevitably be encountered, thus affecting the development progress. Management obstacles usually need to be coordinated at the company level, but for technical obstacles, the project manager should organize relevant developers to tackle the problem in a timely manner. At this time, senior developers should take advantage of their experience and knowledge accumulation to play their due role. When the development progress of a development team or a developer is delayed, the project manager should communicate with the development team or developer in a timely manner, other groups or personnel who have completed or are about to finish the task should discuss the task and share the task as much as possible. This working atmosphere of mutual assistance will greatly enhance the cohesion of the team.

By sharing the knowledge accumulation and development experience of developers, establishing a collaborative working atmosphere between developers and development teams can accelerate the development process of developers; through collaboration, the difficulties encountered in development can enhance the development team's self-confidence.

9The R & D manager and project manager must maximize the benefits and space for the team members.

The project manager must have the same experience as the CEO of a business as a software development team. We need to give the benefits to developers, give honors to developers, and get the undisputed rewards from the company's decision-making layer for the project team by doing excellent development tasks, in this way, we strive for the greatest economic benefits and honors for our team members. During the establishment of a software development project, we can clearly propose rewards and punishments, and provide the project evaluation method. The company's decision-making layer will evaluate the project development process (milestones) based on the evaluation method) and development results (software products) for evaluation, evaluation results as the basis of the project rewards and punishments.

As a R & D manager, you must observe every developer. developers who work diligently, have a strong sense of responsibility, have a management quality, and are good at communication should promptly submit them to the R & D manager and the company's decision-making layer for improvement. When developers feel that their leadership recognizes their work, they will be more passionate about the development work.

10Each member of the software development team has a consistent understanding of the vision of the software product and the target to be achieved.

Many software development organizations I have come across tend to have only the project manager with all the permissions to design documents to avoid the risk of technical loss caused by over-reliance on developers in software projects, developers are only allowed to view design documents related to the part of work they want to develop. In such a development team, on the one hand, developers do not feel the trust of company leaders, which often leads to low work enthusiasm and a serious crisis of mutual trust, on the other hand, because developers lack an overall understanding of the software they develop, the quality of software products is often not guaranteed.

We emphasize that every developer should be involved in the design of the project as soon as possible, even if they are not involved in the system design, we will also invite them to participate in the planning and discussion of the software system and to attend the review of the system architecture and system design. Only when developers have a consistent understanding of the goals of the developed software products can they make correct decisions during the software development process.

 

Related Article

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.