Well, I figured it out! I figured out what makes me miserable, what bugs me the most, what's grinding my gears. The unmaintained failures! I never heard of these before, I invented the concept just now.
So I am running some tests right now on 15 servers. I just went down to the server room to check that everything was all right and I noticed a blinking amber light on one of my servers. A SAS 15k 450GB disk just died. OK, I checked my stash and sure enough I had a spare. In the right caddy mind you, so I just replaced the disk while the server was running. It is now OK, rebuilding the RAID while the server keeps working. Then I went to EBay, bought one, so I will have a spare next time.
I don't mind failures like this, not at all. These are maintained failures. Here is the definition:
- You have a clear and immediate way of detecting that there is an issue.
- You have a clear and obvious solution to solve the problem.
Now here is the thing: if you develop a software and you maintain your failures (bugs) like this, I am not a drama queen, I only have a nervous breakdown only when the failure, the bug is unmaintained. When you don't have a way to recognize it or when you don't have an obvious solution. If you do your job right, there will be no unmaintained failures. Every software error, every bug will be detected and the solution will be obvious.
Neat, isn't it?
Nos, rájöttem! Kitaláltam mitől érzem magam nyomorultul, mi idegesít a legjobban, mi darálja a fogaskerekeimet. A kezelhetetlen hibák! Eddig soha nem hallottam ezekről, épp most találtam ki a dolgot!
Szóval éppen futtatok pár tesztet 15 szerveren. Épp lementem a szerverszobába megnézni, hogy minden rendben van -e és észrevettem egy villogó sárga lámpát az egyik szerveremen. Egy SAS 15k 450GB diszk pont meghalt. Oké, benéztem a dugihelyemre és hát persze volt tartalék. A megfelelő keretben ugye, szóval épp most ki is cseréltem a lemezt miközben a szerver ment. Most már rendben van, újraépíti a RAID-et, miközben a szerver tovább megy. Aztán benéztem az EBayre, vettem egyet, hogy legyen legközelebb is tartalék.
Nem zavarnak az ilyen hibák, egyáltalán nem. Ezek kezelhető hibák, itt a definíciójuk:
- Azonnali és világos észrevenni, hogy valami van.
- Nyilvánvaló és azonnali megoldás van a problémára.
Namost itt a lényeg: ha szoftvert fejlesztesz és így kezeled a problémákat (hibákat), akkor nem hisztizek, nem kapot idegösszeroppanást, csak akkor, ha a hibák kezeletlenek. Amikor nem nyilvánvaló, hogy hiba van vagy nem nyilvánvaló a megoldás. Ha jól végezted a munkádat, akkor nem lesznek kezeletlen hibák. Minden programhiba, minden problém kiderül és a megoldás nyilvánvaló lesz.
Frankó, ugye?