Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Why is enterprise software system development so expensive?

2025-01-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Engaged in enterprise information management for many years, people often ask how much does it cost to develop an enterprise software? In fact, this question feels difficult to answer, because no matter how you answer it, the probability of getting feedback is: "Why is it so expensive?"

So today let's take a look at why enterprise software development is so expensive!

First of all, after so many years of reform and opening up, enterprises need information management too much. However, what is more important than this is that decision-makers and leaders should understand informatization. If they do not, it is very difficult to produce results, and it will waste time and deal a blow to the confidence of enterprise informatization. Because they don't understand, the first obstacle they face is that software development is too expensive! With this kind of thinking and understanding, the hindrance to informatization is greater than you think.

I remember that there is a question on Zhihu: how to view the behavior of leaders spending 100,000 yuan on the attendance system? The implication of the subject is that the leader is very stupid, and the leader spent 100,000 yuan on a problem solved by a few hundred yuan on an attendance machine. Of course, it is also possible to think that leaders have received a lot of kickbacks. Of course, this situation cannot be ruled out, but it is outside the scope of our discussion today. So even if some people think that the attendance system is very simple, if the number of users is 1000, there are stores all over the country, it is necessary to achieve attendance roaming, if you also support mobile phone attendance and leave, personnel have regular and irregular shifts, and connect software and hardware. There are also needs research, development, training, implementation staff together, all good (all right, plus the full support of the leadership! ). I'll give you 100000 if you want to develop absolutely lossy underwear (unless you have off-the-shelf software)! If the leaders of the other side still do not have a unified opinion within them, it may not be possible to give you 50 or 1 million.

In traditional industries, enterprise bosses (or decision makers) are key to informatization:

1. The boss (decision maker) should understand informatization. Only if he understands it, can he evaluate whether it is expensive or not, can he clarify the true value of informatization, and can he support the correct trend of informatization. It's not easy to be a boss now. To be good at operation and management, to be able to handle customers and relationships, to be profitable, and to understand information. Of course, the decision-making level of the boss does not need to know how to develop. After all, not every boss is Ma Huateng, Lei Jun and other programmers, but to understand the value of information! What if I don't understand? Learn! It is good to attend more IT forums and Internet conferences. There is no shortage of bosses who specialize in learning to beat Arena of Valor and read fantasy online novels in order to understand the thinking of post-90s.

Second, he needs to find a person who understands information construction to plan enterprise informatization (that is, CIO) and trust him comprehensively (of course, if he has this ability). The demand for this person is actually very high:

1) he should have a very comprehensive view of IT. His vision, to a certain extent, determines the vision of the enterprise, and even determines the development space of the enterprise. IT experience must be rich, and IT skills must be comprehensive (all should be done), including seven levels: infrastructure, network, server, operation and maintenance, development, database, and implementation testing. When these seven levels are comprehensive, it is possible for him to transform enterprise needs into operational information systems (not involving capital, time cost, departmental collaboration and other issues).

2) he should understand the operation and management of enterprises. The informationization of the enterprise is not only to develop the software, but also to deploy it to the server. If it is not used, it will be a pile of scrap iron (or scrap iron which consumes a lot of electricity and increases the cost constantly). Therefore, he needs to be clear about all aspects of business operation and management, all obvious rules and hidden rules, and to be able to distinguish some demands that even if they complain bitterly, they are actually not of much usefulness. His (cio) judgment comes from his understanding and experience of business management. If the judgment is wrong, the consequences may be very serious. Therefore, he is not only a master of IT, but also an expert in business management, and must be an old driver.

3) the boss must fully trust him. He put forward a lot of things, if the boss does not fully trust, the support may not be in place, and the system itself is very prone to BUG errors and so on. If there is a lack of trust, when something goes wrong with the system, the boss gets mad and many things are not discussed or decided, and the project is likely to fail.

