Firmenlogo

Logo xing   Logo facebook   Logo linkedin   Logo freelancermap

Individuelle Datenbankanwendungen

Individuelle Datenbankanwendungen bringen Ordnung ins Datenchaos, egal ob im Unternehmen, im Privatbereich oder im Verein.

Ob wir eine App auf dem Smartphone betrachten, ein Programm auf dem PC oder eine Anwendung im WWW, wir können dort nur deshalb eine Anzeige sehen, weil der Darstellung Daten zugrunde liegen. Diese Daten müssen verwahrt und verwaltet werden. Darum sind die Daten in Datenbanken gespeichert.

Heutzutage werden riesige Mengen an Daten vorgehalten und sind dementsprechend zu organisieren. Ohne Datenbanken ist eine effektive Verwaltung all dieser Informationen unmöglich und endet in einem Datenchaos.

Ganz entscheidend ist dass der Benutzer die Datenbank intuitiv bedienen kann, dazu ist die Zusammenarbeit zwischen dem Entwickler und dem Bediener von entscheidender Bedeutung.

Warum sollten Sie mit mir zusammen arbeiten?

Als PHP/MySQL-Programmierer und Datenbankentwickler bin ich bereits seit vielen Jahren tätig. Als Programmierer bin ich in der Lage eigenständige Webapplikationen mit zukunftsweisenden Webtechnologien sowie Anwendungen für das Betriebssystem Windows als lokale Anwendung zu entwickeln. Hierfür suche ich immer in Zusammenarbeit mit dem Kunden nach innovativen Lösungsansätzen.

Datenbanktechniken

Diese Datenbanksysteme werden von mir unterstützt: MySQL, MS SQL Server, MS Access

  • MySQL (Community Edition) ist ein Open Source-Datenbanksystem, hat also keine Lizenzkosten und kann so für kostengünstige Anwendungen eingesetzt werden
  • MS SQL Server und MS Access sind proprietäre Datenbanksysteme der Firma Microsoft und sind an die jeweiligen Lizenzen mit den entsprechenden Kosten gebunden.

Leistungen

  • MS-Access und VBA-Programmierung
  • Entwicklung von Windows-basierten Datenbankanwendungen (Visual Basic, MS SQL Server/MySQL)
  • Webprogrammierung mit Datenbankanbindung (PHP, Javascript, jQuery, HTML5, CSS3)
  • Mehrsprachige Oberflächen zur Datenverwaltung
    (DE, FR, EN, LU)
  • Weiterentwicklung bestehender Datenbanken
  • Datenbankmodellierung
  • Entwicklung/Anpassung von Schnittstellen zu Datenbanken
  • Installation/Konfiguration von Datenbanken auf Windows- oder Linux-Systemen
  • Einweisung des Benutzers/Dokumentation zur entwickelten Lösung (bei Bedarf)

Ihre Vorteile

  • Individuelle Datenbankanwendung zu Ihrer Problemstellung
  • Qualität: viele Datenbanken die ich entwickle, laufen auch noch nach Jahren im Dauereinsatz
  • Regionalität: Je näher der Kunde, desto besser die Zusammenarbeit und der persönliche Kontakt
  • schnelle Hilfe für Ihr Datenbankproblem in Nittel und Umgebung (Trier-Saarburg)
  • keine Vertragslaufzeit
  • Bezahlung auf Stundenbasis
  • Bezahlung auf Rechnung
  • rechtliche Absicherung durch Betriebs-/Berufshaftpflichtversicherung

Wie entstehen Datenbankanwendungen?

Ein Datenbankentwickler entwirft und konzipiert Datenbanksysteme (Systemsoftware), programmiert sie und bringt sie zur Anwendung. Aufgabe des Datenbankentwicklers ist, das System passgenau auf den betreffenden Kunden und seinen Bedarf abzustimmen. Dazu gehört, dass der Kunde von Anfang bis Ende in ständigem Kontakt mit dem Entwickler steht.

Die Datenbankentwicklung beschäftigt sich mit der professionellen Planung und Entwicklung von Datenbankanwendungen. Ein solches Projekt wird gewöhnlich in 4 Phasen eingeteilt um komplexe Entwicklungsprozesse abzubilden:

