![]() Projekt Management bei INSONO
Das Qualitätsmanagement von INSONODas Qualitätsmanagement ist die zentrale Säule aller Produkte und Leistungen von INSONO und Ausgangspunkt aller Prozesse. Qualitätsmanagement bedeutet für uns:
Die stetige Auswertung von Prozess-, Projekt- und Arbeitsergebnissen dient der kontinuierlichen Verbesserung und Optimierung unserer Arbeitsweisen. Diese Kompetenz nutzen wir nicht nur für die Entwicklung eigener Produkte sondern stellen dieses Know How auch unseren Kunden in Projekten zur Verfügung. Qualitätsmanagement stützt sich bei INSONO nicht nur auf Prozessdefinitionen und Vorgehensmodelle sondern auch auf erprobte, in die Arbeitsweise eingebundene Werkzeuge. Die Softwareentwicklung wird, wie alle Prozesse bei INSONO, durch das Qualitätsmanagement gesteuert und überwacht. Neben maßgeschneiderten Vorgehensmodellen, angepasst an Projekt- und Teamgröße, dienen auch hier Werkzeuge der Ablaufoptimierung in den Projekgebieten:
ProzesseAufgrund der in der heutigen Zeit immer komplexer werdenden Software-Entwicklung besteht ein hoher Bedarf, strukturierte Lösungsansätze einzuführen, welche den umfänglichen Softwarelifecycle komplett abdecken. Diese Lösungsansätze werden in Form von Prozessen eingeführt welche Menschen (Rollen) und ihre Arbeit (Aufgaben) organisieren, um im Bereich der Software Entwicklung (Disziplinen) qualitativ hochwertige Arbeitsergebnisse zu erzielen. Der Einsatz von Software-Entwicklungsprozessen bietet viele Vorteile:
Einschränkung von Risiken Erhöhung des Unternehmenswertes Insono besitzt die Expertise innerhalb der intern verwendeten hochmodernen Software-Entwicklungsprozesse:
Beide Prozesse, OpenUP und RUP beinhalten folgende Komponenten:
Während RUP ein komplexer Prozess, abgestimmt auf sehr formal strukturierte Projekte ist, wird OpenUP als Basisprozess, für Projekte eingesetzt, bei denen die agile Vorgehensweise im Vordergrund steht. Beide Prozesse sind für jegliche Kundenprojekte anpassbar – RUP zeichnet sich dadurch aus, dass unnötiger Inhalt einfach weggelassen wird, wogegen OpenUP um die innerhalb des Projekts oder der Organisation jeweiligen Inhalte erweitert wird. Methoden und Vorgehensmodelle
Da komplexe Software nur schwer zu erstellen und zu warten ist, bedienen sich Softwareentwickler eines Planes zur Entwicklung von Software. Dieser Plan (das Vorgehensmodell) unterteilt den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen. Die Software wird somit Schritt für Schritt fertiggestellt. (wikipedia.de) Requirements EngineeringUm unseren Kunden die Ergebnisse liefern zu können die sie sich wünschen haben wir die Erhebung und das Management von Anforderungen als zentrale Disziplin in unsere Prozesse integriert. Dabei ist es uns wichtig jede Anforderung so früh wie möglich zu definieren und zu dokumentieren. Unsere Erfahrung ermöglicht es uns bewusste Anforderungen genauso zu erkennen wie unbewusste, offensichtliche Funktionalitäten die als selbstverständlich vorausgesetzt wurden. Anforderungen sind die Grundlage für Projektmanagement, Risikomanagement, Änderungsmanagement sowie dem Akzeptanztest und der Qualitätssicherung. Jede Anforderung selbst muss sich einer Qualitätssicherung unterziehen. Aus diesem Grund hat sich bei INSONO ein eigener Prozess zur Erhebung und dem Management von Anforderung etabliert. Dadurch sind wir in der Lage auch in komplexen Projekten immer auf Veränderungen in den Anforderungen zu reagieren. Die Anforderungen dienen zudem als Grundlage für das Qualitätsmanagement bei INSONO. Einsatz von Methoden wie Brainstorming, Interviews… Architecture DesignBasistechnologien Für unsere Kunden erstellen wir maßgeschneiderte Software-Lösungen. In unserem Kundenumfeld gilt dabei Java als gesetzt. Zahlreiche Frameworks und Komponenten unterstützen die Anwendungsentwicklung - geeignet eingesetzt erhöhen sie die Flexibilität und Robustheit einer Lösung und reduzieren Aufwände und damit Kosten. Java FrameworksDie Java 2 Enterprise Edition (Java EE)-Plattform gilt als eine der Standard-Plattformen zur Entwicklung von mehrstufigen Unternehmensanwendungen. Frameworks sind fertige und bewährte Softwarekomponenten, die in vielfältige Bereiche Ihrer Unternehmensanwendung eingebunden werden und den Softwareerstellungsprozesses in hohem Maß unterstützen.
Ein Framework besteht aus einem Vorgehensmodell, einer spezifischen Anwendungsarchitektur (mit entsprechenden Regeln für das Anwendungsdesign) und der Implementierung. Die zugehörige Klassenbibliothek bildet die Plattform für die Realisierung einer Anwendung nach den Regeln des Frameworks.
Neben kommerziellen Produkten existieren eine ganze Reihe von freien Open-Source Frameworks, die in den unterschiedlichsten Szenarien einer Unternehmensanwendung zum Einsatz kommen können. Anhand Spring und Hibernate, zwei der derzeit populärsten Framworks, soll nachfolgend deutlich gemacht werden, in welchem Kontext Frameworks einsetzbar sind und welchen Nutzen sie haben.
Das Spring-Framework kann als eine der Basistechnologien bei der Entwicklung von objektorientierten Anwendungen verstanden werden. Das grundsätzliche Ziel des Spring-Frameworks besteht darin, möglichst umfassende Werkzeuge zur Entwicklung von strukturierten Anwendungen mit einfachen Java-Objekten (POJOs) bereitzustellen. POJOs repräsentieren die Applikationslogik und enthalten keine quer-schneidenden (d.h. nicht der Business Logik zugehörigen) Funktionalitäten. Dies hat den Vorteil, dass sich gut strukturierte Softwarelösungen entwickeln lassen, die an Veränderungen der Umwelt leicht anpassbar sind. Spring bietet hierfür zahlreiche vorgefertigte Lösungen, die zur Umsetzung eines solchen Konzepts beitragen. Die Unterstützung lässt sich in die folgenden drei Bereiche unterteilen:
Hibernate ist ein Framework zur Abbildung von Daten objektorientierter Anwendungen in relationale Datenbanksysteme und gilt als der Standard bei Persistenz-Technologien. Hibernate sorgt für eine Automatisierung dieser Abbildung, so dass das Mapping der relationalen und objektorientierten Welt für den Entwickler transparent gemacht wird. Persistente Daten stehen somit direkt in den entsprechenden Objekten zur Verfügung. Durch das Wegfallen der JDBC-Schicht kann die Entwicklungszeit der Anwendung deutlich reduziert und die Struktur der Softwarelösung erheblich verbessert werden. Durch die Verwendung von Frameworks kommen viel getestete und erprobte Softwarekomponenten in Ihrer Unternehmensanwendung zum Einsatz, die ständig weiterentwickelt und optimiert werden und somit die Qualität Ihrer Software erhöhen. Wir besitzen das nötige Know-How, um geeignete Frameworks für Ihre Unternehmensanwendung zu analysieren und in Ihre Applikation zu integrieren. Durch unsere Exptertise im Framework-Bereich läßt sich die Dauer des Softwareentwicklungsprozesses erheblich reduzieren. Gleichzeitig wird die Qualität Ihrer Software durch den Einsatz von erprobten und Standard-Frameworks erhöht. MethodenDie Effektivität von Software Entwicklung kann durch die Nutzung von bewährten Methoden verbessert werden. Diese Methoden werden in unterschiedlichen Bereichen der Software Entwicklung genutzt. Ihre Verwendung ist unabhängig vom jeweiligen Entwicklungsprozess. Insono uses the following methods and to improve effectiveness:
Insono setzt folgende Methoden zur Effektivitätssteigerung ein:
Bereits eingesetzte Methoden werden permanent weiterentwickelt, neue Methoden werden evaluiert, um den individuellen Anforderungen unserer Kunden besser gerecht werden. Zum Beispiel erweitern wir Anforderungsmanagement-Techniken um Konzepten und Methoden, die den Umgang mit fehlenden oder ungenauen Vorgaben behandeln. Wir verbessern damit nicht nur die Handhabung, sondern fördern auch eine einheitliche Vorgehensweise und Erwartungshaltung bei der Bearbeitung von Anforderungen, die nicht in bestehende Anforderungsmanagement-Ansätze passen. Entwicklungswerkzeuge Moderne und integrierte Entwicklungswerkzeuge tragen wesentlich zu einer beschleunigten Zielerreichung und besseren Ergebnissen bei. Ihre Funktionen versetzen uns in die Lage, die oben genannten Methoden in der Alltagspraxis effizient einzusetzen. Zum Beispiel die eleganten Fehler Refactoring-Möglichkeiten von Eclipse oder das Forward- und Reverse-Engineering zwischen UML-Modellen und Java-Komponenten mittels Enterprise Architect.
Dazu zählen insbesondere die profunde Kenntnis wichtiger Werkzeuge und der geübte Umgang mit ihnen. Zum Beispiel:
Codierung and Units TestingINSONO verwendet bewährte Programmier- und Test-Techniken um bei der Codierung, den Tests und der Qualität ihrer Produkte einen hohen Wirkungsgrad zu erzielen. Effizienz und Qualität werden erreicht durch:
Die Objekt-Orientierte Programmierung ist ein Paradigma, welches die Programmierung von komplexen Systemen vereinfacht und deren Design und Modellierung beschleunigt. Insbesondere führt diese Methodik zu einer besseren Modularisierung und einer einfacheren Testausführung. Aus diesem Grund entwickeln wir unsere Software-Systeme vorzugsweise in der Programmiersprache Java, die von Grund auf objekt-orientiert konzipiert und in Unternehmen weit verbreitet ist. Um hohe Qualitätsstandards in einem kürzeren time-to-market erreichen zu können, benutzten wir best practices Libraries, Frameworks und Plattformen. Diese sind:
Die Qualität eines Produkts ergibt sich aus der Qualität der hierfür verwendeten Werkzeuge. Um den Entwicklungsprozess zu modernisieren, verwenden wir hoch entwickelte Werkzeuge, sowohl kommerziell als auch open-source:
Manuelle, sich wiederholende Aufgaben führen zu Zeitverlust und potentiellen Fehlern. Die Automatisierung ist der Kern von Code-Entwicklung und Testdurchführung. In unserem Entwicklungsprozess verwenden wir folgende Werkzeuge:
Hoch automatisierte Programmier und Testverfahren steigern die Effizienz und Qualität unsere Softwareentwicklungsprozesses, verringern Entwicklungskosten und den time-to-market Faktor. Quality AssuranceTest – Validierung und VerifizierungUnsere Dienstleistungen im Testumfeld stellen sicher, dass die erstellten Arbeitsprodukte sowohl den fachlichen, als auch den technischen Anforderungen entsprechen und genügen. Hier deckt unsere Kompetenz die folgenden Gebiete ab:
©
INSONO Consulting GmbH 2009
·
Impressum
| |||||||||