Homepage > Journal > Alles, was Sie wissen müssen, wenn Sie Ihre Software zu einem anderen Webentwicklungsunternehmen übertragen möchten
Journal

Alles, was Sie wissen müssen, wenn Sie Ihre Software zu einem anderen Webentwicklungsunternehmen übertragen möchten

Wie gefällt Ihnen das:

Theoretisch ist die Aufteilung klar und wirft keine größeren Probleme auf. In der Praxis, wie es in der Praxis ist... "Es kommt darauf an." Bei der Suche nach einem Entwickler für digitale Produkte stellen sich viele Kunden die Frage: "Soll ich eine interaktive Agentur oder ein Hightech-Webentwicklungsunternehmen wählen?"

Theoretisch ist eine interaktive Agentur keine Webentwicklungsfirma, und eine Webentwicklungsfirma ist keine interaktive Agentur. In der Praxis ist es sehr üblich, dass interaktive Agenturen einige der Kompetenzen eines professionellen Webentwicklungsunternehmens haben und dass ein Webentwicklungsunternehmen die Kompetenzen einer interaktiven Agentur erwirbt.

Worauf ist also zu achten? Welche Kriterien sind bei der Auswahl eines Softwareanbieters zu beachten?

Geduld :) Bevor ich antworte, möchte ich eine kleine, aber wichtige Feststellung machen. Unserer Erfahrung nach wird die Wahl eines Softwareanbieters eher von persönlichen Vorlieben als von rationalen Überlegungen bestimmt. Warum?

Möchten Sie Ihr Webentwicklungsunternehmen wechseln?

Die Menschen bevorzugen, was sie kennen, oder wie wählt man ein Webentwicklungsunternehmen aus?

Während eine interaktive Agentur von den Marketingbedürfnissen ihrer Kunden ausgeht und ihr Know-how in Richtung Technologie entwickelt, geht eine Webentwicklungsfirma den umgekehrten Weg. Es verfügt bereits über technologische Kenntnisse, erwirbt jedoch Marketingkompetenzen.

Interaktive Agenturen ziehen zunehmend das Interesse von Marketingdirektoren auf sich, und Kunden von Webentwicklungsunternehmen beschäftigen häufig einen CTO (Chief Technology Officer).

Die Vermischung von Kompetenzen (Technik und Marketing) ist heute die Marktnorm. Es hat seine offensichtlichen Vorteile (alles unter einem Dach), aber auch klare Nachteile (nicht alles ist unter Kontrolle).

Haben Sie Geduld; ich werde Ihnen erklären, was ich damit meine. In einem Moment ;) Doch nun zurück zu den Marketingdirektoren und CTOs.

Ein technologisch versierterer Kunde (CTO) ist in der Lage, die Qualität des Codes einer Webanwendung zu beurteilen. Ein Kunde mit Marketingexpertise wird sich in erster Linie auf den Gesamteindruck konzentrieren, den die App hinterlässt. Inwieweit passt es zum Beispiel zum Branding und Image des Unternehmens? Inwieweit ist sie mit ihr vereinbar?

Bei der Auswahl eines Softwareanbieters scheint ein Unternehmen, das von einem CTO vertreten wird, in einer besseren Position zu sein als ein Unternehmen mit einem marketingorientierten Vertreter, oder? Ja und nein. Es kommt darauf an.

Worauf? Oder besser gesagt, auf wen? Das hängt in erster Linie... Über den Softwareanbieter. Das ist richtig, sie sind an allem schuld! Auch wenn sie oft ein klassischer "Gewinner" sind.

Wenn eine interaktive Agentur oder ein Webentwicklungsunternehmen fair spielt, hohe Qualität bietet und sich um seine Kunden kümmert. Sowohl die "technischen" als auch die "nichttechnischen" Personen werden mit der Zusammenarbeit zufrieden sein. Wenn ein Softwareentwickler von Anfang an Mist baut, ist der einzige Unterschied, dass der "technische" Kunde früher merkt, dass seine Erwartungen nicht erfüllt werden.

Sie können zum Beispiel feststellen, dass die Anwendung nicht richtig funktioniert. Die Entwicklung verläuft nicht nach Plan usw. Auf die typischen Probleme und die typischen Gründe für einen Entwicklerwechsel werde ich gleich noch näher eingehen. Habt Geduld ;)

Doch kommen wir zurück zum Hauptthema, nämlich dem Eindruck, dass nicht alles so läuft, wie es sollte.

Verbessert sich die Situation nicht, dann gibt es unabhängig vom Umfang der Zuständigkeit des Kunden nur eine Entscheidung! "Wir wechseln den Softwareanbieter. Diesmal werden wir uns nach einem Webentwicklungsunternehmen umsehen."