Die Entwicklung selbst erfolgt in enger Absprache und Zusammenarbeit mit dem Kunden. So können alle Wünsche berücksichtigt und eventuelle Probleme von Anfang an vermieden werden. Die enge Absprache ermöglicht ggf. den Verzicht auf ein Pflichtenheft. Hierdurch kann schnell mit der Entwicklungsarbeit begonnen werden und der Kunde erhält schnellstmöglich eine nutzbare Datenbank.

Beispiel-Datenbankmodell für Haushaltshilfe-Unternehmen Datenbankmodell (PDF)

Erklärungen

  1. Es gibt Kunden mit einem Bedarf an Hilfe und Mitarbeiter die diese Hilfe leisten.
  2. Zu jedem Mitarbeiter gibt es einen Vertrag und ein Stundenkonto wo die geleisteten Stunden gesammelt werden
  3. Zum Kunden gibt es eine Bedarfsermittlung, welches zu einem Angebot und zu einem Vertrag führt mit eventuellen Versicherungsfällen und Bemerkungen
  4. Über die geleisteten Stunden des Mitarbeiters bekommt der Kunde eine Rechnung

Wie wird aus einem Datenbankmodell eine Benutzeranwendung?

Damit dieses Datenbankmodell zu einer Anwendung für den Benutzer wird, werden Oberflächen entwickelt. Dieses können Webanwendungen oder auch Windows-Anwendungen sein, welche auf die Daten in der zum Modell erstellten Datenbank zugreifen. Als Datenbanksystem kommt hier eine Microsoft-Access oder genauso eine MySQL bzw Microsoft SQL Server-Datenbank zum Einsatz. Diese Entscheidungen erfolgen in Absprache mit dem Kunden.

Ich berate Sie gern und bin überzeugt, wir finden eine gute, auf Sie zugeschnittene Lösung.

Wieviel kostet eine individuelle Datenbank?

Diese Frage stellen Sie sich zurecht! Ausführliche Erläuterungen gebe ich Ihnen auf der Seite

Die Frage, wie viel Euro eine Datenbank kostet ist wichtig und ganz zurecht gestellt. Daher gehe ich auf folgende Punkte ein:

Beginnen möchte ich jedoch mit folgender Überlegung:

1. Können Sie sich es sich leisten, eine Datenbank erstellen zu lassen?

Die Antwort ist ein ganz klares Ja, weil eine Datenbank viel mehr ist, als nur eine Datensammlung. Die Erstellung einer Datenbank bedingt zugleich eine Strukturierung von Prozessen, ein Durchdenken, Analysieren und eventuell das Überarbeiten und Verändern, das Entfernen vorhandener oder das Erstellen neuer Strukturen und Prozesse. Vielleicht sind Prozesse derzeit auch nicht sichtbar und müssen zunächst erkundet und beschrieben werden.

Eine Datenbank bietet Ihnen daher viel mehr als nur eine Sammlung von Geschäfts- und Unternehmensdaten. Sie ermöglicht Ihnen neue Erkenntnisse zu gewinnen, die ohne die Datenbank, die dadurch und darin abgebildeten Strukturen vielleicht verborgen blieben. Die Datenbankerstellung ist zugleich eine Neu-/Umstrukturierung und Offenlegung eventuell verborgener Strukturen und Prozesse und damit auch Unternehmensberatung und Unternehmensentwicklung.

Meines Erachtens ist daher nicht zu fragen, ob Sie es sich leisten können, eine Datenbank erstellen zu lassen und was diese kostet. Die Frage die zu stellen ist, ist viel eher, was es kostet, auf eine Datenbank zu verzichten!

2. Eine Null zu wenig

Wenn Sie auf der Suche nach einem neuen Auto oder Fernseher sind, wissen Sie wahrscheinlich, wie teuer das Produkt werden wird. Ein Auto haben Sie eventuell schon in der Vergangenheit gekauft und wenn Sie beispielsweise bei einem Autohändler die ausgestellten Wagen ansehen, können Sie wahrscheinlich deren Preis recht gut schätzen.

Überraschend wäre es wohl, wenn ein Auto, das Sie auf 50.000 Euro schätzen 500.000 kosten soll und der Fernseher, dessen Preis Sie auf 2.000 Euro schätzen, tatsächlich 20.000 Euro kostet. Es wird nicht häufig vorkommen, dass Sie so daneben liegen, also 10x soviel zahlen müssten wie erwartet!

