Wenn Sie schon einmal überlegt haben, die Dienste eines Softwarehauses in Anspruch zu nehmen, haben Sie sich wahrscheinlich gefragt, wie der Prozess der Zusammenarbeit zwischen Ihrem Unternehmen (Kunden) und dem Softwarehaus aussieht. Die meisten Unternehmen aus der Technologiebranche arbeiten nach einem ähnlichen Modell der Zusammenarbeit. Meistens sprechen wir über kundenspezifische Projekte - die Entwicklung einer Idee von Grund auf - oder über Outsourcing.
Die Grundsätze der Zusammenarbeit mit einem Softwarehaus wecken bei den Kunden oft eine gewisse Neugierde. Sie möchten einen detaillierten Plan für die tägliche Zusammenarbeit, die Berichterstattung über die Ergebnisse, die Aufteilung der Rollen und ihre notwendige Beteiligung an der Arbeit kennen. Projekt. Wenn ein Kunde mit einem externen Partner zusammenarbeiten muss, weil er hohe technologische Anforderungen an seine Produktentwicklungkönnte er Bedenken bezüglich des gesamten Prozesses haben. Wenn ein Kunde nur an seinen Produkten gearbeitet hat internkann er nicht wissen, ob die Zusammenarbeit mit einem externen Team wirksam sein wird.
Wenn Sie sich für diese Option für Ihr Produkt Entwicklung, werden Sie schnell feststellen, dass die Zusammenarbeit mit einem Softwarehaus viele Vorteile hat. Es handelt sich in erster Linie um eine kosteneffiziente Lösung, die dank ihrer Spezialisierung auf ein bestimmtes Gebiet qualitativ hochwertige Arbeit leistet und eine kontinuierliche technische Unterstützung gewährleistet.
Im Wesentlichen gibt es zwei gängige Formen der Zusammenarbeit. Es sind kundenspezifische Projekte und Outsourcing.
Benutzerdefiniertes Projekt
Diese Zusammenarbeit gilt für von Grund auf neu entwickelte Projekte. Die Kunden kommen in der Regel mit einer Idee für ein Produkt und stellen sie dem Softwarehaus vor. Manchmal haben sie keine konkrete Vorstellung, wissen aber, welche Funktionen sie in ihrer Lösung am liebsten implementiert sehen würden. In der Anfangsphase hilft das Softwarehaus (mit seiner Erfahrung) bei der konzeptionellen Entwicklung der Produktskizze und hilft dem Kunden zu verstehen, welche Technologie für das spezifische Produkt die richtige ist. Diese Phase könnte man als Beratung bezeichnen.
Diese erste Phase der Zusammenarbeit ist notwendig, um die Spezifikationen und Ziele des Projekts zu definieren. Diese Aufgabe gehört dem Kunden. Auf dieser Grundlage kann das Softwarehaus eine Schätzung der Kosten, der Projektdauer und der Fristen für bestimmte Aufgaben vornehmen. Beide Seiten lernen die Arbeitsweise des anderen kennen und stimmen die Details ab. Falls erforderlich, kann der Kunde das Softwarehaus konsultieren, um alternative Lösungen zu finden. Wenn wir über Folgendes sprechen kundenspezifische ProjekteDie gängigste Praxis besteht darin, die Liste der erforderlichen Funktionen des Produkts zu definieren, um Folgendes zu erreichen MVP (Minimales lebensfähiges Produkt).
Zu diesem Zeitpunkt entscheidet der Kunde, ob die Zusammenarbeit fortgesetzt werden kann, und der Vertrag wird unterzeichnet. In der zweiten Phase stellt das Softwarehaus ein Team zusammen, das das Projekt entwickeln wird. Oft bestehen diese Teams nicht nur aus Entwicklern, sondern auch aus UX-/UI-Designern - je nach Art des Projekts. Dann wird ein Projektmanager ausgewählt, der die gesamte Arbeit koordiniert und als Bindeglied zwischen dem Kunden und den Entwicklern fungiert, um eine optimale Kommunikation zu gewährleisten. Es ist auch eine gute Praxis, dem Kunden die Möglichkeit zu geben, das gesamte Team von Anfang an kennen zu lernen. Dies trägt dazu bei, dass der Kunde Vertrauen fasst und sich in das Team einbringt.
Zeit für die Entwicklungsphase. Die meisten Softwarehäuser ziehen es vor, nach der Scrum-Methode zu arbeiten. (ein Ansatz, den wir ebenfalls empfehlen können), dank dessen alle mit dem Projekt verbundenen Aufgaben zu einem bestimmten Zeitpunkt schrittweise entwickelt werden. Alle Aufgaben befinden sich zum Beispiel in Jira (oder einem anderen Projektleitung Tools) und werden wie folgt gruppiert:
- Rückstand - Aufgaben, die in der Zukunft erledigt werden sollen
- zu tun - Aufgaben, die während der Sprint
- in Arbeit - Aufgaben, an denen das Team derzeit arbeitet.
Die Dauer des Sprints beträgt in der Regel etwa zwei Wochen. In dieser Zeit konzentriert sich das Team auf die Umsetzung ausgewählter Aufgaben und testet kontinuierlich die geschaffenen Funktionalitäten (Code Überprüfung). Dank der täglichen Besprechungen kann das Team Informationen über den Fortschritt seiner Arbeit austauschen, und die Kunden erhalten wöchentliche Berichte über die Entwicklung des Projekts.
Je nach den Bedürfnissen des Kunden kann die Kommunikation zwischen beiden Seiten häufiger stattfinden, manchmal sogar täglich. Zur Erleichterung der Kommunikation werden normalerweise Tools wie Slack oder Jira verwendet. Auf diese Weise hat der Kunde nicht nur einen aktuellen Einblick in den Fortschritt, sondern er kann auch jederzeit ein Mitglied des Teams um etwas bitten. Dieser Prozess hilft, das Produkt in ständiger Entwicklung zu halten.
Es sei darauf hingewiesen, dass die Beteiligung des Kunden nach der Schaffung der Grundlage für die Zusammenarbeit und der Bestätigung der Spezifikation des Projekts endet. Der gesamte Prozess wird dann vom Softwarehaus übernommen, dessen Aufgabe es ist, bestimmte Ziele und Vorgaben zu erreichen.
Outsourcing
Die zweite Option ist Outsourcing. Sie wird in der Regel von Unternehmen gewählt, die einen schnellen oder dringenden Bedarf an der Entwicklung ihres Produkts haben. Ein weiterer Grund für die Entscheidung für das Outsourcing kann der Mangel an ausreichender Kompetenz oder Arbeitskraft innerhalb des eigenen Teams sein. Eine solche Zusammenarbeit kann viel schneller beginnen als maßgeschneiderte Projekte, da der Kunde seine Bedürfnisse und Anforderungen von Anfang an genau kennt.
In der ersten Phase der Zusammenarbeit auf der Grundlage von Outsourcing legt der Kunde seine Bedürfnisse fest und bittet das Softwarehaus, das geeignete Teammitglied zu benennen, mit dem er zusammenarbeiten könnte. Dann kommt es meist zu einer Überprüfung der Fähigkeiten des Mitarbeiters. Dies kann durch ein Vorstellungsgespräch und ein Einarbeitungsgespräch geschehen. Manchmal bietet das Softwarehaus aber auch eine kostenlose Probezeit (1-2 Wochen) an, damit der Kunde die Fähigkeiten des potenziellen Mitarbeiters testen kann.
Sobald die Verifizierungsphase erfolgreich abgeschlossen ist, lagert der Kunde einen oder mehrere Entwickler aus, die sein internes Team ergänzen. In diesem Fall spielt der Product Owner eine entscheidende Rolle. Er kontaktiert die externen Entwickler und koordiniert ihre Arbeit. Dieser Prozess wird durch spezielle Tools erleichtert, mit denen sich die Arbeitszeit der einzelnen Entwickler messen lässt. Dies ist auch für den Kunden eine nützliche Information, um zu verstehen, wie viel Zeit tatsächlich für eine bestimmte Aufgabe benötigt wird.
Wie Sie wahrscheinlich bemerkt haben, ist Outsourcing eine relativ einfache und schnelle Lösung, die kein großes Engagement des Kunden erfordert. Es ist eine einfache Möglichkeit für ein Unternehmen, Entwickler für zeitlich begrenzte Projekte in sein internes Team aufzunehmen. Ihr Vorteil ist auch die Möglichkeit, eine Testphase durchzuführen, in der die Fähigkeiten des Entwicklers überprüft werden und das Unternehmen seine Arbeitsweise kennenlernen und schließlich entscheiden kann, ob es eine weitere Zusammenarbeit eingehen möchte. Dadurch wird das Risiko, den falschen Kandidaten auszuwählen, minimiert.
Zusammenfassung
Kundenspezifische Projekte und Outsourcing sind wirksame Methoden, um Ihr Produkt von der technischen Seite her zu entwickeln. Der Schlüssel liegt in der Wahl des richtigen Partners - vorzugsweise eines Partners, der Erfahrung mit der Entwicklung ähnlicher Projekte wie dem Ihren hat. Dies sollte Ihnen die Gewissheit geben, dass das Softwarehaus über ausreichende Kompetenzen verfügt, um Ihnen zu helfen. Es lohnt sich auch, die Meinungen anderer Kunden zu prüfen und zu sehen, wie sie die Arbeit des gesamten Teams bewerten.
Lesen Sie mehr: