Zum Inhalt springen

Was können Entwicklungsumgebungen leisten?

Was können Entwicklungsumgebungen leisten? Integrierte Entwicklungsumgebungen (Integrated ­Development Environments, IDEs) bündeln mittlerweile zahlreiche Werkzeuge unter einer Benutzeroberfläche, um so die Produktivität der Entwickler zu ­erhöhen.

Autor:Redaktion connect-professional • 11.5.2007 • ca. 2:30 Min

Moderne IDEs bieten Möglichkeiten zur Entwicklung von Web-Clients und Verarbeitungs­logik, oft in mehreren Sprachen. Highend-Produkte beschränken sich nicht auf das Schreiben, Kompi­lieren und Testen ausführbaren Codes, sondern enthalten Werkzeuge für verschiedene Phasen des Software-Lebenszyklus: von der Modellierung über die Orchestrierung bis zum Einsatz. Wer für die .Net-Welt entwickelt, ist auf Microsofts IDE-Familie Visual Studio beschränkt. JEE-Entwickler dagegen können aus einer Fülle von Angeboten wählen: Dazu ge­hören die quelloffenen IDEs von Eclipse und Netbeans ­sowie kommerzielle, aber Eclipse-basierte Produkte von BEA, Code Gear, Compuware, IBM oder Red Hat und außerdem Werkzeugpakete von Oracle und Sun. IDEs unterstützen auch bewährte Vorgehensweisen der Software-Entwicklung wie das Testen von Modulen oder die Analyse des Codes. Die meisten IDEs enthalten für den ­Modultest einen Framework wie JUnit und können automatisch Testfälle aus dem Code generieren. Sie enthalten außerdem Regeln für den Programmierstil oder die Verwendung von Design Patterns. Highend-IDEs sind zudem mit einem Application Profiler ausgestattet, damit bereits früh im Entwicklungsprozess Leistungsfähigkeit und Ressourcenverbrauch abgeschätzt werden können. Allerdings gewährleisten solche Werkzeuge nicht, dass die bewährten Vorgehensweisen befolgt werden. Sie sind nur dann nützlich, wenn die Entwicklungsorganisation selbst viel Wert auf solche Praktiken legt. Funktionsvielfalt macht die Werkzeuge komplex. Moderne IDEs erfordern Zeit zum Erlernen und noch mehr Zeit, wenn man sie wirklich beherrschen will. Glücklicherweise bieten viele IDEs aufgabenspezifische Ansichten, die bei der Handhabung der Features und Funktionen helfen. Unternehmen können zur Bewältigung dieser Komplexität beitragen, indem sie eine Basiskonfiguration wählen, die die Standards und Vorgehensweisen des Unternehmens reflektiert, und die Konfigurationseinstellungen mit der IDE verteilen. Durch zusätzliche Mechanismen wie Diskussionsforen, ein Peer-Mentoring oder Support-Teams, kann Wissen erfasst und weitergegeben werden, das für die Einsatzumgebung spezifisch ist. Obwohl die meisten IDEs Erstellung und Aufruf von Web Services ermöglichen, sind sie nach wie vor auf die Entwicklung mehr oder weniger monolithischer mehrschichtiger Anwendungen ausgerichtet. Unternehmen, die den Wechsel auf eine serviceorientierte Architektur (SOA) ins Auge fassen, sollten dies wissen und durch Schulungen gegensteuern, um den Entwicklern den Übergang von einer anwendungsorientierten hin zu einer serviceorientierten Denkweise zu erleichtern. Die meisten IDE-Anbieter verkaufen auch Application Server, Datenbanken, Orchestration Engines und Portale und versprechen den Abnehmern mehr Produktivität, wenn sie ihre IDE mit ihren Laufzeitprodukten verwenden. Aber bei den wenigsten Unternehmen stammen alle diese Produkte vom selben Hersteller. Vielfalt ist hier eher die Norm als die Ausnahme. Der Nutzen einer vertikalen Integration sollte gegen die Infrastruktur einer Organisation abgewogen werden. Ist die Umgebung sehr heterogen oder verwendet sie ausgiebig offene Standards, sollte die Integration mit den Produkten eines bestimmten Herstellers kein entscheidendes Kriterium für die Auswahl einer IDE sein. Herstellerspezifische Integrationsanforderungen können oft mit einem speziellen Werkzeug bewerkstelligt werden. Viele IDEs wollen heute allen alles bieten und enthalten deshalb zusätzlich zu den Werkzeugen für Programmierer noch Tools für Anwendungsarchitekten, Web-Entwickler, Datenbankprogrammierer oder Tester. Die Produktivität der Organisation erhöht sich in der Tat, wenn das Team dasselbe Produkt oder dieselbe Produktlinie verwendet. Die Möglichkeiten einer IDE mögen für viele Zwecke ausreichen, aber ein gut zusammengestelltes Werkzeugarsenal können sie nicht ersetzen. Nicht selten ist ein Best-of-Breed-Ansatz die bessere Lösung, wo für spezielle Zwecke wie den Datenbankentwurf oder die Orchestrierung von Services spezielle Werkzeuge verwendet werden. Auch wenn IDEs inzwischen für viele Aufgaben Hilfsmittel enthalten, so bleiben sie doch in erster Linie Werkzeuge für die Programmierer.

Joe Niski ist Senior Analyst bei dem amerikanischen Marktforschungs- und Beratungshaus Burton Group.