La migliore opinione per dare un potenziale cliente

1

Ho un amico che lavora per un'azienda. Usano un prodotto software che è invecchiato e scritto in Delphi. Ci sono preoccupazioni in questa azienda sulla vita della società di software che fornisce il software (che pagano una licenza mensile da utilizzare). È abbastanza specifico software.

Il mio amico ha parlato con il suo capo e sono stato invitato con la potenziale opportunità di "riscrivere" la loro applicazione Windows al fine di fornire anche il codice sorgente (C #, è quello che ho intenzione di fornire in caso di questo calcio off).

Dando questo un po 'di pensiero, e anche se potrebbe darmi dei soldi ben necessari, mi chiedo quale sia l'opzione migliore qui ...

Il requisito iniziale sembrerebbe essere quello di replicare questa applicazione esattamente così com'è. Non è stato sviluppato internamente e quindi è utilizzato anche da altre società. È grande e complesso. Anche se questo non mi preoccupa, sono preoccupato per il costo e il tempo di farlo solo per portarlo "in-house". Non sembrano desiderare funzionalità nuove o diverse, solo una base di codice che possiedono.

Quindi immagino, la mia vera domanda; ora che disponi di informazioni di base, vale la pena di suggerirmi piuttosto che riscrivere questa cosa dot-for-dot e feature-for-feature per vedere effettivamente quali parti usano / non usare e progettare un'applicazione ritagliati su misura per loro piuttosto che per quelli generici disponibili sul mercato?

Sembra un enorme spreco duplicare semplicemente l'applicazione solo per avere la proprietà, ma poi sono un programmatore e non un decisore aziendale:)

Qualche idea / pensiero / fiamma?

    
posta Moo-Juice 29.03.2011 - 19:53
fonte

6 risposte

3

Sì!

In effetti se non lo suggerisci - o almeno lo fai apparire, spero che siano un po 'preoccupati.

Devi aiutarli a leggere tra le loro battute. Quando dicono che vogliono tutte le funzionalità esattamente come l'applicazione precedente, quello che stanno effettivamente dicendo è "non vogliamo cambiare il nostro flusso di lavoro" ... bene - ma sono sicuro che non stanno cercando di dire - e Sì e per favore sprecare mesi di sforzi per quelle funzionalità che non usiamo mai e che sono disponibili solo per le altre società.

Assumendo questo ruolo tu IMO non sei solo lo sviluppatore che ora sei un consulente e devi cercare di assicurarti di aggiungere valore ad entrambe le capacità - ma sono ancora il capo quindi non farti prendere troppo in considerazione nel ruolo di consulente: -)

    
risposta data 29.03.2011 - 20:30
fonte
1

Scopri cosa hanno ottenuto per il loro canone. Ci potrebbero essere stati aggiornamenti negli ultimi anni. Quello che può sembrare un rifiuto può essere una polizza assicurativa.

Hanno determinato che questa app fa esattamente ciò che vogliono o sono riluttanti nello sforzo di cambiarla? Potrebbero non pensare che ci sarà un sacco di test o requisiti da parte loro, perché tutto ciò che devi fare è renderlo esattamente lo stesso.

Sarei scioccato se un nuovo requisito non emergesse nel bel mezzo di questo progetto. Una volta che qualcuno è arrivato alla conclusione, potresti fare delle personalizzazioni - attenzione.

    
risposta data 29.03.2011 - 20:07
fonte
0

Probabilmente sarebbe meglio costruire una nuova applicazione che avesse funzionalità che usassero da quella vecchia. Cercare di riprodurre ogni singola funzione, anche quelle che non hanno mai sentito, è un requisito molto difficile, soprattutto se sanno che usano un sottoinsieme piccolo delle funzionalità della vecchia applicazione.

Diffida solo della funzionalità di creep: potrebbero desiderare la loro funzionalità esistente rifatta e con nuove funzionalità che la vecchia app non ha mai avuto. Assicurati di avere tutti i requisiti correttamente documentati prima di iniziare a scrivere qualsiasi codice reale (non proof-of-concept).

    
risposta data 29.03.2011 - 20:02
fonte
0

La riqualificazione di una porzione significativa di un'applicazione "grande e complessa" che "non è stata sviluppata internamente e quindi viene utilizzata da altre aziende" sembra una grande impresa per un singolo programmatore. Per completare questo in un ragionevole lasso di tempo dovrai ridurre il progetto alle funzioni specifiche che stanno utilizzando. Anche allora sono scettico. Quanta esperienza hai come programmatore C #? C'è qualche matematica interessante in questa applicazione, o semplicemente spinge i dati?

Ad ogni modo, perché correre? Se il fornitore ha cessato l'attività, può tentare di ottenere il codice sorgente, oppure cercare un'alternativa a quel punto. Il software continuerà a funzionare.

    
risposta data 29.03.2011 - 23:29
fonte
0

No

Il cliente ha definito il progetto come "replica delle funzionalità esistenti". Questo è il lavoro per il quale sei stato assunto. Alcuni clienti non sono interessati a suggerimenti dell'appaltatore che sembrano "Sto pescando per più ore fatturabili".

Si

È ragionevole (e professionale) suggerire che mentre si sta replicando la funzionalità esistente, ora è un buon momento per loro richiedere desideri di vecchia data, ma insoddisfatti, sulle funzionalità aggiuntive. Non spingerlo, basta suggerire che "forse la fase 1 è una replica completa e una fase 2 può essere rielaborata e / o funzionalità aggiuntiva". Se dicono di sì, ottimo. Se dicono di no, anche grandioso.

    
risposta data 29.03.2011 - 23:36
fonte
0

Inizierei a scoprire come utilizzare il software, in realtà a capire per cosa utilizzano il software e quali funzioni usano. Quindi crea una serie di release cardine, ognuna con un sottoinsieme di funzionalità, lentamente svezzandole dal vecchio software e sostituiscile a mano a mano con la tua sostituzione.

Richiedi il pagamento ad ogni milestone e verifica un processo di revisione del progetto.

Potrebbero volere anche il codice sorgente, ma proverei a mantenere la proprietà del codice, in questo modo puoi provare a vendere il codice ad altre persone che usano il software.

Probabilmente vorrai scrivere uno strumento di migrazione dal vecchio formato / database dati del software al tuo software, assicurati di sapere che cosa significano i dati prima di farlo.

    
risposta data 29.03.2011 - 23:45
fonte

Leggi altre domande sui tag