È compito di uno sviluppatore suggerire requisiti IT?


26

Sono l'unico sviluppatore che lavora su un'applicazione Web che sta per concludersi. Ora stiamo cercando di renderlo live tra un paio di mesi.

Questa è un'applicazione web per una società non IT. Sebbene abbiano un proprio team IT interno, mi hanno chiesto quali saranno i requisiti hardware per i server live, ad es. RAM, 32 bit o 64 bit.

Il team IT interno non dovrebbe farlo o poiché io sono l'unica persona che lavora al progetto è mia responsabilità far loro conoscere eventuali requisiti hardware specifici che potrebbero influire sulle prestazioni del progetto?

Il motivo per cui sto ponendo questa domanda è che non l'ho mai fatto prima. Tutte le volte che mi veniva assegnato un server e mi veniva chiesto di distribuire app su di esso. Non mi sono mai preoccupato della configurazione del server, ecc.


6
Essendo stato su entrambi i lati di quella medaglia (esperienza pluriennale in IT e SD), posso dire con certezza che se avessi un nickel ogni volta che un team di sviluppo mi fornisse una specifica hardware che si adattasse perfettamente all'applicazione, avrei $ 0,00. Probabilmente il 90% era molto al di sotto delle specifiche e gli altri apparentemente richiedevano supercomputer. Non abbiate paura di lavorare con l'IT per capire le specifiche hardware! Combinare la tua conoscenza dell'applicazione con la loro conoscenza dei sistemi e della scalabilità ti farà guadagnare molto di più rispetto al tentativo di eseguire il ballpark di una specifica CPU e RAM basata su sviluppo / test.
Giustino

Risposte:


52

Sebbene abbiano un proprio team IT interno, mi hanno chiesto quali saranno i requisiti hardware per i server live, ad es. RAM, 32 bit o 64 bit.

Forse pensano che come sviluppatore, hai più informazioni sui requisiti dell'app di loro. Presumibilmente hai eseguito l'applicazione e sai quanta memoria richiede con carichi diversi.

Dal punto di vista del reparto IT, sono lieti di fornire qualsiasi cosa la tua applicazione abbia bisogno. Potrebbero probabilmente capire cosa richiede l'applicazione attraverso tentativi ed errori, oppure potrebbero chiedere all'unico della compagnia che probabilmente avrà qualche idea sul comportamento dell'applicazione per la sua opinione.

Non è raro che agli sviluppatori venga chiesto di fare cose che non sono strettamente nella descrizione del loro lavoro . Potrebbe essere necessario scrivere della documentazione, anche se c'è uno scrittore tecnico nello staff. Potrebbe essere necessario partecipare al processo di test anche se esiste un dipartimento di controllo qualità. Oppure ti potrebbe essere chiesto di aiutarti a scrivere una proposta anche se c'è un analista aziendale nel progetto. Questo è normale: fai parte di una squadra e la tua preoccupazione principale dovrebbe essere quella di aiutare la squadra ad avere successo. È anche un bene per te poiché amplia la tua esperienza e ti aiuta a capire cosa fanno gli altri membri del team, ed è un bene per l'azienda poiché diffonde conoscenza.


7
Pesante è il capo di un piccolo sviluppatore di negozi di codici, perché è lui che deve indossare molti cappelli.
Filippo,

1
Di recente ho terminato una migrazione del sito Wordpress. Non è esattamente quello che avevo in mente quando ho deciso di diventare un ingegnere del software, ma in un piccolo team, specialmente in una piccola azienda, fai ciò che deve essere fatto per il bene del team, non perché si adatta alla tua idea di quale potrebbe essere il tuo lavoro ideale.
canapa,

15

è mia responsabilità informarli di eventuali requisiti hardware specifici che possono influire sulle prestazioni del progetto?

È responsabilità di un fornitore di prodotti (la tua azienda, in questo caso) definire i requisiti minimi per il corretto funzionamento del prodotto. Come persona responsabile all'interno della tua azienda; potrebbe essere il capo tecnico del progetto ( suona come te ) o il CTO della tua azienda , il che non ha importanza per il tuo cliente.

