News: 1647246606

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Prototype app outperforms and outlasts outsourced production version

(2022/03/14)


Who, Me? We all want the users of our software to be happy, but how far would you go to fulfill that requirement? For one Register reader, perhaps a bit too far. Welcome to [1]Who, Me?

"Harry" (not his name for reasons that will become clear) was working as a contractor and doing some onsite development. His team had come up with a nifty prototype for a new process, and the users absolutely loved it. Management was also impressed, but Harry and co. would not get to develop a production version. That task would fall to a big outsourcer.

While the Big Guns worked on a production version, Harry and his team kept the users happy by polishing the prototype. Slow bits were rearchitected. Working bits were buffed. User feedback was addressed. The usual sort of thing.

[2]

This went on for a few years until "the Big Guns asked for us to stop and freeze the build," said Harry. "They had handed the job to a Big Gun Contractor (you know the shortlist) and it was moving with all the speed and user appeal of a striking slug."

[3]

[4]

At every meeting the users kept adding to the requirements list and the contractor couldn't keep up. The production beta was in a horrid state and the users refused to go near it. "Could we please give them at least a chance?" was the plea.

Management conceded and declared that putting out new features was forbidden. It would be a sacking offence. The changes had to stop.

[5]

Except Harry's prototype was still rolling along in the background. "We had a new build nearing completion," he said, "including some deep productivity features the users were keen on, and also featuring a revised branding because the functionality had by now way overtaken the original concept."

"Could we just roll that out?" wondered Harry. The bosses were told some very slight untruths: "It was purely a maintenance release and had no new functionality, honest!"

"Userland pushed, management acceded. Rollout!"

[6]

Except that once logged in, it was clear this was quite a bit more than a maintenance release. "The revised branding involved a total overhaul of the landing pad," admitted Harry, "it looked like we had grafted on a whole new product."

It didn't take long for the first angry email from management to arrive. Sure, the users could be trusted to keep quiet about getting their wishes granted. But if anyone more senior took a deeper dive then the upgrades would be revealed and pink slips issued.

The road to redundancy is paved with good intentions.

What was Harry to do? The answer was to double down. One of his many hats was as a technical author, and he'd been involved in setting up an in-house wiki in which staff and contractors alike were encouraged to post. It had become wildly popular. Could it also save Harry's bacon?

"I now noticed that in his ire, the manager had forgotten to BCC everyone and all the anonymous pointy-haired managers who had obstructed us over the years were revealed in all their sordid glory," said Harry.

[7]IT blamed after HR forgets to install sockets in new office

[8]IT advice fuelled by beer is the best IT advice of all, right?

[9]Beware the techie who takes things literally

[10]Beware the big bang in the network room

"I reckoned it would take any one of them perhaps 10 minutes to steam over it and check their facts before responding to it. That was how long I had. So I hit Reply All and started typing."

Tappity-tap: The old UI had begun crashing. The new one was just a cosmetic makeover. Everything was in the Wiki. Send.

Harry switched to the system's page in the Wiki and hit Edit. More tappity-tapping: A longer version of the email. Copy and paste a list of the maintenance fixes. Upload the new logo. Pop in the overview from the Help manual. Save. Done.

He had just enough time to grab a well-earned coffee when the first reply dropped into his Inbox. A manager had indeed taken a look at the wiki page: "Yes, it's true," went the reply, "it is only a cosmetic thing, I checked the wiki and it is quite clear about that. We can all breathe easy and go back to work."

Lucky nobody thought to check the edit history, eh?

Having gotten the final update out, there was nothing left for Harry's team to do and they went their separate ways, "but at least we still had jobs to go to."

But what of the production system? "It was always ludicrously expensive and unusable," recalled Harry. "Other, newer systems took over piecemeal as changing needs dictated."

In an effort to push the users over the line, accounts in the prototype were disabled "but that just meant the business quality plummeted."

There would be more years of pain before the system was finally decommissioned and the bits of Harry's team's prototype that were not outdated were resurrected.

"It is a warm feeling when your prototype lash-up outlasts the production tool," he concluded.

Ever tried to help your users, but found yourself having to cover your tracks when management took exception to your helpfulness? Or written a temporary bit of code that ended up becoming too permanent? Confess all with an email to [11]Who, Me? ®

Get our [12]Tech Resources



[1] https://www.theregister.com/Tag/Who,%20Me?/

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Yi8gWKEaiS8XBd4zcAcyjQAAAE8&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Yi8gWKEaiS8XBd4zcAcyjQAAAE8&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Yi8gWKEaiS8XBd4zcAcyjQAAAE8&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Yi8gWKEaiS8XBd4zcAcyjQAAAE8&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Yi8gWKEaiS8XBd4zcAcyjQAAAE8&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[7] https://www.theregister.com/2022/03/07/who_me/

[8] https://www.theregister.com/2022/02/28/who_me/

[9] https://www.theregister.com/2022/02/21/who_me/

[10] https://www.theregister.com/2022/02/14/who_me/

[11] mailto:whome@theregister.com

[12] https://whitepapers.theregister.com/



Stop Gap

Admiral Grace Hopper

