Ist es die Aufgabe eines Entwicklers, IT-Anforderungen vorzuschlagen?

26

Ich bin der einzige Entwickler, der an einer Webanwendung arbeitet, die kurz vor dem Ende steht. Jetzt versuchen wir, es in ein paar Monaten zum Leben zu erwecken.

Dies ist eine Webanwendung für ein Nicht-IT-Unternehmen. Obwohl sie ein eigenes internes IT-Team haben, haben sie mich gefragt, wie die Hardwareanforderungen für die Live-Server aussehen werden, z. RAM, 32 Bit oder 64 Bit.

Sollte dies nicht vom internen IT-Team durchgeführt werden, oder ist es meine Verantwortung, die einzelnen Hardware-Anforderungen, die sich auf die Leistung des Projekts auswirken können, mitzuteilen, da ich die einzige Person bin, die an dem Projekt arbeitet?

Der Grund, warum ich diese Frage stelle, ist, dass ich das noch nie getan habe. Immer wenn ich einen Server bekam und darum gebeten wurde, Apps darauf bereitzustellen. Ich habe mich nie um die Serverkonfiguration usw. gekümmert.

ashishjmeshram
quelle
6
Nachdem ich auf beiden Seiten dieser Medaille war (mehrjährige Erfahrung in IT und SD), kann ich mit Zuversicht sagen, dass ich eine Hardware-Spezifikation hätte, die genau zu der Anwendung passt, wenn ich jedes Mal einen Nickel hätte 0,00 €. Wahrscheinlich waren 90% weit unter der Spezifikation und die anderen benötigten offenbar Supercomputer. Haben Sie keine Angst, mit der IT zusammenzuarbeiten, um die Hardware-Spezifikation herauszufinden! Wenn Sie Ihre Kenntnisse der Anwendung mit den Kenntnissen der Systeme und der Skalierbarkeit kombinieren, können Sie viel mehr als nur versuchen, eine CPU- und RAM-Spezifikation basierend auf dev / test zu parken.
Justin ᚅᚔᚈᚄᚒᚔ

Antworten:

52

Obwohl sie ein eigenes internes IT-Team haben, haben sie mich gefragt, wie die Hardwareanforderungen für die Live-Server aussehen werden, z. RAM, 32 Bit oder 64 Bit.

Vielleicht glauben sie, dass Sie als Entwickler mehr Einblick in die Anforderungen der App haben als sie. Vermutlich haben Sie die Anwendung ausgeführt und wissen, wie viel Speicher unter verschiedenen Lasten benötigt wird.

Aus Sicht der IT-Abteilung sind sie gerne bereit, alles zu liefern, was Ihre Anwendung benötigt. Sie könnten wahrscheinlich durch Ausprobieren herausfinden, was die Anwendung erfordert, oder sie könnten denjenigen in der Firma, der wahrscheinlich einen Einblick in das Verhalten der Anwendung hat, nach seiner Meinung fragen.

Es ist nicht ungewöhnlich, dass Entwickler aufgefordert werden, Dinge zu tun, die nicht ausschließlich in ihrer Stellenbeschreibung enthalten sind . Möglicherweise müssen Sie eine Dokumentation schreiben, obwohl ein technischer Redakteur im Personal ist. Möglicherweise müssen Sie am Testprozess teilnehmen, obwohl es eine QA-Abteilung gibt. Oder Sie werden möglicherweise gebeten, bei der Erstellung eines Angebots mitzuwirken, obwohl sich ein Business Analyst im Projekt befindet. Das ist normal - Sie sind Teil eines Teams und Ihr Hauptanliegen sollte darin bestehen, dem Team zum Erfolg zu verhelfen. Es ist auch gut für Sie, da es Ihre Erfahrung erweitert und Ihnen hilft zu verstehen, was die anderen Teammitglieder tun, und es ist gut für das Unternehmen, da es Wissen verbreitet.

Caleb
quelle
7
Heavy ist der Kopf eines kleinen Code-Shop-Entwicklers, denn er muss viele Hüte tragen.
Philip
1
Ich habe kürzlich eine Wordpress-Site-Migration abgeschlossen. Das ist nicht genau das, woran ich gedacht habe, als ich mich entschied, Software-Ingenieur zu werden, aber in einem kleinen Team, insbesondere in einem kleinen Unternehmen, tun Sie, was zum Wohle des Teams getan werden muss, nicht weil es Ihrer Vorstellung entspricht Was könnte Ihr idealer Job sein?
Hanf
15

Ist es meine Aufgabe, sie über die spezifischen Hardwareanforderungen zu informieren, die sich auf die Leistung des Projekts auswirken können?

Es liegt in der Verantwortung eines Produktanbieters (in diesem Fall Ihres Unternehmens), Mindestanforderungen für den erfolgreichen Produktbetrieb festzulegen. Als verantwortliche Person in Ihrem Unternehmen; Es kann sich um den technischen Leiter des Projekts handeln ( klingt wie Sie ) oder um den CTO Ihres Unternehmens - was für Ihren Kunden nicht wichtig ist.

