Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register


If is not broken...

If is not broken, don't fix it. I am pretty sure everybody has heard this sentence at least one (million) time.

Usually, this is used when somebody, in a fit of activity, decide to put his mittens on something, breaking it completely (with collateral damages). Of course hindsight is 100% accurate.

But if we go to look at things from really close, we (when I say "we" I mean "we humans") are constantly fixing stuff that ain't broken.
Because what is NOT broken right now is going to be broken pretty soon.

Entropy, is the term used by scientists and whomever pretend to be "smart", everybody else simply calls it "time passes". And it effects everything that exists. Sure, NOW is not broken, but if you look close, you can see the cracks starting to form.

Why do you think it's called system "maintenance" ? Because systems require constant maintenance. In many circumstances is small stuff, but slowly things gets more and more corrupted, until they actually crack, that is, they stop working altogether. Of course there is always the possibility that something crashes down hard, because of internal or external intervention, in these cases the term is "incidents". But even if it doesn't go down with a bang, there is always the possibility that we decide to replace it before the it does. Is normally in these circumstances that the aforementioned sentence is mostly used and it loses its "wiseness".

Because, yes, we are FIXING something that is not broken (yet). To avoid that it does break.

At this point, usually, everybody start screaming not only that "you don't fix yada yada", but there will be "stuff to change". That is true. It doesn't matter if the purpose of the "new" thing is the same as the old one, you can bet your left ball that something will be different.

Let's look at software for example.

Now, software usually is either broken from the beginning or it doesn't break on its own (let's forget the problems connected with peoples that click on everything without looking, like the "delete" button). Experts could object that software is ALWAYS broken from the beginning, because software always has bugs, small or ginormous. And software normally tends to have some "problems" that the more you use it the more is annoying, like that bump on the chair that doesn't look that big in the beginning, but after 3 hours it starts to be a real PITA.
 
And all softwares, especially the "serious" ones, every now and then needs to be updated, to apply patches and fixes for the aforementione bugs or... other stuff. And we could discuss on the fact that the real purpose of most "updates" is that whoever produce the software would like to keep eating, that can be understood.

But in some circumstances, when things changes drastially, you can have problems.

Let's say, for example, that a beautiful bridge, that was beautiful when it was new, but now it ain't, was in need of a lot of maintenance, and anyway is now too small for the volume of traffic it should carry. Well, you could decide that is time for a new bridge. And here we can clearly say that we are fixing something that is not broken, but it could be broken very soon, with drammatic consequences, especially if you happen to be on the bridge when it goes from "not broken" to "broken". But re-make the bridge is going to be a problem. Firstly, cost, of course, but secondly, if you decide to take down the bridge to rebuild it, in the mean time, there will be no bridge.

Of course you could leave the bridge there and build a new one (not-so) nearby, but this also has problems, you need to build another piece of road, with added costs and you also need to consider whatever is around. If you "upgrade" the bridge so it can carry more traffic, what about the rest of the road?

And after this "roady" introduction, we are back talking about $screamandyell of whom I spoke sometimes ago.

After the Great Catastrophe, of which I told above, the "old" system had been quickly re-instated by UL, and then... and then, apparently, nothing happened anymore for a while. Besides the fact that, as "punishment" for the failed "secret" operation, UL had "taken over" some maintenance activities on the old system.

When I say that he had "taken over", I mean, of course, that he had organized with $screamandyell that they would send the requests to us (that means ME of course) and we (plural Majestatis) would have done them.

However, since those "maintenance activities" turned out to be lots and lots of MANUAL changes on the messages and the archives and they were not that "sporadic" but quite frequents, after having a look at that stuff I let UL know that 1. No, and 2. No. and 3. Seriously what the fuck were you thinking?

UL - But I've already told SL that we would have taken care of these things!
Me - Then it's better if you get cranking, because I am not going to do this shit.
UL - But you're the sysadmin!
Me - Correct. I am a sysadmin, and this has nothing to do with 'sysadminning'. This is not system administration or maintenance, this thing is beyond "maintenance", this thing is at "take it behind the shed and shoot it" stage. And there is already a brand new system that is perfectly working and it only needs a good testing to be put into production.
UL - He... last time it didn't looked like it was working so well...
Me - That because you ignored TESTING because you didn't wanted to talk with the customers.
UL - But if we tell them that there will be changes they could decide to leave!
Me - I think that's hard to believe, borderline bullshit.
UL - What?
Me - Those peoples, the customers I mean, are using the system as a data transmission mean between firms, as such every change require some testing and cannot be done so easily, as we discovered. Now, even if they decide to leave right now, they'll have to either rebuild the system on their own, because it's an integral part of their business, go look for another one or rebuild their entire business to not use such thing. The latter probably require a lot of time and effort and money, so I don't think is doable, the rest, still require them to change part of their infrastructure to cope with a new system. So it doesn't really matter what they decide to do, they will have to apply some changes. At this point, if they decide to "leave" is not because we decided to change, there is something else.

UL - But...
Me - And the fact that there are all those changes in the messages and archives make me think that maybe, the old system isn't really "ideal" for whoever is using it. Maybe it WAS perfect in the beginning and now is no longer so. So we could start asking those people how they actually use and then alter the new one to better suit their need. Maybe the correct thing to do is not to make the new one "as close as possible" to the old one but "as close as possible" to what is needed.
UL - ...but...
Me - This also means that we'll probably need to re-implement part of the new environment and test it. With the cooperation of the customers.
UL - ...but if it works why do we want to fix it?
Me - ...because the concept of "it's working" is a lot subjective. As you should have understood by now.

Davide
24/02/2021 09:33

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

9 messages  this document does not accept new posts

Messer Franz

By Messer Franz posted 19/04/2021 07:58