In 1992 we wrote a quick stop-gap to cover the 9 months before the delivery of the final all-singing all-dancing product to be delivered by a third-party supplier. In retrospect it was some of the best code I ever wrote - compact, efficient, did what it needed to do with no frippery and did it reliably. The third-party was still delivering progress updates but no product when I moved on. I assume that they never actually delivered as I know that our stop-gap was still running in Production in 2015 by which time the building in which it was written had been demolished.

Re: Stop Gap

Anonymous Coward

Mid 90s, I wrote a complete queue system in Perl5 aimed at distributed computing.

Reliable, easy to port to new architectures, etc ... And free :)

15 years later, I came to know bits of it was still being used probably because it would cover bizarre cases not usually covered by commercial systems.

Re: Stop Gap

Anonymous Coward

Likewise - 6 month temporary stopgap until the big national solution was implemented. Double digit years later it was still running until it got migrated off VB6 onto .net.

Part pride it stood up for so long, part shame because of all the stupid design "decisions" that were made because it was a throwaway.

Anne-Lise Pasch

I feel my professional life is made up of lash-ups that may-or-may-not still be production, but managed to carry companies forward. I feel good about this.

low_resolution_foxxes

I work in technical support. We keep extensive unofficial documentation on virtually every topic. Every now and then manglement stumble across a document and demand that it gets a formal official release for use.

So far, the process goes: Manglement dislike any criticism or acceptance of problems. Delete 50% of content. Leave positive details in. Make 100 cosmetic changes. Argue for two days about grammar.

End result: all the techies use archived secret copies of the original document.

b0llchit

An old wisdom: There is nothing more permanent than a temporary solution.

please pass the band aids, will you

Scouts UK

A Non e-mouse

Sounds an awful lot like the UK Scouts system: [1]https://forums.theregister.com/forum/all/2015/01/23/national_scouts_database_at_serious_security_risk/#c_2420265

I wonder how that's going?

[1] https://forums.theregister.com/forum/all/2015/01/23/national_scouts_database_at_serious_security_risk/#c_2420265

Re: Scouts UK

Anonymous Coward

I understand the system we're now using in Scouts is a complete re-boot/ architecture following that debacle.

It still isn't the most intuitive system (what enterprise system is) and it is only used for adults; most Scout troops are paying for the external third-party system for young people (where they can afford it).

20 year old calculator still running

Anonymous Coward

Wrote a financial calculator in early 00s but wasn't allowed to "write any code". I built it in *cough* Excel. Still being used today; one of the original users of it sends me a screenshot every so often with comments like "I bet nothing else you wrote has lasted this well!". He's not wrong.

"Or written a temporary bit of code that ended up becoming too permanent?"

Pascal Monett

Oh I have, and I'm fairly certain that many, many people on this forum have as well.

I have bits of code running in several major companies in Luxembourg since 1998. I've got a "backup" ftp process piping data into a mainframe that was supposed to be decommissioned in 2015. There are some more bits and pieces I could mention, but mostly I can say that whatever code I have put in place likely only got replaced when the customer shut down the Domino server for the last time.

Re: "Or written a temporary bit of code that ended up becoming too permanent?"

tip pc

Someone is crazy & brave enough to shutdown domino servers?

Re: "Or written a temporary bit of code that ended up becoming too permanent?"

jake

I am always more than happy to do so :-)

Re: "Or written a temporary bit of code that ended up becoming too permanent?"

Korev

Well, dominos tend to fall over...

DOS

The Man Who Fell To Earth

I wrote equipment control code in the late 1980's in QuickBasic that I know is still being used because I still occasionally get questions from users of it. There is a whole industry that builds legacy PC's using modern components to interface to old equipment's ISA boards, run DOS or ancient NT versions, and such.

So

Anonymous Coward

Some people developing a thing quickly in close collaboration with the users produces a better result than a vast army of consultants. Who could've guessed?

Been there - done that

AlanSh

I had to write some temporary code in (gasp) Excel VBA to extract data and reformat it so we could invoice the customer. The old manual way was taking 2 weeks man time every month - mine took 10 minutes (and did more). It was supposed to last 12 months while they designed and built something "better".

As far as I know, the code is still being used 5 years later. It just worked! I did fully document it which I supposed helped.

ARGO

I suspect there are many "just for a demo" VB front ends that outlasted the system they originally front-ended for.

I discovered one of mine was still in use 15 years after I moved on when my former employers tried to sell it to my current employers. That was a fun meeting!

TeraTelnet

Ah, but was your advice 'quality product, safe to buy' or 'don't touch it with a bargepole!'?

ARGO

Neither. As none of the people presenting it were at the company when I was there, I asked how to make it do xyz - which had been in the phase 2 deliverables list, but not the demo I wrote. Guess what their product couldn't do?

Temporary hacks aint.

jake

If you are reading this, you're probably using the hack that I put together in 4.1BSD (now called 4.1aBSD) for part of the TCP/IP stack to be included in 4.2BSD[0]. It was supposed to be one of those "Just get us through the demo, dammit!" hacks. I got 'er done over Christmas/NewYears break in 1981. Virtually every version of TCP/IP since has used it. Not too bad for a quick hack.

[0] Just to cut the usual pack of idiots putting words into my mouth off at the socks, no, I didn't write the whole stack. That's why I said "part of". It is only about 120 lines of C in total.

Anybody can win, unless there happens to be a second entry.