Gli sviluppatori "possiedono" il codice, quindi i designer non dovrebbero "possedere" l'esperienza?
Pubblicato: 2022-03-10Ci siamo stati tutti. Hai passato mesi a raccogliere requisiti aziendali, elaborare percorsi utente complessi, creare elementi di interfaccia di precisione e testarli su un campione rappresentativo di utenti, solo per vedere un prodotto finale che somiglia poco all'esperienza desiderata .
Forse avresti dovuto essere più energico e insistere su un approccio agile, nonostante ritenessi che l'organizzazione non fosse pronta? Forse avresti dovuto fare un lavoro migliore con i tuoi portafogli di pattern, assicurandoti che gli sviluppatori utilizzassero la tua libreria di codice modulare piuttosto che creare cinque diverse varianti di un carosello. O forse avresti anche dovuto sederti accanto al team di sviluppo ogni giorno, assicurandoti che ciò che hai progettato si realizzasse effettivamente.
Ulteriori letture su SmashingMag:
- Perché dovresti includere il tuo sviluppatore nel processo di progettazione
- Collaborazione in team e colmare le lacune di efficienza nella progettazione reattiva
- Designer e sviluppatori che giocano bene
- Come comunicare in modo efficace con gli sviluppatori
Invece ti rimane un miscuglio di elementi dell'interfaccia utente, con tutte le sottigliezze eliminate. Non potevano vedere che hai lavorato per giorni per ottenere le transizioni giuste, solo per farli cadere in una libreria di animazioni predefinita? E da dove diavolo è venuto quel passaggio extra per il check-out. Scommetto che il marketing l'ha fatto all'ultimo minuto. Sapevi che l'integrazione sarebbe stata dura e che sarebbero stati necessari compromessi, ma dovremmo rendere la vita degli utenti più facile qui, non del team tecnico.
Naturalmente, ci sono molte buone ragioni per cui il sito è in questo modo. Diversi team con diversi livelli di abilità che lavorano su diverse parti del progetto, una serie di modifiche dell'ultimo minuto che accorciano il ciclo di sviluppo e tutta una serie di sfide tecniche. Tuttavia, perché il team di sviluppo non è potuto venire a chiedere il tuo consiglio sulle modifiche all'interfaccia utente? Non fai pasticci con il loro codice, quindi perché devono cambiare i tuoi progetti? Soprattutto quando l'impatto sul business potrebbe essere enorme! Sei solo dietro l'angolo e saresti stato felice di aiutarti se avessero appena chiesto.
Sebbene la storia di cui sopra possa essere immaginaria, è un sentimento che sento da tutti gli angoli del mondo del design, sia interno che di agenzia. Un'esperienza accuratamente realizzata rovinata da un team di sviluppo dalla mano pesante.
Questa esperienza mi ricorda una notizia che ho visto su un canale di notizie locale degli Stati Uniti diversi anni fa. Una fiera della contea stava organizzando una gara di resistenza in cui l'ultima persona rimasta con la mano su un camioncino ha vinto il premio. Penso spesso che il design sia come un enorme gioco di "tocca il camion" , con il team di sviluppo che se ne va sempre con le chiavi alla fine del concorso. Come l'ultima parola in una discussione, l'ultima persona che entra in contatto con il sito detiene tutto il potere e può dettare come funziona o come appare. Soprattutto se affermano che la particolare esperienza target non è "tecnicamente possibile", che spesso è l'abbreviazione di "veramente difficile", "Non posso essere disturbato a farlo in quel modo" o "Penso che ci sia un modo migliore per farlo quindi tirerò fuori la carta di sviluppo”.
Ora so di essere ingiustamente duro con gli sviluppatori qui e non intendo esserlo. Ci sono alcuni tecnologi incredibilmente talentuosi là fuori che si preoccupano davvero dell'usabilità e vogliono fare il meglio per l'utente. Tuttavia, spesso sembra che ci sia un livello di rispetto asimmetrico tra le discipline dovuto alla convinzione che il design sia facile e quindi qualcosa su cui tutti possono avere un'opinione, mentre lo sviluppo è difficile e solo per gli specializzandi. Quindi, mentre i designer sono incoraggiati (a volte ci si aspetta) a coinvolgere tutti nel processo di progettazione, spesso non viene loro concesso lo stesso lusso.
Ad essere sincero, non li biasimo. Dopotutto, conosco abbastanza lo sviluppo per essere pericoloso, quindi saresti un idiota se volessi la mia opinione sulla struttura del database e sulle prestazioni del codice (a parte il fatto che penso in gran parte che le prestazioni siano una buona cosa). Poi di nuovo so abbastanza per dire quando gli sviluppatori stanno manipolando le cose ed è sempre divertente tornare da loro con un prototipo funzionante di qualcosa che hanno detto era impossibile o richiedeva mesi per essere implementato, ma sto divagando.
Il problema è che penso che molti sviluppatori siano nella stessa posizione riguardo al design: semplicemente non se ne rendono conto. Quindi, quando apportano una modifica a un elemento dell'interfaccia sulla base di qualcosa che avevano ascoltato in una conferenza alcuni anni fa, potrebbero non avere un contesto importante. Forse questo era qualcosa che hai già testato e scontato perché ha funzionato male. Forse hai scelto questo elemento rispetto a un altro per un motivo specifico, come l'accessibilità? O forse le opinioni degli sviluppatori erano semplicemente sbagliate, in base a come vivono il web come superutenti piuttosto che come un Jo medio.
Ora mettiamo qualcosa di chiaro qui. Non sto dicendo che gli sviluppatori non dovrebbero mostrare interesse per la progettazione o input nel processo di progettazione. Credo fermamente nell'abbinamento interfunzionale e penso che alcune delle migliori soluzioni di usabilità provengano dal team tecnico . Ci sono anche molte persone di talento là fuori che abbracciano una moltitudine di discipline. Tuttavia, a un certo punto l'esperienza deve essere posseduta e non penso che dovrebbe essere posseduta dall'ultima persona che ha aperto il file HTML e "tocca il camion".
Quindi, se i bravi designer rispettano l'abilità e l'esperienza che i grandi sviluppatori portano in tavola, che ne dici di un po' di parità? Se i designer sono felici che gli sviluppatori "possiedano il codice", perché non mostrare una simile quantità di rispetto e lasciare che i designer "possiedano l'esperienza" ?
Fare questo è abbastanza semplice. Se ti trovi mai in una situazione in cui non sei sicuro del motivo per cui qualcosa è stato progettato in un modo particolare e pensi che potrebbe essere fatto meglio, non limitarti a tuffarti e iniziare a apportare modifiche . Allo stesso modo, se incontri un ostacolo tecnico e pensi che ti semplificherebbe la vita progettare qualcosa in un modo diverso, parla con il tuo designer. Potrebbero essere assolutamente d'accordo con le modifiche suggerite, oppure potrebbero voler andare via e pensare ad altri modi per risolvere lo stesso problema.
Dopotutto, la collaborazione va in entrambe le direzioni. Quindi, se non vuoi che i progettisti inizino a "ottimizzare" il tuo codice sul server live, al di fuori dei tuoi processi di controllo della versione, smetti di fare lo stesso con il loro design.