Anscheinend ist das nichts Ungewöhnliches. Aber in einer solchen Situation geht es nicht so sehr darum, sich zu sagen: "Pech gehabt", sondern eher darum, den gleichen Fehler nicht noch einmal zu machen.

Werden Sie uns helfen? Ja, das werden wir! Kontaktieren Sie uns!

Die erste Wahl erweist sich nicht immer als die beste, und irgendwann muss man das Unternehmen wechseln. Das ist weder schwierig noch riskant, vor allem, wenn man sich gut auf den Wechsel vorbereitet.

Und deshalb werde ich über die Situation sprechen, in der sich viele Unternehmen befinden. Nach der Lektüre dieses Artikels sind Sie bestens auf den Wechsel des Softwareanbieters vorbereitet.

Jede Woche erhalten wir mehrere Anfragen. Meistens fragen Sie uns: "Wir planen den Wechsel unseres derzeitigen Webentwicklungsunternehmens zu einem anderen; was sollen wir tun?", "Wir möchten unsere Software zu einem anderen Webentwicklungsunternehmen übertragen, wissen aber nicht, wo wir anfangen sollen. Was sollten wir tun?", "Wie können Sie uns helfen, den Softwareanbieter zu wechseln?". Und das sind gute Fragen, auf die wir gute Antworten haben ;)

Nicht alles ist unter Kontrolle oder die häufigsten Gründe für die Aufgabe der Dienste von Softwareentwicklern

Ganz gleich, ob Sie CTO oder Marketingdirektor, CEO, Firmenpräsident oder Firmeninhaber sind, diese Situation wird Sie ärgern. Wie oft kann man "die andere Seite" bitten, etwas zu korrigieren?

Wie oft können Sie um eine E-Mail, einen Anruf, eine Erklärung oder einen Hinweis auf einen Termin bitten? Wie oft ist das Ausbleiben einer Antwort, das Ausbleiben eines Rückrufs oder die Nichteinhaltung einer Frist ein Unfall, der jedem passieren kann?

Die Qualität der Dienste nimmt ab, die Qualität des Codes sinkt, und eine Anwendung oder eine Website funktioniert nicht so, wie sie sollte. Das Produkt wird nicht wie geplant entwickelt. Doch damit sind die Probleme mit diesem Unternehmen noch nicht zu Ende. Aus diesem Grund ist der Wechsel von interaktiven Agenturen oder Webentwicklungsunternehmen heute ein weit verbreitetes Phänomen. Dafür gibt es Gründe. Das häufigste Problem ist, dass der Anbieter:

  • Arbeitet zu langsam
  • Hält sich nicht an Fristen
  • Nicht mit der Entwicklung ihrer technologischen Kompetenzen Schritt hält
  • Erhöhung der Preise ohne Qualitätssteigerung
  • Ständig "keine Zeit hat", um Ihr Projekt zu entwickeln, und schließlich denken Sie, dass Sie der siebte Kunde in der Schlange sind. Es ist wie bei einer Hotline.

Wie viel können Sie vertragen? Der Verkäufer arbeitet langsam und versäumt Fristen, weil er entweder mit etwas anderem beschäftigt ist oder gerade lernt, wie man ein Problem löst. Oder, noch schlimmer, ihr bester Spezialist hat gerade den Arbeitsplatz gewechselt.

Sie analysieren die Qualität des Codes und fassen sich ungläubig an den Kopf. Es ist überhaupt nicht klar, es ist ineffizient, und man will gar nicht an die Möglichkeit denken, es in Zukunft zu erweitern. Es kann auch sein, dass der Verkäufer glaubt, Sie wüssten nichts über das Thema.

Und da Sie nichts wissen, macht es für Sie wahrscheinlich auch keinen Unterschied, ob sie die Website dokumentieren oder die Software ohne Tests ausliefern. Sie haben nur vergessen, dass auch Sie lernen und wissen, dass man Software nicht ohne automatisierte Tests entwickeln kann, da dies die Qualität erheblich mindert. Oder dass die Dokumentation der komplexen Website eine Selbstverständlichkeit ist.

Wenn Sie z. B. nach der Möglichkeit fragen, die Python-Technologie in Ihrem Projekt einzusetzen, weist der Projektleiter Sie mit vagen Ausreden ab. Als ob sie selbst nicht genau wüssten, ob es Sinn macht.

