Demand analysis is to decide what to do and what not to do.
Even if the feasibility analysis is objective and scientific, the decision may still be wrong. Because decision makers are people, people are impulsive and have a gambling mentality. If the feasibility analysis shows that the success rate of doing something is 10% and the failure rate is 90%, if it is significant, the decision-maker may clap his head: "Go ahead!" Therefore, the world is much happier and much sadder. 4. Section1describes four elements of feasibility analysis: economy, technology, social environment and people.
At present, many domestic software companies do system integration projects. It will be interesting to talk about the feasibility analysis of system integration projects. However, most of these system integration projects are government agencies. Because the software industry is not standardized and the client is corrupt, there is a rumor that "there is no system integration project that cannot be done" in the industry. The attention of software companies is almost completely focused on "how to get the project order" and "how to muddle through after getting the order", which makes me lose the opportunity to show off "feasibility analysis". Since you can't give a person positive advice on how to do good, advise him not to do bad things.
Section 4.2 tells the feasibility analysis case-the lessons of failure of investment software companies. The author is not qualified to talk about investment, but it happened: in the past year, I closed a software company (my own) and lost 300 thousand; Shocked a software company (a friend's) with an annual loss of 2 million; Kill a 2 million investment plan (stranger's); Stepped out a budding investment idea of 6.5438+0 million yuan (from acquaintances). As more and more wealthy private enterprises are eager to invest in the software industry, the feasibility analysis in this respect is worth talking about. I'll just talk about my personal experience and make some suggestions.
Whether you are doing software projects for customers or making software products for yourself, you must conduct demand analysis. The most annoying thing about requirements analysis is that it is difficult to find out the requirements at the beginning of the project. If the demand changes in the middle of the project, the project will be in trouble. Section 4.3 explains why requirement analysis is difficult, and Section 4.4 describes how to conduct requirement analysis. The requirements analysis in this chapter does not involve programming, so the structured and object-oriented analysis methods are not considered.
4. 1 elements of feasibility analysis
Feasibility analysis can't be generalized, nor can it weigh all trivial details. Feasibility analysis must provide valuable evidence for decision making.
Liu Chuanzhi, the head of Lenovo Group, once said: "We don't do things that have no money to earn; Don't do things that you can earn but can't afford to invest; If you have money to earn and have the ability to invest, but there is no reliable candidate, such a thing will not be done. " Liu Chuanzhi established the criteria for the above decision-making and pointed out the main points of feasibility analysis.
Generally speaking, the feasibility analysis in the software field mainly considers four elements: economy, technology, social environment and people. This section only gives a general explanation of these four elements, aiming at establishing the concept of global analysis. Section 4.2 will analyze and comment on the above elements with the focus of the case.
4. 1. 1 economy
Economic feasibility analysis mainly includes "cost-benefit" analysis and "short-term-long-term benefit" analysis. 1
I. Cost-benefit analysis
The cost-benefit analysis is the easiest to understand. If the cost is higher than the income, it means a loss. If the cost is much higher than the income, it means a big loss. Businessmen don't like to do things that lose money. Some shops put up the slogan "Last day of jumping off the building for auction" all day, which means: I'm going to suffer a big loss and let you take advantage, comrade. Please take the bait quickly.
If you are doing software projects for customers, then the income is written in the contract. If you make your own software products, then income is sales.
People are too optimistic when predicting product sales, and often make big mistakes. Those who praise your products are not necessarily buyers. As the saying goes, "it is the buyer who dislikes the goods." When you don't meet a picky person and think this product is too good to make you rich, you should be prepared for bankruptcy.
If you are in a small business, you have to calculate the cost carefully. The cost of software refers not to the cost of CD-ROM storing software, but to the development cost. The costs to be considered are:
(1) office rent.
(2) Office supplies, such as desks and chairs, bookcases, lighting appliances, air conditioners, etc.
(3) Hardware devices such as computers, printers and networks.
(4) Telephone, fax and other communication equipment and communication expenses.
(5) Information fee.
(6) Office expenses, such as utilities, printing and copying fees, etc.
(7) Salaries of software developers and managers.
(8) the cost of purchasing system software, such as operating system, database, software development tools, etc. Some bosses buy pirated system software, but calculate the cost according to the market price, which can make a fortune from Americans.
(9) Communication expenses for market research, feasibility analysis and demand analysis.
(10) Company personnel training expenses.
(1 1) product promotion expenses. If you use the Internet for publicity, you should consider the cost of setting up a website.
(12) If the customer is a government department, the cost of eating, drinking and bribery should be fully considered.
(13) If the company's feng shui is not good, there will be many inexplicable management fees. Every time you stamp a red official seal, you have to spend a handful of money.
Second, short-term and long-term benefit analysis
People like to eat what's in the bowl, look at what's in the pot and miss other people's homes. It is a human dream to have both short-term and long-term benefits. In business, such a good thing will not come easily.
Short-term benefits are easy to grasp and the risk is low. Domestic software companies often rush to do information management systems, multimedia CDs, system integration projects or Internet services. Whenever we indulge in short-term interests and don't strive for progress, we should remember the lofty ambitions of our childhood and give ourselves some encouragement.
Long-term interests are difficult to grasp and risky. People who can exchange short-term losses for long-term benefits are either ambitious generals or mediocre people who "talk on paper" and "draw a salary at the bottom of the barrel". At present, there are many internet companies in China, which only invest and do not produce. In order to achieve the hegemony in the future, I am willing to fight for financial resources and patience now. The last few companies that survive will carve up the market.
Those who strive for long-term interests, you must finish the Long March and don't let your career fall by the wayside. 2
4. 1.2 technology
Technical feasibility analysis should at least consider the following factors:
(1) Whether the functions in the requirement description can be realized in a given time. If you encounter insurmountable technical problems in the process of project development, you will be in big trouble. The delay in progress is light and the project is ruined.
(2) What is the quality of the software? Some applications require high real-time performance. If the software runs slowly, even if it has functions, it has no practical value. Some high-risk applications require the correctness and accuracy of software. If something goes wrong with the software, resulting in the loss of customers' interests, then the software developer will pay the price for it.
(3) What is the productivity of software? If productivity is low, you can earn less money and gradually lose competitiveness. When counting the total development time of software, we should not miss the maintenance time. Software maintenance is a very slow thing, which can slowly consume the profits obtained in the early stage. If the software quality is not good, it will lead to high maintenance cost, and it is not worth the loss to try to improve productivity by cutting corners.
Technical feasibility analysis can be simply expressed as: can it be done? Did you do well? Do you do it fast?
4. 1.3 Social environment
The feasibility of social environment includes at least two factors: market and policy.
The market is divided into immature market, mature market and dying market.
It is risky to set foot in an immature market. What is the potential market that is as accurate as possible? How much share can you get? How long will it take?
Squeezing into mature markets, although the risk is not high, there is not much oil and water. If supply exceeds demand, that is, there are more software development companies and fewer projects, then vicious bargaining may occur in bidding. The first batch of companies selling computers and integrated systems in China made a fortune, and others crowded in with envy, so the average profit of this industry fell.
Don't enter the dying market. Although many programmers miss the brilliant programming in the DOS era, no one wants DOS application software now. School teaching can also use DOS software, but commercial software companies can no longer develop DOS software.
Policies have a great influence on the survival and development of software companies. Throughout the 1990s, the fees charged by China Telecom were quite high, which made domestic Internet companies feel overwhelmed. Some software industries have high profits, but there may be local protection policies, which leads to unfair competition. Improper policies will hinder the healthy development of software enterprises, but what we are most afraid of is that the government interferes with the legitimate behavior of enterprises. For example:
At present, the competition in the home appliance industry is very fierce. The president of a certain enterprise is very fierce and beats his opponent back and forth. So the central leadership came to inspect the enterprise and delivered a speech: "Your outstanding performance has been highly valued by the central government ... but we are a socialist country, not a capitalist country. You must always leave some food for the comrades in your brother enterprises!"
I once visited a friend in economics at Peking University. The young man who is still party member said: "I have been studying the rise and fall of domestic star enterprises recently and found a rule. Once a star enterprise is inspected by government leaders, it forgets who it is and will do stupid things to die."
I really don't understand why there is a "secretary" position in the enterprise. I thought "secretary" was the number one ridiculous official title in the world, and it was synonymous with "secretary", a dispensable administrative official title, which actually became the largest official title in China. Every time I see the news broadcast mistaking the chairman for the general secretary, I am angry: because the general secretary is only applicable to tens of millions of party member, isn't the national news agency geared to more than one billion?
three
Ordinary people? If my future work unit still depends on the "secretary", I will be too busy to get angry every day and have the energy to program.
4. 1.4 people
There is a famous saying: "people are divided into four categories-people, talents, manpower and scum."
If the above four types of people are complete in a software company, then the best division of labor is to let "people" be the leaders, "talents" be the first-line developers, "people" be the administrators and "scum" be responsible for bribery.
Here only talk about the "yes or no" of company leaders and developers. After all, "people" are a minority, but "talents" are abundant. That kind of "talent" can be a leader, and that kind of talent is suitable for software developers. If a group of undergraduate, master and doctoral graduates apply for a software company, how should they be hired? My suggestions are as follows:
First of all, choose undergraduate graduates, because they are just young, energetic, not putting on airs, not ashamed to ask questions, not demanding and paying a lot.
Secondly, choose a master's degree. If students aren't as old as Fan Jinzhong, they didn't write articles every day when they were studying for a master's degree and gave up their programming work, then an experienced bachelor programmer can take them to practice for several months.
If the bachelor's degree and master's degree are taken away by other companies, you have to pick up several doctors to make it up. What is the use of a doctor in a software company? I can't think of any use, but I think they are very poor: from master's degree to doctor's degree, I haven't learned much real skills in these six or seven years, but I have learned to be "arrogant" or even "fake"; When I graduated, I suddenly looked back and found that my youth had been wasted and my mind was old. I have to sigh and hiss, and I have to make myself confident. I also graduated from a doctor's degree, so it will be considered as a third-hand loan for sale. I really envy those bachelors and masters younger than me. They can fly away, alas.