ако зъболекарите бяха програмисти..
тия дни нещо стана дума с един колега за мен и за ходенето ми на зъболекар.. пита ме нещо "пак ли ще ходиш?", а аз му отговорих "последна коронка и после някакви кариесчета.." той закима разбиращо "ааа.. мейджър билд и после бъгфиксинг."
тогава ми дойде на ум, че наистина зъболекарската дейност, погледната през програмистка призма би звучала, ако не друго, то поне забавна :) ще го карам по ред на номерата (на моето ходене на зъболекар) .. малко ламерски ми е зъболекарския, но се преживява (наклонения шрифт е за зъболекарите нормалния за програмистите)..
---
самата идея да се ходи при зъболекар е стряскаща за много хора. самата мисъл за кабинета, характерния аромат, машинката и всичките други първосигнални асоциации, които изникват при споменаването на тази почти-табу персона е достатъчна, човек да преглътне болката и да се откаже от мераците за близки срещи от третия вид. да не споменаваме случаите, в които въпросния човек е имал неприятни моменти в детството си. прекрачването на психологическата граница е изключително трудно и мнозина не се решават да го сторят.
подобно на ходенето на зъболекар да смениш софтуерното обслужване също е ужас за някои шефове. вярно стария софт може да не бачка като хората; или да има бъгове; или нон-стоп да забива; а може и въобще да не работи в 99 от 100 случава, но си е добрия стар изпитан софтуер дето са си свикнали хората с него и просто няма как да се смени. едно на ръка всичките кинти, които ще трябва да се тръснат за въпросната евентуална смяна на на програмите и време-загубите от навикването към новия интерфейс.
но идва оня момент, в който една сутрин се събужда човек с нечовешки болки или супер подут и просто няма как да не отиде на зъболекар. а ако той самия не отиде, то се намира някой, който го хваща за ушите и го завежда.
обикновено нещо такова е и при смяната на софтуера -- може да е нещо дребно.. ей такова незначително, но пък така да дразни и / или пречи на работния процес, че накрая да не може да се трае и служителите в компанията принуждават шефа (принуждават е кофти дума.. обръщат се към шефа) да смени софта. или пък, недай си боже, да трябва нова функционалност и старите разработчици да са се запънали като магаре на дунав мост.. в крайна сметка шефа или съотвеното отговорно лице (обикновено набеждават админите) има мисия да намери нов софт.
следва избора на зъболекар, който обаче не може да стане на принципа проба и грешка. в смисъл, че дори когато ножа е опрял в кокала, човек все още е склонен да потърпи и си търси най-малкото нещо, за което да се хване и да прекъсне тази толкова неприятна за него процедура. затова с по-голяма тежесет е зъболекаря препоръчан от приятел. даже обикновено е зъболекар препоръчан от приятел.
започва се голямото лутане из софтуерите. по моя опит съдя, че една програма да се прецени (оцени) дали си струва, как точно си струва, за какво се ползва, за какво може да се ползва, как се ползва, как се работи с нея и т.н. характеристики, се вижда след известно време експлоатация. уви спешно, а и не чак толкова спешно, търсещият софт няма времето на своя страна да експериментира задълбочено с продукти. освен ако не си е набелязал някой софт фирма от сума време и само да точи зъбки за ползването на нейните, то в общия случай се ползва жокер "обади се на приятел" / "потръси в гугъл" за софт фирма която е качествена. накрая всичко това трябва да се рапортува на най-всишата заинтересована инстанция.
първия преглед, е по-скоро оглед на положението до момента -- т.е. какви са щетите. прави се рентгенова снимка за да няма пипане на сляпо и се изготвя приблизителен план на лечение. ако пациента има някакви специфични проблеми или прищевки -- всичко се казва тогава. в някои случаи предишни картони (има ли такова нещо?) и сродни медецински материали е необходимо да се представят, че да не стане голямата прецаквация.
при установен контакт между двете страни (изпълнители и възложители) започват преговори -- изисквания към софта, срокове, цени, като последните две са на стадий "общи приказки".. да се представи работещо копие на програмата също би било добре. или в случай на няма работещо копие, то поне копие което забива възможно най-малко. следва research и case study от страна на изпълнителите и представяне на резултатите от двете дейности. вече може да се говори малко по-конкретно за цени и срокове -- план-график на разработките, етапи -- ей такива щуротии.
най-тежкото (според мен), което може да му се случи на човек е да му правят напълно нови зъби, понеже старите хич, ама хич ги няма. в някои случаи може да се направи някви по-глобални коронки типажа "мост" или "протеза". абе има и по-тежък вариант -- продължително лечение на зъбите, докато се приведът в състояние за по-нататъчно лечение; тъпкане с антибиотици и сума други хубости.
започва се мъчителното изграждане на ядрото, което по задание може да трябва стъпва на стария софт; или пък да ползва някакви данни от него; или да трябва да се направи конверсия между данните; а може и да няма нищо общо със старото, пък после бюрократите да му мислят :D и се почва developer build след developer build..
има клиенти, които искат коронките им да са такива и онакива -- примерно чисто бели, независимо, че останалите им зъби са повече към цвят карамел, отколкото към екрю. е в случаи, в които се сменя цялата уста това не е чак такъв "проблем". чувал съм за пациент, склонен да плати в пъти повече от едно средно скъпо лечение, защото бил чул, че на "пълна промяна" ползвали нам си кви материали. като казвам "в пъти" говоря за приблизително 10 пъти повече. но музиката свири за този, който дава парите.
понякога (със склоност към винаги) клиентите имат луди прищевки -- функционалност която хич не им трябва, обаче чули отнякъде, че това било свръхмодерно (като новост) и ултрафешън (като модно) и просто няма как да не поискат да го има в системата. "разбиш ли, требе ми аква стил интерфейс!" копелето може и да не знае кво е аква стил интерфейс (пък то и така не се чете) но го иска. ссс :) срещу съответната сума, разбира се :)
възможно е някъде в процеса на лечение да се наложи да се извадят онези така проблемни, най-крайни зъби -- иначе казано мъдреците. "удоволствие" не е определение за процедурата, а усложненията са на кихане разстояние. буквално.
май е време да спомена и за моментите на не-свъместимост между новия продукт и стария -- е обикновено има такъв момент. някъде в процеса на преминаване от едното know how към другото, е много вероятно (отново със склоност към винаги), съвсем случайно, или чистосърдечно нарочно, да се установи, че част от данните ги е хванала безвъзратната липса и това, ей така помеждудругото, да не е съвсем без последствия. и да не е напълно валат възложителя, му се напомня, че това са го обсъдили в предишен момент и той е бил съгласен.
идва деня в който последния зъб е коронясан и следват следващите щети за оправяне -- пломбиране. процеса вече е доста ускорен и подобрен. не се налага човек да си пълни устата с излишни грамове метал, а времето от слагане на пломбата до въвеждане на излекувания зъб в експлоатация (демек ядене) е сведено до минимум и човек може да заръфа ябълка в момента, в който изплюе последните останали капки промивка.
алфа версия на хоризонтааа! да да да, тълпа екзалтирали девелопери танцуват в екстаз около бюрата си, би казал някой роден журналист, следвайки "модната" тенденция за употреба на тази дума. но факта си е факт -- клиента получава доста-странно-изглеждаща-и-още-по-странно-работеща версия на продукта си. на всички е ясно, че това не е финална версия. после има и бета, и гама, и остатъка от гръцката азбука. междувремено хиляди, дори "милиарди микроби умират" така де.. оправени бъга.
минава се ден, два, три .. понякога седмица или месец и "(почти) о, чудо!" пломбите са поставени и можем да преминем към следващите проблеми, които на фона на досегашните мъки са (почти) нищожни. говоря за дребни повърхностни кариесчета, които честно казано си нямам идея как се лекуват, понеже аз самия съм на фазата със сложена последна коронка и пломба и си чакам следващия етап. но предполагам, че нещо както казах "(почти) нищожно" в сравнение с досегашносто лечение.
време е за лек бъгфиксинг, козметични промени и тестване на продукта. RC 1, 2, 3 ... +- безкрайност. клиента предусеща удовлствието от новия продукт.
първата крачка на старт финалната е да се провери какво е свършено до момента и ако всичко е наред, а то обикновено е, се пристъпва към последния стадий на лечението, а именно махане на зъбния камък (това при положение, че пациента все още има собствени зъби в устата си).
последен ден. всичко е изтествано, оправено, проверено, препроверено. последен и финален билд! и последния бит от софта е наврян в саморазархивиращия се инсталър. сдаване на продукта и задължителен алкохолен делириум.
и да не забравяме пост-лечителния период, в който се препоръчва профилактика веднъж на 6 месеца и там други дейности..
(дългосрочен) договор за поддръжка, както и план за бъдещи разработки, ссс естествно ;) -- пито, платено и всички са (hopefuly) доволни :)
Коментари