The worst in the history of the project: struggling for 12 years, more than 600 million lines of code

Have you seen the worst of the project, how long it stays finished? Six months? Year? Today introduced this wonderful project, not only let in too bad a start, but also their teeth more than 12 years, until the project leader caught up and thrown into prison did not finish.

In the end how bad? ↓↓ tell you with startling following set of data

● A total of more than 600 million lines of C ++ code

● A total of more than 50,000 classes

Deployment ● C ++ syntax compiler version limit, are used by the obsolete, only one (not long maintain) Operating Systems

● Based on CORBA

● database software used by companies from an already bankrupt

● several layers superimposed on each other layers make up the user interface, but none of these layers is maintained by the author

● user interface needs to start running a sub-thread 40-50

● 32 required on a parallel machine 48 hours compiled

● did not use the runtime dynamic linking technology, an executable program, there are several megabytes so much

● start this thing takes about 15 minutes

● crash then typically within 30 seconds to 30 minutes

Oh my God!  The worst in the history of the project: struggling for 12 years, more than 600 million lines of code

You have never seen "Hell class" rotten project

2008 years ago, the technology blog projectfailures broke the news, blogger those years I was employed in France, a large technology company, involved in a software project commissioned by a government agency, a consultant positions. There, he witnessed the pinnacle of stupidity and madness, as well as the role they played terrible in the software development work.

Ten years on, this hellish project has been turned out, once again swirling speculation, but even this blog projectfailures out a special review.

In the article, he wrote: "It is not just what the lack of professional competence, this project ruthlessly trampling on human dignity, have been serious enough to sometimes make me feel being in the prison."

Sha Sha Sha? But it is to write the code, in addition to lose hair, can be even life, too it! ? The project ye so terror ah!

This project in the end Han situation?

About 1996, a French government agency requested a company to develop a software. Overall this stuff should not be too complicated, but there are some slightly unusual small problems to be solved nothing.

Party paid millions of euros, the planned duration of about 2 to 3 years. So the company recruited a few programmer, began to work. With the funds gradually put in place, which the company began to frantically recruit people, put the team doubling every three months or so.

As a result, seven years later, the project would not formed. Fines because delays are up to several thousand euros per day. So management decided to streamline what team to reduce project costs - which would be put to work, people are open, and another recruit some of the novice lacks experience in the development of the software to work.

10 years after the project began, the entire project has been bogged down in the quagmire of disaster, entirely by pure chaos composed. So middle managers project finally decided to hire some people with experience in the development of software engineering, to put this mess dragged out from hell.

It took another two years, this project actually still linger. This company sent to the party by increasing the amount of "design changes" bill, to make up for the delay period generated daily fines. This are the 2008 Hey!

This is how the project could be so bad?

01 code quality appalling

In the language of choice, no one would dare say that C ++ is a kind of easy to understand language. In fact, in simple terms, C ++ may be regarded as the worst kind of programming language instead. You know, but it is complicated to even its creator Bjarne Stroustrup I do not say that they are completely mastered the language.

Of course, this is not entirely to blame the team. You know, at the time, such as C ++ has endless maze of complexity thinking is a great market. Many young people want to be super programmers have this door sounds super-fast hardware language in droves. In fact, these poor baby who was miserable most of the last C ++ abuse, how beautiful youth, spent all over again in a large section of arcane code spent exploring why this program would have no reason inexplicable collapse on such a thing.

The right mind, then have turned to other languages ​​and other projects go up. You know, life is short ah.

However, it seems that the company did not jump out of this circle, or a C ++ suddenly plunges into the pit.

Even so, no matter what you use a programming language, maintaining a huge code base itself is not an easy thing - and this project's code base is actually more than 600 million lines is huge.

That, more than 600 million lines of code is what the concept?

Contrast the Linux kernel version 3.13 of the code, in addition to removing the kernel driver and architecture, source code in kernel / inside but also about 130,000 on the line; Another example is the famous editor Emacs, which is too large because too many functions , often to people Tucao "lack of a good editor of the operating system," but even so, it's the total size of the source code, but also is 1,650,009 thousand lines.

Even if you are particularly powerful, Yimushihang, you probably have to spend in front of the monitor around the clock seven days in order to put all six million lines of code all over again.

So we can imagine, to maintain such a large code base, how many programmers it can get crazy. Consider the following two examples, I think, if I were a programmer, I would first crazy to respect it.

On one occasion, a programmer in the project was asked to repair a "Right-click interface will cause the entire application card dead" bug, after several days of careful examination, after consuming countless patience, he found that the right response to an event actually work normal, but the "normal" process requires the program to spend 45 minutes from some great (still!) content library dynamically generated for each menu item, and then to the menu to be displayed. If this time you point a bit unfortunately, right, sorry, spend about 45 minutes to regenerate the menu items it ...

Another time, users reported a "load data from CD-ROM failure" bug. Programmers spent several weeks testing the code analysis, eventually became a mark directly to this issue "resolved." Because they found that loading data from the CD-ROM function is actually good, the problem is, read 700MB of data, it takes about 7 days on this program fills.

It really is a special test of patience.

02 version control chaos all

Incredibly, this team is not entirely the case of version control tools are also engaged for several years, until a team fairly sober mind suddenly thought of the guy with a version control tools to manage code. The results are beginning to try and not make everyone satisfied, so the team switched to another version control system. So will a couple of years, then I do not know how this version control system and smoked wind, all changes to records before all is lost.

