Unverbindlich anfragen
Deine unverbindliche Anfrage zur .NET Programmierung schnell & unkompliziert bei mir im Posteingang: Verwende mein ausgeklügeltes Anfrage-Formular, damit Du mir Deine neue, oder geplante Software einfach und effizient näher bringen kannst – E-Mail, Projektname, Beschreibung & Budget sind erforderlich.
Winforms Entwicklung
Mit dem "Windows Forms" Toolkit (kurz Winforms) des .NET Frameworks von Microsoft, begann vor vielen Jahren die einfache und intuitive Entwicklung von grafischen Oberflächen. Auch meine persönlichen Wurzeln finden ihren Ursprung bei den Windows Forms. Viele Jahre und die damit verbundene Erfahrung prägten eine meiner Kernkompetenzen.
WPF Entwicklung
In Kombination mit dem MVVM-Entwurfsmuster (der sauberen Trennung von: Daten, Ansichten & Steuerung Dieser) liegt der moderne Schwerpunkt der Windows-Entwicklung bei WPF. Die hinter dem Akronym stehende Windows Presentation Foundation Technologie, Welche auch ich heutzutage primär einsetze, bietet völlig neue grafische Möglichkeiten.
C# & VB.NET
Wer sich mit der .NET Programmierung beschäftigt, trifft früher, oder später garantiert auf die beiden hauptsächlich vertretenen Programmiersprachen: C# (C-Sharp) und VB.NET (Visual Basic .NET). Auch wenn C# der heutigen Meinung entsprechend der klare Goliath im Vergleich zu Visual Basic ist, steht VB dem "großen Bruder" in nichts nach. Beide greifen letztendlich auf die gleichen Werkzeuge zu: Dem .NET Framework, beide Programmiersprachen verwenden also dieselbe Basis.
Trotz der Tatsache, dass beide Programmiersprachen prinzipiell die gleichen Möglichkeiten zur modernen Softwareentwicklung (.NET Programmierung) bieten, bevorzuge auch ich C#. Das liegt einerseits an der breiten Entwickler-Community und weil Diese ja auch häufig zusammenarbeiten. Andererseits liegt es an der für "C"-Sprachen typischen Schreibweise, Welche mir sehr gefällt und Welche man durch die ganzen Jahre natürlich gewohnt ist.
Dieselbe Sprache sprechen
Hier kann man aus Entwickler- und ggf. auch aus Kundensicht direkt den nächsten Aspekt herauskristallisieren. Ein Team, Welches die gleiche, oder zumindest eine ähnliche Sprache spricht, wird grundsätzlich einfacher zusammenarbeiten können, als wenn es verschiedene Sprachen wären. Hier kannst auch Du als Kunde durchaus profitieren!
Auch wenn Du in meinem Beispiel das Glück hast, dass ich bereits mit vielen verschiedenen Programmiersprachen auf professioneller Ebene gearbeitet habe, ist dem nicht immer so. Das bedeutet für verschiedene Gebiete dann natürlich auch den Bedarf unterschiedlicher Programmierer. Vielleicht könntest Du stattdessen mit einem einzigen Programmierer (-Team) und einem gleichbleibenden Stundenlohn arbeiten.
Aufgabenteilung
Im .NET Umfeld ist die Gestaltung der verschiedenen Aufgaben verglichen mit anderen Bereichen relativ einfach. Besonders der Web-Bereich (also die Webentwicklung) zieht häufig verschiedene Spezialisten mit ins Boot. Während die einen auf den Client-Code wie JavaScript konzentriert sind, bauen die anderen die Grundgerüste der Website in HTML-Form. Widerrum andere Entwickler arbeiten am Feinschliff der grafischen Darstellung mit CSS. Zuletzt gibt es natürlich auch noch die serverseitige Programmierung mit z. B. PHP, Welche häufig auch von separaten Spezialisten übernommen wird.
Zurück bei der .NET Programmierung, liegt der erste Fokus auf der Windows Forms Entwicklung. Hier wurden die Anwendungen ursprünglicher Weise als eine Art Misch-Produkt aus Code und Design entworfen. Das heißt letztendlich, dass dort meistens vielerlei Aufgaben von einem einzigen Entwickler übernommen wurden.
Bei den modernen WPF-Anwendungen sieht das Ganze schon ein wenig anders aus, da dort eine saubere Trennung von Design und Code zu den essenziellen Aspekten gehört. In größeren Teams, gar Abteilungen, kümmert sich der eine Teil z. B. via XAML-Code um das Design. Das andere, bzw. die anderen Teams kümmern sich dann um den Code dahinter.
Meine Software ist SOLID
Eine SOLID(e) .NET Programmierung
Wenn im Bereich der Softwareentwicklung von solider Software, bzw. "SOLID" gesprochen wird, meint man keinesfalls Zustände wie "fest", oder "locker". Es steht viel mehr für die Zusammensetzung mehrerer einzelner Wörter, wobei jedes Wort ein eigenes Prinzip aus der Softwareentwicklung beschreibt. Ich denke, ich erspare Dir die detaillierte Erklärung jedes einzelnen Wortes, reiße allerdings ein wenig an, worum es dort geht.
Auch wenn Du als Kunde meist nicht mit dem Code in Berührung kommst, wirst Du die Unterschiede früher oder später merken können. Die Anwendung der erwähnten Prinzipien sorgt mit unterschiedlichen Gesichtspunkten für saubereren Programm-Code der Software. Hierbei spielt wie so oft die Größe des Kunden und vor allem das damit verbundene Budget eine Rolle.
Ich behaupte, dass 90 % der kleineren Firmen den Code nicht kontrollieren, bzw. ansehen, oder gar verstehen. Das kann natürlich auch daran liegen, dass die Firmen eventuell nur das fertige Produkt, ohne Rechte am Code haben möchten. Das hat in erster Linie die typischen Gründe: Budget, Zeit, etc.
Größere Firmen gehen hingegen des Öfteren hin und kontrollieren, bzw. reviewen den Code in gemeinsamen Runden. Dort werden ggf. auch Probleme und Aspekte notiert und anschließend beim jeweiligen Entwickler (-Team) angesprochen.
Schnell, schnell – abrechnen: Schlecht!
Ganz nach dem Motto "der Kunde merkt's eh nicht" werden häufig kleinere Projekte "schnell, schnell" erledigt. Dann wird der Festpreis abgerechnet und man geht getrennte Wege, bis.. Ein halbes Jahr später, wo die Software tatsächlich intensiv genutzt und getestet wurde, neue Features hinzukommen sollen. Eventuell gab es auch das ein oder andere Problem, Welches bis heute nicht gelöst und irgendwie mit einem Workaround toleriert wurde.
Dann beginnt häufig das langsame Aufwachen, denn plötzlich dauert die Weiterentwicklung länger und ist damit wesentlich teurer. Ebenso wurde einem durch die bisherige Vorgehensweise das einfache Testen der Anwendung erschwert. Bitte bedenke aber auch hier, dass hier meistens alles mit dem Budget steht und fällt!
Auch ein Softwareentwickler (egal ob .NET Programmierung, oder sonst wo) hat es in der Regel nicht anders als andere Dienstleister. Man ist (oder sollte) als Dienstleister natürlich an gewissenhafter und qualitativer Arbeit interessiert, aber manchmal bekommt man einfach den Hals zugeschnürt.
Über mich
Seit 2011 bin ich nun schon auf beruflicher Basis im Bereich .NET Programmierung unterwegs, daher bezeichne ich mich mit mehr als 12 Jahren Erfahrung als .NET Experte. Meinen Code gestalte ich immer anhand gängiger Entwurfsmuster, weil saubere Programmierung für mich ein Muss ist.
Meinen Wissensschatz konnte ich in der Vergangenheit in verschiedenen Software-Projekten wie:
- Kundenverwaltungen
- Hardware-Steuerungen
- komplexen ERPs
- uvm.
und meinen Unterrichts-Stunden unter Beweis stellen. Dabei haben mich natürlich meine bisherigen Festanstellungen in kleinen bis großen Firmen geprägt. Andererseits habe ich einen Großteil meiner Erfahrung als Freelancer für Kundenprojekte gemacht. Zuletzt spielte (und spielt) mein Drang zur Selbstverwirklichung und Umsetzung kreativer Software-Ideen innerhalb meiner Selbstständigkeit eine ebenso große Rolle.
Basierend auf Deinen Anforderungen, dem Budget und der jeweiligen Deadline füge ich den Projekten Kommentare, Tests & eine Dokumentation hinzu. Sprich mich bei Bedarf gerne an und erörtern eventuell gemeinsam, in welchem Format und Umfang es am besten passt.
Im unteren Abschnitt findest Du mehr Informationen dazu, wie ich Software umsetze, dabei wird es allerdings zwangsweise ein wenig technisch. Ich habe dennoch versucht, so einfach und verständlich wie möglich zu bleiben, um Dir die Themen näherzubringen.
Häufige Fragen – FAQ
Vermutlich ist Dir eine tolle Idee in den Kopf gekommen und Du möchtest Sie natürlich gleich umsetzen. Als Nächstes werden Dir bestimmt auch so einige Fragen einfallen. Dazu habe ich die folgende Sammlung an Fragen gesammelt.
Kurz und bündig
- Kleinere Projekte: Um die 500€
- Mittelgroße Projekt: Um die 1300€
- Große, komplexe Projekte: Mehrere tausend Euro
Als Käufer in der Recherche-Phase, ist das erste, ausschlaggebende Argument womöglich der augenscheinliche Preis. Augenscheinlich deshalb, weil es vor allem bei Fix-Preisen häufig versteckte Kosten gibt. Diese können sich in verschiedenen Aspekten der .NET Programmierung verstecken, dazu gleich mehr.
Hintergrund
Auch Programmierer lassen sich wie viele andere Dienstleister für gewöhnlich auf stundenbasierten Lohn bezahlen. Man kann hier also ganz normal an eine Art Stundenlohn im Sinne der "Stundenpreis + Zeit = Preis" -Formel denken. Neben fixen Stundenlöhnen sieht man natürlich auch (besonders im Dumping-Bereich) gewisse Festpreis-Pakete, Welche quasi eine Art "Rundum-Wohlfühl"-Paket anbieten.
Das Problem mit dem Festpreis
Jede Upside hat im Leben wohl auch – wie üblich – eine Downside, so könnte man zumindest hier ebenfalls argumentieren. Wenn ich jemanden z. B. nur bei aktiver Arbeit, also stundenbasiert bezahle, macht mich das in gewisser Weise flexibler. Ich kann nach jeder bezahlten Stunde praktisch wechseln und frei bestimmen. Das unterstützt nicht nur die Kostenkontrolle, sondern bietet auch die Möglichkeit kleinerer, schrittweiser Planungen.
Möchte ich mich gerne länger binden und Arbeits-Pakete erstellen, kann ich hier auch auf die Festpreis-Variante zurückgreifen. Dadurch bin ich an mein Team, oder einzelnen Partner vertraglich gebunden. Man sollte sich natürlich auch die Frage stellen, welche Reaktionszeit man von seinem Entwickler-Team erwartet. Soll sich mein Entwickler, oder Entwickler-Team auf mein Projekt fokussieren? Zu welchen Zeiten und in welchen Arbeits-Intervallen soll an mein Projekt gearbeitet werden?
Auf ein besonders großes Problem stoßen wir mit den Festpreisen, einerseits als Entwickler, andererseits als Kunde. Software kann (und wird häufig) extrem komplex und teilweise unabschätzbar. Jedes Projekt hat seine eigenen, ganz speziellen Besonderheiten und Ausnahmen. Besonders, wenn Schnittstellen und Werkzeuge anderer Hersteller ins Spiel kommen. Mangelhafte Dokumentationen, Updates der Drittanbieter und und und.
Wenn Dir ein Entwickler also einen Festpreis macht und aus verschiedenen Gründen länger braucht als geplant, gibt es praktisch nur 2 Möglichkeiten: 1. Mithilfe einer Vertragsregelung nach mehr Budget fragen. 2. Abstriche in der Code-Qualität machen, um – komme was wolle – schneller fertig zu werden. Ich würde behaupten, dass 90 % der Entwickler für die letztere Methode wählen.
Neben den beiden vorgestellten Varianten gibt es auch noch gewisse Misch-Modelle. Ggf. arbeitet man eine gewisse Zeit auf Stundenbasis und zwischendurch eventuell mit Projektphasen. Ich persönlich ändere die Vorgehensweisen in erster Linie anhand der jeweiligen Projekt-Größe.
Das Fazit
Für mich muss Programm-Code sauber geschrieben, bzw. programmiert sein und Software ist leider eben nicht immer gleich Software. Bei Unsicherheit sollte man sich bei einem guten Entwickler seriös beraten lassen und nach Möglichkeit lieber erstmal mehr Budget einplanen, auch wenn dies vermeintlich weh tut. Damit kann man dann später gängigen Problemen vorbeugen. Unerlässlich ist hier natürlich immer die Absprache zwischen Kunde und Programmierer.
Ein allgemein bekanntes Sprichwort findet hier starke Worte: "Wer billig kauft, kauft zweimal!". Neben vielen anderen Branchen, leidet auch die Software-Branche unter Dumping-Preisen. Es werden Applikationen verkauft, Welche weder den minimal notwendigen Sicherheits-Standards, noch effizienter (und vor allem zukunftsorientierter) Programmierung entsprechen.
Damit haben sich schon einige Schnäppchenjäger selbst in Bein, bzw. ins Portemonnaie geschossen. Wenn man sein Haus auf einem maroden Fundament erbaut, wird früher oder später erfahren, wie schmerzhaft es ist, alles nochmal abreißen zu müssen, nur um das Fundament zu richten.
Meine Empfehlung
Ich kann Dir für kleinere Projekt einen groben Rahmen von mindestens 300-500 € als Vorausplanung empfehlen. Um diesen Rahmen so gut wie möglich als Basis zu haben, solltest Du eine konkrete Vorstellung in Form von Zeichnungen und Ähnlichem mitgeben (das solltest Du im Optimalfall immer). Besonders kostenschonend ist es auch, wenn Du bei Deiner Software auf ausgefallene Animationen und derartige Dinge verzichtest. Das erspart dem Entwickler unnötige Eigen-, bzw. Neuentwicklungen und schont somit Deinen Geldbeutel.
Falls man ein etwas größeres, oder gar großes Projekt plant, Welches ein komplexes und verstricktes System darstellt, kann es natürlich auch mehrere tausend Euro kosten. Zum Schluss zählt natürlich erstmal nur eines: Das Projekt sollte einen entsprechenden Mehrwert liefern, sei es nun zum Verkauf, oder für den eigenen Nutzen (eigene Firma, privat, etc.).
Eine Idee ist erstmal nur das – Punkt!
Auch wenn ich Dich selbstverständlich gerne berate, solltest Du Dir schon vorher ausreichend Gedanken über Dein Projekt gemacht haben. Ein einfaches "programmieren wir einfach drauf los" provoziert häufig unnötige Mehrarbeit und somit Kosten deinerseits.
"Es wurde doch schon alles erfunden!"
Der erste Dich eventuell zum Zweifeln bringender Punkt wird vermutlich das "... gibt es schon"-Argument sein. Auch wenn wir nicht mehr das erste Facebook, oder das erste Amazon heutzutage erfinden werden, sind doch gerade diese Plattformen die Fallbeispiele schlechthin. Weder war Facebook der Vorreiter der sozialen Netzwerke, noch war, oder ist Amazon der einzige Marktplatz im Netz.
Überlege Dir stattdessen, was Du im Vergleich zu Deiner (potenziellen) Konkurrenz mit Deinem Produkt besser machen möchtest. Greife dazu auf die bestehenden Rezensionen zu den Produkten zurück und höre Dir an, was deren Nutzer zu sagen haben. Häufig erschließen sich gerade daraus neue Ideen, bzw. neue Lösungen.
Entwickler = Marketing-Spezialist
Häufig sind Entwickler in erster Linie erstmal Entwickler, also Fachleute für die Programmierung von Software in deren Spezialgebiet (.NET Programmierung, Web, iOS, etc.). Mit mir an Deiner Seite hast Du z. B. das Glück auch jemanden mit Marketing-Erfahrung im Team zu haben. Besonders die Suchmaschinenoptimierung (SEO) im Web-Bereich ist eine meiner Stärken.
Plane die notwendigen Rollen Deines Projektes, also die involvierten Parteien wie Steuerberater, Rechtsanwalt, Design- und Marketing-Experten also ggf. ein. Überlege Dir ebenfalls, wer eventuelle Kundenanfragen beantwortet, Welche Arbeits- und Reaktionszeiten erwartet werden (von Deinem Programmierer, etc.).
Gibt's doch "von der Stange"
Viele Menschen mit kreativen Ideen, die Entwickler kontaktieren denken, dass es irgendwie alles schon fertig, also quasi "ready to use" gibt. Dies ist leider ein gängiger Trugschluss. Natürlich gibt es einige Schnipsel und teilweise sogar fertige Komponenten, aber Diese sind häufig auf spezielle Systeme und Umgebungen zurechtgeschnitten (weit über Betriebssystem und Programmiersprache hinaus).
Ein wichtiger Aspekt ist hier (obwohl er von vielen Menschen vergessen, oder gar nicht gewusst wird) der sogenannte Overhead. Ein "ich funktioniere auf so vielen Dingen und komplex wie möglich"-Aspekt bringt natürlich programmiertechnische Eventualitäten mit sich. Weiter geht es bei den verwendeten Tools, über deren Be- und Einschränkungen und geht weiter bis zu den Unterschieden, die von verschiedenen Hersteller kommen.
Wie man so schön sagt, gibt es "Gott sei Dank" einige Hilfsmittel, um zumindest nicht alles neu bauen zu müssen. Dabei geht es seitens der Software meist um gewisse Infrastruktur-Tools, allerdings möchte ich das hier nicht zu tief verkomplizieren. Die Werkzeuge erleichtern den Programmierern das Erstellen der Anwendung in verschiedenen Aspekten.
Ziemlich einfach wird es, wenn Du hierbei an eine alltägliche Sache denkst: Nehmen wir z. B. den hauseigenen Garten. Du wirst Deine Grünfläche nicht unbedingt mit einer Nagelschere, sondern eher mit einer erfundenen, produzierten und weiterverkauften Maschine namens Rasenmäher trimmen, oder? So ähnlich kann man sich verschiedene Werkzeuge für die Entwickler vorstellen.
Rechtliche Abklärung?
Häufig haben die kreativen Geister Ihre Ideen schnell geplant und ggf. sogar anschließend umgesetzt. Leider wird auch ebenso häufig ein wichtiger Aspekt außer Acht gelassen: Ein Programmierer ist eben kein Anwalt. Eine Software sollte bereits zum Zeitpunkt der Planung, bzw. nach Erstellung eines Konzepts über rechtliche Abklärung verfügen, damit der jeweilige Entwickler analog dazu die Umsetzung erledigen kann.
Simpel & schnell: Das ist Vertragssache!
Normalerweise greift hier erstmal das Urheberrecht, da der Erschaffer des Quellcodes der Urheber ist. Damit Du mir Deine Wünsche mitteilen kannst, habe ich das obige Formular um einen entsprechenden Punkt ergänzt. Damit können wir bei Bedarf explizite Klauseln in einem Softwarevertrag festhalten und die Nutzungs- & Eigentumsrechte klären.
Wie Du Dir sicherlich vorstellen kannst, ist ein Nutzungsrecht für die Software einer Privatperson finanziell etwas völlig Anderes, als z. B. die nächste Abomodell-Software. Ebenso muss man hier eventuelle Drittanbieter beachten, da der Entwickler eben häufig auch Lizenzen, etc. einkaufen muss.
Fazit
Final wird es also auf eine schriftliche Klärungs-Frage zwischen Programmierer und Kunde hinauslaufen. Unterschiedliche Einsatzzwecke erfordern ggf. mal mehr, oder mal weniger Klärungs- und Kostenbedarf.
Achtung: Keine Rechtsberatung!
Planung & Details sind das A und O
Um Dich als Entwickler optimal unterstützen zu können, benötige ich natürlich so viele Informationen wie möglich. So bietet sich mir die Möglichkeit, alle wichtigen Aspekte zu berücksichtigen und vor allem auch erstmal auszuloten. Andernfalls könnte es später negative Folgen in verschiedenen Gesichtspunkten mit sich bringen.
Meine wärmste Empfehlung
Besonders in der heutigen Zeit ist eben genau Diese Mangelware, daher ist die Verführung groß, das Kontaktformular schnell und ohne große Mühe auszufüllen. Ich empfehle Dir jedoch dringend und zu Deiner eigenen Sicherheit, alles gewissenhaft und mit Elan auszufüllen. Lasse Dir vielleicht sogar mehrere Tage Zeit, bis Du das Formular final ausfüllst.
Dies wird Dich ggf. auch noch auf weitere Gesichtspunkte aufmerksam machen und Probleme, sowie potenzielle Mehrarbeit verringern (oder sogar vermeiden). Natürlich begleite ich Dich bei Bedarf auch bei der weiteren Planung Deiner Software.
Details
Liste die einzelnen Nutzerrollen des Programms (oder des ganzen Systems) am besten von vorneherein auf. Gibt es neben einfachen Rollen vielleicht auch komplexere, eventuell geschachtelte Berechtigungen? Muss es die Möglichkeit seitens der Software geben, diese Berechtigungen eventuell zu gruppieren, also dynamisch Rollen erstellen zu können?
Was sollen Deine Nutzer wann genau sehen, wenn Sie Dein Programm öffnen? Wie navigiert der Nutzer zu diesen einzelnen Oberflächen und soll es auch Dialoge geben? Bedenke hier viele Standards aus gängigen, modernen Softwares, wie z. B. der typischen Seitennavigation.
Plumpt gesagt: Mehr ist (viel) besser!
Letztendlich wird Dein Projekt irgendwo begonnen haben und das voraussichtlich in Deinem kreativen Kopf. Dementsprechend steht und fällt alles in erster Linie mit Dir und Deiner Passion dafür. Gerne unterstütze ich Dich auf Deiner technischen Reise, der Rest muss allerdings von Dir kommen. Möchtest Du die Software und dessen Bestandteile selbst testen, oder soll ich dies für Dich erledigen? Verwenden wir hier automatisierte Tests (Welche natürlich erstellt und konfiguriert werden müssen)?
Hast Du mir die notwendigen Details und Gesichtspunkte Deiner Software klar und verständlich weitergegeben? Diese und weitere Fragen tragen selbstverständlich zu vielen auch Dir wichtigen Aspekten bei: Erfolg, Kosten, etc. Für mich ist eine regelmäßige, offene und direkte Kommunikation zwischen Entwickler (-Team) und Kunde einer der Schlüssel zum Erfolg.
Versuche Dir nach Möglichkeit viel Zeit für die Erreichbarkeit zu nehmen. Falls Du wie so viele Menschen aufgrund Deiner anderen Tätigkeiten ausgelastet bist, nehme Dir zumindest einmal am Tag einen gewissen Zeitraum für die Beantwortung von offenen Dingen. Als Entwickler werde ich Dir regelmäßig Status-Updates, Fragen und sonstige Themen übermitteln. Dies geschieht für gewöhnlich über planungs-unterstützende Software.
So einfach wie es klingt: Frage am besten einmal 5 Freunde, wie Diese einen Kakao zubereiten würden. Auch wenn natürlich jeder die wirklich einfachen Grundschritte wiederholen werden, wird jeder dennoch andere Formulierungen wählen. Ebenso nimmt der erste Freund vielleicht zuerst den Herd in Betrieb und die beste Freundin z. B. zuerst die Milchtüte aus dem Kühlschrank. Stell' Dir dies nun in zigfach komplexer vor und mit wesentlich mehr Möglichkeiten, dann erahnst Du einen kleinen Geschmack von Herangehensweisen der Softwareentwicklung.
Nun kannst Du Dir sicher (einfacher) vorstellen, welche massiven Unterschiede in der Programmierung zu dementsprechend massiven Qualitätsunterschieden führen können. Besonders Software aus der Kategorie "mal eben", oder "schnell, schnell" sind die Fallbeispiele schlechthin. Festpreis-Angebote verzichten häufig (besonders im unter 1000 € Segment) auf die notwendige Aufmerksamkeit bezüglich der Sicherheit.
Aus Vergangenem lernen
Ich habe ein konkretes Beispiel, wo ein typisches "schnell, schnell"-Vorgehen zu drastischen Folgen geführt hat: Es war einmal ein Großkunde, Welcher ein sehr großes, zusammenhängendes System für mehrere tausend Mitarbeiter programmiert haben wollte. Trotz meiner Beratung wurden viele Vorschläge und wichtige Hinweise abgelehnt, bzw. ignoriert. Nach durchgehender Arbeit und einem Zeitraum von mehreren Monaten kam dann das böse Erwachen.
Der Kunde wollte nun plötzlich ein sehr komplexes Berechtigungssystem mit allem was man sich vorstellen kann haben. Dies war zu diesem Zeitpunkt nicht "mal eben" umsetzbar. Ich betone hier noch einmal das Beispiel mit dem Fundament eines Hauses: Software kann natürlich immer erweitert werden und verändert werden, klar, aber die Kosten, die Zeit und viele andere Dinge spielen dabei unweigerlich eine immense Rolle.
Durch moderne Verwaltungssysteme
Einerseits möchte der gewissenhafte Programmierer natürlich Status-Updates weitergeben, andererseits möchtest Du als Kunde natürlich über Statusänderungen informiert werden. Inwiefern hier verwaltet wird, kommt natürlich auch wie immer auf die Projektgröße an. Mittlere, bzw. größere Projekte werden häufig mit Kanban-Boards und ähnlichen Tools unterstützt.
Mit derartiger Software kommt zumeist auch eine Art Fehler-Reporting hinzu, also der Möglichkeit, mal nicht "rund" laufende Dinge zu melden und zu verfolgen.
Durch Staging-Systeme, etc.
Statt alles nur in einer Art Dokumentenstapel zu verfolgen, gibt es stattdessen (oder ergänzend) auch die Möglichkeit zu Testsystemen. Dort werden dann speziell zum Testen angelegte Datenbanken (und mehr) verwendet, um den Nutzern das System so nah wie möglich an den echten Alltag zu bringen. Dies ermöglicht eine realitätsnahe Testung der vollständigen Funktionalität.
Lokal auf dem Entwickler-PC
Was damals noch "normal" war, daran ist heute nicht mehr zu denken: Es wurden Textdateien mit passenden Bezeichnungen in verschachtelten Ordnern angelegt, um eine Art "Code-Sicherung" zu suggerieren. Das dies natürlich nicht gerade optimal war, liegt auf der Hand, aber zum Glück gibt es heutzutage wesentlich bessere Alternativen.
In Quellcodeverwaltungs-Systemen
Diese modernen Alternativen sind im Gegensatz zur dateibasierten, lokalen Variante auf Aufgaben-Management und die Zusammenarbeit mehrerer Entwickler getrimmt. Das kommt natürlich nicht von ungefähr, da die Arbeit an komplexen System heutzutage häufig in mehreren Teams erledigt wird.
Fazit
Halten wir also als Fazit fest, dass der programmierte Quellcode sich im Optimalfall in einem modernen Quellcodeverwaltungs-System befinden sollte. Das System bietet die Möglichkeit, mit verschiedenen Entwicklern und von unterschiedlichen PCs aus zusammenzuarbeiten.
Deine Software
in guten Händen. Greife auf viele Jahre an Erfahrungen zurück und erarbeite Dein Wunsch-Projekt Schritt für Schritt – gemeinsam.
reaktiv
Ein effizienter, kommunikativer Austausch mit Kunden hat höchste Priorität.
erfahren
Mehr als 12 Jahre Erfahrung im Bereich .NET Programmierung sprechen für sich.
schnell
Bei der Umsetzungs-Geschwindigkeit habe ich immer ein Ass im Ärmel.
Kundenmeinungen
Hier kannst Du nachlesen, was meine Kunden über mich und meine Arbeit sagen – mehr findest Du in meinem Unternehmensprofil auf Google.