10 bewährte Tipps zur agilen Entwicklung
Veröffentlicht: 2020-05-04Die meisten würden denken, Programmieren und Softwareentwicklung seien eine einsame Beschäftigung, bei der sich Computerfreaks in ihren Zimmern verstecken und Millionen von Codezeilen hämmern, aber das ist weit von der Wahrheit entfernt. Echte Softwareentwicklung ist eine erhebliche Gruppenleistung, bei der Teams von Entwicklern mit unterschiedlichen Spezialisierungen zusammenarbeiten müssen, um Software zu entwickeln, die funktional, einfach zu bedienen und mit den richtigen Funktionen ausgestattet ist.
Ein Entwicklungsteam dazu zu bringen, während des gesamten Entwicklungszyklus auf derselben Seite zu sein, bedeutet, einem Modell zu folgen, das den Prozess am besten erleichtern kann. Im Laufe der Jahre gab es einige mit Namen wie Wasserfall, Spirale, V-Modell usw., die veranschaulichen, wie Software entwickelt wird, von der Konzeption bis zum fertigen Produkt und der anschließenden Wartung.
Bildquelle: Agile Manifesto Poster von Adam Weisbart.
Der Prozess, dem viele große Entwickler heute zuschreiben, ist als Agile bekannt, benannt nach seinem Kerngedanken der Anpassungsfähigkeit und ständigen Weiterentwicklung. Basierend auf dem sogenannten Agile Manifesto und geschrieben von einer kleinen Gruppe sehr erfahrener Entwickler.
Sie sahen Kollaboration als zentrale Säule der Entwicklung und daraus können sowohl Anforderungen als auch Lösungen entstehen. Es dauert eine Weile, die agile Entwicklung zu beherrschen, aber hier sind zehn Tipps, die Ihnen dabei helfen können.
Großartige Hardware für Ihre Entwickler und Tester
Während es möglich ist, mit einem Laptop zu programmieren, ist es besser, Ihre Software mit mehr als ausreichender Ausrüstung zu entwickeln. Für Tester ist es ebenso wichtig, dass sie über hochwertige Maschinen verfügen, um ihre Arbeit zu erledigen, da Sie die Fehler und Störungen sehen möchten, die unabhängig von Leistungsproblemen auftreten.
Aber was Programmierer wirklich wollen, sind mehrere Monitore, um so viel Platz auf dem Bildschirm zu haben, auf dem sie ihren Code schreiben können. Gute Tastaturen sind auch ein großer Schub, da das Eintippen von Code ihr Brot und Butter ist, und mechanische Tastaturen sind sowohl langlebig als auch großartig zum Tippen (zumindest solche mit taktilen Schaltern).
Konzentrieren Sie sich auf Ergebnisse
Es geht nie darum, wessen Idee richtig ist, sondern darum, auf die richtige Idee zu kommen. Am Ende kommt die Richtung vom oberen Management, anders als in den frühen Tagen von Agile, als sie von unten nach oben kam. Dies erwies sich als der beste Prozessablauf, da sich die höheren Personen auf die Überwachung und Verwaltung des Projekts konzentrieren können, während sich die Entwickler auf ihre Arbeit konzentrieren können, während sie den vom oberen Management festgelegten Parametern und Grenzen folgen.
Aufgrund dieses Top-Down-Managementmodells wird vom Entwicklungsteam erwartet, konkrete und messbare Ergebnisse zu erzielen. Sie müssen in der Lage sein, ihre Arbeit nicht nur als Code zu zeigen, sondern etwas zu haben, das tatsächlich wie beabsichtigt funktioniert. Dies wird dann durch Test Driven Development (TDD) unter die Lupe genommen, ein Prozess, der in der agilen Entwicklung eine große Rolle spielt.
Implementieren Sie zuerst Continuous Delivery
Grundsätzlich weiter so. Dadurch wird sichergestellt, dass die Entwicklung in einem konstanten Tempo erfolgt und die Entwickler frühzeitig und häufig Feedback erhalten. Ständige Kommunikation und Feedback sind das, worum es bei der agilen Entwicklung geht, damit sich das Team bei Bedarf an plötzliche Änderungen und unerwartete Umstände anpassen kann. Hier kommen „Builds“ ins Spiel.
Ein Build ist im Grunde eine nutzbare Version der zu entwickelnden Software. Durch das Konzept der Continuous Delivery (CD) müssen häufig aufeinanderfolgende Builds bereitgestellt werden, die jeweils veröffentlicht werden, nachdem Verbesserungen und Korrekturen vorgenommen wurden, die aus dem Feedback zum vorherigen Build gezogen wurden.
Gewinnen Sie Sponsoring für das obere Management
Während die agile Entwicklung einen Top-to-Bottom-Ansatz verfolgt, kann es ziemlich zeitaufwändig sein, auf das Okay des oberen Managements zu warten, bevor man etwas implementiert oder ändert.
Wenn dies falsch gemacht wird, kann dies nur dazu führen, dass viel Zeit damit verschwendet wird, auf die Genehmigung zu warten. Eine gute Lösung ist es, einen Sprecher zu haben, der dieses Anliegen schneller vom Entwickler zur Autorität bringen kann, vorzugsweise jemand, der gut darin ist, Ideen zu präsentieren und zu verstehen, wonach gefragt wird.
Übergang zu kürzeren Entwicklungs- und Testzyklen
Die Entwicklungshölle durchdringt viele Software, einschließlich großer. Es gibt auch Zeiten, in denen lange Entwicklungszyklen zu Funktionen führen, die letztendlich von Benutzern abgelehnt werden, was diesen ganzen Zyklus zu einer großen Zeit- und Geldverschwendung macht, von der sich das Unternehmen möglicherweise nicht sofort erholen kann. Eine gute Möglichkeit, diese Bedrohungen zu mindern, besteht darin, die Entwicklungs- und Testzyklen zu verkürzen.
Da es bei der agilen Entwicklung darum geht, die Dinge so schnell wie möglich zum Laufen zu bringen, einschließlich des Zuflusses von Feedback, sind kürzere Entwicklungszyklen wichtig, um zum „Minimal Viable Product“ zu kommen. Dies gibt Benutzern etwas, in das sie sich verbeißen und entsprechendes Feedback geben können, das dann im nächsten Build angegangen werden kann.
Automatisierung vom ersten Tag an
Auch bekannt als AD1, ist dies ein hochgestecktes Ziel, das die Dinge definitiv beschleunigen kann, wenn Sie alles so schnell wie möglich einrichten. Realistischerweise können Sie im zweiten oder dritten Jahr alles automatisieren, wenn Sie gut sind, aber Sie sollten es zumindest am ersten Tag fertigstellen, wann immer dies möglich ist.
Es ist eine Zeitersparnis und sogar ein Lebensretter, wenn Sie lange genug darüber nachdenken. Die Automatisierung einfacher Prozesse kann Entwicklern und anderen Mitgliedern wirklich dabei helfen, sich nicht mit unnötiger Hektik auseinanderzusetzen.
Effektives Teamverhältnis
Wie das Sprichwort sagt: „Zu viele Köche verderben den Brei.“ Während zu wenige Mitglieder in einem Team die Arbeit erschweren können, kann es genauso schlecht sein, zu viele zu haben. Es ist auch eine große Belastung für die Finanzen, zu viele in einem Projekt zu haben, da Sie sie bezahlen müssen. Daher ist es entscheidend, die Bedürfnisse des Projekts und des Teams selbst sowie den gegebenen Zeitrahmen und viele andere Faktoren zu berücksichtigen.
Offene Probleme planen
Das Team kann versuchen, jedes einzelne Problem zu lösen, aber es wird immer einige geben, die durchschlüpfen und/oder zu offenen Problemen werden. Dies wird dadurch gehandhabt, dass diese offenen Probleme im nächsten Entwicklungszyklus bearbeitet werden.
Fragen Sie nach Feedback
Dies kann nicht genug betont werden – Feedback ist das Lebenselixier der agilen Entwicklung. Es sind Daten, die der Softwareentwicklung helfen können, und sowohl Entwickler als auch das obere Management müssen zumindest die dringendsten berücksichtigen, die sowohl für die Gegenwart als auch für die Zukunft wichtig sind.
Bewertung Ihres Prozesses
Hier kommt die Evolution der Entwicklung ins Spiel, da Sie nicht nur die Software, an der gearbeitet wird, sondern auch Ihren Entwicklungsprozess bewerten müssen. Es gibt so viele Dinge, die Sie feinabstimmen können, aber Sie müssen bestimmen, welche in einem bestimmten Zeitrahmen mit dem aktuellen Projekt und auch mit zukünftigen Projekten die besten Ergebnisse erzielen können.