La importància de la part funcional en el desenvolupament de software

Bitologia

L’any que ve farà trenta-cinc anys que treballo en software. Quan el primer any em van dir que era analista-programador vaig cercar què significava ser analista. No va ser fàcil perquè Google no existia i —és clar— tampoc no existia el web. Fins aleshores em pensava que només era programador.

(Bé, també era comptable)

En saber què feien els analistes vaig entendre la importància de la part funcional. La portava a sobre sense saber-ho; de fet, aquesta importància l’he arrossegat trenta-cinc anys.

(Perquè era comptable)

Font: entrada Wishful Thinking a la Wikipedia
Font: entrada Wishful Thinking a la Wikipedia

No he conegut cap informàtic que no hagi pregat per ajuda funcional; que sovint rebi un “mani???” per resposta; he vist dotzenes de projectes fracassats perquè no han aconseguit aclarir la part funcional; centenars de programes que no tenen cap lloc per on agafar-los. Sempre havia passat que els informàtics varen fer feina sols massa temps.

Trenta-cinc anys després, la part funcional dels projectes continua sent la més difícil. Diuen que fan falta molts programadors –no ho nego pas– però que voleu que us digui; cada dia veig programadors i gairebé mai veig líders funcionals. Ni aspirants.

Avui la tecnologia digital no és cap problema a pesar de l’escassetat d’informàtics. Les aplicacions de la tecnologia sovint són un nyap per mor de l’absència permanent de responsables funcionals. Aquesta realitat m’ha frustrat trenta-cinc anys.

(Ho duc prou bé; no penseu pas res dramàtic)

Batalleta funcional

En acabar EGB em van dir que ni pensar-hi, d’anar a la universitat, perquè no els semblava bé que pegués cap volada a Barcelona. Bàsicament era pecat.

(Vaig viure al Principat mitja vida: dels 3 als 35)

L’alternativa era FP. A Reus n’hi havia de metall, electricitat i administració. Vaig escollir administració perquè podria fer feina a prop d’ordinadors.

Altos 5-15
Altos 5-15

De tot plegat va sortir-hi un comptable que va anar a parar a una oficina a la qual hi va arribar un ordinador: Altos 5-15 amb un terminal ADM 3A, una impressora OKI Microline i el sistema operatiu OASIS.

La compra incloïa un curset de BASIC –el llenguatge de programació modern del moment.

Als disquets de la comptabilitat hi vaig trobar el codi BASIC del software comptable. El podia entendre perquè havia fet un curset.

Em va inspirar una nova idea: informatitzar els fulls de treball del taller. Eren la base organitzativa del lloc on treballava. Després es convertirien en albarans d’entrega i més endavant en factures. De les factures en sortirien rebuts que anirien al banc. Finalment, tot acabaria en apunts comptables. Recordo que vaig mostrar el projecte i les primeres pantalles a un soci de l’empresa d’informàtica el dia que va venir a canviar una peça defectuosa de l’ordinador. Es va sorprendre –cosa que seria útil més endavant.

Un parell de mesos després els amos del taller pensaven que això de programar era una mena de joc tipus ‘Invaders’ i que jo cobrava en comptes de posar monedes de 25 pessetes a les màquines ‘arcade’. Per a ells m’ho estava passant massa bé. L’ordinador era per a substituir la gestoria, “oblida el taller, no és cosa teva”. Les factures eren una cosa d’homes durs que després de fer la instal·lació anaven al bar i apuntaven a un tovalló què calia facturar.

En vista del panorama vaig demanar feina al venedor de l’ordinador. Em contractaren immediatament perquè sabien que programava i necessitaven programadors.

(Sempre han fet falta més programadors)

Terminal ADM 3A
Terminal ADM 3A

A l’empresa d’informàtica vaig trobar-hi programadors que havien estudiat ciències diverses, sobretot exactes. Programaven allò que demanava el mercat aleshores: comptabilitats, facturacions, comandes, control d’estocs i d’escandalls. Poca cosa més. Devers el 1983 arribaven les primeres promocions d’informàtics que havien après com funcionaven els sistemes operatius, les bases de dades i les xarxes, però no pas la gestió d’una empresa. Jo era l’únic que sabia com es construïa una factura de vendes a partir de la comanda i els albarans; que en passar a comptabilitat anava al Deure del compte del client;  que les factures de compres anaven a l’Haver del compte del proveïdor.

