Erfahren Sie, wie die Continuous Quality Platform von Parasoft dabei hilft, Testumgebungen zu steuern und zu verwalten, um zuverlässig hochwertige Software zu liefern. Für Demo registrieren >>
Richtlinien für die gemeinsame Nutzung von Quellcode zwischen Gruppen sind viel effektiver, wenn sie mithilfe der Automatisierung durchgesetzt werden. Die Automatisierung ist wichtig, um die Abhängigkeit von den manuellen Ressourcen zu verringern, die erforderlich sind, um die gemeinsame Nutzung von Quellcode effektiv zu gestalten, und um sicherzustellen, dass die festgelegten Richtlinien trotz menschlicher Faulheit jeden Tag eingehalten werden.
Jede Entwicklungsgruppe kann die Automatisierung nutzen, um den Quellcode für jedes Modul zu dokumentieren, zu schützen, zu verbessern und zu sichern.
Die Haupthindernisse bei der Einführung automatisierter Prozesse sind Bereitstellungsressourcen und Einwände einzelner Entwickler gegen die Durchsetzung von Richtlinien.
Die Konfiguration automatisierter Tools erfordert einige Zeit und Mühe für bestimmte Umgebungen. Einige Code-Analyse-Tools sind frei verfügbar, ebenso wie JUnit, das Unit-Testing-Framework für Java. Kommerzielle Tools stehen ebenfalls zur Verfügung, um die Durchsetzung gemeinsamer Entwicklungsrichtlinien zu automatisieren. Diese erfordern jedoch eine finanzielle Investition. Einige Entwickler widersetzen sich der Durchsetzung von Richtlinien, die im Widerspruch zu ihren bevorzugten Programmierpraktiken stehen. Namenskonventionen, mögliche Fehler und Anforderungen an Unit-Tests sind kontroverse Themen. Obwohl die Automatisierung dazu beiträgt, dass eine Codebasis von mehreren verteilten Teams gemeinsam genutzt werden kann, ist der Prozess nicht ganz trivial.
Die Ergänzung der kollaborativen Entwicklung durch Automatisierung kann die Lösungen für die eigenen Probleme darstellen. Die Investition von Zeit und Geld ist unvermeidlich, aber die Vorteile überwiegen bei weitem das Opfer, sobald das System eingerichtet ist und funktioniert. Die meisten automatisierten Ansätze zur Durchsetzung von Entwicklungsrichtlinien sind sehr anpassbar. Hartnäckige Entwicklungsgruppen, die sich nicht an einen unternehmensweiten Standard halten wollen, werden leicht beschwichtigt, wenn für ihre Gruppe einige Ausnahmen gemacht werden können. Die Richtlinien müssen dahingehend definiert werden, was für die gesamte Organisation obligatorisch ist und was nur für einzelne Gruppen erforderlich ist. Entwickler müssen überprüfen, ob ihr Code einer Richtlinie entspricht, die von der unternehmensweiten Richtlinie übernommen und durch gruppenspezifische Anforderungen ergänzt wurde. Ein automatisierter Prozess mit den richtigen Fähigkeiten wird die meisten Probleme lösen. Eine sorgfältige Planung ist jedoch wichtig, um festzustellen, welche Funktionen erforderlich sind.
Die gemeinsame Nutzung einer Quellcodebasis zwischen Entwicklungsgruppen erfordert klar definierte Ziele. Entwickler und Manager werden beim Übergang zu einer gemeinsamen Codebasis auf viele Hindernisse stoßen, und viele Beteiligte werden die gewünschten Vorteile in Frage stellen.
Ein offensichtlicher Vorteil ist, dass ein einheitlicher Entwicklungsprozess zu Ähnlichkeiten im Erscheinungsbild und in der Funktionalität des Produkts führt. Die gemeinsamen Erfahrungen einer Gruppe können andere Gruppen daran hindern, dieselben Fehler zu machen.
Die zusätzliche Komplexität jeder Entwicklungsgruppe, die sich auf Code stützt, der von anderen Gruppen geschrieben wurde, erschwert jedoch diese gemeinsame Nutzung. Beispielsweise bevorzugen unterschiedliche Gruppen und Kulturen unterschiedliche Programmierstile, was die enge Zusammenarbeit und den einheitlichen Entwicklungsprozess behindert. Darüber hinaus verringern Entwicklungsarbeiten, die auf mehrere Zeitzonen verteilt sind, die Wahrscheinlichkeit, dass die vollständige Codebasis erfolgreich erstellt wird. Zu jedem Zeitpunkt wird wahrscheinlich jemand irgendwo dabei sein, etwas zu ändern. Wenn eine Komponente funktional oder in Bezug auf die Kompilierung ausfällt, wird jede andere Gruppe, die versucht, die vollständige Codebasis aufzubauen, oder die von dieser einen Komponente abhängt, negativ beeinflusst.
Trotzdem lohnt es sich, diese und andere Herausforderungen bei der Implementierung eines Prozesses für die gemeinsame Entwicklung zu bewältigen, wenn man das Endergebnis einheitlicherer Anwendungen und des Quellcodes berücksichtigt.
Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.