Es sollte jedoch eine minimale Spezifikationsliste bereitgestellt werden, um einen ordnungsgemäßen Betrieb dieses Produkts auf einem Client-Computer und Server zu ermöglichen.

EL Yusubov
quelle
4
Dies. Das IT-Team hat keine Ahnung, wie anspruchsvoll Ihre App sein kann. Ohne dieses Wissen ist die Bereitstellung eines Servers ein Stich in die Dunkelheit. Wenn sie es nicht wissen und keinen Server bereitstellen müssen, erhalten Sie normalerweise etwas ungeheuer Übergroßes, da sie nicht untergroß werden möchten. Wenn es natürlich kein Budget gibt, bleiben Sie auf dem winzigen Server stecken und werden für jedes Leistungsproblem verantwortlich gemacht, das sie jemals hatten.
Brian Knoblauch
6

Wäre auf ein paar Details angewiesen. Im Allgemeinen können sie jedoch davon ausgehen, dass Sie ihnen einige Mindestanforderungen stellen, da Sie ein besseres Wissen über die Technologie haben sollten, die Sie für das Projekt verwendet haben. Sie würden wissen, welche Datenbank verwendet wird, wenn Sie einen zusätzlichen Indexer für die Volltextsuche verwenden würden, der möglicherweise mehr Speicher benötigt oder zusätzliche Kerne verwenden würde.

Auf der anderen Seite verfügen sie möglicherweise auch über zusätzliche Kenntnisse, z. B. welche Art von Last zu erwarten ist, wie viele Kunden auf die Site zugreifen dürfen und so weiter.

Ich würde einfach versuchen, in direkten Kontakt mit dem IT-Team zu treten und das Wissen von beiden Seiten einzubringen.

thorsten müller
quelle
1

Zu diesem Zeitpunkt sollten sie Sie unbedingt nach diesen Informationen fragen. Das Entwickler- / Entwicklungsteam ist nicht nur für das Schreiben von Code verantwortlich. Es ist Ihre Aufgabe, die Anwendung, die Sie erstellen, und all ihre inneren Funktionen zu verstehen. Dieses Wissen sollte aus Ihren internen Designmeetings stammen. Wer könnte das Ausführungsprofil des Systems mit all seinen Nuancen besser bewerten als das Team / der Entwickler, der es erstellt hat?

So spät im Spiel wäre ich mehr besorgt, wenn sie die Serverkonfiguration diktieren würden, anstatt mich zu fragen.

cdkMoose
quelle
0

Obwohl sie ein eigenes internes IT-Team haben, haben sie mich gefragt, wie die Hardwareanforderungen für die Live-Server aussehen werden, z. RAM, 32 Bit oder 64 Bit.

Hardwareanforderungen haben keine Bedeutung.

Während Sie als Entwickler möglicherweise in diesen Begriffen denken, sollten Sie sich darüber im Klaren sein, dass es niemanden interessiert, welche Antworten Sie auf diese Fragen geben. Es wird darauf ankommen, wie die Web - Anwendung führt . Aufgrund dieser Frage haben Sie vermutlich keine Leistungsanforderungen (z. B. Anforderungen pro Sekunde und durchschnittliche Ladezeit für eine Seite). Sie sollten technische Anleitungen zur Entwicklung der Antworten auf diese Fragen bereitstellen, bevor Sie sich Gedanken über die Hardwareanforderungen machen.

Im Idealfall sollten Sie dies nicht alleine tun müssen: Sie, ein Business Analyst, jemand aus der IT, der die Kosten eines Servers kennt, und der Projektmanager sollten die Leistungsanforderungen und deren Auswirkungen auf Umfang / Zeitplan / Budget definieren. Sobald dies vereinbart ist, können Sie und die IT-Abteilung zusammenarbeiten, um herauszufinden, was dies genau bedeutet. Es besteht jedoch die Möglichkeit, dass Sie zusätzlich zur Hardwareoptimierung weitere Optimierungen vornehmen möchten.

Selbst wenn Sie dies selbst tun müssen, empfehle ich, Ihre Leistungsanforderungen in messbaren Begriffen zu dokumentieren, die keine willkürlichen Beschreibungen der Hardware sind. Dies gibt Ihnen auch die Möglichkeit, später zur IT zurückzukehren und nach weiteren Informationen zu fragen, wenn die Anwendung nicht vorhanden ist. t Schnupftabak durchführen.

Kojiro
quelle
0

Sie können nicht erwarten, dass sie die Hardware-Anforderungen von Software kennen, die sie noch nie gesehen haben. Die Architekten und leitenden Entwickler sollten eine ungefähre Vorstellung davon haben, wie viel Speicher- und Verarbeitungsleistung für x-Anzahl von Clients erforderlich ist. Wie viele Clients die Software unterstützen muss, hängt vom Client ab und sollte tatsächlich in der abgemeldeten Spezifikation enthalten sein.

Umgekehrtes Lama
quelle