Come posso lavorare in modo efficiente su un flusso di lavoro di condivisione desktop?

3

Sono uno sviluppatore Magento freelance, con sede in Spagna. Uno dei miei clienti è una società di sviluppo web con sede in Germania e mi stanno chiedendo qualcosa che penso sia impossibile. OK, forse non impossibile ma sicuramente non è un modo preferito di fare le cose.

Uno dei loro clienti ha un'installazione Magento Entreprise , che è la versione a pagamento (e credo proprietario) di Magento. Il loro cliente ha vietato loro di scaricare i file dal suo server. Il mio cliente mi chiede ora di studiare un particolare modulo dell'applicazione per interagire con esso da un modulo personalizzato che dovrò sviluppare.

Poiché dispongono di un accesso ssh di sola lettura al server del loro cliente, hanno trovato questa soluzione : Configura una sessione di condivisione desktop / schermo tra una stazione del loro sviluppatore e il mio, oltre a una conversazione Skype. La loro idea è che dirò allo sviluppatore:

show me file foo.php

Lo sviluppatore aprirà quindi questo file foo.php nel suo IDE. Dovrò quindi chiedergli di mostrarmi il metodo bar, la classe genitore, ecc ...

Ricorda che è una sessione di sola lettura, quindi dimentica di mettere un Zend_Debug::log() ovunque, e non pensare nemmeno a un breakpoint xDebug (non usano alcun tipo di debugger, sic). Il loro cliente ha anche vietato loro di utilizzare qualsiasi sistema di controllo della versione ...