Einer von Ihnen weiß etwas nicht, aber warum sollten Sie für dessen Unwissenheit bezahlen? Und du zahlst immer mehr. Und Sie zahlen, mehr und mehr, Sie warten und warten, Sie tragen zu dem Projekt bei... Und nichts. Nichts passiert.

Sie erhalten keine Projektdokumentation, die Sie aber haben sollten. Sie haben keine Testergebnisse, sollten sie aber haben. Sie wissen nicht, was vor sich geht, in welchem Stadium des Projekts Sie sich befinden und wann Ihre Software entwickelt sein wird... Und so weiter. Es gibt viele Dinge, die man haben sollte und die man nicht hat. Und es ist unwahrscheinlich, dass Sie diese erhalten.

Nun, lassen wir es dabei bewenden. Sie wissen, was das Problem ist. Eigentlich sollte alles unter einem Dach sein, aber das Dach war undicht, was zu einem Kurzschluss führte. Zuerst war es eine, dann eine zweite und schließlich eine dreiunddreißigste. Es reicht! Dagegen muss etwas unternommen werden! Nur was?

Es ist Zeit für eine Veränderung! So wird keine professionelle Software entwickelt. Sie müssen eine Veränderung so schnell und so klug wie möglich und nach einem bestimmten Plan durchführen. Ich werde gleich darauf eingehen. Habt Geduld ;)

Vorbereitung auf den Wechsel des Entwicklers eines digitalen Produkts

In der Regel gilt: Veränderung immer zum Besseren. Für einen besseren Service, ein besseres Unternehmen in einer bestimmten Kategorie, das auf einem bestimmten Markt tätig ist. Das ist besser für die Entwicklung von Webanwendungen, mobilen Anwendungen, Systemintegration, die Erstellung dedizierter Lösungen, Cloud-Lösungen usw.

Webentwicklungsunternehmen sind in der Regel darauf spezialisiert. Auch wenn Ihnen der Marketingcharakter einer interaktiven Agentur vertrauter ist, sollten Sie sich für ein Webentwicklungsunternehmen entscheiden, das Qualität und nicht nur mittelmäßige Qualität bietet. Sie wird die Software entwickeln, die Sie suchen.

Wenn eine interaktive Agentur keine Webentwicklungsfirma ist... Dann ist es eben keins. Sie ist eine interaktive Agentur. Nicht nur dem Namen nach. Und das wird es auf jedem Markt sein.

Ein digitales Produkt muss in erster Linie funktional, nützlich, technologisch auf dem neuesten Stand, zukunftsorientiert oder gut auf Wachstum vorbereitet sein.

In Ordnung, machen wir weiter. Bei einem Wechsel des Softwareanbieters sind noch einige entscheidende Fragen zu klären.

Der Wechsel des Webentwicklungsunternehmens ist ein Prozess. Sie besteht aus den folgenden Elementen:

  • Organisatorische Fragen (wie der Quellcode an den Kunden weitergegeben wird)
  • Technische Fragen (Quellcode-Depot, Zugangsschlüssel)
  • Rechtliche Fragen (Verwertungsmöglichkeiten, Möglichkeit zur Änderung des Codes)

Während die rechtlichen Fragen sehr individuell sind, sehen die technischen Fragen in den meisten Fällen sehr ähnlich aus. Gehen wir davon aus, dass der von Ihnen unterzeichnete Vertrag keine rechtlichen Probleme aufwirft und dass Sie auch nach dem Ende der Zusammenarbeit das Recht auf Zugang und Änderung des Quellcodes behalten.

Wenn Sie die rechtlichen Fragen geklärt haben, können Sie über die technischen Fragen nachdenken, ohne die der neue Softwareentwickler seine Arbeit nicht aufnehmen kann. Zuallererst müssen Sie sicherstellen, dass Sie Zugang zum Quellcode haben.

Zugriff auf den Quellcode und die Software-Dokumentation

Beginnen wir mit einer Definition und einem Überblick über das Konzept des Quellcodes, der einfach eine Aufzeichnung der in Programmiersprachen ausgedrückten Operationen ist, die ein Computer ausführen soll. Operationen werden mit den erfassten oder vorhandenen Daten durchgeführt.

Der Quellcode, d. h. der Code, der von der Maschine verstanden wird, ist der Ausgabecode und muss daher kompiliert werden. Sie besteht in der Regel aus einer Sammlung von Dateien.

Es wird empfohlen, sie zu konsolidieren, d. h. in einer einzigen Datei zusammenzufassen. Das ist nicht verwunderlich, denn große Projekte bestehen aus Hunderten und Tausenden von Dateien, die richtig organisiert werden müssen, um schnell und einfach mit ihnen arbeiten zu können.

