Zum Inhalt springen

Individualsoftware-Entwicklung

Individualsoftware mit Laravel

Der größte Teil einer Geschäftsanwendung ist Infrastruktur, für die niemand zahlen will. Was Laravel als Standard mitbringt, wohin das Budget gehört, und wann ein Produkt gewinnt.

Eine Geschäftsanwendung handelt überwiegend nicht vom Geschäft.

Zählt man den Code eines solchen Systems, ist der Teil, der abbildet, wie Ihr Unternehmen tatsächlich arbeitet, eine Minderheit davon. Der Rest ist der Apparat, den jede solche Anwendung braucht, bevor sie überhaupt etwas Nützliches tun kann - und diese Unterscheidung ist das Nützlichste, was man vor einer Beauftragung verstehen kann, denn dort werden Budgets gewonnen und verloren.

Die zwanzig Prozent, die wirklich Ihre sind

Der wertvolle Teil einer Eigenentwicklung ist der, den ein Produkt Ihnen nie geben konnte: Ihre Preisregeln, Ihre Freigabekette, der Weg eines Auftrags von angeboten über eingeplant bis abgerechnet, die Ausnahme für den einen Kunden aus Gründen, die ein Jahrzehnt zurückreichen.

Dort gehört das Denken hin, und in einem schlecht geführten Projekt ist dort das Denken zu Ende, weil das Budget beim Zum-Laufen-Bringen der Infrastruktur aufgebraucht wurde.

Die Frage an einen Dienstleister ist deshalb nicht, welches Framework er benutzt. Sie ist, welcher Anteil der Schätzung auf Dinge entfällt, die in jeder Anwendung identisch sind, die er je gebaut hat.

Was eine Laravel-Geschäftsanwendung braucht, bevor sie etwas Nützliches tut

Die Liste ist länger als erwartet und nichts davon ist verhandelbar.

Jemand muss sich anmelden, und jemand muss ein Passwort zurücksetzen können, ohne einen Entwickler. Verschiedene Leute müssen verschiedenes sehen, erzwungen an einer besseren Stelle als einem versteckten Menüpunkt - Autorisierung ist nicht Authentifizierung, und der Unterschied zeigt sich beim ersten Export, der Datensätze erreicht, die der Bediener nicht sehen durfte.

Arbeit muss außerhalb eines Web-Requests passieren. Ein Dokument erzeugen, eine Mail senden, ein Nachtimport, eine Zahl neu berechnen. Das heißt eine Queue, das heißt Wiederholungen, das heißt Jobs, die gefahrlos zweimal laufen können - und eine beiläufig gebaute Queue ist der Weg, auf dem ein Kunde dieselbe Rechnung dreimal bekommt.

Das Schema braucht eine Historie statt eines Ist-Zustands, damit eine Änderung geprüft und auf einer anderen Umgebung nachgezogen werden kann. Dateien müssen von Leuten außerhalb des Unternehmens angenommen werden, ohne dass das ein Sicherheitsvorfall wird. Und es braucht Tests über die Pfade, auf denen Geld und Zustand sich ändern, sonst traut sich im zweiten Jahr niemand mehr an das System.

Laravel liefert all das als Standard, in einer Qualität, die die meisten Teams selbst gebaut nicht erreichen - und, wichtiger, in einer Form, die der nächste Entwickler erkennt. Ein vor vier Jahren erfundenes eigenes Framework von jemandem, der inzwischen weg ist, ist die teuerste Art von Individualsoftware überhaupt.

Die Schnittstellen sind meist der eigentliche Umfang

Der Teil dieser Projekte, der überzieht, sind fast nie die Masken.

Es ist, dass die Anwendung sich mit einer Buchhaltung, einem ERP, einem Zahlungsdienstleister, einem Versender, einem CRM und einer Tabelle einig werden muss, von denen keines dafür gebaut wurde, sich mit irgendetwas einig zu werden. Technisch ist das Sprechen damit unkompliziert. Die Entscheidungen sind es nicht.

