Come risolvere una controversia fondamentale sullo storage dei dati cloud?

0

Lavoro per un'azienda che mi ha assunto di recente per creare una nuova versione del software esistente, che ha ora più di 12 anni. Il nuovo software è una completa riscrittura del vecchio e vogliono che sia molto più "online" rispetto alla versione precedente. Sono uno dei due programmatori, l'altro è stato con la compagnia per oltre 20 anni e ora è vicino al pensionamento.

Il problema che sto affrontando è che con quasi tutte le idee suggerisco che non è in linea con quello che pensa, ma viene semplicemente abbattuto, ignorato e dimenticato. Finora ho lasciato scivolare molto; niente di troppo critico e cose che potrebbero essere modificate in seguito, se necessario.

Tuttavia, siamo ora in argomento su come archiviare i dati che devono essere accessibili a tutti i clienti; desidera utilizzare SQL Azure e archiviare il maggior numero possibile di dati nei BLOB xaml-string, quindi utilizzare DevForce IdeaBlade per generare tutto il codice back-end. Non sono convinto, penso che se stiamo usando una soluzione di archiviazione SQL dovremmo usare tabelle di database relazionali, che sono normalizzate, ecc. O non dovremmo usare affatto SQL, e forse usare un altro metodo che consente memorizzazione di oggetti C # direttamente?

Cosa ne pensate?

EDIT: Ok, quindi per dare alle persone un po 'più di informazioni, il programma potrebbe essere considerato una sorta di applicazione simile a Photoshop, ma mirato ad un mercato specifico. Gli utenti hanno accesso ad una libreria di template "sfondi" che possono quindi aggiungere anche testo, immagini, ecc. Quando sfogliano la libreria di modelli, saranno in grado di filtrarli per tipo, colore, ecc.

    
posta Siyfion 25.01.2012 - 18:53
fonte

2 risposte

5

Penso che rimarrai insoddisfatto del tuo lavoro fino alla tua partenza, o l'altro sviluppatore. ;)

Più seriamente, non ci sono abbastanza informazioni per sapere se l'altro sviluppatore sta abbattendo le tue idee perché non gli piace il cambiamento, o se le sta abbattendo perché ha buone, solide ragioni per cui non è comunicare bene.

Vorrei prendere l'approccio di assumere il dopo, e chiedergli se è possibile andare oltre i dettagli della sua decisione fino a quando non li capisci. La maggior parte delle persone sono felici se si prende la posizione di dire esplicitamente che accetti la loro decisione e vuoi capire perché ridurre l'attrito in futuro.

Questo ti aiuterà a capire se dovresti andare avanti, o se dovresti iniziare ad ascoltare di più su ciò che ha da dire.

Alla domanda specifica, penso che dipenda interamente dai tempi, dalle esigenze dell'azienda e dalle esigenze del prodotto. In generale, qualcosa come IdeaBlade che risolve un intero mucchio di problemi significa un sacco di codice che non devi scrivere, quindi non è un piano sbagliato.

Nell'archivio sottostante, l'uso di un database SQL per memorizzare i dati in stile NoSQL non è terribile se si tratta del motore di archiviazione principale e il tuo problema si adatta bene al modulo di archiviazione.

Azure non offre praticamente nulla che non sia SQL, a parte un disco rigido, quindi dovresti scrivere una intera pila di codice per utilizzare qualsiasi altro motore di archiviazione di base.

L'utilizzo di SQL normalizzati presenta ovviamente degli ovvi vantaggi e mi chiedo se il negozio NoSQL sia effettivamente più efficiente. Vedi "parla con lui e capisci perché" prima per la risposta a "è meglio" però.

    
risposta data 25.01.2012 - 19:01
fonte
3

Fai un'analisi delle decisioni. Parla con il tuo capo e l'altro programmatore e, come gruppo, determina quali sono i criteri più importanti che la tua soluzione deve avere (prestazioni, estensibilità, sviluppo più rapido, ecc.). Chiedete al vostro capo di valutare ogni aspetto dell'importanza del progetto (1-5, 5 è il più importante). Questi sono i fattori di ponderazione. Quindi per la tua idea assegnare un punteggio numerico (1-5, 5 è il migliore) a ciascun criterio che la soluzione deve soddisfare. Chiedi all'altro sviluppatore di fare lo stesso per la sua idea. Questi sono i punteggi. Quindi, fai i conti. Moltiplicare ciascun punteggio per il fattore di ponderazione assegnato al capo e riassumere tutti i punteggi per ciascuna idea. Quindi sai qual è l'idea migliore per soddisfare i criteri che il progetto deve soddisfare per avere successo. Puoi cavillare sui numeri specifici che un elemento pubblicitario potrebbe avere per una soluzione specifica, ma aprirà una finestra di dialogo e, una volta concordato su un cliente o se ti rendi conto di aver dimenticato un criterio critico, puoi facilmente apportare le modifiche e vedi se la stessa soluzione prevale ancora. Ti insegnerà anche a pensare a cosa è importante per una soluzione e ti porterà a prendere in considerazione fattori specifici e valutazioni più obiettive di "Odio la tua idea". Ti porterà a parlare dei veri motivi per cui potrebbe o meno funzionare. Potresti scoprire che quando giudichi i fattori reali e il peso reale su quei fattori che nessuna delle due soluzioni è strong in tutte le aree che deve essere e puoi iniziare a cercare qualcosa di meglio.

    
risposta data 25.01.2012 - 21:06
fonte

Leggi altre domande sui tag