As a result, new personnel are not encouraged to provide assistance when the tasks of ongoing software projects are tight and the progress is delayed. Unless the jobs assigned to new members are relatively independent tasks, they do not need to have a more detailed understanding of the original tasks, nor have any technical details involved. Some people think that adding new personnel to a software project that has been delayed will only cause further task delay.
There are several common organizational forms:
I, Primary programmer
The core of the group consists of one or more primary programmers, multiple technicians, one backup engineer, configuration management personnel, and other auxiliary personnel. The primary programmer is responsible for the planning, coordination and review of all technical activities of the group, and is also responsible for the design and implementation of key components of the project. The technician is responsible for the specific analysis and development of the project and the compilation of documents. The support engineers help and support the work of the primary programmer and work for the primary programmer in the necessary time so that the project can continue.
This Organization emphasizes the leadership of the main programmer and the direct connection with other technical personnel. Simplified communication between people. The success of this organizational form depends largely on the management talent and technical level of the primary programmer.
II, Democracy
Team members usually exchange opinions equally, discuss the goals and content of the work together, and decide to be made by all personnel. Although there is also a member as a leader, the discussion and result tests at work are all made public.
This type of team organization is conducive to giving full play to the enthusiasm of each member and forming a good working atmosphere of cooperation. However, at the same time, it also weakens the individual's sense of responsibility and the role of necessary authority, which may easily affect the decision-making efficiency.
III, Hierarchical
In this way, personnel are divided into three levels: Owner, Senior Programmer, and programmer. A person in charge is responsible for Task Assignment, technical review and inquiry, and managing several senior programmers. Each Senior Programmer manages multiple programmers.
This organizational form reduces unnecessary interpersonal communication and is more suitable for large-scale project development.
In actual work, we can organize teams based on the actual situation of the project. For example, a large project is divided into smaller parts into different groups by hierarchy. Each group member can work in a democratic manner or in a primary programmer-based manner.