Bei meinem ersten Job als Softwareentwickler verwendete mein Team Agile / Scrum, um unseren Projektworkflow zu verwalten, und es funktionierte ziemlich gut. Ich hatte einige erfahrene Mentoren, die mich auf den richtigen Weg gebracht haben - ich bin ihnen zu großem Dank verpflichtet. Ich habe dort einige Jahre gearbeitet und bin dann vor ein paar Monaten zu einer neuen Gelegenheit übergegangen.
Schneller Vorlauf zu meinem aktuellen Job. Ich arbeite an einer Universität unter der Leitung eines Professors. Da ich an einer Universität bin, ist fast jeder Programmierer ein Student (sie sind billig und reichlich!). Mein Chef hat Managementerfahrung, aber nicht mit Softwareentwicklung, und das Softwareteam ist nicht immer im Kopf meines Chefs . Diese Bedingungen haben die perfekte Umgebung für die Erstellung von Software von sehr schlechter Qualität geschaffen. Softwareprojekte scheinen ein bisschen schelmisch zu sein, haben nicht daran gedacht zu entwerfen und haben einige wirklich beängstigende Praktiken angewandt. Ich weiß, dass es besser sein könnte.
Ich möchte einen Entwicklungsprozess implementieren, um alle auf den richtigen Weg zu bringen, die Codequalität zu verbessern und stabilere Software bereitzustellen. Ich bin mir einfach nicht sicher, wo ich anfangen soll.
Ich suche nicht nach Antworten wie "Scrum verwenden", "Kanban-Board einrichten" oder "Agile ansehen!" (obwohl Ideen geschätzt werden). Insbesondere hoffe ich, einen Einblick in die Implementierung eines Entwicklungsprozesses für diese Arbeitsumgebung zu erhalten. Die Mitarbeiter arbeiten in der Regel 1 bis 2 Jahre vor ihrem Wechsel, sind in der Regel unerfahren und es ist nahezu unmöglich, tägliche Standup-Meetings zu planen, an denen alle teilnehmen.
Wie fördert man Qualität, Effizienz und Kommunikation an einem solchen Arbeitsplatz?
Update: Nachdem ich einige der Antworten und Kommentare gelesen hatte, dachte ich, ich würde zusätzliche Hintergrundinformationen liefern.
Ich würde mich nicht als Meister der Kunst der Softwareentwicklung betrachten, aber ich bin erfahren genug, um schlechte Programmierung zu erkennen, wenn ich sie sehe. Ich kann feststellen, ob ein Entwickler talentiert ist oder nicht, nachdem ich nur ein oder zwei Minuten mit ihm gearbeitet habe. Ich bin mit meinen eigenen Fähigkeiten vertraut , um einen Weg zu finden, um ein Problem intelligent zu lösen. Der Bereich, in dem mir wirklich die Erfahrung fehlt, ist das Projektmanagement, an dem andere Entwickler beteiligt sind (weshalb ich Sie alle hier um wunderbare Leute bitte Rat).
Ich habe es so klingen lassen, als wäre jeder Student, der in dieses Büro kommt, ein Vollidiot. Es gab einige schlechte Eier hier, aber die Mehrheit der Studenten, die ich getroffen habe, sind intelligent, wollen lernen und leidenschaftlich über die Arbeit. Einige fangen gerade erst an und wissen nicht, was sie nicht wissen. Und das ist okay. Als ich anfing zu programmieren, ging es mir nicht besser!