3. The information system should be controllable. This is also very important, but many people don't realize it (or don't feel it). Many enterprises have chosen a complete set of solutions, such as SAP IBM, Microsoft, Saleforce, Kingdee and so on, which looks perfect. This is not to say that these proposals are bad, but do not ignore two important issues:

The needs of enterprises will change constantly.

The IT system itself also needs continuous improvement.

If the system comes online, what happens if the system is out of control? Even if the system goes online normally (there is no problem), there must be new requirements after half a year, and the system needs to adjust or add new functions, what should we do? Just find the original factory.

The plot that is bound to happen is: you think this function is very simple, but the original factory thinks it has gone beyond the scope of the original contract, do not ask me how to know.

You have to start a che pi with the original factory, negotiate the price of the new function, and then follow the business process (the rule is: the larger the company, the more complex the internal process, the slower the speed.).

Damn, the former project manager has already left? Send a new project manager? There is no way to cooperate with him to nibble through the original requirements document, patiently tell them some of our famous internal rules, and then combine with the new requirements, take the trouble not to say, because time is tight, quickly design a new development plan, and then develop tests. no, no, no. In this way, half a year has passed, the company money has been spent, and the schedule of the event is also wrong. Everyone feedback that this new function is not easy to use, and there are always a lot of problems. The boss was both bewildered and angry, and he started a new che (pi).

You don't have a choice about this process yet (it's too expensive to change the system for this function, and time doesn't allow it).

This is the consequence that the system is uncontrollable, so informationization in enterprises must be considered whether it is controllable or not. If you want to be controllable, then whether it is outsourcing or self-built, you must cultivate your own technical team (which can fully take over system development and operation and maintenance), and it must be worthwhile to spend money to support this team (provided that cio is well managed).

So why is developing software so expensive?

Let's see, what process does the development system go through when it comes online?

1. Demand, demand is the foundation of the system. It can be said that to develop a system, it is the most difficult to get the real demand. Both Zhang Xiaolong and Jobs are deeply touched by this. Zhang Xiaolong once said (to this effect): it is most difficult to judge the real demand of users or the fake demand. To take a very simple example: before there was no car, Ford went to investigate the demand: what kind of transportation do you need? User: I need a faster horse! If Ford really designed four-legged mechanical horses according to the needs of users, I don't think it would have made Ford, nor would it have today's developed automobile industry. Therefore, it is difficult to distinguish between true and false demand, explicit demand and invisible demand, not to mention the possibility of transforming user requirements (turning horses into cars).

2. Architecture and design, which is the soul step of the whole system. If an architecture fails, the problem behind may be devastating (the same business volume, similar hardware, your system only runs for two years, and others run for five years, it is likely that the architecture is not done well); if the system design fails, it is bound to go soon, and the future business changes may have to change the system.

To get the demand, you have to do it:

1) Business process design (which may involve business process reengineering, the most laborious and possibly the most repetitive, but also the most risky)

2) system architecture design (cs or bs? Is there an app? Private deployment or public cloud deployment? Among them, whether to consider the idea of expandable integration is the most important! Decide how far this system can support the enterprise! )

RMF model in CRM

3) theoretical support (many business models have theoretical support, so when designing a system, we must have such a theoretical basis, otherwise we will not be able to achieve the desired results. If you don't understand these theories, what you make may be that the donkey's lips are not right.

4) functional design (what kind of function is needed, how many steps it takes to achieve such a function, what the operation is, etc.)

5) Program code specification design (including the preparation of libraries, classes, common methods and controls, good controls sometimes save half of the development time, and coding specifications)

6) the design of the database (database specification, how many databases are required? what is the relevance of these databases? How are they stored separately? Is there a high concurrency scenario? Solution? The source and trend of each piece of data should be clear, and the growth of single-table data, the bearing capacity and scheme of the server should be estimated after one year.

7) there is also the deployment design of the server (business running public network or private network? Is there an API interface? The high availability scheme of the server? High availability solutions for applications? High availability solution for the database? Read-write separation scheme)

