Dies ist eine wahre Geschichte über ein Unternehmen. Am ersten Januar dieses Jahres bestand dieses Unternehmen aus einer tollen Idee und ein paar Bildern. Das war schon eine ganze Weile so. Am ersten April war es ein Unternehmen mit einer produktiven Website, das tatsächlich Geschäfte mit echten Kunden machte. Die 12 Wochen, die dazwischen lagen, waren großartig, nervenaufreibend und beängstigend zugleich. Wir mussten uns von einigen wirklich coolen Funktionen trennen und haben Dinge über den Business Case herausgefunden, die wir definitiv nicht wussten, als wir sagten, wir könnten es in so kurzer Zeit bauen. Zu Beginn des Projekts habe ich den Begriff "Oh shit erlebnis" erfunden und seitdem habe ich einige davon erlebt.
Da wir in kurzen Iterationen (1-wöchige Sprints) gearbeitet haben, konnten wir uns hervorragend konzentrieren und die meisten Diskrepanzen zwischen Träumen und Realität schnell beseitigen.
Die Demo war ein Erfolg, aber die Anwendung war noch nicht fertig. Nach einigen zähen Verhandlungen einigten wir uns darauf, dass wir uns noch sechs Wochen Zeit nehmen würden, um sicherzustellen, dass wir dann mit einer geschäftsfähigen Anwendung live gehen konnten.
In der Zwischenzeit hatten wir auch den größten Teil der Website gebaut und mussten nur noch die detaillierten Funktionen für die Bewertung der eingehenden Bewerbungen durch die Personalvermittler und die Systemadministratorschnittstelle fertigstellen, um die Personalvermittler bei der Einrichtung von Konten, der Entfernung veralteter Bewerbungen und dem Hinzufügen von Etiketten für die verschiedenen Sprachen zu unterstützen. Wir sollten in der ersten Version mehrere Sprachen unterstützen, hatte ich das schon erwähnt?
Zu diesem Zeitpunkt hatten wir beschlossen, das gesamte UI- und UX-Design selbst zu übernehmen. Wir haben viel gelernt und einige schöne Lösungen gefunden, aber wie wir erwartet hatten, war das harte Arbeit.
Den Deal abschließen
Ende letzten Jahres erhielt ich eine E-Mail von einem Berater, den ich von einem früheren Kunden kannte. Er half einem Mann bei der Gründung eines Unternehmens und meinte, er bräuchte einen guten Entwickler, der sein Produkt für ihn erstellt. Es sollte nicht sehr kompliziert sein, 3 Monate Arbeit sollten genügen. Nach ein paar E-Mails trafen Peter Petit und ich uns mit Reyndert, dem Mann mit dem Plan. Er brachte eine Tabelle mit den Anforderungen, ein Flussdiagramm der Benutzerinteraktionen und eine Reihe von Ideen mit. Es stellte sich heraus, dass er ein Video-Recruiting-Produkt entwickeln wollte, bei dem Personalvermittler Videointerviews für Stellen veröffentlichen und sich Menschen mit ihren eigenen Videos auf diese Stellen bewerben konnten. Toll! Video hielt ich für ein gelöstes Problem und ich fand mehrere Artikel über Lösungen für diese Art von Problemen, auch ohne eigene Flash-Programmierung. Ich fühlte mich sicher und wohl, und ich wusste, dass wir bei Xebia schnell etwas bauen konnten. Wir vereinbarten, dass wir im Februar (6 Wochen nach Projektbeginn) eine erste Version für eine Kundendemo erstellen würden. Natürlich wusste ich, dass dies ein ehrgeiziges Vorhaben war, aber da ich wusste, was unsere Jungs an einem Tag schaffen konnten, machte ich mir keine Sorgen, dass wir das schaffen würden. Wir beschlossen, das Ding mit einem Team aus mir und zwei Auszubildenden zu bauen und alle Hilfe zu nutzen, die wir von unseren Kollegen bekommen konnten, wenn sie gerade nicht im Einsatz waren. Wir begannen mit einem Team von fünf Personen, was mehr war, als ich mir erhofft hatte.Video-Streaming, wie schwer kann das sein?
Die größte Herausforderung bei diesem Projekt war das Videostreaming, also haben wir das zuerst in Angriff genommen. Es stellte sich heraus, dass die Aufnahme von Videos über den Browser nicht so einfach ist, wie ich angenommen hatte. Zu diesem Zeitpunkt erwartete der Kunde bereits einen vollwertigen Videorekorder und eine skalierbare Hosting-Lösung für Videos. Ups. Wir fanden Nimbb und brachten es mit unserer Anwendung zum Laufen. Nimbb ist ein Dienst, mit dem Sie Videos mit einem Flash-Player aufnehmen können, mit dem Sie über Javascript kommunizieren können, und der dann das Video gegen eine Gebühr für Sie hostet. Dadurch haben wir eine Menge Zeit gespart, denn wir mussten keine skalierbare Videohosting-Plattform einrichten oder den Rekorder selbst bauen. Ich hielt das für einen cleveren Trick und glaube, dass es aus geschäftlicher Sicht sehr sinnvoll war, aber es führte auch zu einigen interessanten Diskussionen über den Umfang des Projekts, die Betriebskosten und all das. Die Lektion, die ich hier gelernt habe, lautet: Wenn Sie klug sind und schlank denken, sollten Sie sicherstellen, dass der Kunde damit einverstanden ist, bevor Sie anfangen zu schummeln. Sie wollen nicht, dass derjenige, der die Rechnungen bezahlt, sich betrogen fühlt. Sie sollten die Realität zusammen mit dem Eigentümer betrügen, dann ist alles gut. Während dieser Zeit wussten wir, dass wir unter Zeitdruck standen, und wir setzten den Kunden unter Druck, uns Entwürfe zu liefern, damit wir unsere Bewerbung vorzeigbar machen konnten. Die von ihm beauftragte Designfirma lieferte ein sehr schönes Logo, aber keine akzeptablen UI-Entwürfe. Ups. Während wir uns Sorgen machten und Druck ausübten, dämmerte uns, dass wir auch die UI- und UX-Designs selbst erstellen mussten. Das ist keine leichte Aufgabe und wir hatten nur wenig Fachwissen im Team. Zu diesem Zeitpunkt waren unsere sechs Wochen schon fast vorbei. Die erste Demo für einen potenziellen Kunden stand an. Wir polierten die Anwendung etwas auf und setzten uns mit unserem Kunden zusammen, um den Schaden zu begutachten. Zu diesem Zeitpunkt hatte sich die Menge an Arbeit, die wir in unserem Rückstand hatten, fast verdoppelt. Wie Sie wissen, neigen großartige Ideen dazu, Nachkommen zu haben. Wir wussten sehr wohl, dass wir nicht alles liefern würden. Es war an der Zeit, Prioritäten zu setzen und den Umfang zu verkleinern. Der Kunde schätzte, was wir bisher getan hatten, und stimmte zu, dass auf dem Weg dorthin neue Aufgaben aufgetaucht waren. Aber er wollte lieber alles haben, als zu früh live zu gehen. Ich war anderer Meinung. Wenn wir bald live gehen, gibt es zu frühes Feedback und viele der Funktionen, die wir uns ausgedacht hatten, würden für den Kunden keinen Sinn ergeben. Die Diskussionen wurden hitzig, aber gemeinsam gelang es uns, die Dinge auf der konstruktiven Seite zu halten.Video-Uploads, und immer noch kein Design
Der Kunde wollte den Personalvermittlern die Möglichkeit geben, vorbereitete Videos hochzuladen und aufzunehmen, und Nimbb unterstützt keine Video-Uploads. Wir integrierten daraufhin Vimeo, um Video-Uploads zu unterstützen. Vimeo unterstützt viele Formate und hat einen großartigen Player, der sogar auf mobilen Geräten funktioniert. Mit zwei Abonnementkonten und etwas Klebstoffcode hatten wir nun die schwierigsten Probleme unserer Herausforderung gelöst.Produktionsfertige Software
Da wir auch versprochen hatten, die Anwendung zu hosten, mussten wir uns ein paar clevere Tricks einfallen lassen, um unsere MongoDB- und Webknoten produktionsbereit zu machen. Wir wollten eine gute Leistung und Skalierbarkeit und auch Redundanz. Da wir nicht in der Lage waren, all das in so kurzer Zeit einzurichten, nutzten wir Heroku und Mongolabs, um es gegen eine (sehr bescheidene) Gebühr zu bekommen. Auf Drängen von Heroku entfernten wir die Verwendung von HttpSession aus unserer Anwendung und machten sie mit Jetty auf der Kommandozeile ausführbar. Nach einigen Anpassungen waren wir mit dem Ergebnis sehr zufrieden. Ich bin sogar so zufrieden mit dem Ergebnis, dass Sie mir eine Waffe an den Kopf halten müssten, um mich zu zwingen, HttpSession jemals wieder zu verwenden. Die Freude an der Skalierung in einer PaaS-Cloud und der Pflege von wirklich zustandslosem Webcode ist eine große Erleichterung.Champagner
Am Ende unserer zwölf Wochen hatten wir eine Demo. Die Demo verlief gut und der Eigentümer hatte die Anwendung bereits einer Handvoll Interessenten erfolgreich vorgeführt. Bei einem Schluck Champagner gaben wir der Anwendung den letzten Schliff und machten uns an unser nächstes Projekt. Natürlich gibt es Dinge, die wir anders machen würden, wenn wir es noch einmal tun würden oder wenn wir mehr Zeit gehabt hätten, aber ich glaube nicht, dass der ROI für "mehr Zeit" viel geringer ist, als viele Entwickler denken. Es ist schwer zu glauben, dass wir tatsächlich in 12 Wochen von einer Idee zu einem echten Produkt gekommen sind, aber ich bin mir ziemlich sicher, dass es tatsächlich passiert ist. Hah!Unsere Ideen
Weitere Blogs
Contact
Let’s discuss how we can support your journey.



