Expensive projects are really cool

Arseni Mourzenko
Founder and lead developer
177
articles
June 19, 2016
Tags: communication 27 featured 8 management 34 short 50

Fol­low­ing my pre­vi­ous ar­ti­cle, a col­league told me a sim­i­lar but much more im­pres­sive sto­ry which hap­pened to him. Since he doesn't en­joy writ­ing too much, he in­vit­ed me to tell the sto­ry here.

Six years ago, Nico­las was hired as a free­lance de­vel­op­er in a French multi­na­tion­al cor­po­ra­tion. A year ago, the com­pa­ny start­ed a large in­ter­nal pro­ject which ex­pe­ri­enced a few prob­lems. Be­ing three months late, the pro­ject was con­sid­ered high pri­or­i­ty, and it was de­cid­ed to in­crease the num­ber of peo­ple work­ing on it, which in­clud­ed hir­ing a few free­lancers such as him. Clear­ly, Fred Brooks' nev­er wrote any­thing about that ei­ther.

The pro­ject's goal was to deal with data pro­vid­ed by the re­tail­ers. It con­sist­ed of:

The free­lancer found some in­ter­est in the pro­ject and had an op­por­tu­ni­ty to talk to a lot of peo­ple in this com­pa­ny. One ques­tion which both­ered him for a long time was how those users were and are do­ing their jobs, be­fore the pro­ject even ex­ist­ed and now, be­fore it is fin­ished. Sur­pris­ing­ly, his boss couldn't an­swer the ques­tion, and nei­ther could the oth­er peo­ple work­ing on this pro­ject. Every­body claimed that the pro­ject is ex­treme­ly im­por­tant, but there was no ex­pla­na­tion what­so­ev­er about what it will ac­tu­al­ly change for the end users.

Then, fi­nal­ly, dur­ing a cof­fee break, he met one of those users, Stéphane: it ap­peared that half of the users worked in the same build­ing, just on a dif­fer­ent floor. The per­son re­vealed him that the pro­ject is in­deed promis­ing and would have a huge im­pact. Right now, those users are lim­it­ed by the func­tion­al­i­ty of the prod­uct which col­lects and or­ga­nizes the data pro­vid­ed by the re­tail­ers. There is some sta­tis­tics stuff in it, and some chart­ing, but both are very lim­it­ed.

When Nico­las asked whether pro­cess­ing and chart­ing could be done in Ex­cel, Stéphane told that be­fore be­ing hired in this cor­po­ra­tion, he was in a com­pa­ny where they in­deed used Ex­cel and a bunch of scripts writ­ten by an in-house pro­gram­mer in or­der to ac­com­plish the same re­sult as they would when the pro­ject will be fin­ished.

In­ter­est­ing... So why wouldn't they use the same ap­proach here? Stéphane sus­pect­ed that there are tech­ni­cal rea­sons for that. From there, Nico­las start­ed to ex­plore the first part of the pro­ject—the one which com­mu­ni­cat­ed with the data col­lec­tion prod­uct. A few dis­cus­sions with the mem­bers of the cor­re­spond­ing team helped mak­ing an in­ter­est­ing dis­cov­ery: while the prod­uct made it par­tic­u­lar­ly dif­fi­cult to in­ter­act with, there was a hid­den and un­doc­u­ment­ed fea­ture which al­lowed the rel­e­vant data to be ex­port­ed as an Ex­cel file. The fea­ture was dis­missed by the first team be­cause of the per­for­mance penal­ty: for a sam­ple set of data, it took two sec­onds to get it from the data­base, and near­ly two min­utes to gen­er­ate the Ex­cel file.

Hav­ing gen­er­at­ed an Ex­cel file as an ex­am­ple, Nico­las sent one to Stéphane, ask­ing how close the ac­tu­al for­mat cor­re­sponds to what Stéphane used at his pre­vi­ous job. A few min­utes lat­er, Stéphane called, ask­ing Nico­las to met him right now. He was very im­pressed to dis­cov­er that such spread­sheets ex­ist: while the for­mat was large­ly dif­fer­ent from what he used in his pre­vi­ous job, all the need­ed data was here, which meant that from such Ex­cel files, the users could do their job right now, with­out wait­ing for the pro­ject to fin­ish. Not only it made the big pro­ject ir­rel­e­vant for them, but it pro­vid­ed a very flex­i­ble way to change the busi­ness rules: some could be changed by the users them­selves, and oth­ers would re­quire just a per­son knowl­edge­able in script­ing.

Stéphane was so ex­cit­ed that he asked Nico­las to make some­thing which could make it pos­si­ble for the end users to make Ex­cel ex­ports them­selves. Two hours lat­er, Nico­las fin­ished a rogue script which was mak­ing pos­si­ble to those users to spec­i­fy the need­ed pa­ra­me­ters through a form, and pro­vid­ed them with the re­sult­ing Ex­cel file.

Sur­pris­ing­ly, the slow­ness of the ex­port didn't seem to both­er Stéphane: “A dif­fer­ent sys­tem we use on a dai­ly ba­sis to do a com­pa­ra­ble task takes at least an hour; a few min­utes to gen­er­ate an Ex­cel file could eas­i­ly be qual­i­fied as in­stant­ly here.”

“How­ev­er, I wound't rec­om­mend talk­ing too much about our stuff around you.”—said Stéphane con­fi­den­tial­ly—“There is noth­ing good at telling peo­ple that a pro­ject which cost­ed hun­dreds of thou­sands of dol­lars to the com­pa­ny is ac­tu­al­ly use­less. There is too much at stake here, and it's too late to stop the pro­ject now, the rip­ple ef­fect would be tremen­dous and will nec­es­sar­i­ly back­fire at the one who caused it.”

Few days lat­er, Nico­las left the com­pa­ny for per­son­al rea­sons.

One day, Nico­las re­ceived an e-mail from Stéphane, men­tion­ing that some­one talked too much and the man­age­ment dis­cov­ered the rogue script and the Ex­cel ex­port prac­tice. The script was de­stroyed, and man­age­ment ex­plained to the end users that they don't need one: in­stead, they will be able to use the prod­uct which will be re­leased in a mat­ter of weeks.

Nico­las heard that the pro­ject was then de­layed for six con­sec­u­tive months, and then closed with­out be­ing fin­ished. Com­mu­ni­ca­tion part of the pro­ject was mak­ing the pro­pri­etary data­base crash more and more fre­quent­ly; sta­tis­tics stuff was al­ways wrong; and chart­ing part had too many glitch­es to be us­able. Two weeks be­fore killing the pro­ject, the com­pa­ny threw a bunch of mon­ey to hire su­per-ex­pert (i.e. su­per-ex­pen­sive) con­sul­tants who were ex­pect­ed to fix the mess. They failed (and still got paid). There were a few lay­offs, and some­one from the top man­age­ment was fired.

A year lat­er, a sec­ond e-mail from Stéphane told that he was leav­ing the com­pa­ny, and also men­tioned that the cor­po­ra­tion is start­ing an­oth­er large pro­ject which will de­fin­i­tive­ly make it pos­si­ble to do some sta­tis­ti­cal analy­sis and draw charts. Stéphane's man­ag­er sent an e-mail to the boss of his boss, ex­plain­ing that it would prob­a­bly be more cost-ef­fec­tive to use Ex­cel ex­ports, but re­ceived no re­ply. Ac­cord­ing to ru­mors, the pro­ject was ac­tu­al­ly fin­ished, al­though nine months lat­er than ex­pect­ed, but had so many bugs that it was dis­card­ed af­ter a few months.