Bei der individuellen Softwareentwicklung entsteht ein solcher Preisschock ständig. Spreche ich mit möglichen Kunden über ihr Projekt und die Preisfrage kommt auf, liegt oft die Vorstellung des Kunden um den Faktor 10 niedriger - also eine Null zu wenig. Erwartet der Kunde 1.000 Euro, muss er erfahren, dass es 10x so viel werden wird bzw. kann. Manchmal beginnt an dieser Stelle eine ungläubige Auseinandersetzung, dass ein solcher Preis doch gar nicht stimmen kann.

2.1. Warum liegen die Preisvorstellung des Kunden und der voraussichtliche Aufwand soweit auseinander?

Vielleicht liegt es daran, dass heute großartige Software für kleines Geld zu haben ist. Warum sollte man mehrere (zehn-)tausend Euro für individuelle Software zahlen, wenn man Windows für 100 Euro, Office für 70 und Spiele ebenfalls für einen ähnlichen Betrag kaufen kann? Bei solchen Überlegungen wird vergessen, dass die Herstellerfirmen ihr Programm mehrere tausend oder sogar millionen Male verkaufen. Individuelle Software hat dagegen nur einen einzigen Kunden, der alle Entwicklungskosten tragen muss.

Oder liegt es an der großen Zahl "kostenloser" Software? Facebook kostet nichts - oder? Eben doch - die Kosten sind nur versteckt! Facebook gibt viel Geld für seine Webseite aus, doch weder Sie noch ich zahlen dafür direkt. Werbung die sich an uns richtet zahlt den Preis für uns.

Ich denke, der wirkliche Grund liegt in der Kombination der folgenden zwei Punkte: Individuelle Softwareentwicklung ist etwas, das selten gekauft wird und schwer zu verstehen ist. Wenn es ein alltäglicher Kauf wäre, könnten Kunden aus den vergangenen Erfahrungen oder von anderen Personen lernen wie hoch die typischen Kosten für solch eine Entwicklung sind. Wenn bekannter wäre, welcher Entwicklungsaufwand dahinter steckt, wäre auch klarer, welche Zeit, Erfahrung und wie viel Geld benötigt wird.

3. Änderung und Erweiterung bestehender Datenbanken

Die Änderung und Erweiterung einer bestehenden Datenbank erscheint für den Nutzer oft als Kleinigkeit. Beispielsweise soll an einer Stelle ein neues Feld eingebaut werden. Eventuell soll auch ein neuer Bericht die Datenbank um gewisse Auswertungen erweitern, die in der neueren Zeit von der Unternehmensleitung angefragt werden etc. 

Scheinbar kleine Änderungen können für die Entwicklung großen Aufwand bedeuten: Der Entwickler muss sich zunächst einen Überblick über Ihre Datenbank verschaffen und ermitteln, wo mögliche Probleme auftreten könn(t)en, wo mit Wechselwirkungen zu rechnen ist, welche Beschränkungen es gibt etc. Dies bedingt eine Auseinandersetzung mit der Oberfläche, dem dahinter stehenden Code der gewisse Funktionen bereitstellt, anderen Objekten der Datenbank und auch der Datenstruktur.

Als Daumenregel kann gelten, je umfangreicher, älter und gewachsener Ihre existierende Datenbank, desto aufwändiger die Einarbeitung und Änderung bzw. Erweiterung. Die Kosten der Entwicklung einfacher Mehrnutzer-Access-Datenbanken werden schnell auch bei Änderungen bestehender Datenbanken erreicht.

4. Warum ein Festpreis-Software-Projekt eine schlechte Idee ist

Denken Sie an Ihren Garten. Dieser braucht im Frühling ein wenig Pflege. Ein Beet soll angelegt, ein anderes umgegraben werden, weitere Arbeiten stehen ebenfalls an.

Obwohl Sie all dies auch selbst durchführen könnten, entscheiden Sie sich dafür eine Firma zu beauftragen: Diese hat entsprechendes Werkzeug, Erfahrung und Know-How.

Bei einem Treffen besprechen Sie die anstehenden Arbeiten, zeigen auf, was Sie sich wie in Ihrem Garten für dieses Jahr wünschen. Früher oder später kommt es dann zu Gesprächen über den Preis für die Arbeiten. Jetzt heißt es Verhandlungsgeschick beweisen: Sie möchten möglichst wenig für die Arbeiten bezahlen. Vielleicht hat ein Bekannter oder ein Nachbar von Ihnen ähnliche Arbeiten durchführen lassen und Sie wissen, wie viel dieser dafür zahlte. Die Firma möchte den Auftrag von Ihnen erhalten und wird daher vermutlich versuchen ein möglichst günstiges Angebot zu machen.