Eine weitere Klarstellung. Der Quellcode umfasst nicht nur das Programm, sondern auch Skripte, Bibliotheken und Dokumentation. Mit dieser groben, aber unglaublich praktischen Definition im Rücken können wir uns nun den folgenden Fragen zuwenden.

Das Problem des Zugriffs auf den Quellcode ist ein Problem des Eigentümers, des Mediums und der Form des Zugriffs auf den Code (Sicherheit).

Der Eigentümer des Quellcodes ist in der Regel das Unternehmen oder der Entwickler. Es kommt jedoch häufig vor (insbesondere bei großen und umfangreichen Projekten), dass die Quellcodes bei einer Verwahrstelle hinterlegt werden (Software Escrow).

Der Verwahrer (das Unternehmen) ist ein Dritter, der sich verpflichtet, den Code aufzubewahren, den Zugang zu ihm zu schützen und ihn in den im Vertrag festgelegten Fällen herauszugeben.

Meistens geht es darum, den Auftraggeber der Software vor dem Verlust des Quellcodes zu schützen:

  • Der Konkurs des Bauträgers (den kein Unternehmen ausschließen kann)
  • Einstellung der Entwicklungs- und Wartungsarbeiten
  • Fehlfunktion des Mediums (z. B. des Servers, auf dem es gespeichert ist)
  • Physische Zerstörung des Codes (z. B. durch zufällige oder kriminelle Umstände — Hackerangriffe)
  • Und nicht zuletzt, um das gegenseitige Vertrauen zu stärken. Ein Entwickler, der den Quellcode und die Softwaredokumentation auf einem Treuhandkonto hinterlegt, kann sie nicht jederzeit zurückfordern.

Der Zugang zum Quellcode ist daher nicht nur eine formale und rechtliche Frage. Es ist auch eine Frage der bewährten Verfahren des Marktes. Auf diese Weise können beide Parteien ihre grundlegenden Interessen schützen. Wenn Sie sich also bei der Wahl Ihres ersten Anbieters nicht auf diese Weise geschützt haben, sollten Sie dieses Mal daran denken.

Es ist nicht unbedingt notwendig, aber es ist eine Praxis, die das Gefühl der Sicherheit erhöht. Der Verwahrer wird im Rahmen der im Vertrag festgelegten Möglichkeiten als Ersatz für die Einrichtung eines Schiedsgerichts in Konfliktsituationen dienen.

Wenn Sie also bereits den Software Escrow Service nutzen (was immer mehr Unternehmen tun), muss Ihr Unternehmen lediglich die aktuellste, vollständige Version des Quellcodes zusammen mit der vollständigen Dokumentation anfordern.

Der Zugang zum Quellcode ist auch eine Frage der Medien. Im Fall von Software Escrow handelt es sich um einen physischen Datenträger in Form einer CD oder eines tragbaren Laufwerks. In anderen Fällen werden die Daten auf Servern gespeichert, zu denen der Zugang in Form von Zertifikaten gesichert ist:

  • Login und Passwort (FTP — File Transfer Protocol — diese Methode wird immer noch verwendet, gilt aber zunehmend als weniger professionell und riskant und wird nicht empfohlen)
  • Anmeldung und Schlüssel (SSH — Secure Shell — ist eine viel sicherere Methode und gilt heute als Standard)

Der Übergang von FTP zu SSH ist durch die Sicherheit der Daten begründet, die bei der letzteren Option viel besser geschützt sind.

Im ersten Fall werden das Login und das Passwort auf dem Server gespeichert. Der Zugriff auf die Daten erfolgt nach erfolgreicher Überprüfung, wobei die bei der Anmeldung eingegebenen Daten mit den Daten auf dem Server verglichen werden. Leider ist diese Methode extrem anfällig für Cyberangriffe.

Das SSH-Protokoll basiert auf der Erzeugung viel komplexerer, eindeutiger Zugangsschlüssel mit privaten und öffentlichen Varianten. Der öffentliche Schlüssel wird auf dem Server gespeichert, während der private Schlüssel in den Händen des Eigentümers des Quellcodes hinterlegt ist. Auf Dateien kann nur mit einem privaten Schlüssel zugegriffen werden.

Der private und der öffentliche Schlüssel müssen kompatibel sein, was aber nicht bedeutet, dass sie identisch sind. Das ist der Unterschied, der die Sicherheit bestimmt. Dadurch sind Ihre Daten (denken Sie an die Folgen eines Datenlecks, nicht nur Ihre persönlichen Daten, sondern auch die Ihrer Kunden) viel besser geschützt.

