UNSERE LEISTUNGEN
Anforderungsmanagement / Architektur / Development / Testunterstützung
ANFORDERUNGSMANAGEMENT
Oftmals ist es so, dass nur eine grobe Idee vorhanden ist. Aber auch wenn detaillierte Vorstellungen existieren, ist es für den Fachbereich beim Kunden nicht immer leicht die konkreten Anforderungen an ein IT-System zu beschreiben. Hier ist es sehr hilfreich, wenn eine direkte Unterstützung von erfahrenen Systementwicklern in Anspruch genommen werden kann. Die intensive Kommunikation, das Stellen von konkreten Fragen zur Umsetzung und zu erwartenden Stolpersteinen, führt zu einer immer klarer werdenden Aufgabenstellung und erleichtert so der IT wesentlich die Realisierung. Es vermeidet stetige Rückfragen im Entwicklungsprozess und wiederholt notwendige Änderungen durch nicht genügend konkretisierte Anforderungen.
ARCHITEKTUR
Vor den Erfolg haben die Götter...
Genau, bevor ein Produkt erfolgreich umgesetzt werden kann, bedarf es einer guten Planung. Im Falle einer Softwareentwicklung bedeutet das, dass man die Anforderungen verstanden haben muss und in der Lage ist, diese in ein Softwaresystem umsetzen zu können. Es muss eine Oberfläche entworfen werden, die sich gut und einfach bedienen lässt. Die Businesslogik muss entworfen werden, sowie die Schnittstellen zwischen dem Front- und Back-End. Die Daten möchten später in einem logischen und wartbaren Modell versinken. Am besten erstellt man ein DV-Konzept, welches dann die Grundlage für das Entwicklungsteam ist. Hieraus lassen sich die UserStories und die dazugehörigen einzelnen Tasks herleiten.
DEVELOPMENT
Im Bereich des Enterprise Software Developments besteht immer mehr die Anforderung nach sogenannten "Full-Stack-Developern". Eine Spezies, die man als EierlegendeWollMilchSau bezeichnen muss. Was ist also ein Full-Stack-Developer überhaupt? Ein Full-Stack-Developer ist ein Softwareentwickler, der nicht nur programmieren kann. Es ist ein Systementwickler, mit Kenntnissen in den verschiedensten Bereichen wie z.B.
- Server, Netzwerk, Hosting
- Datenmodellierung
- Business Logik
- Schnittstellen (API's)
- Oberflächengestaltung (User Interface)
- Oberflächenbenutzung (User Experience)
Natürlich ist es unmöglich sich in allen Front-End und Back-End-Technologien oder mit sämtlichen Programmiersprachen zu einhundert Prozent auszukennen. Aber das muss er auch nicht. Denn der Full-Stack-Developer bietet genau in dem Bereich, in dem er agiert, ein umfassendes Wissen. Das bedeutet, dass ein Full-Stack-Web-Developer sich z.B. mit HTML, CSS, JavaScript, Datenbanken und Web-Servern auskennt, aber keine Ahnung von Mainframe-Systemen haben muss. Vielmehr bedeutet es aber auch das Zusammenführen von Wissen als Front-End und Back-End Entwickler, was früher gern getrennt wurde.
TESTUNTERSTÜTZUNG
Jede Anwendung muss vor dem Live-Gang getestet werden. Auf der IT-Seite machen das Unit- und/oder UI-Tests. Auf der Fachbereichsseite erfolgen dann die realen Tests auf die erfolgreiche Umsetzung aller geforderten Features und deren Funktion, auf korrekte Fehlerbehandlung und -meldungen. Spätestens hier zeigt sich auch, ob am Anfang die Anforderungen so beschrieben worden sind, wie sie jetzt erwartet werden. Die enge Zusammenarbeit zwischen Fachbereich und IT muss auch hier gewährleistet werden, um das Projekt erfolgreich zum Abschluss bringen zu können.
DATENBANKEN
Ist die Anwendung nicht an ein separates Backend angeschlossen, das die Datenverwaltung übernimmt, so müssen die Daten selbst in einer Applikationsdatenbank gespeichert werden. Hierfür ist ein entsprechendes Datenbankdesign und eine Datenmodellierung erforderlich. Die Umsetzung des Datenzugriffes über eine Datenbankschnittstelle geschieht in aller Regel durch eine Implementierung innerhalb der Datenbank. Wir verfügen über praktische Erfahrungen mit Oracle und MSSQL Datenbanken sowie PL/SQL und T-SQL.
PROJEKTMANAGEMENT
Zeit, Budget, Funktionalität, Qualität
Ist es nicht so, dass gern in kürzester Zeit mit geringstem Budget eine umfangreiche und qualitative hochwertige Anwendung gefordert wird? Und ist es nicht auch so, dass das in der Regel nicht realisierbar ist? Vielmehr ist es doch so, dass ein ausgewogenes Verhältnis von Aufwand und Nutzen viel eher einem erfolgreichen Projekt entspricht. Unnötige Funktionen und der damit einhergehende Mehraufwand sind oftmals Gründe, die ein Projekt an mindestens einem dieser Punkte scheitern lässt. Um die vier Kernpunkte der Projektentwicklung beherrschen zu können, bedarf es nicht nur einer guten Planung, sondern auch der stetigen Überwachung sämtlicher Einflussfaktoren. Wir sind keine reinen Projektmanager im herkömmlichen Sinne. Wenn es aber darum geht ein Projekt im IT-Bereich zu managen, ein Entwicklerteam zu führen, dann übernehmen wir gern die Teilprojektleitung.