Budget und Entwicklungszeit sind begrenzt.
Legen Sie gleich zu Beginn fest, mit welcher Kernfunktionalität ("must have features") die erste Version Ihrer Anwendung starten könnte. Oft führen unnötige Details zu langen Entwicklungszeiten. Alle darüber hinausgehenden "nice to have" Features werden gesammelt und im Anschluss entwickelt. Ein guter Partner sollte Sie bei diesem Schritt aus Sicht Ihrer Kunden beraten können.
Sie haben noch keine Idee mit welcher Technologie Sie das Projekt umsetzen sollten oder Sie fragen sich, ob die gewählte Technologie wirklich der beste Ansatz ist.
Hier sollte ein zukünftiger Partner in der Lage sein eine offene und lizenzfreie Technologie (Open Source) wählen zu können. Achten Sie zudem darauf, dass keine Abhängigkeit zu einem Auftraggeber oder einem Hersteller entsteht ("vendor lock-in"). Zudem sollte die Technologie weit verbreitet sein, da Sie so schneller Entwickler für das Projekt finden.
Sie haben die Befürchtung, es könne am Ende etwas herauskommen, das so nicht vereinbart war.
Stellen Sie sicher, dass Sie spätestens alle 2-3 Wochen (bei mittel- bis langfristigen Projekten) einen Einblick in die Entwicklungstätigkeiten bekommen. In der agilen Softwareentwicklung ist dies durch regelmäßige Sprint-Abnahmen gegeben. Hier kann direkt gegengesteuert werden.
Versuchen Sie klassische Wasserfallmodelle zu vermeiden.
Sie möchten das Projekt vielleicht später inhouse weiterentwickeln.
Vergewissern Sie sich, dass die Entwicklung modular und nach "state of the art" Prinzipien durchgeführt wird. Dies erleichtert die Weiterentwicklung beim Umgang mit vorhandenem Software-Code.
Interne Qualitätssicherungsprozesse lassen uns jeden Tag besser werden.