Welches System besitzt den Namen eines Kunden, und was passiert, wenn er auf der anderen Seite geändert wird. Wer vergibt die Rechnungsnummer. Was eine Gutschrift auf beiden Seiten tut. Wie eine Teilzahlung verbucht wird. Was passiert, wenn ein System ausgefallen ist und das andere schon gebucht hat.

Das sind kaufmännische Entscheidungen, die technisch aussehen, und sie fallen mit Ihrer Buchhaltung und Ihrem Betrieb statt von uns geschätzt zu werden. Arbeit dieser Art steht unter Integrations-Engineering; in einer Eigenentwicklung ist sie häufig die Hälfte des Projekts, und ein Plan, der sie als Position am Ende führt, ist ein Plan, der rutscht.

Wie ein individuelles Laravel-Projekt abläuft

In Phasen, jede endet mit etwas Ausgelieferten, das Leute wirklich benutzen können.

Die erste Phase nimmt einen Ablauf von Anfang bis Ende - nicht den Umriss von fünf -, denn das zwingt das Schema, echten Daten zu begegnen. Es erzeugt auch eine Schätzung für den Rest, die etwas wert ist, was eine Zahl aus Woche eins nicht ist.

Jede Phase wird vor Beginn schriftlich zugeschnitten. Wo Sie Entwickler haben, sind sie ab der ersten Woche in den Pull Requests; so übertragen sich Konventionen, und es ist die einzige Form, in der das System wartbar bleibt, nachdem wir aufhören.

Die Migration bestehender Daten läuft nebenher statt am Ende. Das neue System wird gegen das alte abgeglichen, Datensatz für Datensatz, bis sie übereinstimmen

  • Abweichungen sind Befunde und keine Fehler, und es sind immer mehr, als jemand vorhergesagt hat.

Was Sie aus einem individuellen Laravel-Projekt bekommen

Zum Abschluss jeder Phase eine laufende Anwendung auf Infrastruktur, die Sie kontrollieren.

Daneben: das Repository mit vollständiger Historie, mit Build und Deployment ohne Abhängigkeit von uns. Migrationen statt eines Datenbank-Dumps. Eine schriftliche Beschreibung des Datenmodells, jedes Constraints und dessen, was es verhindert - denn ein Constraint, den niemand erklären kann, ist einer, den ein künftiger Entwickler löscht. Tests über die Pfade, die Geld bewegen oder Zustand ändern. Und die Schnittstellenentscheidungen festgehalten, einschließlich der umstrittenen, denn die braucht ein neuer Entwickler und die lässt ein Übergabedokument immer weg.

Wo Kaufen das Bauen schlägt

Diese Antwort ist manchmal nein, und sie jetzt zu hören ist billiger.

Wenn ein Produkt das meiste erfüllt und die Lücke Geschmack statt Prozess ist, kaufen und konfigurieren Sie das Produkt. Der ehrliche Vergleich ist fünf Jahre gegen fünf Jahre und nicht Jahr eins gegen Jahr eins, und auf die längere Sicht gewinnt Konfiguration häufiger, als man erwartet.

Wenn der Prozess noch erfunden wird, gießt eine Eigenentwicklung eine Entscheidung in Beton, die niemand getroffen hat. Lassen Sie ihn von Hand laufen, bis die Form stillhält.

Wenn das Volumen so klein ist, dass die Handarbeit eine Stunde pro Woche kostet, ist Automatisieren ein Hobby und keine Investition.

Und wenn es niemandem im Unternehmen besser geht, wenn es funktioniert - keiner einzelnen Person, deren Arbeit leichter wird -, wird es aufgegeben, egal wie gut es ist. Das ist der Fehler, den wir am häufigsten gesehen haben, und er ist nie ein technischer.

Umfang und Konditionen