Wann ein Festpreis in Ordnung ist?

Soweit, so gut. Aber sobald man sich auf einen Festpreis geeinigt hat, sind verschiedene Szenarien vorstellbar: Da wäre z.B. die Möglichkeit, dass die Arbeiten viel schneller als von Ihnen dem Auftraggeber erwartet erledigt werden: Wurden Sie dann übervorteilt? Vielleicht ist der Festpreis auch so niedrig, dass das Unternehmen - um rentabel zu arbeiten - Oberflächlichkeit statt Sorgfalt an den Tag legt. Oder Sie sind begeistert von den Fortschritten und beschließen direkt noch ein zweites Beet anlegen und Ihre Rosen beschneiden zu lassen. Das ganze soll, aus Ihrer Sicht, selbstverständlich noch zum vorher vereinbarten Preis geschehen - schließlich handelt es sich um den gleichen Garten, und solange noch die von Ihnen gewünschten Arbeiten nicht erledigt sind, fließt kein Geld? Vorstellbar.

Warum ein Festpreis nicht so gut ist?

Es wird deutlich, dass Festpreise verschiedene Probleme mit sich bringen - für beide Seiten der Geschäftsbeziehung. Das gilt auch für feste Preise bei Softwareentwicklung: Es ist sehr schwer, im Voraus zu überblicken und sich darauf zu einigen, was die Software tatsächlich später einmal können soll. Natürlich kann man versuchen Design-Festlegungen zu treffen und Feature-Listen zu erarbeiten, aber am Ende muss der Kunde zustimmen, dass die Software fertig ist. Das bedeutet allerdings, dass durch Festpreisvereinbarungen Entwickler und Kunde automatisch unterschiedliche Positionen in ihrer Beziehung zugewiesen werden, solche, die einer Langzeitbeziehung entgegenstehen: Der Entwickler könnte seinen Preis zu hoch ansetzen um von vornherein mögliche Schwierigkeiten zu berücksichtigen die auftreten könnten. Nicht ungewöhnlich ist ein Preis, der dann mehrfach so hoch ist wie der tatsächliche Aufwand wäre.

Vielleicht wäre es noch schlimmer, wenn der Entwickler einen zu niedrigen Preis ansetzt, um den Auftrag unbedingt zu erhalten. Dies führt später zu Problemen, nämlich wenn der Kunde früher oder später Weiterentwicklung, Veränderungen und Verbesserungen der Software wünscht.

Der Entwickler wird auf Änderungswünsche warten und versuchen, die Extraarbeit in Grenzen zu halten - oder zumindest dafür extra bezahlt zu werden.

Der Kunde wiederum wird über Veränderungen diskutieren wollen und davon ausgehen, diese seien im Festpreisangebot enthalten gewesen. Gleiches gilt für eine Fehlerbehebung: Der Kunde erwartet eine kostenlose Fehlerbehebung was jedoch unterstellt, dass die Software vorher getestet und für gut befunden wurde bevor sie zum Einsatz kam. Solche umfangreichen Tests sind allerdings sehr aufwändig und teuer.

Wann eine Bezahlung nach Aufwand in Ordnung ist?

Ganz anders bei einer Abrechnung nach Aufwand. Der Kunde kauft Expertise - kein Produkt. Dies bedeutet, dass jegliche angefallene Arbeit dem Kunden in Rechnung gestellt werden wird. Der Entwickler stimmt zu, Zeit effizient und effektiv zu investieren.
Der Kunde hat jederzeit volle Kostenkontrolle, da er über den Einbau von Features entscheidet. Zugleich hilft er Kosten zu reduzieren, da er Teile des Testens der Software übernimmt und Fehler und Probleme dem Entwickler mitteilt.
Steigen die Kosten, können Features niedrigerer Priorität auf später verschoben werden, um im Budget zu bleiben.
Kunde und Entwickler ziehen am gleichen Strang - die Beziehung wird länger anhalten und für beide Seiten fruchtbarer sein.

Aus diesem Grunde arbeite ich nicht für einen Festpreis, sondern rechne nach Aufwand ab.

Dieser Text wurde durch einen Artikel von Armen Stein (J Street Technology) inspiriert.

Dies konnte Sie überzeugen? - Dann zögern Sie nicht und schicken Sie mir Ihre Projektanfrage

Hintergrundgrafik - Wallpaper