Els programadors –llicenciats en ciències exactes– em consultaven la part funcional dels seus projectes de gestió per empreses. De tant en tant els acompanyava a les reunions per saber què volia el client, perquè sovint es donava la situació de l’acudit de qui visita un mèdium:

  • Toc-toc [a la porta]
  • Qui és? [des de l’interior]
  • Quina merda d’endeví!

(canvia ‘endeví’ per ‘informàtic’)

Alguns clients ajudaven explicant què volien i com, però tindria un preu: en rebre la factura deien que havíem pogut fer la feina gràcies als seus “cursets gratis” sobre administració d’empreses. Alguns demanaven compensació amb descomptes i comissions. “Demà vendràs a altres empreses aquests programes que has fet gràcies a mi i que jo t’he pagat”. Ser comptable feia que no demanés gaires coses sobre la part funcional i em pogués escapar d’aquests romanços; ajudava programadors a escapar també.

L’empresa va obrir una delegació a Barcelona i el gerent em va demanar que hi anés un dia a la setmana per atendre la part funcional de l’equip de programadors barceloní. Dels tres programadors, dos havien après gràcies al Spectrum ZX. En sabien molt, però sobre jocs.

Vaig decidir que deixaria aquella empresa el dia que el gerent em va retreure el meu rendiment com a programador. A veure, ¿com podia concentrar-me en el meu codi entre tantes interrupcions diàries per atendre consultes sobre la part funcional del codi dels altres? L’important era vendre més ordinadors i la feina funcional tampoc no tenia gaire valor per a ell.

Aquesta paradoxa m’ha acompanyat trenta-cinc-anys.

Per escapar d’aquell primer error quant a la cosa funcional, vaig passar a ser ‘freelance’ –aleshores se’n deia ‘autònom’.

No vaig  aconseguir escapar; el conflicte era sempre al mateix lloc: la part funcional. Havia estudiat administració d’empreses, però això no significava saber-ho tot sobre totes les empreses.

Alguns volien que informatitzés el magatzem per a ubicar productes: “que el Dixan no estigui devora la Font Vella perquè l’aigua agafa gust”. Calia que algú m’expliqués coses sobre càrrega i descàrrega; de costums de camioners; de configuracions de lleixes; de les que hi pega el sol i no admeten segons què massa dies; dels aromes que desprenia cada cosa; de l’absorció d’olors que tenen alguns productes; de com arriben els palets de cada producte; de les possibilitats dels carretons elevadors; dels productes que tenen més moviment i dels que menys; de caducitats; de lots de fabricació…

Jo tenia capacitats funcionals per qüestions essencials de l’administració empresarial, però a poc a poc la cosa es complicava perquè es complia la màxima:

In short, software is eating the world –Marc Andreessen

El cas és que cap client portava bé la cosa d’ajudar-me en la part funcional. Pensaven que m’estaven revelant quelcom molt íntim; un secret sagrat, l’essència de la vida, la seva pedra filosofal o quelcom per l’estil. Un em va dir “primer vaig tenir xicota, després dona, més endavant fills. Ara t’hi he d’afegir tu: el programador informàtic”.

He vist aquesta anormalitat gairebé trenta-cinc anys.

Per què?

Els no-informàtics sovint pensen que els ordinadors han de solucionar els seus problemes sense explicar res a cap informàtic.

Quan vas a comprar una rentadora, ¿expliques a cap botiguer els problemes de la brutor als teixits? No. Quan el tens a casa, l’electrodomèstic agafa aigua, dona voltes, treu l’aigua, la torna a agafar, dona més voltes, després centrifuga, ho fa diversos cops, torna a centrifugar… i la roba és neta. Algú ho ha dissenyat a un laboratori sense preguntar-te res. Ho has comprat i simplement funciona. Per què no pot ser així amb la informàtica?

És una qüestió de diversitat i complexitat. Les feines de la força –com rentar roba– són limitades i es poden dissenyar a laboratoris no gaire sofisticats. Les feines de la ment són infinites. Els ordinadors fan feines de la ment. Totes són úniques i cal que te les expliquin o mai no les sabràs.

Quan NO vols explicar la teva visió d’un problema que té solució amb software, la resposta serà un programa que ho resol segons la visió d’algú altre.

Quan la solució et sorprèn és perquè l’actor funcional en sabia més que tu. Si no et sorprèn és perquè et permet fer el mateix de sempre –llei de Conway– i anem malament: la capacitat per a reinventar-se és el pinyol de la supervivència.

Foto pròpia / Camí Alaró - Santa Maria
Foto pròpia / Camí Alaró – Santa Maria

