Approccio all'evoluzione del sistema: graduale o cataclismico?

3

Quando lavoriamo su sistemi consolidati, ho spesso trovato il modo di migliorare un'interfaccia utente per massimizzare l'efficienza dell'utente (ad esempio: la schermata di manutenzione delle app legacy non consente operazioni su più righe, in cui fare ciò potrebbe far risparmiare ore utente a settimana il metodo esistente "modifica una riga alla volta").

La sfida che incontro è che un miglioramento della GUI è qualcosa che non posso applicare universalmente a un sistema senza uno sforzo di programmazione più consistente (uno sforzo che è improbabile che la gestione approvi).

Quindi ho difficoltà con la decisione di provare ad aggiungere il miglioramento in una schermata o di rinunciarci finché il progetto mitico non sarà approvato un giorno.

Non farlo significa che il sistema non consente agli utenti di essere più efficienti, e questo mi infastidisce, come se io avessi volutamente permesso un acceleratore su di loro che non meritavano.

Ma farlo significa che ora c'è qualche incoerenza nella GUI del sistema. Non tutti gli schermi funzioneranno allo stesso modo, il che può creare una potenziale confusione.

Considerate le vostre conoscenze ed esperienze, qual è la migliore pratica qui? Consistenza o efficienza?

Aggiorna

Grazie a tutti per le vostre risposte. Ho svalutato tutte le tue risposte riflessive. Ho familiarità con l'articolo di Spolsky con i collegamenti di Robert Harvey. Il cambiamento a cui mi riferisco è meno rischioso di tutta la riscrittura dell'esempio di Netscape a cui si riferisce, ma l'articolo è pertinente e sempre una buona lettura.

Questa domanda è stata stimolata da un momento in cui ho trovato un modo per consentire agli utenti di elaborare gli articoli per la fatturazione più rapidamente, quindi si potrebbe sostenere che ha migliorato l'efficienza delle entrate, tuttavia, come molti di voi hanno accertato, non è stato critica. Le parti interessate hanno ceduto al divario tra le decisioni e le conseguenze e, dato che non erano quelle che dovevano fare il data entry, erano più che felici di lasciare che gli utenti languissero con l'inefficiente interfaccia grafica. Tuttavia, l'artigiano che è in me vuole un miglioramento continuo e, come dice Justin Cave, se non fai niente, il tuo sistema non si sta evolvendo, è stagnante.

In alcuni altri casi ho fatto ciò che è suggerito nelle risposte e ho tentato un approccio di base, facendo sì che gli utenti spingessero per il cambiamento attraverso i loro rappresentanti delle parti interessate. Ho trovato che l'approvazione per i cambiamenti incrementali che hanno rotto la coerenza dipendono dall'accessibilità agli utenti finali, una parte interessata nelle riunioni di richieste di modifica e, stranamente, dai leader IT a cui è interessata o non interessa affatto l'applicazione in questione. Quelli che si prendevano cura dell'empatia con il dolore dell'utente finale e quelli che non erano a proprio agio lasciavano la decisione ai subordinati che lo facevano. I moderatamente preoccupati si gloriano sul principio di coerenza che è discutibilmente lodevole ma a cui la rigida adesione senza un piano di cambiamento significa ristagno.

    
posta Bernard Dy 08.03.2013 - 21:22
fonte

3 risposte

3

I tuoi obiettivi potrebbero essere diversi da quelli degli stakeholder.

  1. Gli stakeholder potrebbero già avere familiarità con l'interfaccia e le sue stranezze. Cambiarlo, non importa il miglioramento, inizialmente aggiungerà attrito e richiederà uno sforzo di allenamento.

  2. Il software sta già facendo soldi per l'organizzazione. Eventuali modifiche al software alla fine devono tradursi in potenziali miglioramenti delle entrate future.

La maggior parte dell'evoluzione del sistema è graduale. Per una ammonizione sul cambiamento catastrofico, vedi qui:
link

    
risposta data 08.03.2013 - 21:29
fonte
1

Chiedi ai proprietari dell'applicazione.

Più che probabile, se puoi salvare ogni utente più ore ogni settimana e il compromesso è che hanno bisogno di addestrare gli utenti a capire che schermi diversi funzionano in modo leggermente diverso, supereranno la richiesta. Ad un costo di, ad esempio, mezz'ora di formazione per utente, guadagnerebbero molte volte quell'investimento in produttività nella prima settimana. Questa è una decisione abbastanza semplice da fare per la direzione. Molto probabilmente, spingeranno quindi a fare lo stesso cambiamento su un certo numero di altri schermi. Forse vorranno apportare la modifica a una mezza dozzina di schermate prima di eseguire il cambio e l'addestramento agli utenti.

Nella maggior parte delle applicazioni consolidate, vedrai tracce di approcci diversi allo sviluppo e alla progettazione dell'interfaccia utente. Non ha senso rimanere coerenti con il primo schermo che è stato creato quando nuove tecniche, nuove architetture e nuove informazioni su come gli utenti interagiscono effettivamente con il sistema ti hanno dato modi migliori di costruire cose. D'altra parte, ha poco senso investire il tempo per riscrivere anni di lavoro solo perché hai trovato un approccio incrementalmente migliore. Aspettare il progetto "big bang" che probabilmente non arriverà mai significa, in pratica, che niente migliora mai.

    
risposta data 08.03.2013 - 21:38
fonte
1

Nella mia (limitata) esperienza, se devi applicare un cambiamento catastrofico, hai a che fare con un controllo del design di qualche tipo, che lo rende più pericoloso di quanto la maggior parte della gente già lo ritragga come. Sto leggendo il tuo caso come una caratteristica 'sarebbe carino', invece di un 'deve avere immediatamente!' caratteristica, così fortunato, questo non dovrebbe essere troppo doloroso ... naturalmente, il tuo manager potrebbe non essere d'accordo, a causa di ciò.

Per questo motivo, vorrei seguire l'approccio graduale. Prova a fare il controllo della GUI su una multilinea, ma prima di commetterli, ottenere un input da parte degli azionisti e vedere se lo vogliono ovunque, e una stima non ufficiale di quanto tempo si aspettano di salvare con un controllo multilinea, o se addirittura salverà loro in qualsiasi momento Se a loro piace, probabilmente ti diranno qualche altro posto che questo salverebbe loro lo sforzo invece di "ovunque" (anche se potrebbero dirlo anche loro.) In ogni caso, hai intenzione di sta spendendo gli sforzi per far sì che ciò accada, e un aggiornamento prototipo ti farà risparmiare la fatica di capire come ottenere modifiche a questa GUI.

    
risposta data 08.03.2013 - 22:06
fonte

Leggi altre domande sui tag