Tuttavia, dovrebbe essere fornito un elenco di specifiche minime per consentire il buon funzionamento di questo prodotto su una macchina client e un server.


4
Questo. Il team IT non ha idea di quanto possa essere impegnativa la tua app. Senza questa conoscenza, fornire un server è una pugnalata nel buio. Se non lo sanno e devono fornire un server, di solito otterrai qualcosa di mostruosamente sovradimensionato in quanto non vogliono sottodimensionare. A meno che, ovviamente, non ci sia un budget, allora rimarrai bloccato sul piccolo server e incolperai di ogni problema di prestazioni che abbiano mai avuto.
Brian Knoblauch,

6

Dipenderebbe da alcuni dettagli. Ma in generale, possono aspettarsi almeno che tu dia loro alcuni requisiti minimi poiché dovresti avere una migliore conoscenza della tecnologia che hai usato per il progetto. Sapresti quale database viene utilizzato, se utilizzassi qualche indicizzatore aggiuntivo per la ricerca full-text, che potrebbe richiedere più memoria o fare uso di core aggiuntivi.

D'altra parte, forse hanno anche qualche conoscenza aggiuntiva, come ad esempio quale tipo di carico aspettarsi, quanti clienti possono accedere al sito e così via.

Proverei semplicemente a mettermi in contatto diretto con il team IT e a portare le conoscenze di entrambe le parti.


1

A questo punto del processo, dovrebbero assolutamente chiederti queste informazioni. Il team di sviluppo / sviluppo non è solo responsabile della scrittura del codice. Il tuo compito è comprendere l'applicazione che stai costruendo e tutti i suoi meccanismi interni. Questa conoscenza dovrebbe provenire dalle riunioni di progettazione interne. Chi può meglio valutare il profilo di esecuzione del sistema con tutte le sue sfumature rispetto al team / sviluppatore che lo ha creato.

Verso la fine del gioco, sarei più preoccupato se dettassero la configurazione del server invece di chiedermelo.


0

Sebbene abbiano un proprio team IT interno, mi hanno chiesto quali saranno i requisiti hardware per i server live, ad es. RAM, 32 bit o 64 bit.

I requisiti hardware non significano nulla.

Mentre tu, in qualità di sviluppatore, potresti pensare in questi termini, diffida dal fatto che nessuno in azienda si occuperà effettivamente delle risposte che dai a queste domande. Che cosa importerà è come l'applicazione Web esegue . Sulla base di questa domanda, sospetto che tu non abbia requisiti di prestazione (come richieste al secondo e tempo medio di caricamento di una pagina). È necessario fornire una guida tecnica nello sviluppo delle risposte a queste domande prima di preoccuparsi dei requisiti hardware.

Idealmente non dovresti farlo da solo: tu, un analista aziendale, qualcuno dell'IT che conosci il costo di un server e il project manager dovresti definire i requisiti di prestazione e il loro impatto sull'ambito / pianificazione / budget. Una volta concordato, tu e l'IT potete lavorare insieme per capire esattamente cosa significhi, ma ci sono buone probabilità che tu voglia fare qualche ottimizzazione da parte tua, oltre a lanciarci l'hardware.

Anche se devi farlo da solo, ti consiglio di documentare i tuoi requisiti di prestazione in termini misurabili che non sono descrizioni arbitrarie dell'hardware - questo ti darà anche la possibilità di tornare all'IT in seguito e chiedere di più se l'applicazione non è ' t esibirsi fino al tabacco da fiuto.


0

Non puoi aspettarti che conoscano i requisiti HW del software che non hanno mai visto. Gli architetti e gli sviluppatori senior dovrebbero avere un'idea approssimativa di quanta potenza di archiviazione ed elaborazione è richiesta per la quantità x di clienti. Per quanto riguarda il numero di client che il software deve supportare dipende dal client e dovrebbe essere nelle specifiche approvate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.