8) there is also a network solution (public network or vpn? Network security, the stability of vpn? How to deal with the disconnection of the network? (is it a hoop? Each development mode has its own advantages and disadvantages, which should be chosen according to the situation of the project.

Agile framework used by our company: www.learun.cn/Home/VerificationForm

3, code development, as much as possible to maintain a unified language to write the system (large projects may be difficult to do). If there are as few people as possible to write the module code, the R & D manager needs to distribute the module uniformly, the R & D manager examines the member code, and the code itself needs to be managed uniformly (whether it is svn or tfs), otherwise the project cannot be maintained in the future. If it is an Internet system, also need art, UI and front-end code, code quality basically determines the quality of the project, especially the key modules (high-frequency operation module, or involving amount, inventory, etc.).

4. Testing, testers should fully understand programming ideas and business logic, and write comprehensive test cases. As much as possible to detect the system bug and problems, feedback to the development of correction (testing is also phased and modular, as well as stress testing, depending on the size and progress of the project).

5. Training, mobilization and training should be done before the system goes online. Let the specific operators clear the scope of system operation and management (at this time, because it will change the operating habits of many people, and the system is imperfect, may not cooperate, so it must be online mobilization, and the boss does, clearly do not leave the system! ).

6. Go online. Believe me, going online can be painful or smooth, which is a process of checking whether the previous testing and training work is in place! If the previous steps have come, then determine the launch time, as well as the processing of historical data (generally financial personnel who understand information), import data (may be inventory, balance, etc., etc., also depends on the implementation plan, if the two lines are parallel, maybe the data does not need to be guided), and then put on the new system (terminals, servers, networks should be equipped in advance). Establish real-time problem feedback channels and fast problem solving channels (telephone, qq, nails, Wechat, etc.), the implementation staff are delegated to the use of the system units, real-time monitoring system problems, find system problems, research and development personnel in the background real-time modification, rapid testing and updating the system. A month later, the online data will be taken out for financial (production, business data) analysis. If there is no big problem, it will be considered successful.

7. Continuous improvement and fast iteration. This is very important, but it is the easiest to ignore, and it is also the place where enterprises are most likely to suffer losses. If the enterprise system is not online, everything will be all right! The market is constantly changing, the enterprise will continue to expand, the demand is also constantly changing, and the system itself will continue to find that the BUG needs to be corrected, so the system itself requires continuous improvement (faster, faster updating ability than others), and requires a team or mechanism with such ability to guarantee. One sentence is the key point I just said: be controllable to the information system!

8. The above seven processes, including assembly line operation and possible cross operation, are a management process. What kind of person do you think is needed to manage well, and what kind of team do you need to cooperate with? To achieve the desired goal?

So, why is software development so expensive?

I'm sure you understand. Because good system development is very troublesome, process control is complex, not only requires the boss to understand, but also requires CIO to understand business, process, management, technology, but also to manage the technical team to work together.

Of course, you can say that the purchase, sale and storage system outside is only 500 yuan, and it can also manage the business of our store, so what do you say?

Yes, if you want to travel, there is no need to buy your own car. It is sometimes more convenient to take a taxi. Is there no need to buy a car?

Just like judging the toxicity of drugs, putting aside the dose to talk about toxicity is rogue, and the software system is also rogue to talk about price despite the demand.

For a breakfast shop, the opening of Wechat is already information-based.

Of course, you said that I could also use the Saas solution, which is not so complicated and powerful.

Yes, the world is rich and colorful precisely because there are many choices. It is good to choose to use it yourself, and there is no right or wrong.

Maybe integration is not that easy to do, is it?

The later integration and scalability with other systems also need to be evaluated, right?

In general, enterprises will have a variety of systems, and many systems use Saas? Or mixed? If you want to get through to each other? It's complicated to think about it, right?

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report