nel modo perfetto le cose non si rompono mai perchè vengono sostituite in tempo

nel mondo perfettissimo le cose che anche solo potrebbero rompersi hanno una copia pronta per la sostituzione perchè "non si sa mai"

nel mondo perfettissimissimo le copie sono uguali alla versione in funzione, già testate e basta "attaccare la spina"

nel modo perfettissimissimochepiùperfettononsipuò i clienti lo sanno, sono d'accordo, e così i tuoi manager che hanno accettato la spesa e ti hanno dato il tempo per preparare e testare il tutto.

A questo punto anche Tolkien ti ferma e dice "ehi, non spingerti troppo in là con la fantasia!"

-- Messer Franz

Messer Franz

By Messer Franz posted 19/04/2021 08:01

...tutto ciò mi ricorda un certo firewall che "mettiamone uno più potente e chiudiamola là".... deja vu? Una maledizione di Tutankamon che è andata nel posto sbagliato? Le forze astrali contrarie?

 

 

...più probabilmente il modo dell'informatica da 30 anni a oggi.... cioè da sempre, in pratica...

-- Messer Franz

Guido

By Guido posted 19/04/2021 09:40

Quando iniziai mio sponte a riscrivere $APPLICATIVO fatto in java 1.6 e jboss 5 nel 2015 (che trattandosi di tasse faceva riscuotere milioni) ebbero da ridire perche' "non si cambia quello che funziona" e "il cliente non vede l'esigenza". Adesso $APPLICATIVO non funziona piu' (o quasi) adesso il mio lavoro carbonaro e marginale e' diventato improvvisamente importantissimo (ma mica hanno interrotto gli sviluppi sul vecchio).

-- who uses Debian learns Debian but who uses Slackware learns Linux

Biscottone

@ Guido By Biscottone posted 26/04/2021 10:01

> Quando iniziai mio sponte a riscrivere $APPLICATIVO fatto in java 1.6 e jboss 5 nel 2015 (che trattandosi di tasse faceva riscuotere milioni) ebbero da ridire perche' "non si cambia quello che funziona" e "il cliente non vede l'esigenza". Adesso $APPLICATIVO non funziona piu' (o quasi) adesso il mio lavoro carbonaro e marginale e' diventato improvvisamente importantissimo (ma mica hanno interrotto gli sviluppi sul vecchio).

In questi casi si vede come il mondo dell'informatica sia ormai sul viale del tramonto (mentalmente parlando).

O ti fanno fare un'applicazione in un linguaggio immaturo, non ben supportato, che nessuno conosce, con pochissime librerie, perche' "e' il futuro", oppure te la fanno fare con una versione del linguaggio obsoleta e non piu' supportata da almeno 3 anni.

Il vecchio modo di lavorare "usa solo roba ben testata, stabile e supportata, ma non troppo vecchia, in modo da avere un po' di vita utile davanti prima che diventi NON piu' supportata" e' ormai una roba da "vecchi che non stanno al passo con i tempi".

 

-- Biscottone

Ruh

By Ruh posted 19/04/2021 13:45

Peccato non sia possibile cambiare la mente degli UL - è rotta, ma non è né sostituibile né riparabile...

-- Ruh

Gian Gianni

By Gian Gianni posted 19/04/2021 14:19

Ci sono pure quelli che non cambiano la loro vecchia auto finché non vedono le fiamme uscire dal cofano - e non la portano MAI dal meccanico. Coi software succede la stessa roba: si cambia quando si vede pure l'hardware su cui gira cominciare a sfumacchiare.

-- Gian Gianni

Gabriel

By Gabriel posted 19/04/2021 14:50

E vogliamo parlare invece di quando si aggiusta una cosa che non è rotta però l'aggiustamento la rompe?

sto parlando di un software multifunzione per non vedenti, di cui la versione vecchia funziona bene su Windows 7 e Windows 10 però è compilata in vb6, invece la versione nuova è compilata con VB.net e funziona su Windows 10 però a molti più errori rispetto alla versione vecchia e il programmatore continua ad aggiungere funzioni invece di correggere quelle già esistenti.

Ovviamente la conseguenza del tutto è che gli utenti si incavolano e il programmatore per qualche strano motivo chiede a me dei suggerimenti, che poi naturalmente non vengono ascoltati.

quindi bisogna anche stare attenti che quando si cerca di aggiustare una cosa non rotta non si rischia di romperla veramente, e non come nella storia in cui gli utenti dovevano aggiornare i loro sistemi interni, ma proprio bisogna fare attenzione che la cosa funziona bene.

-- Gabriel

Marlon

By Marlon posted 20/04/2021 09:18

Concordo con Gabriel qui sopra. Quando ti rifanno tutto un software cercando di reinventare la ruota, e questa te la fanno ovalizzata, quadrata o a forma di poligono irregolare, si ottiene davvero qualcosa che prima funzionava e dopo la riparazione è rotto. In questo caso il detto "Se non è rotto non ripararlo" andrebbe applicato fermamente.

Poi, il perché ti vanno a reinventare (male) la ruota è facilmente spiegabile: quando cambiano gli UL, cambia tutto. È una certezza matematica in qualunque posto di lavoro nell'Universo: quando cambiano gli alti livelli, tutto quello che hanno fatto i predecessori è merda allo stato puro e bisogna rifare tutto da capo.

-- Marlon

stefano664

By stefano664 posted 21/04/2021 15:48

La conosciamo tutti la storia, no? Aggiungi due righe di codice per farlo funzionare ancora un po' che è indispensabile, non sostiubile, cascherebbe il mondo... ma rifarlo costerebbe troppo!

-- stefano664

9 messages  this document does not accept new posts

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project Powered By Gigan