Joke Collection Website - Bulletin headlines - What are the factors that affect the progress of software projects? Waiting online! Sierra!

What are the factors that affect the progress of software projects? Waiting online! Sierra!

Feasibility analysis is to decide "to do or not to do".

Requirements 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 human, and humans 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, and if the significance of the matter is very great, the decision-maker may slap his head and say: "Go ahead and do it!" Then the world will have more. Extreme joy and extreme sadness. Section 4.1 describes the four major elements of feasibility analysis: economy, technology, social environment and people.

At present, many domestic software companies are engaged in system integration projects. It would be interesting to talk about the feasibility analysis of system integration projects. However, most of those system integration projects are from government agencies. Since the software industry is not yet standardized and there is corruption on the client side, there is a rumor in the industry that "there is no system integration project that cannot be completed." The software company's attention was almost entirely focused on "how to get project orders" and "how to muddle through after getting the order", which made me lose the opportunity to show off "feasibility analysis". Since you can't directly teach a person how to do good things, then advise him not to do bad things.

Section 4.2 describes the feasibility analysis case—lessons from the failure of investing in software companies. The author is not qualified to talk about investment, but things happen to happen: In the past year, I closed a software company (my own) that lost 300,000 yuan; I shocked a software company (a friend's) that lost 2 million yuan a year; I killed a 200-year-old software company. An investment plan of 10,000 yuan (from a stranger); crushing a budding investment idea of ??1 million yuan (from an acquaintance). In view of the fact that more and more wealthy private enterprises are eager to invest in the software industry, it is worth talking about the feasibility analysis in this area. I will describe my experience and give some suggestions.

Whether you are doing a software project for a customer or a software product for yourself, you must conduct a needs analysis. The most annoying thing about requirements analysis is that it is difficult to figure out the requirements when the project is just started. If the requirements change halfway through the project, the project will be in trouble. Section 4.3 explains why demand analysis is difficult, and section 4.4 describes how to conduct demand analysis. The requirements analysis in this chapter does not involve programming, so structural, object-oriented and other analysis methods are not considered.

4.1 Elements of Feasibility Analysis

When doing feasibility analysis, you cannot cover the whole story, nor should you weigh every trivial detail. Feasibility analysis must provide valuable evidence for decision-making.

Liu Chuanzhi, the leader of Lenovo Group, once said: "We will not do things that make no money; we will not do things that make money but cannot afford to invest; we can make money and can afford to invest, but there is no reliable investment." No one can do such a thing." Liu Chuanzhi established the above criteria for decision-making, and also pointed out the key points for the feasibility analysis.

Generally, feasibility analysis in the software field mainly considers four elements: economy, technology, social environment and people. This section only explains these four elements generally, aiming to establish the concept of global analysis. Section 4.2 will focus on analysis and commentary around the above elements based on cases.

4.1.1 Economic

Economic feasibility analysis mainly includes: "cost-benefit" analysis and "short-term-long-term benefit" analysis. 1

1. Cost-benefit analysis

Cost-benefit analysis is the easiest to understand. If the cost is higher than the benefit, it means a loss. If the cost is much higher than the benefit, it means a loss. Big. Businessmen don't like to do things that cause losses. Some stores have slogans posted all day long that say "Last day of auction", which means: I am prepared to suffer big losses and let you take advantage of me. Comrade, please take the bait.

If you are doing a software project for a client, the benefits are written in the contract. If you are making your own software product, then the profit is sales.

People often make big mistakes by being overly optimistic when estimating product sales. Those who say complimentary things about your product are not necessarily those who want to buy it. As the saying goes, "Those who dislike the product are the ones who buy it."

When you feel like this product is so good that it will make you a fortune without meeting a critical person, be prepared to go bankrupt.

If you are running a small business, you need to carefully calculate the costs. The cost of software does not refer to the cost of the CD on which the software is stored, but to the development cost. Costs to consider are:

(1) Office rent.

(2) Office supplies, such as tables, chairs, bookcases, lighting appliances, air conditioners, etc.

(3) Hardware equipment such as computers, printers, and networks.

(4) Telephone, fax and other communication equipment and communication expenses.

(5) Data fee.

(6) Office consumption, such as water and electricity bills, printing and copying fees, etc.

(7) Salaries of software developers and administrative staff.

(8) The cost of purchasing system software, such as operating systems, databases, software development tools, etc. Some bosses buy pirated system software and calculate the cost according to the market price, so they can make a fortune from the Americans.

(9) Communication costs for market research, feasibility analysis, and demand analysis.

(10) Company personnel training expenses.

(11) Product promotion expenses. If you use the Internet for promotion, you should consider the cost of building a Web site.

(12) If the client is a government department, the expenses for food, drink, entertainment and bribery should also be fully considered.

(13) If the company's feng shui is not good, there will be a lot of inexplicable management fees. Every time you stamp a bright red official seal, you have to spend a handful of money.

2. Short-term - long-term benefit analysis

People like to eat from the bowl, look at the pot, and think about other people’s homes. Having both short-term and long-term benefits is what people dream of. In business, such good things don't come easily.

Short-term benefits are easy to grasp and the risks are low. Domestic software companies often rush to build information management systems, multimedia CDs, system integration projects or Internet services. Whenever we are obsessed with short-term interests and do not think about progress, we should recall those great ambitions in childhood and give ourselves some motivation.

Long-term interests are difficult to grasp and the risks are high. People who are willing to sacrifice short-term losses for the sake of long-term interests are either ambitious generals or mediocre people who "talk on paper" and "have a good eye but a deep understanding". There are currently many Internet companies in China that only invest but do not produce output. In order to achieve future hegemony, we are willing to fight for financial resources and patience now. The last few surviving companies will divide the market.

Those who strive for long-term interests, you must finish the Long March and don’t let your career die midway. 2

4.1.2 Technology

Technical feasibility analysis must consider at least the following factors:

(1) Whether it can be realized within a given time Features in the requirements specification. If you encounter insurmountable technical problems during project development, you will be in big trouble. At worst, it will delay progress, and at worst, it will ruin the project.

(2) What is the quality of the software? Some applications have very high real-time requirements. If the software runs as slow as a snail, even if the functions are available, it will have no practical value. Some high-risk applications have extremely high requirements on the correctness and accuracy of the software. If the software goes wrong and causes loss of customer interests, the software developer will suffer heavy losses.

(3) What is the productivity of software? If productivity is low, less money will be earned and it will gradually lose competitiveness. When counting the total development time of software, the time spent on maintenance cannot be missed. Software maintenance is a very slow thing, and it can slowly consume all the profits gained in the early stage. If the quality of the software is not good, it will lead to high maintenance costs. Trying to improve productivity by cutting corners is not worth the loss.

Technical feasibility analysis can be simply stated as: Is it done? Well done? Is it done quickly?

4.1.3 Social environment

The feasibility of the social environment includes at least two factors: market and policy.

The market is divided into immature markets, mature markets and dying markets.

It is a big risk to get involved in an immature market. It is necessary to estimate as accurately as possible how big the potential market is? How much share can you take? How long will it take to achieve this?

Squeeze into a mature market, although the risk is not high, but there is not much oil and water. If supply exceeds demand, that is, there are many software development companies and few projects, then vicious price bargaining may occur during bidding. The first domestic companies selling computers and doing system integration made a fortune, and others became jealous and crowded in. The average profit of this industry also dropped.

Don’t enter a market that is going to die out. Although many programmers miss the vividness of programming in the DOS era, no one wants DOS applications now. DOS software can still be used in school teaching, but commercial software companies can no longer develop DOS software.

Policies have a great impact on the survival and development of software companies. Throughout the 1990s, China Telecom's charges were quite high, and this move alone drove domestic Internet companies to the brink of death. Certain software industries are highly profitable, but there may be local protection policies that make competition unfair. Improper policies will hinder the healthy development of software companies, but the most fearful thing is government interference in the legitimate behavior of enterprises. For example:

Competition in the home appliance industry is very fierce now. The CEO of a famous company is so good that he beats his opponents away. So the leaders of the central government came to inspect the enterprise and made a speech: "Your achievements have been brilliant and have been highly valued by the central government...but we are a socialist country, not a capitalist country, and you must leave a message to your comrades in the brother enterprises." Let’s eat!”

Once I visited a friend who studied economics at Peking University. This young man, who is still a party member, said this: "I have been studying the rise and fall of domestic star companies recently, and I have discovered a pattern. Once a star company is inspected by government leaders, it forgets who it is and disappears. Will do something stupid that will lead to death."

I really don't understand why there is still a "secretary" position in the company. I thought "Secretary" was the most ridiculous official title in the world. "Secretary" was originally a synonym for "secretary", a title for a dispensable administrative staff, but it turned out to be the highest official title in China. Every time I see the news network mistakenly calling the President of the country the General Secretary, I get very angry: because the title of General Secretary only applies to tens of millions of party members, don’t the country’s news organizations target more than one billion

3

Ordinary people? If my future workplace still relies on a "secretary" to take care of things, I will be busy getting angry every day, but I will still have the energy to program.

4.1.4 People

There is a famous saying: "People are divided into four categories-characters, talents, people, and scum."

If a software company If the above four types of people are complete, the best division of labor is to let "characters" be the leaders, "talents" be the front-line developers, "people" be the administrators, and "scum" be responsible for paying bribes.

Here we only talk about the company’s leaders and developers “doing it or not”. After all, there are only a few "characters", but there are many "talents". The type of "talents" who are able to carry out tasks as easily as possible can be leaders, and the type of "talents" who are able to perform tasks as easily as they are easy to perform are suitable for being software developers. If a group of graduates with bachelor's, master's and doctoral degrees apply for jobs in a software company, how should they be hired? My suggestions are as follows:

First choose undergraduate graduates, because they are young, full of energy, don’t put on airs, are not ashamed to ask questions, have low requirements, and contribute a lot.

Secondly, choose master's degree graduates. If the student is not as old as Fan Jin was when he passed the exam, and he did not write articles every day when he was studying for the master's degree and gave up his programming job, then let an experienced bachelor's programmer take them to practice. It can be used after a few months of practice.

If all the bachelor's and master's degrees are taken away by other companies, then you will have to pick up a few doctorates to top up the number. What’s the use of having a PhD in a software company? I can't think of any use, I just know that they are worthy of pity: in the past six or seven years from master's degree to early Ph.D., I didn't learn much about real skills, but learned to be "high-minded" and even "false"; when I graduated, I suddenly looked back, I realize that my youth has been wasted and my soul has become old. I can only sigh and sigh, forcing my pride into self-confidence. I will also graduate with my Ph.D., and I will sell it as a third-hand loan at a low price. I really envy those bachelors and masters who are younger than me, they can fly far away, alas