Datenbankentwickler Lyubomir Ivanov im Interview: von der Angebotsanfrage zum fertigen Produkt

von | Jul 25, 2017 | Softwareentwicklung |

Datenbankentwicklung ist enorm wichtig für Unternehmen – laufen doch viele Business Applikationen, wie etwa Firmenwebsites, CRM- & ERP-Systeme auf dieser Basis. Entsprechend hoch ist die Nachfrage bei Entwicklern. Grund genug unseren Redakteur Kacha Narimanidze auf unseren Chefentwickler Lyubomir Ivanov für ein Interview anzusetzen, um Ihnen einen Einblick in einen typischen Entwicklungsprozess zu geben – von der Kundenanfrage bis zur Auslieferung. Denn aus Erfahrung wissen wir, dass die Orientierung vorab hilft, Aufwand und bares Geld zu sparen.


Kacha Narimanidze:
Guten Tag Herr Ivanov. Sie sagen immer „Das Glück des Datenbankentwicklers liegt in der ausgearbeiteten Spezifikation“. Was meinen Sie damit?

Lyubomir Ivanov: Ich meine damit, dass Kundenanfragen in der Regel eher unspezifisch daherkommen. Die bloße Frage „Was kostet eine Kundendatenbank?“ sagt zu wenig aus. Auf der Basis können wir keine verlässliche Aufwandschätzung abgeben. Da muss man erst differenzieren und nachfragen. In seltenen Fällen haben Unternehmen aber bereits vorab ein Lastenheft, das diese Dinge genauer beschreibt. Das beschleunigt den ganzen Prozess der Angebotslegung und Entwicklung dann schon merkbar.


Kacha Narimanidze:
Also sollten Unternehmen bereits bei der ersten Anfrage genau wissen, was sie benötigen?

Lyubomir Ivanov: Das ist der ideale Fall. Aber das verlangt natürlich keiner. Im Normalfall spezifizieren wir gemeinsam mit dem Kunden bereits vor der Angebotslegung die wichtigen Dinge. Dazu gehört etwa um welche Daten es sich handelt, wo und wie diese derzeit gespeichert sind, was das Ziel, die Anforderungen und Funktionen sind und ob es vorhandene Infrastruktur und bevorzugte Technologien gibt. Wenn ein kurzes Gespräch dafür nicht reicht, machen wir auch Konzeptions-Workshops. In diesen erarbeiten wir die wichtigen Dinge vorab gemeinsam mit dem Kunden. Nachdem die meisten Kosten in der Datenbankentwicklung durch den Personalaufwand entstehen, setzt ein seriöses Angebot die Definition dessen was genau gebraucht wird, natürlich schon voraus.

 


Kacha Narimanidze:
Das heisst vor der Angebotslegung kennt man schon alle Anforderungen an die Datenbank?

Lyubomir Ivanov: Ja, in groben Zügen – gut genug, um ein verlässliches Angebot zu legen. Dafür erfragen wir einerseits wichtige Eckpunkte anhand von Standard-Aspekten. Andererseits hat jedes Projekt natürlich auch seine Besonderheiten, wie etwa Anforderungen hinsichtlich Geschwindigkeit, Schnittstellen, Zweck und so weiter. Selbstverständlich ist auch die Ausgangslage jedes Kunden anders. Manche haben bereits mehrere Datenbanken aus denen Daten in einer zentralen Datenbank zusammengeführt werden sollen. Andere möchten ein komplett neues System entwickeln. Hinzu kommen Besonderheiten und Ziele, die eng mit der jeweiligen Branche verknüpft sind. Auf diese ganzen Aspekte gehen wir auch entsprechend ein.


Kacha Narimanidze:
Das heisst Sie beglücken sich selbst, indem Sie Ihre Spezifikation ausarbeiten?

Lyubomir Ivanov: [Lacht] Ja, gewissermaßen. Nach erfolgreicher Auftragsvergabe an uns arbeitet mein Team bei großen Projekten an einer noch genaueren Analyse und Konzeption. Darunter fällt auch bereits die Erstellung eines Lasten- und Pflichtenhefts. Darin werden Anforderungen an die Datenbankentwicklung verbindlich beschrieben. Das können zum Beispiel Funktionen sein, oder Technologien, Flussdiagramme, Skizzen der Datenstruktur und des Gesamtsystems, einzusetzende Drittsoftware und vorhandene, nötige Infrastruktur wie etwa Server. Entsprechend dient das Pflichtenheft eigentlich als eine Art Vertragsgrundlage. Jeder kennt dadurch detailliert die zu erbringenden Leistungen und Anforderungen – und kann das auch berechtigt einfordern.