Zusammenarbeit
Fester Umfang, schriftlich vereinbart, bevor die Arbeit beginnt. Kein Tagessatz gegen ein offenes Backlog.
Preis und Dauer
Beides wird je Projekt festgelegt, sobald der Umfang steht. Gemeinsam angeboten, bevor etwas gebaut wird.
Was wir von Ihnen brauchen
Eine Person, die entscheiden darf, und Zugang zu Ihrem Repository und Ticketsystem.
Nicht enthalten
Alles außerhalb des vereinbarten Umfangs. Es wird ein eigener Umfang statt eines Änderungsauftrags.
Kosten Dritter
Hosting, Lizenzen, API-Gebühren und SaaS-Abonnements schließen und zahlen Sie selbst.
Rechnungsstellung
Codefacture Yazılım A.Ş., Türkiye. EUR, USD oder GBP per Überweisung, ohne türkische Umsatzsteuer auf exportierte Leistungen.

Häufige Fragen

Woran erkennen wir, ob wir überhaupt eine Eigenentwicklung brauchen?
Zählen Sie die Behelfslösungen. Ein Betrieb mit zwei Tabellen, einem Sammelpostfach als Warteschlange und einer Person, die weiß, welche Zahl stimmt, bezahlt bereits Software - in Gehalt - und bekommt keine der Garantien. Das ist ein Fall für eine Eigenentwicklung. Ein Betrieb, dessen Klage ist, dass ein Produkt unangenehm zu bedienen ist, aber seine Aufgabe erfüllt, ist es nicht: Unannehmlichkeit gegen eine Wartungspflicht zu tauschen ist ein schlechter Handel, und es ist die Variante, die man bereut.
Warum zählt Laravel, wenn es doch um unsere eigene Fachlogik geht?
Weil die Fachlogik eine Minderheit des Codes ist. Sitzungen, Berechtigungen, Hintergrundarbeit mit Wiederholung, Zeitpläne, Migrationen, Mail, Dateiverarbeitung, ein Testgerüst - all das braucht jede Anwendung dieser Art, nichts davon unterscheidet Sie, und alles davon kann auf Weisen falsch sein, die echtes Geld kosten. Das als Standard zu nehmen ist der Weg, auf dem das Budget bei Ihrem Teil ankommt. Und wer das System in vier Jahren pflegt, erkennt die Bauform, was ein selbstgebautes Framework nie bietet.
Was wird regelmäßig größer als gedacht?
Die Schnittstellen und der Zustand der vorhandenen Daten, in dieser Reihenfolge. Eine Rechnung in ein Buchhaltungssystem zu schieben sind zwei Wochen; sich zu einigen, welches System den Kundennamen besitzt, was mit einer Gutschrift passiert und wie eine Teilzahlung verbucht wird, ist der Rest des Projekts. Und die zu migrierenden Daten sind schlechter, als alle glauben - Duplikate, ein Datumsfeld mit vier Formaten, eine Statusspalte mit Werten, die niemand erklären kann. Wir rechnen gegen das Altsystem ab statt umzuschalten, was langsamer ist und die einzige Art, wie der Betrieb seinen eigenen Zahlen weiter traut.
Wie wird kalkuliert?
Pro Phase, vor Beginn jeder Phase schriftlich fixiert, nie als offener Tagessatz. Die erste Phase ist absichtlich klein und endet mit etwas Laufendem. Eine Gesamtzahl, genannt bevor jemand Ihre Daten gesehen hat, ist keine Schätzung, und sie als eine zu behandeln ist der Weg, auf dem Projekte einen Festpreis und einen still schrumpfenden Umfang bekommen.
Was besitzen wir am Ende?
Alles. Das Repository mit seiner Historie, ein Deployment, das ohne uns läuft, das Schema als Migrationen, und die Begründungen aufgeschrieben, während sie entschieden wurden. Keine Lizenz, keine gehostete Komponente, die Sie von uns mieten, und kein Teil des Systems, den nur wir ändern können. Wenn das für ein Angebot, das Sie lesen, nicht gilt, lohnt die Frage, warum.
Anrufen+1 848 272 7583WhatsApp+90 850 308 5436E-Mailinfo@codefacture.comKontaktseite