L’experiència em diu que els usuaris sorpresos pel software que altres han pensat solen experimentar quelcom semblant a un gos que persegueix un cotxe: mai no l’atraparà i si el cotxe s’atura no sabrà què fer-ne.

Qui sap què vol no se sorprèn fàcilment per cap software, car la ment és infinita i la seva es mou cap a l’infinit. Les seves necessitats funcionals són diferents de les de la resta. Cal que les expliqui als informàtics o mai no les incorporarà al software de l’organització. El software és un llibre únic que explica la forma única de fer les coses a l’empresa.

El supermercat d’Amazon no funciona com el del Carrefour. Si algú del Carrefour aconsegueix una còpia del software d’Amazon, possiblement no sabrà que fer-ne; serà el gos que veu com s’atura el cotxe que perseguia.

Fracàs

Quan miro trenta-cinc anys enrere, veig tants exclients amb empreses tancades com persones que aspiraven a no fer cap feina funcional amb mi. Potser a algun li va anar així: “Primer vaig tenir xicota, després dona, més endavant fills. Després vaig afegir-hi un programador informàtic. Perquè era massa cosa, vaig substituir el Benjamí per un software enllaunat. Ara tinc dona, fills i una suspensió de pagaments”.

No hauria estat així si en comptes de perseguir cotxes els haguessin fabricat. Potser algú pot trobar cruel això que dic; per mi és realista.

Ser diferent de la competència no és gens fàcil. El software s’ha menjat el món; no pots fer res diferent sense programes diferents, cosa que significa desenvolupar-los a mida.

Per a desenvolupar software únic cal que expliquis els teus ‘secrets’ als informàtics. És la part funcional que ningú no sol tenir en compte perquè la majoria pensa que el software és cosa només d’informàtics. La resta –la no-majoria– fan la tasca funcional i esdevenen líders.

(No sempre, d’acord. Però tenen més possibilitats)

La informàtica no és només cosa d’informàtics

Steve Jobs no sabia programar. Era un especialista funcional d’un nivell malaltís –la seva biografia és prou clara. La part funcional l’estirava tant que s’apropiava de les idees dels altres després de rebutjar-les –i acabaven cremats.

Bill Gates és enginyer informàtic; Richard Stallman també. El resultat és sistemes operatius que per a la majoria no són tan funcionals com els d’Apple.

El resultat és millor per Apple a pesar que tots tres (Jobs, Gates i Stallman) tinguin diagnòstics psiquiàtrics complicats –diguéssim.

El Jobs era el tipus de professional funcional no-informàtic que necessita qualsevol projecte digital: algú que fa de traductor realitat-informàtica; algú capaç de veure un problema, una necessitat, i explicar-la als informàtics perquè la desenvolupin d’una forma que satisfaci a qui té el problema en comptes de satisfer a l’informàtic.

Els tècnics funcionals coneixen a fons el negoci. L’interpreten als informàtics, que són sota el mateix sostre:

Perquè un software sigui rodó cal que els funcionals i els informàtics comparteixin la cafetera cada dia.

· · ·

A l’informàtic no li agrada gaire la solució funcional consistent en un sol botó, perquè ell en posaria cinc. No l’atabalen gens, els botons. Com més, millor. Ben junts perquè n’hi entrin més. Amb espai pels que puguin aparèixer a la següent versió. Botons, botons i més botons. Fan bo. És igual si al mòbil són mals de polsar, perquè passen el 80% del seu temps davant dues pantalles de vint-i-quatre polzades; han baixat tant de preu!

Després d’enroscar al programa tots els botons que troba, n’afegeix tres amb funcionalitats geek perquè faran gràcia a altres informàtics.

Els possibles col·laboradors funcionals s’ho miren de reüll, sense entendre ni la meitat, perquè pensen que la informàtica és cosa d’informàtics.

Fa trenta-cinc anys que contemplo aquest despropòsit.

No confio veure com s’arregla. De fet, el botó de ‘desar’ encara és un disquet.


Imatge: Pixabay, Computing HistoryDaniel Sancho.
Entrada MOLT relacionada: La informàtica al segle XV.

anàlisi funcional, anàlisi orgànic, Bill Gates, desenvolupament, funcional, orgànic, programari, Richard Stallman, software, Steve Jobs

Compartir

Entrada anterior
Crítica o linxament?
Entrada següent
Tesla serà l’iPhone dels automòbils?

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Fill out this field
Fill out this field
Introduïu una adreça electrònica vàlida.

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.