This last item selected version control tools are a scourge group with a graphical user interface, cook directly imported from Sweden digital electronic waste. They had arranged for four people constitute a "Version Control Team", responsible for maintaining the normal operation of the full version control system. This led directly to the following conditions:

  • First detection of a file from a version control system version control need to make an appointment to the team in general in order to obtain authorization week later.
  • I want to change the file must be approved through middle management. You need to list the files need to be modified in advance, tell your manager the list, and then report it to apply version control team, which is probably about two days will give you feedback.
  • Every file modification will trigger branch, which means you have to go all the merger modify this file received. You may find the project in so many documents, two people have switched to the same file should have little chance, but in fact, the vast majority of the changes are concentrated in the same roughly 100 to a file, so every time merge all guaranteed to make you'd rather die.
  • Before committing the changes (check-file), you will also undergo a mental torture: Are you ready to submit the code will be handed over to a so-called automatic bug detection program for review, and show them looked after by middle management, in order to Successfully submitted. Needless to say, this is simply useless, bug still kept coming to the fore as springing up, in addition to bug the speed of the block more than anyone. Moreover, the number of the bug found in the analysis found that the number of new bug to bring this "defect corrected" the way it is twice the number of bug fixes ...
  • Version management is too simple. The old version 1, version 2 today, after version 3. No one knows for sure which is specific to the customer's version.

In some cases, management will set a so-called official delivery time, and this time any kind of arrangement with the work plan of the team have no relationship. When the scheduled time of arrival of the delivery date, the customer actually receives is ...... a blank CD with installation tutorial, as it has been for weeks and no one can build the executable program. As a result, customers find themselves receive is a blank disc, then a formal complaint, and then receive a CD program as a legacy to deal with. The reason why customers will find an older version of the program, because the "About" page also reads exactly the same date last year that version of the software with ...

03 team is composed of more baffling

Team filled with such a large group without any software engineering experience, and this much on the software if the bug really has no ears, right?

Remember the above mentioned, management has decided to streamline what team do it.

It stands to reason that any normal brain of a manager will find for such a pure software engineering projects, personnel expenses must be the most important expenses. However, this finding does not prevent the management of all a little bit experienced programmers are open, and put on much lower wage demands rookie. In contrast, all of the managers' jobs are actually clinch firmly, that did not affected.

That team later became what of it? 55 people inside, only 20 programmers, and the remaining 35 are managers. Yes, you read right, this team is really luxurious, to every programmer with a 1.75 manager!

Few managers have experience in software engineering. At that time, just out of the things holding SCO Unix copyright sue Linux users, even if this whole thing is just a bluff, but for many people, it was something quite terrible - suddenly one day, if you had to free software pay, and that may be what ah.

Technical knowledge is quite lacking. Are 200x years, not a few of these people understand the Internet, few are familiar with the Internet, it is just a small take a look at the Internet Movie only. If you mentioned that you saw some what on the Internet, will only get someone else is laughing it.

04 administrative mode refers to abnormal hair

The above absurd situation might make people laugh, but if you know the management of the group of French guys on staff to initiate ruthless like Auschwitz concentration camp where Germans, do you expect to laugh it . Look at these bureaucrats to the provisions of Sick of it:

  • Prohibit late, everyone must hillock before 9 o'clock in the morning. One day, the personnel manager early on guard at the gate of the company, only to the company's after 9:01 and all the people are fired on the spot, programmers, managers and sales, are not spared.
  • From time to time for coffee break, a break is a good few days. Of course, running for coffee grounds is less efficient than people who work sitting knock code. Not only that, whenever there is leadership to develop inspection department, this coffee maker will be turned off people, so let the leaders see someone "not at work."
  • Degree dirty and messy toilet can be said to be unique in the industry of nausea and terror. This is also the management wanted to avoid spending time everyone paid squatting toilet of "efficient" policy dictates it.

You may want to ask, this metamorphosis company, how there are people fought to come to work? The main thing is, that time in France's economy is struggling on the verge of collapse (Until now, France has not completely out of this quagmire), enough to get a job to make ends meet had was not easy, no problem working under harsh conditions point .

Foregone conclusion

As users comments above, the entire project caught in an infinite loop of the chain: the lack of experience led to inefficiencies, resulting in inefficient spending too much, save money and cut experienced people, further reducing efficiency.

So why management also sit back and watch this situation continue to worsen it? In the final analysis, or fear of failure. If you cut the project, it means that the project failed, and the leadership responsibility of the person is you. If this project still linger, waiting for you after that promotion was transferred, this mess by the natural successor to clean it.

Eventually, the company responsible for the project leader was arrested because of misappropriation of funds and other reasons, into the prison, the project struggled for more than a decade in the flames of hell, finally announcing the termination.

Recommended for young people as a witness the whole thing, projectfailures bloggers to just entered the world of programming is:

● cherish life, nothing to do with C ++ toss themselves;

● prefer to pick up a little less stable, but it can play freely, director of small projects, do not covet what looks very easy to go to high-sounding project;

● object-oriented database is not a good thing;

● CORBA should be painful death in the flames;

● those stupid product manager, please refer to the article.

Finally, if you feel that your current job bad heart Wohuo hope that this project can make you happier.

Guess you like

Origin www.cnblogs.com/CQqf2019/p/11162521.html