Come dovresti affrontare un progetto popolare che non vuoi più mantenere?

75

Sono il manutentore di un progetto che ha una vasta base di utenti non tecnici. Lo sto mantenendo da circa 4 anni e aggiungo nuove funzionalità come sono state richieste.

Mi piacerebbe passare ad altri progetti ora e smettere di sviluppare per questa applicazione. A causa della natura non tecnica degli utenti, ci sono stati pochissimi contributi al codice in passato. Non credo che sarò in grado di trovare nessun altro a cui affidare il progetto al posto mio.

Bug, problemi, richieste di funzionalità - questi sono ancora in arrivo. Sto ancora rispondendo alle e-mail di aiuto, perché non sono sicuro che dovrei ignorarle, dirle che non sto lavorando all'applicazione, o se Dovrei rispondere alle e-mail solo in determinati casi.

Qual è il modo migliore per "abbandonare" questo progetto, ma consentire comunque agli utenti di utilizzare l'applicazione?

Aggiornamento (luglio 2016) - Non è andato come previsto. Ho fatto un annuncio nel README e subito dopo ho iniziato a ricevere contributi di natura più sostanziale. Pull richieste con correzioni di bug, funzionalità, documentazione, attività di emissione. Da allora, il progetto si è sentito "rinvigorito" e ora lo sto mantenendo felicemente insieme ai nuovi progetti. Ho anche dei collaboratori. A occhio e croce, potrebbe essere stato il tipo di contributi che stavano influenzando la mia visione del progetto e con la qualità dei contributi migliorati, non mi sembrava più un lavoro ingrato.

    
posta Mendhak 04.04.2013 - 12:11
fonte

9 risposte

40

Immagino che questo non sia un progetto in un posto di lavoro in cui sei un dipendente retribuito e qualcosa che fai nel tempo libero gratuitamente?

Se non stai facendo soldi da questo, allora chiaramente non c'è alcun incentivo per te, e nessun incentivo per gli altri a venire in fresco per affrontarlo. (a meno che non sia per un ente di beneficenza o un'organizzazione di volontariato simile)

In alternativa, perché non guardare la possibilità di aggiungere funzionalità a pagamento.

In questo modo potresti avere qualche incentivo a continuare. Potresti trovare persone disposte a pagare, specialmente quando l'alternativa è che il sistema smetta di essere attivamente sviluppato. (naturalmente le persone possono abbandonare il tuo sistema, ma cosa ti importa, non sei già pagato)

Un'altra opzione potrebbe essere quella di utilizzare il progetto per apprendere nuove tecnologie? È un sito web? Aggiornamento alla tecnologia più recente? Convertire da Asp.Net a MVC4 per esempio? creare una versione mobile, renderla basata sul servizio e creare un front-end per app iOS per questo?

    
risposta data 04.04.2013 - 14:16
fonte
25

Annuncia l'abbandono del prodotto alla tua comunità di utenti. Forse troverai un successore per il tuo ruolo di manutentore. Cerca di organizzare un po 'di tempo per la consegna, come faresti con un progetto nel tuo lavoro giornaliero.

Come esr messo in La cattedrale e il bazar :

When you lose interest in a program, your last duty to it is to hand it off to a competent successor.

    
risposta data 05.04.2013 - 02:31
fonte
11

Un altro suggerimento per te, che è leggermente l'opposto di quello che stai chiedendo, ma penso che dovrebbe essere nella tua lista per considerazione. Hai pensato di non abbandonarlo? Se hai un progetto che ci sono persone che usano attivamente e hanno requisiti crescenti, ma non sono in grado di modificarlo da soli e tu sei l'unico esperto nel software ... allora sei nella posizione di far pagare loro dei soldi per questo.

Se la fonte è aperta, potresti considerare di chiuderla (la tua scelta se vuoi soffocare la concorrenza sviluppando ulteriormente il progetto). Quando arriva la richiesta della prossima funzione, dì di sì per un addebito di $ xyz.

Solo un'opzione da considerare.

    
risposta data 04.04.2013 - 14:11
fonte
7

È difficile abbandonare la tua base di fan, specialmente quando sei diverso da loro. Se ci fossero sviluppatori nel gruppo di utenti, sarebbe un problema facile da risolvere: basta annunciare la tua uscita imminente e suggerire che qualcun altro aumenti, offrendosi di aiutarli a diventare più veloci prima di partire. Dal momento che non ci sono, la domanda è davvero questa: puoi (o i tuoi utenti) trovare qualcuno che ti sostituisca in un lasso di tempo che ha senso per te (o per i tuoi utenti).

In passato, ho mantenuto diversi progetti per anni più a lungo di quanto mi interessassi perché era buono per la mia reputazione. La mia statura, per quanto relativamente piccola, nel mio campo mi ha aiutato a trovare un lavoro quando ne avevo bisogno o voluto, e questo ha un valore per me. Abbastanza valore per far valere la pena di dedicare il mio tempo quando potrei. Alla fine, naturalmente, me ne sono andato, ma mi sono assicurato che il codice completo del progetto fosse disponibile per tutti i successori.

    
risposta data 04.04.2013 - 13:26
fonte
5