Kacha Narimanidze:
Das Pflichtenheft ist dann zugleich auch eine Art gegenseitige Absicherung?

Lyubomir Ivanov: Definitiv. Entsprechend lassen wir uns das Pflichtenheft vorab vom Kunden bestätigen und abnehmen. Das ist aber in der Regel ein feedbackgesteuerter Prozess, wo anhand von Vorstellungen und Wünschen ausdefiniert wird, bis die Sache passt.

 


Kacha Narimanidze:
Sagen wir der Kunde entdeckt, dass er noch eine wichtige Funktion braucht. Kann er diese nachträglich nicht mehr umsetzen lassen?

Lyubomir Ivanov: Der Kunde ist König. Deswegen kann er natürlich auch in der laufenden Entwicklung noch Komponenten bestellen oder ändern. Aber auch in dieser Phase gilt für uns: Wenn große Änderungen oder Wünsche geäußert werden verschriftlichen wir diese vorab und lassen sie bestätigen. Das kann Missverständnisse und Unstimmigkeiten vermeiden und ist für beide Seiten bei komplexen Projekten einfach verständlicher.


Kacha Narimanidze:
Dann ist es bestimmt auch wichtig entsprechend Qualität nachzuweisen oder? Nutzen Sie dafür auch das Pflichtenheft?

Lyubomir Ivanov: Ja, natürlich. Wir müssen die Erfüllung der Anforderungen nachweisen. Da wir in der Datenbankentwicklung aber auch stark im Programmieren sind verwenden wir automatisiertes Testing in unseren Entwicklungs-Umgebungen. Im Prinzip sind das kleinere Programme, die vollautomatisch prüfen, ob wesentliche Bestandteile – gerade auch zusammen – richtig funktionieren. Natürlich testen wir aber auch manuell bestimmte Funktionen der Datenbanken, Benutzeroberflächen und Schnittstellen. Eine weitere wichtige Sache, die hier hereinspielt sind unsere Zertifizierungen. Anhand standardisierter Vorgehensweisen erreichen wir in relativ kurzer Zeit die optimale Funktionalität.

Der finale Schritt ist dann die Implementierung der Datenbank beim Kunden. Diese besteht aus mehreren Schritten und ist nach der Abnahme wichtig für einen guten Abschluss des Auftrags. Dazu gehört zum Beispiel die Installation der Datenbank am Kundensystem. Natürlich muss man die bereits bestehenden Daten, die irgendwo liegen auch von dort exportieren und in die neue Datenbank importieren. In großen Projekten – wo ein manuelles umkopieren nicht möglich ist – programmieren wir dafür eigene Schnittstellen.


Kacha Narimanidze:
Was wäre ein Fall, in dem ein manuelles kopieren bestehender Daten nicht möglich ist?

Lyubomir Ivanov: Das kommt schon oft vor. In internationalen Organisationen gibt es oft sehr große, weit verzweigte Datenstrukturen. Ein Beispiel sind Unternehmenswebsites, die aus tausenden Subseiten bestehen können. – Unmöglich das jemanden manuell kopieren zu lassen. Dazu kommt, dass bestehende Daten oft Duplikate aufweisen oder sonst wie bereinigt und in das Format der neuen Datenbank übertragen werden müssen. Zuguterletzt führen wir auf Wunsch auch eine Schulung durch. Wir legen zwar die Dinge so an, dass ein negativer Einfluss durch Bedienungsfehler praktisch ausgeschlossen ist. Dennoch soll der Kunde effizient mit seiner Datenbank umgehen können. Hinzu kommt daher natürlich auch die Möglichkeit eines laufenden Wartungsvertrags, der schnelle Abhilfe und ständige Aktualität der Software garantiert.


Kacha Narimanidze:
Herr Ivanov, wir danken Ihnen für die Zeit, in der wir Sie aus Ihrer Datenwelt entführen durften.

Das Interview führte Kacha Narimanidze, News Assistant & Blogger bei Iphos IT Solutions GmbH.

a

Textquellen & Links

[firmeninterne Quellen]

iphos.com