La mia prima reazione quando mi hanno spiegato questo è stato (e in realtà l'ho detto ad alta voce per loro):

Well, find another client.

ma l'hanno preso come uno scherzo da me. Capisco che dal punto di vista del business rifiutare un cliente non è una buona pratica, ma penso che le condizioni di questo incarico ne rendano impossibile il completamento.

Almeno secondo il mio flusso di lavoro. Voglio dire, il modo in cui lavoro o apprendo un nuovo framework / programma è:

  1. scarica tutti i file e copia di db sul mio pc
  2. crea un repository git e un ramo
  3. esegui l'applicazione localmente
    • usa i punti di interruzione
    • usa Zend_Debug :: log ()
  4. scrivi il codice e prova
  5. commit to git repo
  6. caricare su (test / staging prima se ce n'è uno, produzione se non) server

Ho accettato di provare la sessione di condivisione del desktop, anche se penso che sarà una perdita di tempo. Da una parte non mi dispiace, mi pagano per quel tempo, ma mi conosco e non mi piace la sensazione di perdere tempo. D'altra parte, ho altri clienti per i quali posso lavorare in base al mio flusso di lavoro.

Sto per dire loro che non posso (non voglio) farlo. Bene, per prima cosa proverò questa sessione di condivisione del desktop: forse ho sbagliato e può funzionare davvero. Ma mi piace considerarmi un professionista, e so che non so tutto. Quindi cerco di mantenere una mente aperta e sono sempre disposto ad apprendere nuove cose.

Quindi le mie domande sono:

  1. Può funzionare questo flusso di lavoro di condivisione desktop? Cosa dovrebbe essere fatto per trarne il massimo?
  2. Tenendo conto di tutti gli ostacoli (località geografiche, non locali, niente git), c'è un altro modo per lavorare su quel progetto?
posta OSdave 18.03.2012 - 10:02
fonte

7 risposte

1

Se il tuo cliente ha così tanti soldi da spendere, è meglio che ti paghino un volo per la Germania, a casa di quel cliente, dove puoi lavorare con quel cliente sulle sue macchine. Programmare con il passaparola è un'assurdità e funzionerebbe fino a quando il cliente non si renderà conto di quanti soldi stanno perdendo.

    
risposta data 20.03.2012 - 11:51
fonte
2

Sali su un treno e siediti accanto al ragazzo. No davvero. E mentre sei lì potresti essere in grado di parlare con le persone giuste e trovare il modo in cui puoi fare il lavoro correttamente dal tuo bel paese caldo.

Se ciò non è fattibile e la tua azienda locale ti sta costringendo ad andare avanti con la condivisione dello schermo, devi andartene. Mi rendo conto che al momento potrebbe essere complicato in Spagna, ma ci sono altri paesi tra cui quelli di lingua spagnola, che stanno facendo molto bene nel campo dell'informatica. Tranne i treni non sono così buoni lì.

    
risposta data 20.03.2012 - 11:25
fonte
2

I understand that in a business point of view rejecting a client is not a good practice

Ti stai sbagliando. È è buona pratica per una piccola azienda rifiutare un cliente che non funzionerà per loro. Dopotutto, se non saranno contenti del risultato, ti riporteranno affari ripetuti? Se insisteranno su regole ridicole, riuscirai a fornire un risultato / prodotto accettabile su un programma accettabile? Molto meglio dire "Mi dispiace, ma non credo che funzionerà per nessuno di noi" e allontanarsi .

Detto questo, se continuerai a lavorare su questo, tieni presente che andare lì di persona (anche se solo per un periodo limitato di tempo) sarà estremamente più efficiente. Ti permetterà di capire quali sono le cose che contano davvero e che cosa è solo qualcosa messo lì da un manager che ottiene la parte sbagliata del bastone. Una volta che hai fatto quel primo contatto, probabilmente puoi passare semplicemente con teleconferenze occasionali ed e-mail. Concentrati sull'accertamento della comprensione dell'API; vuoi evitare di dover conoscere gli interni se possibile (e se cominciano a dirti, fermali!) Se non riescono a parlarti di cos'è l'API, questo mi riporta al paragrafo precedente ...

Consiglio inoltre di ignorare qualsiasi requisito per non utilizzare il controllo della versione. Sì, utilizza un repository privato separato per il lavoro - un repo pubblico sarebbe una cattiva idea, ovviamente - ma quando si tratta di quale categoria di strumenti utilizzare, non hanno semplicemente il potere di istruirti sull'uso corretto. di strumenti. Dopotutto, sarebbe altrettanto ridicolo dire a un falegname di non usare un martello o una sega; è il loro lavoro (vale a dire, il tuo) per decidere quali strumenti utilizzare come se fossero l'appaltatore.

    
risposta data 20.03.2012 - 14:44
fonte
1

I understand that in a business point of view rejecting a client is not " good practice "

Dato che sei un libero professionista, devi decidere quali lavori intraprendere. Rifiutare un'offerta, potrebbe portare a cattiva reputazione, ma non ottenere un lavoro accettato può portare allo stesso.

Da un lato hai un'impresa che non ha paura di spendere una barca di denaro per permettere a qualcuno di lavorare nel modo in cui pensano sia l'unico modo per portare a termine il lavoro.

D'altra parte, sembra che tu abbia qualche altro concerto, quindi puoi scegliere i tuoi progetti.

La domanda è:

  • appart dal flusso di lavoro, puoi codificare il modulo?

(Sono sorpreso dalla quantità di denaro che un'azienda è disposta a pagare solo per conformarsi alle regole di conformità.)

    
risposta data 18.03.2012 - 20:32
fonte
1

Approcci di marketing : se hai troppo lavoro o lavori troppo del tipo di lavoro che non ti piace, non sei abbastanza carico.

Il cliente ha sempre un approccio corretto - Sembra che siano consapevoli della situazione che hanno creato e sono disposti a pagare per l'uso inefficiente del tuo tempo. Non è che li stai sanguinando di ore extra. Si sono tagliati.

Approccio del programmatore - atteniti ai tuoi principi ed evita l'ansia mentale e concentrati sul tipo di lavoro che ti piace.

Approccio alla realtà : passaci sopra e fatti pagare!

True Story : un ex datore di lavoro ha deciso di aggiornare il sito Web che ho creato da solo e ha bloccato l'intera faccenda. Ho ricevuto una telefonata proprio mentre stavo finendo di cenare. Dopo 2 ore di "parlare" attraverso la correzione, andiamo avanti. Li ho pagati $ 500. Hanno messo in discussione pagando una tariffa oraria così alta e ho chiesto loro se preferissero se avessi impiegato più tempo. Hanno preso il rischio dell'approccio economico e non hanno avuto problemi a chiamarmi alle ore dispari per salvarli. Gli ho fatto un favore e ne ho chiesto uno in cambio. Hanno deciso di pagarmi. Mai sentito di nuovo. Oh, bene.

    
risposta data 20.03.2012 - 14:05
fonte
0

Quando pubblichi una domanda del genere ... stai cercando opinioni. E tu devi essere aperto e pronto per quelle opinioni ... Penso che questa azienda client o webdev sia molto chiusa e tornata da molti disastri dei freelance ...

Ma sono d'accordo con te. Io voglio che tu lavori con te, dobbiamo offrire le migliori condizioni e soddisfare i tuoi requisiti minimi per permetterti di fare il tuo lavoro come libero professionista.

    
risposta data 18.03.2012 - 12:11
fonte
0

Il modo migliore per licenziare questo cliente è quello di dire: "Dati i vincoli imposti al mio accesso al sistema e l'impatto che questo avrà sulla mia produttività, ci vorrà molto più tempo del solito per ottenere questo lavoro svolto. Di conseguenza, il mio prezzo per questo progetto aumenta del X%. " Rendi X un numero compreso tra 300 e 1000.

Saranno scioccati e inorriditi da questa nuova spesa. Potranno o raggiungere un livello di accesso sano per te, o andranno a cercare un altro ventoso. Oppure se ti prendono in consegna, allora fai il lavoro e incassa l'assegno e pagati per il tuo tempo.

    
risposta data 20.03.2012 - 13:44
fonte

Leggi altre domande sui tag