Ich bin daran interessiert zu wissen, wie man mit einem aktuellen Softwareentwicklungsprozess umgeht, der seit Jahren unverändert ist und letztendlich zu Produkt- und Teamfehlern führen wird. Ja, wahrscheinlich ist der einfachere Weg, dies zu lösen, ein Jobwechsel, aber mit dieser Wirtschaft ist das leichter gesagt als getan. Wenn Sie jedoch konkrete Beispiele haben und mehrere Male dieselbe Situation gesehen oder erlebt haben und der Meinung sind, dass die beste Lösung zur Behebung dieser Probleme darin besteht, das Unternehmen zu verlassen, unterstützen Sie bitte Ihre Antwort. Der Punkt ist, dass diese Frage wirklich eine Antwort hat, insbesondere wenn mehrere Experten auf diesem Gebiet darauf hinweisen, dass der beste Weg zu gehen ist: Weg A.
Ich weiß, dass Tonnen von Entwicklern in ähnlichen Situationen waren oder sind. Dies ist einer der Hauptgründe, warum Unternehmen von der Nr. 1 in ihrem Markt auf die letzte oder gar nicht mehr auf dem Markt sind. Hoffentlich helfen die Antworten in diesem Beitrag anderen Entwicklern, die mit ähnlichen Hindernissen konfrontiert sind. In einem kleinen oder großen Entwicklungsteam geschieht dies normalerweise:
- Einige Entwickler scheinen sich nicht darum zu kümmern und beschließen, mit dem Fluss zu gehen und Code mit viel Code-Geruch so zu belassen, wie er ist, und den Entwicklungsprozess so, wie er ist.
- Andere werden es leid, nichts mehr zu ändern und treten zurück und ziehen in eine andere Firma,
- Andere scheinen Angst zu haben zu reden und lieber still zu bleiben,
- Manchmal versuchen nur sehr wenige Entwickler oder nur einer, für die Verbesserung des Produkts einzutreten, und teilen dem Team mit, wie wichtig es ist, die besten Codierungspraktiken und -vorteile für Kunden, Benutzer und das Team zu befolgen. Diese Art von Entwicklern entscheiden sich in der Regel aus Gründen, die für das Team sprechen, zum Beispiel, weil das Unternehmen Vorteile bietet, die nur sehr wenige Software-Unternehmen bieten, oder weil das Produkt ein großes Potenzial hat.
Das Produkt in unserem Team ist nur ein Bruchteil dessen, womit das Unternehmen seinen Umsatz erzielt, da es über ein Produktdach verfügt (dieses Unternehmen ist kein Software- / Hardwareunternehmen; daher zumindest vorerst kein ständiger Patentstreit, der Arbeitsplätze schafft) Instabilität). Was ich in diesen Jahren aus den Erfahrungen anderer Entwickler gelernt habe und meine Erfahrung ist, dass es Zeit braucht, nicht Tage, noch Wochen, sondern ein paar Monate, um ein Entwicklerteam wirklich zu kennen. Während des Interviewprozesses, wenn das Team Sie einstellen möchte oder braucht; Sie lassen alles großartig klingen und sagen Ihnen vielleicht, was Sie hören möchten. Die Realität sieht jedoch anders aus, wenn Sie anfangen, in diesem Team zu arbeiten, den Code zu durchsuchen und sich dem vollständigen SDLC-Prozess zuzuwenden. Dies ist der Moment, in dem Sie als Entwickler beginnen, die Realität des Jobs zu erkennen, in den Sie eingetreten sind. Diese Realität macht es schwierig, von einem Unternehmen in ein anderes zu wechseln, da es schwierig ist zu wissen, ob das Unternehmen, in das Sie wechseln, besser oder schlechter wird. Ja, Sie können Glassdoor-Bewertungen usw. lesen. Aber wie viele dieser Online-Bewertungen sind echt und nicht von HR?
Was wäre der beste Weg, um die im Folgenden beschriebenen Probleme zu lösen, wenn man bedenkt, dass Manager von Anfang an sich Änderungen widersetzten und frühere Entwickler dies seit Jahren auch tun?
Seit Jahren mangelnde Produktinnovation: Das Produkt hat viel Potenzial und bringt dem Unternehmen gute Einnahmen, aber das Produkt sieht so aus, als wäre es vor 20 Jahren hergestellt worden. Einige Benutzer haben sich darüber beschwert, dass das Produkt weder benutzerfreundlich noch intuitiv ist, und andere haben erwähnt, dass Apps wie Google Mail bei der Verwendung des Produkts frustriert sind, weil sie keine ähnlichen Funktionen aufweisen. Das Hauptproblem hierbei ist, dass Sie, wenn Sie als Entwickler versuchen, Änderungen am Produkt vorzunehmen und die Hauptelemente des Produkts nur ein paar Pixel (um es benutzerfreundlicher oder intuitiver zu gestalten) zu verschieben, in Panik geraten und es Ihnen mitteilen um es wieder dorthin zu bringen, wo es war. Wenn Sie versuchen, eine Funktion hinzuzufügen, die der Produktivität der Benutzer zugute kommt, werden Sie vom Manager aufgefordert, sie zu entfernen, da "Benutzer daran gewöhnt sind, den Vorgang so wie er ist usw." Ich denke, Sie sind auf den Widerstand gegen Veränderungen, Verbesserungen und Innovationen gestoßen (der Manager ist nicht offen für Veränderungen, auch wenn Sie als Entwickler starke Argumente für Vorteile vorbringen). Das Unternehmen hat einige Konkurrenten auf dem Gebiet (die Produkte weniger von ihnen sind viel wettbewerbsfähiger), aber irgendwie hat das Unternehmen die gegenwärtigen Kunden über Jahre hinweg gepflegt.
Mangelnde Koordination des Projektmanagements: Infolgedessen werden einige Projekte verspätet geliefert, und einige Kunden beschweren sich (Kunden melden die Fehler ebenfalls), oder das Budget wird zu schnell verwendet, bevor Projekte usw. bereitgestellt werden. Ich habe sie bereitgestellt Einige Tipps zur Projektkoordination und die Ideen werden nun regelmäßig verwendet, um den Fortschritt der zu erledigenden Projekte und Aufgaben zu verfolgen.
Schlechte Softwareentwicklungspraktiken: Code-Geruch tritt auf den meisten, wenn nicht allen Dateien auf, keine Dokumentation, Code-Redundanz, Front-End-Schicht und Back-End in derselben Datei gemischt, veraltete Entwicklungstools, keine echte Testumgebung oder Testtools (einfach kopieren und einfügen Dateien von der Entwicklungsumgebung bis zur Produktion und dann manuell testen, ob die Dinge gut aussehen und freigeben). Die meisten Entwicklungstools, die ich für die Entwicklung und das Testen verwende, sind dem Team unbekannt, da das Team nur zwei IDEs für die Codeentwicklung verwendet und die Quellcodeverwaltung nur für die Entwicklungsumgebung verfügbar ist. Andere Entwickler haben versucht, die neuesten Frameworks zu verwenden, um aktuelle Probleme zu beheben, aber der Manager mag dies nicht, weil "Was passiert, wenn Sie den Code verlassen, und wer ihn dann beibehalten wird? Lassen wir ihn so, wie er ist". Einige dieser Entwickler haben es bereits getan verließ und zog zu einem anderen Unternehmen.
Zusammenfassend kann ich sagen, dass viele Entwickler in anderen Unternehmen mit ähnlichen Situationen konfrontiert sind. Aufgrund anderer Umstände möchte ein Entwickler jedoch möglicherweise lieber im Team bleiben als zu einem anderen Unternehmen, und zwar aus Gründen wie der Bequemlichkeit der Arbeit, der Flexibilität der Arbeit, den Vorteilen des Unternehmens oder nur weil eine bessere Gelegenheit nicht gekommen ist). Es gibt kein perfektes Unternehmen, von dem ich weiß, aber wie würden Sie sich als Entwickler verhalten und alle diese Themen angehen, um die Dinge positiv zu halten und letztendlich den Wandel zur Verbesserung des Produkts und zur Verbesserung des Softwareentwicklungsprozesses voranzutreiben (ob Sie nun viele haben) Jahre Entwicklungserfahrung oder nur wenige? Ich weiß, dass dieser Beitrag lang ist, aber ich habe es vorgezogen, zusätzliche Details anzugeben, um die Chancen auf ein nützlicheres Feedback zu erhöhen.
Vielen Dank für Ihr Feedback und Ihre Zeit