Job Recruitment Website - Job information - How should Internet software development projects be valued?

How should Internet software development projects be valued?

1. The cost of recruiting a developer team

Today (2015) the IT industry is booming, and there is a great demand for software development engineers. As a result, the wages of engineers have been rising. Taking cities as an example, the monthly salary of a developer who can actually work is around 10,000 yuan, and those with more than 3-5 years of work experience can basically reach 20,000 yuan. Let’s define a reliable developer with 3-5 years of work experience. Including other benefits and management costs, the cost of a reliable full-time developer is about 30,000 yuan (the cost in second-tier cities is about 70 yuan that in first-tier cities) . This does not include your recruitment costs. Isn’t it painful to think about it? There is no way, the market is like this, just like this house price.

2. Calculation method of outsourcing project costs

Outsourcing is divided into two types, human outsourcing and project outsourcing. Human outsourcing means that the outsourcing company sends a person to work in your company, and you pay this person's fee to the outsourcing company on a daily basis. Taking first-tier cities as an example, the current basic asking price for this kind of expatriate assignment is 1,000 yuan per day, and the price for better-quality personnel is more than 2,000 yuan. Project outsourcing refers to how much it costs to complete a project, regardless of how many people the outsourcing company invests. It's a bit similar to the point work and contract work of the decoration team. Although the price of project outsourcing is a package price, it is also calculated based on estimated labor hours. For example, a project is expected to require two people to develop for 20 days, which is a workload of 40 person-days. Calculated at 1,500 yuan/person-day, the project cost is 60,000 yuan (this is already a reasonable price, only counting the money for functional development, demand The costs of analysis, system design, business testing, deployment and launch, and project management are all given to you for free).

When you see this, you will definitely think that outsourcing is so expensive, why is it so much more expensive than the cost of recruiting one person! You see, making software is not a one-person battle, but a team battle (making an Internet software product requires at least a team of four people including analysis, architecture design, front-end, back-end, and UI design to start work, and they must have long-term collaborative operations experience). In addition to the hard costs of hiring, there are many soft costs, such as the time cost of recruitment and the cost of recruiting unsuitable employees. Through outsourcing, you can have things come and go as soon as you call them. These soft costs are borne by the outsourcing company. If you calculate the unit price, it will naturally be more expensive.

Okay, let's get back to the topic, "How much does it cost to develop such a software?". The central question here is how to define "such". If you need an accurate estimate, you need to clearly define the requirements, otherwise the estimate will be a rogue exercise and will eventually lead to disputes. Requirements definition includes the following aspects:

Design requirements

A good design is very expensive because it involves creativity and is difficult to evaluate. Different people have different opinions. Just like whether you ask a master to paint a painting or an ordinary painter to paint a painting, it depends on what you want. In my opinion, the design of most software projects is just satisfactory. If you hire an experienced designer to design a UI according to the latest popular design style, it will not be much worse. And the prices are relatively cheap. The UI design of an APP is generally between 10,000 and 20,000, which should have good results. Of course, if you don’t have design requirements, you can find a fresh graduate to make a UI for a few thousand dollars, and it won’t be too ugly.

Functional requirements

I was asked more than once, "I want to make an APP similar to WeChat...", and then I just gave up. In fact, you don’t really want to build a WeChat. I believe you only want some of the functions of WeChat, such as the chat part. Therefore, you should describe your functional requirements more accurately, for example: a chat function similar to WeChat, which can send text, pictures, voice and video, and can hold group conversations with multiple people. Notifications will pop up when there are new messages, and chat records are saved on the server side... You can't be lazy at this point. You need to force yourself to describe these functions. Don't think that you don't understand it and don't think about it carefully. In fact, you can.

Some functions may look similar, but they are actually very different. For example, whether chat needs to support emoticons, whether emoticons support animation, etc., the workload is actually very different.

Performance requirements

Performance issues do not require special attention, because at the current level of technological development, performance will not be a big problem, especially in the early stages of the project, but I still have to say something. The same functions, but different performance requirements and completely different workloads. Let's take chat as an example. This function is relatively common, but if you say it wants to support hundreds of millions of users chatting at the same time like WeChat, that's a completely different story. Although they are the same cars, QQ and Mercedes-Benz are still very different.

After clarifying the above information, you can find an experienced developer or project manager to give you a clear estimate. It is worth noting that software development is a very non-standard thing. It is very similar to decoration. You must leave some room. If you limit the cost too much, others will have to cut corners in the end.

Of course, there is also a valuation method. You determine the budget first, and then decide on the detailed functions. For example, you plan to spend 50,000 to build an APP with a chat function similar to WeChat, as well as the function of following each other and posting photos. You give your detailed functional requirements to the developer or project manager, and he will judge whether your budget can achieve your requirements. If not, you can discuss which functions can be left alone. For example, the chat emoticon function is not very important. Just don’t do it now, you can save some costs.