Real Project Technical Summary: Software Development Process and Costs

Key points:

Software development process and costs.

Staffing and costing of software teams.

Most of the functions of the software used in life are not technically difficult, and software companies can develop them. However, there are problems in the organization and implementation of the development process, as well as the technology and tools used, which make the software development cycle long and cost high.

1. General software development process

Party A users: put forward the initial requirements.

Party B's software company: complete design, development, and testing, then deploy, release, and put it into use. There were several reviews and inspections by Party A during the process, and if there was any problem found, Party B would revise it.

After being put into use, it enters the maintenance phase, which includes 3 tasks:

(1) Data maintenance: The software should be configured according to Party A's user data and business data. During the use of the software, new business data will be generated.

(2) Error resolution: resolve bugs in the software

(3) Function adjustment: It may be a modification of a function, or it may be a function that was not thought of in advance and needs to be added.

After it is put into use, it will cost a lot to modify it. Before it is officially put into use, there must be a small-scale trial. The same three things are data maintenance, error resolution, and function adjustment.

After trial operation and official delivery, in most cases, the product still has a lot of problems. If every project is successfully delivered and the effect is good, then every programmer is a product manager, why bother to work overtime, change jobs, or change jobs at 996.

When the first version is basically stable, the second and third phases of the project will start, which may include function additions, adjustments, new software forms, new interface designs, etc.

If there are too many changes to be made in the first version, and the funds for the first phase have been spent, then after summarizing the revision opinions, they will be revised together in the next version.

Summary: The reason why software production is high-cost and long-term, the main funds and time are spent on demand changes, error corrections, and function adjustments.

Correcting a small error or change is also a time-consuming task. A small local problem also needs to be designed, coded, tested, and then the product is updated, and the user of Party A will check whether the error has been corrected. When time is spent, money is spent.

Software: Money is burning.

Summary: The software development process includes: requirement analysis, development, use, maintenance (error modification and function adjustment), and upgrade.

The maintenance work is very long, which is equivalent to a partial development and a small upgrade.

An upgrade is equivalent to a major maintenance.

2. Software development cost

1 expert and 5 programmers, 10 months to complete a project. Assuming that the per capita monthly salary is 8,000 yuan, the result is 6 people X8000X10 months = 480,000.

In addition to other costs and profits of the company, additional manpower may be deployed midway, and the software will also require a period of maintenance after delivery. In the end there was not much money left.

For other large and small projects, the cost can be calculated with reference to the manpower and time mentioned above.

Software developers, if they want to get a high salary, there are three situations:

(1) The software product has many users and great economic benefits (such as game software);

(2) Multiple copies of this software may be sold. If it is a special software customized by Party A, it is difficult to sell it to other users. If it is highly versatile software, there may be multiple buyers who will buy it.

(3) With professional technology and experience, optimize the development process to shorten the engineering cycle and reduce the cost.

3. Maintenance: trial operation and official delivery

Pilot run: A test with a small number of users. Data maintenance work needs to be done. In most cases, there are more bug fixes and more function adjustments.

Official delivery: less bug fixes, less function adjustments. The software meets user expectations.

Both trial operation and formal delivery require deployment and operation and maintenance engineers. For example, deploy and maintain APP installation files, APP background, and software database. Maintain Party A's user data and basic business data.

4. The real difficulty: who will do the maintenance and upgrade

Even if the software functions are all correct, the maintenance of the database is a long-term project. Therefore, Party A needs a database engineer and an operation and maintenance engineer.

Software errors need to be corrected. Party A does not have the ability to correct errors, and software errors can only be corrected by Party B, which seems reasonable. If the funds for the first phase of the project have been spent, Party B will not change it, lose money to change it, or change it in the second phase of the project.

Party A does not have the development capability, function expansion and upgrade, and can only be handed over to Party B's software company, waiting for the development results of the next version.

In fact, these issues are very knowledgeable. There are many tasks that are missing or not done, and many tasks that can be optimized. These issues will be discussed in the next article.

Understanding the missing parts and understanding the optimization methods may be based on my past years of experience.

 

 

 

 

 

Guess you like

Origin blog.csdn.net/weixin_42644456/article/details/108693211