Mit Logins, Passwörtern und Schlüsseln können Sie mit der Arbeit an der Anwendung beginnen, aber damit alles reibungslos funktioniert, wird Ihr neues Webentwicklungsunternehmen Sie auch um eine Projektdokumentation bitten. Was sollte er enthalten? Vor allem Anleitungen, Beschreibungen und Spezifikationen, zum Beispiel:

  • Anweisungen zur Erzeugung des Ausgabecodes, Konfiguration der Umgebung für solche Aktivitäten
  • Beschreibung der Katalogstrukturen des Quellcodes
  • Spezifikationen der Hardware und der Systemumgebung

Quellcode ist eine Struktur, die aufgrund ihrer Komplexität und ihres Umfangs organisiert werden muss. Quellcode-Repositories werden verwendet, um die Ergebnisse mehrerer Entwickler zu kontrollieren (Teams bearbeiten in der Regel große Projekte). Ohne auf technische Details einzugehen, ermöglicht das Repository auch die Steuerung des gesamten Softwareentwicklungsprozesses und eine effizientere und komfortablere Synchronisierung der Arbeit.

Beispiel für ein BitBucket-Quellcode-Repository
BitBucket.com - Das Code-Repository von TheStory.is

Noch wichtiger ist, dass sie zur Dokumentation der Arbeit verwendet wird. Mit anderen Worten: Wir haben einen Überblick über die Geschichte der Veränderungen. Wir haben Zugang zu Informationen und früheren Versionen, sodass es möglich ist, diese wiederherzustellen (z. B. Versionen ohne Bugs, Schwachstellen und Konflikte).

Wenn Sie ein Webentwicklungsunternehmen wechseln, müssen Sie auch daran denken, den Zugriff auf das Code Repository zu ermöglichen. Der Zugang kann über Login und Passwort oder Login und Schlüssel erfolgen.

Beispiel für ein GitHub.com Code-Repository. Django-Framework
GitHub.com — ein Beispiel für ein Repository des Django-Frameworks, das zur Entwicklung von Webanwendungen verwendet wird.

Machen Sie sich keine Sorgen und bleiben Sie ruhig!

All diese Informationen klingen für einen "technischen" Menschen selbstverständlich und vertraut. Eine ganz normale Sache, oder? Das war's. So sieht es in der Praxis aus (ja, das ist eine starke Vereinfachung, aber eine notwendige), und zwar bei jedem Unternehmen.

Das mag sich für einen "Nicht-Techniker" etwas einschüchternd anhören, aber seien Sie beruhigt. Es gibt nichts, wovor man sich fürchten müsste, ;) wirklich. In Wirklichkeit handelt es sich um einfache Probleme, die Sie leicht selbst lösen können. In besonderen Fällen können Sie die Hilfe eines Vertreters einer neuen Web-Entwicklungsfirma in Anspruch nehmen. So wie unsere :)

Wir haben mit verschiedenen Kunden zusammengearbeitet und wissen eines ganz genau. Das allgemeine Verständnis des Themas, das Sie gerade durch die Lektüre dieses Artikels erworben haben, reicht aus, um ein Webentwicklungsunternehmen zu wechseln. Sie benötigen keine zusätzlichen Informationen.

Sollten Probleme auftreten, werden wir uns darum kümmern. Machen Sie sich keine Sorgen. Sie können uns jederzeit anrufen und nachfragen, wenn Sie ein Problem haben, das Sie nicht verstehen. Mit technischer Unterstützung (in Form unserer Programmierer) und organisatorischer Unterstützung (in Form unserer Projektmanager) müssen Sie sich um nichts kümmern.

Sie werden die Zusammenarbeit beenden. Sie werden ein neues beginnen. Ihr Unternehmen wird die Kontrolle über das Projekt zurückgewinnen. Sie werden sehen, dass Sie ganz anders an die Arbeit herangehen können. Wie? Wir werden es so besprechen, wie es für Sie am besten passt. Schicken Sie uns eine E-Mail. Rufen Sie uns an. Wir helfen Ihnen gerne weiter!

Wie gefällt Ihnen das:
Journal / JPG / Jarek - avatar
Autor: Yaroslav Shatkevich
A programmer with 17 years of experience. Co-founder and CTO of The Story. Fascinated with planning programming works, author of numerous IT and DevOps specifications. Honored by Awwwards, awarded iF Design Award 2018. He works in Python, PHP, React and JavaScript technologies. He created over 90 web and mobile applications and dedicated systems.

Sind Sie an einer Zusammenarbeit mit uns interessiert? Werfen Sie einen Blick auf unser Portfolio