Nu poti renunta la acel cotract pentur ca asa e regula. Daca renunti la el si nu mai platesti dupa niste ani, cand vei avea nevoie de ajutor, va trebui sa platesti totul din urma.
Care e raspunsul la aceasta intrebare? Raspunsul e … depinde. Depinde de tehnologia pe care a folosit-o producatorul softului. Daca softul e creat pe tehnologie web folosind php si javascript atunci e foarte posibil sa dai banii degeaba pe contractul de mentenanta. Eu am undeva la 20 de platforme facute de mine si daca as avea nevoie de mentenanta la ele nu as mai face nimic altceva. Nu e nevoie de mentenanta la plaftormele custom pe care le fac eu. Cu toate astea pentru a fi linistit poti sa platesti mentenanta pe primul an. Cam asa fac si clientii mei.
Daca softul e facut pe tehnologie Microsoft atunci cel mai probabil ai nevoie de contract de mentenanta. Si ai nevoie de un contract de mentenanta bun. Tehnologia Microsoft se schimba la cel mult 6 luni. Deci trebuiesc facute updateuri, updateuri pe care daca nu le faci softul incepe sa mearga prost. Deci, daca ai softul facut pe tehnolgie Microsoft nu prea ai alta varianta. Problema e ca furnziorii nu prea raspund si nu prea executa la timp ceea ce ai vrea tu sa-ti faca in soft, dar asta e alta poveste pentru un alt articol.
Am facut un film pe canalul meu de Youtube desre subiectul asta si te invit sa-l vezi aici (in film subiectul e detaliat mai pe larg cu mai multe explicatii):
Ai nevoie de contract de mentenanta software?
Iti recomand sa citesti si urmatorul articol: Cum te prosteste furnizorul de software – criptarea datelor
]]>De ce e importanta criptarea datelor? In primul rand e o cerinta legala a GDPR si iti poate aduce amenzi mari daca ai scurgeri de date. In al doilea rand e o chesitune de protectie de business. De obicei, la baza de date au acces mai multe persoane. De exemplu: daca ai serverul inchiriat, la baza ta de date pot avea mai multe persoane neautorizate. Adica clientii si comenzile tale pot fi accesate si de catre persoane nedorite. iar asta iti poate pune afacerea in perisol.
Criptarea datelor complica softul si consuma mai multe resurse. Criptarea datelor limiteaza si complica conectarea cu alte solutii software. Asta este dezavantajul solutiilot de criptare. Criptarea consuma mai mut procesor si mai mult spatiu de stocare.
Gradul de confidentialitatea pe care il ofera criptarea datelor este maximul care se poate obtine cu tehnologia de astazi.
Alegerea iti apartine, dar trebui sa stii ca datele e bine sa fie criptate in baza de date. Nu toate ci doar cele importante, cel care ar putea sa-ti puna afacerea in pericol. De aceea zic eu ca e o prosteala a furnizorului de software faptul ca datele nu sunt criptate in baza de date. SI ca ar trebui sa iti ofere asta implicit. Pentru anumite tipuri de date criptarea ar trebui sa fi implicita, da rnu prea e.
Stiind asta e posibil sa poti alege in cunostiinta de cauza pe viitor. Si ai o astfel de cerinta atunci cand alegi o solutie software pentur afacerea ta.
Asta este un alt articol din seria de articole „Cum te prosteste furnizorul de software”. In acest articol o sa va povestesc despre doua arhitecturi de software, arhitectura microservice si arhitectura monolit. Orice software sau platforma este compusa din module. De obicei dezvolatarea asa se face, faci un modul si apoi altul si le conectezi intre ele. Fiecare modul e consturit sau adaptat pentru a functiona optim in aceasta platforma. Asta e structura monolit. un modul din aceasta platforma monolit nu poate fi introdus intr-o alta platforma fara a fi adaptat noii platforme.
Arhitectura microservie e similara cu cea monolit doar ca fiecare modul e transformat intr-un microservice. Adica, acest microservice functioneaza la fel pe toate platformele doar ca este configurat pentru platforma ta. Adica se configureaza acest microservice si se conecteaza cu alte microservice-uri astfel incat la final ai platforma functionala. La final toate mirosevice-urile se agrega intr-un container. Avantajele si dezavantajele fiecarei tehnologii le detaliez in podcastul de la final. Solutia are avantaje pentru programator si pentru cel care detine serviciul de cloud, dar e foarte dezavatajoasa la costuri. Adica iti va genera costurile lunare mai mari decat structura monolit. Dar nu iti vei da seama de asta pentur ca nu poti compara variantele. Si despre asta vei gasi informatii detaliate in podcast.
Puteti asculta podcastul aici:
Nu pare sa fie nici o smecherie la mijloc, nu? Pare ca chiar ok pentru tine sa faci asta si ca te ajuta, nu? Asa este, dar asta este doar cand esti la inceput si semenzi contractul de implementare. Nu uita insa ca ai un grad mare de dependenta de furnizorul de solutie software, iar el stie asta.
Trebuie sa retii ca ai un grad mare de dependenta de el, d efurnizorul de solutie software. Si chiar daca in anumite cazuri poti cumpara alte solutii software care pot inlocui acele module, de la un alt furnizor, acele module trebuiesc legate de solutia initiala ca sa functioneze automat. Legatura asta depinde tot de furnizorul de solutie software.
Ce se va intampla in viitor? Sunt doua variante: cumperi modulul suplimentar de la el sau alegi un alt furnizor care are o solutie care inlocuieste acel modul. Alegerea corecta ar fi sa te duci la actualul furnizor si sa iei modulul de la el. In cazul asta iti va da un pret mai mare pe modul. Cat de mare? Pai cat de mare vrea el pentru ca stie ca esti dependent de el. A doua varianta este sa iti dea modulul la pretul corect, dar sa te puna sa faci upgrade la urmatoarea varianta de soft pe motiv ca acel motiv nu funtioneaza cu varianta ta de soft. Iar pretul e posibil sa fie foarte mare (pretul cumulat al upgrade-ului si al modului).
Daca vei decide sa iei de la un alt furnzior iti va daniste preturi uriase la dezvoltarea conectorilor de legatura dintre nu soft si softul lui.
Ce poti face sa te poti proteja? Ma suni si iti voi da o solutie la problema asta pentru ca e o problema, de obicei, punctuala si personalizata.
Nu conteaza de ce soft discutam aici, fie ca ERP, WMS sau orice altceva. De aceea trebuie sa fii perfect constient de asta. E bine sa iti evaluezi un pic furnizorul inainte de a semna. Pentru ca vei ramane niste ani cu el. Si daca inca de la inceput incepe sa-ti faca problema va fi din ce in ce mai rau pe parcurs.
In primul rand financiar. Pentru ca orice modificare sau dezvoltare ulterioara nu prea o poti face cu altcineva. Daca nu te protejezi asta te va costa mult pe parcursul derularii parteneriatului.
Trebuie sa ai, de asemenea in vedere, ca la un moment dat lucrurile se vor strica intre voi. Oricat de diplomat ai fi tu sau el lucrurile se vor strica intre voi. E inevitabil! Iar atunci, cel mai sifonat din aceasta relatie, vei iesi tu. Pentru ca softul tau va ramane fara suport. Variantele sunt sa mergi asa pana crapa (dar le vei face oamenilor tai multi nervi si multe probleme) sau sa dai alti bani si sa-l inlocuiesti. Solutia cu inlocuitul nu e asa simpla cum pare la prima vedere.
Un software are o durata medie de viata de 5 ani, adica cam asa ar trebui sa-ti calculezi ROI-ul solutiei. Deci, cam 5 ani trebuie sa te intelegi bine cu furnizorul. Si ar fi bine sa svezi asta inca dinainte de a semna contractul cu el. Altfel va fi mai nasol, zic eu.
Furnizorul de solutie software te prosteste la orele de manopera. pentru ca tu nu vei sti niciodata cate ore ii ia lui sa faca un conector de EDI de exemplu. Nu poti verifica asta pentru ca nu stii cum si nici nu ai acces la ceea ce face el ca sa verifici asta. Deci, atunci cnad negociezi cu el ar trebui sa negociezi cat e ora de dezvoltare (asta e stipulat de cele mai mult eori in contract), dar si cate ore dureaza ce trebuie sa dezvolte. Aici e buba pentru ca nu stii nici tu nici el ce urmeaza sa dezvolte (el maiis tie, dar nu iti spune). Si atunci nu stii cat va dura si cat va trebui sa platesti.
Raspunsul e simplu: nu ai cum, trebuie sa te bazezi pe faptul ca el nu vrea sa te prosteasca. Dupa ce ai instalat solutia software esti cam dependent de el. E doar alegerea lui daca vrea sa te jecmaneasca sau nu pentru ca nu ai alta solutie, nu ai alta varianta. Singura solutie e sa mai ceri o opinie a unui alt programator. Dar e greu sa-l gasesti, pentru ca altul e posibil sa dezvolte pe alta tehnologie. Dar tot e mai bine decat sa nu ai nimic, decat sa nu ai nici un reper.
De exemplu: eu programez scriind cod. Si folosesc php si javescript. Altii dezvolta acelsi lucru folosind frameworkuri ca Laravel sai Codeigniter. Timpul de dezvoltare difera, chiar daca toti dezvoltam la baza in php si javascript. Frameworkurile acelea folosesc tot asta la baza, dar ii ajuta pe programatori sa-si automatizeze niste activitati. Asta nu inseamna neaparat ca va dura mai putin sa faca ceva.
Deci, daca discutam de cate ore de manopera ii trebuie furnizorului tau sa dezvolte ceva nu ai cum sa controlezi asta. Cu alte cuvinte, banii tai sunt la mila lui si va lua din ei cat vrea el. Fara ca tu sa ai prea multe de spus. Ce e de facut ca sa te protejezi? Ma suni pe mine si o sa-ti mai dau eu niste solutii ca sa nu ramai chiar cu chilotii in vine. Dar asta trebuie sa o faci inainte de a semna contractul, de fapt e recomandat sa o faci atunci ca sa stii ce iti asumi si in ce joc intri. Nu e nimic obligatoriu din tot ce spun eu pe aici.
Citeste si articoul anterior al acestei serii: Cum te prosteste furnizorul de soft – clauze contractuale interesante
]]>Una din clauzele astea se refera la termenele de acceptare a doumentelor pe care firma de soft le transmite in timpul proocesului de implementare. O sa fac referire aici in mod special la documentul de audit de procese. Pentru a vedea daca softul se muleaza pe procesele companiei si ce trebuie modificat in soft furnizorul face un audit de procese. In urma acestui audit rezulta un document. Care e problema cu acest document? O sa-ti spun in continuare!
De obcei, pentr a se asigura de implicarea beneficiarului, furnizorul de solutie software trece in contract termene de acceptare a documentelor transmise. Pentru a nu risca nimic introduce acolo si o formulare de genul: „Daca documentul nu este acceptat in termen de …. zile se considera a fi acceptat dupa expirarea termenului prevazut”. Formularile pot sa difere de la contract la contract, dar ideea generala e aceiasi, aceste clauze contractuale vor exista.
Daca documentele au 2 pagini si termenul e de 14 zile, ai timp sa dai raspunsul, nu? Dar de unde stii ca documentul pe care ti-l va transmite e de 2 pagini de fiecare data? De obicei, raportul de audit al proceselor si de modificare a solutiei software, are sute sau mii de pagini. Nu ai timp sa-l parcurgi in 14 zile cat e termenul contractual (nu ai timp nici in 6 luni). Nu e vorba de a mai si intelege ce e acolo ci doar de a parcurge documentul. De obicei e plin de termeni tehnici care sunt greu de inteles pentru oameni care nu au treaba cu programarea. E greu de inteles si pentru cei care au treaba cu programarea, dar pentru ceilalti!?
Nu poti da raspunsul in cele 14 zile el se considera acceptat. Aceptarea iti va mai scoate niste bani din buzunar pentru ca insemaan modificari ale solutiei software. Modificair cu care esti de acord, conform contractului, chiar daca nu ti-ai dat acordul explicit. Nu iti spune nimeni asta la inceput si tu nu stii asta. Si ti-o iei legal si pe semnatura ta.
Asta e unul din motivele pentru care ai nevoie de mine inca din faza de contract. O sa-ti salvez multi bani si multi nervi! Doar daca imi dai sa ma uit pe contract si te consiliez acolo.
Citeste si articoul anterior al acestei serii: Cum te prosteste furnizorul de soft – atentie la contract
]]>La obicetul contractului e stipulat ceva de genul: „”Furnizorul va oferi o solutie software functionala …..”. Ce insemna solutie software functionala? E ca si cum ai cumpara o masina si cel care a facut masina iti spune ca iti va da o masina care sa mearga. Daca merge cu 2 km/h, ea merge conform contractului. Asteptarile tale ar fi sa mearga cu 230 km/h viteza maxima, dar ea nu merge cu viteza asta. Nu inseamna ca masina nu merge.
In cazul asta trebuie definiti niste paremetri de functionare. Unii pot fi generali, iar altii pot fi particulari. Daca nu sunt definiti parametri de functionare niciunde in contract, nu e prea bine. Si daca ai sa te uiti cu atentie ai sa vezi ca parametri astia nu sunt definiti in contract. Sfatul meu e sa-i definesti! Si ar trebui sa stii ce parametri sa definesti. Pentru ca la un moment dat te vei certa cu furnizorul de soft. De obicei relatia asta cu furnizorul de soft e una de dependenta, dar tu nu realizezi asta la inceput.
Cand iti vei da seama va fi prea tarziu si va fi greu sa iesi din contract. De aceea e bine sa ai un contract bun, un contract care sa te protejeze. Nu poti sa ai un contract bun daca tu nu stii la ce sa te uiti. Asta este primul lucru la care trebuie sa te uiti.
Poti vedea filmul in care iti povestesc despre asta aici:
Citste si : Cum te prosteste furnizorul de soft – partea a doua
]]>Dupa ce semnezi contractul de implementare pe oferta negociata, furnizorul de soft iti va face un audit. E primul pas in procesul asta! Auditul are scopul de a determina daca procesele din companie se muleaza pe procesele din soft ( o sa revin mai incolo un pic la asta, pentur ca de fapt tu ar trebui sa vezi invers in ce proprortie softul se muleaza pe procesele din companie). In urma acestui audit se va constata ca acele procese nu se muleaza 100% si trebuie modificat softul. Modificarile astea sunt cerute sub forma unor Request for Changes, chestii care sunt specificate in contract. Contract pe care tu l-ai semnat si din care e foarte greu sa iesi. Toate cererile aste maresc valoarea sumelor de bani pe care trebuie sa le platesti. Astea sunt suplimentare fata de oferta initiala negociata si fata de suma din contract. Suntem singura companie din piata la care pretul din cotract e acelasi cu cel de la final pentru solutiile pe care le avem.
Eu fac auditul inainte de semnarea contractului. Si stim dinainte de a semna contractul cat costa. Fara smecherii. Tu poti sa faci asa (adica cum iti zice furnizolrul de soft, adica audit dupa semnarea contractului) sau poti sa faci un audit inainte cu o alta firma specializata. In urma acestui audit rezulta o mapare a proceselor si cerinte pentru firma de soft. Dupa care, in urma maparii proceselor alegi softul care e cel mai aproape de procesele tale de business.
Acest audit facut inainte mai are un avantaj: iti oprimizeza procesele de business. Adica nu pui un soft peste niste procese proaste ci pui un soft pe niste procese optimizate. De aici mai vin alte reduceri de costuri importante.
E bine sa faci acest audit cu o terta parte care nu are legaturi si interese comune cu furnizorul de soft. El te reprezinta pe tine si interesale tale, nu ale furnizorului de soft. Deci nu e recomandat sa faci cu cei pe care ti-i recomanda furnizorul de soft. Cauta tu astfel de firme, firma care sa te reprezinte exclusiv pe tine in relatia asta!
In felul asta ai, la finalul procesului de implementare, un buget predictibil. Altfel nu ai cum sa ai un buget predictibil si il vei lasa pe furnizorul de soft sa-ti bage mana in buzunar.
Nu ai cum sa ai un buget predictibil daca faci auditul dupa ce semnezi contractul asa cum vrea furnizorul de ERP. Dar, e la latitudinea ta. Eu sunt specializat in optimizari de procese, impleemntari si dezvoltari de software si te pot ajuta in acest proces.
Daca crezi ca ai nevoie de ajutor nu ezita sa-mi dai un telefon.
Primul lucru la care te prosteste furnizorul de software este pretul. Iti va trimite o oferta, vei semna contractul pe acel pret, iar la final vei ajunge sa constati ca vei plati mai mult. Cu cat mai mult? Aici e o intrega discutie, discutie care tine de multi paarametri. Daca platesti doar cu 20-30% mai mult vei fi fericit. Dar, de obicei, sumele sunt mult mai mari fata de oferta initiala. De ce? Respunsul simplu e pentru ca tu nu stii despre ce e vorba in propozitie. Ai impresia ca stii, dar de fapt nu stii.
Tu nu stii despre ce e vorba legat de softul ala si nici nu ai experienta. Pe tot parcursul procesului de vanzare ti se va crea impresia ca stii despre ce e vorba, dar realitatea e ca habar nu ai. Si nici nu ai oameni care sa stie depsre ce e vorba in propozitie. E ca si cum te-ai duce la piata sa cumperi prune, dar tu nu stii ce sunt alea prune. Si ajungi sa cumperi rosii pentru ca exista un soi de rosii pruna. Cand iti spun asta nu exagerez cu nimic.
Interesant e ca nu o sa-ti dai seama ca esti prostit la pret decat prea tarziu. Si atunci nu prea mai ai ce sa faci. Pentru ca totul e scris in contract, iar tu ai semnat acel contract. Atat de simplu e.
Dupa ce o sa citesti seria aasta de articole pe care o incep ai sa realizezi ca nu stiai nimic din toate astea. Si ca sunt atat de multe chestii care ti-au scapat ca nu aveai cum sa nu fii prostit la bani. De fapt atunci cand furnziorul de software te prosteste scopul lui e sa scoata mai multi bani de la tine, iar tu sa accepti asta pentru ca oricum nu ai alta varianta.
Chiar daca ai IT-ist in companie tot vei fi prostit pentru ca IT-istul se pricepe la altceva nu la software.
Ai aici filmul: