7 minuts amb en Gerard Plans

Hi ha una generació d’experts en software que treballen co-creant eines amb l’usuari final i s’obssessionen a oferir productes realment rellevants i que agilitzin de veritat l’operativa. Tinc la sort de conéixer en Gerard Plans, que és un d’ells. És un veritable mestre en .NET, la plataforma de Microsoft per a desenvolupar solucions que permeten agilitzar integracions entre empreses i facilitar l’accés a la informació. En Gerard és a més a més un freelance acèrrim, acostumat a treballar a sectors tan diferents com retail o pharma. El seu focus és crear solucions en temps rècord que permetin deixar enrere sistemes caducs (el famós legacy) de manera que IT esdevingui un veritable aliat de les operacions i funcioni al ritme de les necessitats de l’usuari final.

En un moment on simplificar i innovar a nivell global és clau per a que les organitzacions no només prosperin, sino per a que sobrevisquin, com pot inspirar-nos el procés de pensament lògic d’un enginyer expert en software?

1.Quin és el procés que segueixes quan comences un projecte?

El primer pas és sempre conéixer quin tipus de sistema de treball té la organització en general: els seus clients, els seus objectius, la seva cultura. Un cop tinc la visió, és el moment de conéixer com treballa IT i el mètode que fan servir. A partir d’aquí, la resta del procés depèn molt del tipus d’empresa i de la seva mida. A empreses grans i complexes, l’enfoc és quelcom més conservador en el moment de plantejar canvis perquè, si els processos funcionen, a priori no veuen la necessitat de canviar-los. La missió la majoria de vegades consisteix a començar a introduir millores al programa que pot portar 20 anys funcionant (legacy). Els equips d’IT són més grans, no et relaciones directament amb l’usuari final sino amb els managers i al final es treballa amb un enfoc no tan creatiu i més centrat en el manteniment i la millora.
Les empreses més petites tenen un enfoc més audaç. Són l’escenari ideal per a interactuar directament amb l’usuari final i ser creatiu, programant sense intermediaris.

2.Com involucres l’usuari final en els teus projectes?

Personalment, m’agrada treballar 1 to 1 amb la persona que ve a fer-me la petició: acompanyar-la en el seu dia a dia, que m’expliqui directament observant a la seva pantalla què fa o què necessita … Així puc veure també si és possible crear una solució que vagi fins i tot més enllà d’allò que m’està demanant l’usuari. Tot comença amb una necessitat. Sovint, l’usuari ve cohibit a fer la petició perquè no ha tingut bones experiències anteriorment. D’altra banda, com que no té experiència de programacio, l’usuari tampoc no sap què pot arribar a demanar.

Sempre, després de passar temps amb la persona veient la realitat de la seva feina, li demano que em faci “la carta als reis” i que m’estableixi uns màxims. A partir d’aquí, vaig veient com crear la solució de la manera més ràpida possible.

Aquesta relació tan directa amb l’usuari només passa a les organitzacions més planes. Quan l’empresa és jeràrquica, és gairebé impossible treballar d’aquesta manera, desgraciadament. En aquest cas, els meus interlocutors ja no són els usuaris finals, sino managers o responsables de projecte.

3.Quina relació hi ha entre l’estructura de l’empresa i el tipus d’eines que sol.licita?

El software utilitzat reflecteix la cultura i ritmes d’una organització. Les empreses grans pensen en grans plataformes. Tenen molts clients interns i cadascun és diferent, amb necessitats diferents, de manera que per a ells és necessari acotar i agrupar solucions. Cada departament ha anat utilitzant històricament els seus propis sistemes i al final es busca un únic sistema que pugui respondre a totes les necessitats. Hi ha moltes i famoses eines al mercat orientades a aquest objectiu, però la veritat és que aquestes grans plataformes no són realment útils a entorns on calgui flexibilitat i rapidesa, perquè la seva responsta no és real time: calen permisos, confirmacions, verificacions, etc que resten operativitat. D’altra banda, la inversió en temps i diners per a implementar aquest tipus de plataformes és considerable i no sempre té el retorn en eficàcia esperat.
Les empreses més petites o organitzacions més flexibles representen el cas contrari. Busquen plataformes que donin solucions real time, que no representing cap fre burocràtic o conceptual. El software ha de ser simple i dinàmic per a poder mantenir la seva agilitat. En molts casos treballen o bé amb un programa fet a mida segons les seves necessitats o amb una sèrie d’eines que s’adapten perfectament a allò que necessita cada client i que s’integren fàcilment entre elles.

4.Quins són els principals punts a tenir en compte per a deixar enrere un model legacy?

És important recordar, quan el teu objectiu és evolucionar més enllà del software legacy, que l’emprea porta anys, fins i tot dècades, treballant amb aquell sistema. Sens dubte, el sistema té moltes àrees de millora i limita l’operativa de l’empresa, però a ulls de l’usuari és quelcom que funciona i és fiable malgrat les seves limitacions. Així doncs, és important trobar una manera per a començar a demostrar a la organització els avantatges d’un altre tipus de software sense “espantar-la”.

És un procés gradual de constant work in progress. És a dir, no es passa d’un model legacy a un de nou d’un dia a un altre. Per a aconseguir-ho, és molt recomanable treballar amb el que anomenem una Proof of Concept (POC). Consisteix a crear una proposta de sistema, de manera totalment paral.lela i aïllada del software que funciona en aquell moment, que cobreixi una determinada funcionalitat i representi una gran millora respecte a allò que el software legacy està oferint en aquells moments. Naturalment, cal tenir una perspectiva global i entendre molt  bé la organització i les seves necessitats per a que la POC sigui realment sexy i superi les expectatives dels sectors més reticents. Per a plantejar i desenvolupar una POC cal creativitat i visió sistèmica. Un cop presentada la POC, i si és convincent, esdevé el que anomenem un MPV (Mínim Producte Viable), és a dir, la prototipem i esdevé una funcionalitat operativa que podem començar a evolucionar un cop es posa en marxa. I així, fins que anem cobrint i oferint versions molt més eficaces i útils que les funcionalitats del sistema legacy, de manera que arriba el moment en què, de manera natural i sense trencar l’operativa, tens el 100% del nou software en funcionament i l’antic queda en segon pla fins a la seva desvinculació.

5.Quines eines o mètodes habituals a l’entorn d’IT poden ser útils a altres disciplines per a simplificar i agilitzar rols, estructures, processos, …?

Actualment ja s’està parlant de l’impacte positiu que la cultura Agile, que és una manera de pensar molt lligada al desenvolupament de software, té a la globalitat de la organització. Tanmateix, cal tenir en compte que la mentalitat Agile existeix des d’abans que li poséssin el nom: al final, es tracta d’aplicar un sentit lògic i pràctic a tot i evitar l’excés de nivells i estructures, que només fan més difícil l’objectiu principal: crear solucions útils i rellevants per a l’usuari final.

Com a conceptes, eines i cerimònies fàcilment aplicables a totes les àrees de la organització, veig clarament, a més a més de l’exemple amb la POC que us comentava a la pregunta anterior, utilitzar scrum o kanban vinculat a desenvolupar més ràpidament productes i eines tot incorporant  l’usuari final a tot el procés. També veig molt recomanable inspirar-se en un exercici que practiquem molt en el món del desenvolupament de software que és el pair programming o programació per parelles. És un mètode molt interessant on dues persones de rols diferents treballen plegades en un únic ordinador per a desenvolupar una proposta. Durant el mateix desenvolupament, van intercanviant els rols. És un enfoc molt útil per a obtenir eines més completes, perquè estan fetes des de diferents visions i per a que els perfils no treballin encaixats en un únic rol, cosa que ens fa més flexibles i productius.

Moltíssimes gràcies per compartir la teva perspectiva amb nosaltres, Gerard!

Sense comentaris

Publica un comentari

Uneix-te a la 
COMUNITAT SHAKER
Estaré encantada de mantenir-te al dia!
APUNTA'T
close-link