Vuoi abbandonare il progetto perché ...

non vuoi più farlo?

Quindi: Graceful shutdown ala Reader.

Oppure ... assumi uno sviluppatore (continua sotto)

O perché stai perdendo soldi?

Calcola i costi extra (e continua sotto)

O perché non stai facendo soldi?

Calcola quanto hai bisogno di farti sentire diverso:

  1. i costi sostenuti devono essere coperti
  2. costo di uno sviluppatore per continuare lo sviluppo
  3. un margine di profitto

Sii onesto con i tuoi utenti: spiega loro che costa un certo periodo di tempo, energia, ecc. per mantenere il servizio.

Quindi chiedi donazioni e / o addebiti per le funzionalità esistenti . Non tentare di inventare funzionalità premium che solo ritardi determinando se il servizio è davvero abbastanza prezioso per supportare se stesso. Basta andare con le caratteristiche che hai.

Se gli utenti si comportano bene, possono andare altrove. Se non ci sono abbastanza donazioni e / o iscrizioni, quindi spegnimento.

Sii brutale: una volta staccata la spina non guardare indietro.

    
risposta data 13.07.2013 - 23:13
fonte
3

Hai un paio di opzioni che altri hanno notato. La mia opzione è quella di emettere un avviso di fine vita. Indica che il prodotto si spegnerà in tale data.

Indicare inoltre che poiché questo prodotto è prossimo alla fine della vita, verranno affrontati solo i bachi critici che influiscono sulla capacità dell'applicazione di funzionare come progettato o previsto. OSSIA se il server non funziona, lo rimetterai in funzione.

Se gli utenti hanno dati, potrebbe essere necessario aggiungere un modo per esportarli.

Dai un'occhiata a ciò che Google ha recentemente fatto con Reader come guida. Lo hanno chiuso ed è stato un servizio molto popolare, ma non si adattava ai loro obiettivi a lungo termine, quindi era necessario prendere la decisione di chiuderlo.

    
risposta data 04.04.2013 - 17:49
fonte
3

È una sorta di misura a metà strada una possibile soluzione? Continua il progetto ma diminuisci il carico di lavoro?

Ad esempio, tu dici che stai ancora rispondendo alle e-mail per chiedere aiuto. Puoi creare un forum per gli utenti e insistere sul fatto che tutte le richieste di supporto sono fatte in modo che altri utenti esperti possano aiutarti?

    
risposta data 04.04.2013 - 22:05
fonte
1

Ben andando a pagare puro ucciderà molti utenti, ma ci sono molte alternative al puro pagato. Un videogioco che gioco offre ai donatori alcuni vantaggi extra come più download all'ora "un puro gioco basato sull'abilità, non confondere con la paga per vincere spazzatura lol". Un altro gioco Path of Exile offre aggiornamenti cosmetici. Altri siti pubblicano sondaggi in cambio di larghezza di banda. Il coder di donazione offre agli utenti gratuiti licenze per (X Time) rinnovabili più volte che vogliono, ma i donatori ottengono licenze permanenti.

Ci sono tonnellate di opzioni che offrono per denaro ma mantengono comunque gli utenti liberi in giro.

La maggior parte delle persone non ha problemi a supportare qualcosa che a loro piace così onestamente, proverei solo a chiedere prima impostando un'area suggerita calcolata per coprire il costo mensile.

    
risposta data 14.07.2013 - 12:31
fonte
1

Hai incluso il tag open-source , quindi immagino che il tuo progetto sia software open source.

there have been very few code contributions in the past

È spiacevole, ma comprensibile nel caso steste facendo tutto. Molti utenti non vengono coinvolti finché funziona in modo ragionevole.

Alcuni leader amano delegare tutte le responsabilità e alcuni leader preferiscono mantenere un controllo più stretto. Mentre è necessario un saldo, delegare al più presto la chiave qui.

Ho creato oltre 30 progetti open source e molti sono ancora attivi anche se li ho lasciati. Ecco cosa consiglierei:

  1. Permetti al bug tracker di accedere MOLTO generosamente, forse a chiunque abbia mai contribuito con una linea di codice. Se qualcuno inizia a fare cose pazze (probabilità molto bassa), hai ancora il controllo amministrativo per rimuoverle. Non dimenticare di cedere altri diritti: controllo del codice sorgente, wiki, crowd-translation, pagina facebook, account twitter, sito web ufficiale, google analytics, ecc.

  2. Pubblica nel forum (e sul sito web) l'avviso che stai andando in pensione e stai cercando un nuovo capo progetto.

  3. Anche se nessuno entra come leader di un team, possono verificarsi problemi fatali (esempio stupido: un URL hard-coded diventa 404, rendendo l'app in crash all'avvio), probabilmente verrà riparato da qualcuno. Se nessuno risolve difetti fatali, significa che non dovresti più preoccuparti troppo, hai fatto quello che potresti, ma il progetto non sembra più praticabile.

risposta data 29.07.2013 - 12:36
fonte

Leggi altre domande sui tag