Schorsch: Drehbuch Programmierung im Ausland

Guten Tag

In meinem Kopf existiert eine gute Webapplikation. Jetzt brauche ich noch ein paar, die mir diese Webapplikation gegen Geld programmieren.

Ich hörte und glaube auch, dass im Osten, Indien usw. super Programmierer sitzen, die für rund 12Euro/Stunde guten Code liefern. Ich sage also, was ich möchte und wenig später steht meine Applikation.

Nun aber meine Frage:

- In welcher Form sagt man dem Programmierer, was man möchte?
   Wie sieht so ein Drehbuch aus? Flussdiagramm? UML? Prosa?
   Dummy Screenshots?

- Hat da jemand Erfahrung gemacht? Wovor muss man Aufpassen?
   Stolpersteine?

- Kennt jemand eine Anlaufstelle, wie man zu einem 12Euro
   Programmierer kommt? Wie geht man da vor? Empfehlungen?

Bin gespannt auf Eure Meinung!

Schorsch

  1. Software lässt man meistens gegen eine Pauschale anfertigen. Bei Stundenlohnabrechnung kannst du dir ziemlich sicher sein, dass man dich verarscht.
    Ein "Drehbuch" wird meistens gemeinsam erarbeitet.

    Trotzdem würde ich sowas nicht zwingend in Asien machen lassen. Kann gut sein, dass dir schlampige Software ohne Gewährleistung serviert wird. Nicht generell, aber bei Billigheimern ja.

    1. Software lässt man meistens gegen eine Pauschale anfertigen. Bei Stundenlohnabrechnung kannst du dir ziemlich sicher sein, dass man dich verarscht.

      Nö, eher nicht, viel gefährlicher ist m.E. die Pauschale. Da gibts dann wirklich schnell Ärger, gerade bei in diesem Fall zu erwartender "dynamischer Anforderungslage".

      Ein "Drehbuch" wird meistens gemeinsam erarbeitet.

      Trotzdem würde ich sowas nicht zwingend in Asien machen lassen.

      Die ehemaligen Ostblockländer haben auch fähige Kräfte. Zudem halten sich die Mentalitätsunterschiede in Grenzen, was fürs Projekt vorteilhaft sein kann.

      Kann gut sein, dass dir schlampige Software ohne Gewährleistung serviert wird. Nicht generell, aber bei Billigheimern ja.

      Darum muss die Sache controllt werden. Ein Hauptproblem natürlich bei derartigen Kooperationen die Rechnungslegung und die Zahlungsfolgen.   LOL

  2. moin,

    Ich hörte und glaube auch, dass im Osten, Indien usw. super Programmierer sitzen, die für rund 12Euro/Stunde guten Code liefern.

    12 EURO/Stunde - woher hast Du denn diese Zahl?

    roro

    1. Salut

      Die Zahl von 12Euro/Stunde hat mal ein Dozent mir gegenüber erwähnt. Kennst du andere Zahlen?

      Gruss
      Schorsch

      1. moin,

        Die Zahl von 12Euro/Stunde hat mal ein Dozent mir gegenüber erwähnt. Kennst du andere Zahlen?

        In DE 17 EUR/h. Dafür kommt kein Inder nach Deutschland.

        roro

        1. Die Zahl von 12Euro/Stunde hat mal ein Dozent mir gegenüber erwähnt. Kennst du andere Zahlen?

          In DE 17 EUR/h. Dafür kommt kein Inder nach Deutschland.

          Wenn ich erzähle, daß ich eine Zeit lang für 6 Euro die Stunde gearbeitet habe (als Programmierer), werde ich dann ausgelacht?

          Gruß, Bodo

          @Schorsch, vielleicht schreibst Du mich mal via E-Mail an, sagst mir genauer um was es geht, vielleicht helfe ich Dir dann für 12 Euro/h ;)

  3. In welcher Form sagt man dem Programmierer, was man möchte?

    In einer Sprache, die dieser versteht (hier also english oder einer dieser lustigen indischen Dialekte ;). Dann ist noch wichtig, dass die Anforderung möglichst umfangreich und für IT-Zwecke ausreichend schriftlich vorliegt. Letzteres ist nicht zu unterschätzen und in gewissem Sinn eine Kunst.

    Von UML und modischem Gefrickel würde ich absehen, die meisten Dokumente, die ich kenne, sind einfache DOCs (MS Word).

    Und da es sowieso Rückfragen geben wird, halt Dich erreichbar!

    Ach so, Du wirst da wohl ein wenig das Projekt controllen müssen, viel Spass!

    1. Von UML und modischem Gefrickel würde ich absehen, die meisten Dokumente, die ich kenne, sind einfache DOCs (MS Word).

      Was genau steht in einem solchen Dokument? Reiner Text? Beschreibt man da jedes Element und was passiert, wenn man darüber fährt, klickt, doppelklickt... usw?

      Kennst du ein Muster? Gibts Konventionen? Standards?

      Gruss
      Schorsch

      1. Was genau steht in einem solchen Dokument? Reiner Text? Beschreibt man da jedes Element und was passiert, wenn man darüber fährt, klickt, doppelklickt... usw?

        Kennst du ein Muster? Gibts Konventionen? Standards?

        Pflichtenheft, Lastenheft, Anforderungsspezifikation, hol Dir mal ein paar Vorlagen aus dem Web und sei Dir bewusst, dass das alles nicht einfach ist und unter den von Dir skizzierten, sehr speziellen Projektbedingungen teuflisch schwer sein wird. An der Uni gibts auch Sachen wie technische Spzifikation und so, das ist also eine Kunst.

        Ausserdem gibt es da noch eine zweite Kunst, nämlich die Anforderung selbst zu verstehen, also i.p. Datenhaltung, beteiligter Systeme, Nutzerschnittstellen, Datenzugriff, eingesetzte Technologien und so.

      2. Hi,

        Was genau steht in einem solchen Dokument? Reiner Text? Beschreibt man da jedes Element und was passiert, wenn man darüber fährt, klickt, doppelklickt... usw?

        Gewissermassen ... ja.

        Wobei du dich bei der Spezifikation solcher Dinge plattformunbhängig halten solltest. Später dann wenn gewünscht einfach die Plattform vorgeben.

        Du könntest z.b. UML einsetzen um PIMs (Platform Independent Models) zu erarbeiten. Use Case Diagramme sind immer ein recht guter Anfang. Von dort aus kann man gut ins Detail gehen, spezifische Requirements (funktional als auch non-funktional) ableiten, wie eben "welche Eigenschaften und Methoden soll ein Objekt (Web-Formular) anbieten".

        Die Worte "Eigenschaften" und "Methode" sind hierbei nicht im Kontext von einer Programmiersprache zu betrachten, sondern abstrakt:

        • man kann es anklicken
        • es macht brumm wenn man es doppelklickt
        • es hat eine Beschreibung
        • ...

        Zustandsautomaten und Sequenzdiagramme helfen Abläufe zu verstehen.

        Grüsse
        Frank

        1. Du könntest z.b. UML einsetzen um PIMs (Platform Independent Models) zu erarbeiten.
          [...]
          Zustandsautomaten und Sequenzdiagramme helfen Abläufe zu verstehen.

          Das liest sich so, als ob Du erfolgreich so arbeitest bzw. Leute kennst, die dieses tun.
          Richtig? Wo wird ggf. so gearbeitet? Bedingt der Overhead nicht eine gewisse Mindestprojektgrösse? Wird man so glücklich oder/und wird "auf dem kleinen Dienstweg" eine Parallelkommunikation aufgebaut, die aus klassischen DOCs, T-Gesprächen und E-Mails besteht?

          1. Jepp, ich bin damit ziemlich erfolgreich (seit ca. 4 Projekten). Natürlich ist eine gewisse Lernkurve dabei.

            Projektgrösse ... hmmm, 2 der Projekte, leider nicht privat sondern dienstlich, waren 1-Mann Projekte. Ich glaube nicht, dass der Weg ansich (Model Driven Development) eine Mindestprojektgrösse bedingt.

            Auch zuhause für meine 2 "Kinder" (2 eigene Projekte im Entstehen) hilft es mir, den Überblick zu behalten, was warum und wie womit funktionieren sollte.

            Word Dokumente können sein und sind Teil der Übung, schon aus dem Grunde weil "Manager" dazu tendieren, nur solche Dateien lesen zu können (und manchmal selbst das nur mit Hilfe).

            eMails gibt es auch ... aber nur um offene Punkte abzuklären. (Meine Devise) Alles was per eMail ausgetauscht wurde und relevant ist für das Projekt findet (muss einfach sonst ist das Konzept für'n Arsch) seinen Weg ins PIM bzw. UML Repository. Wir benutzen Sparx Enterprise Architect dafür.

            Was definitiv auch parallel stattfindet und einen gleichen Einfluss hat: Prototyping.

            Ob es glücklich macht ... mich machen nur die 8 Riesen jeden Monat für eine begrenzte Zeit glücklich. ;)

            Cheers
            Frank

            1. Ob es glücklich macht ... mich machen nur die 8 Riesen jeden Monat für eine begrenzte Zeit glücklich. ;)

              Netto? Selbstständig? Kann man mitmachen?

              1. Brutto & unselbständig, leider. Aber in der Schweiz haben wir ja nicht so hohe Steuern und Sozialabgaben, so dass ziemlich viel übrigbleibt.

                Die Branche machts (mehr oder weniger) möglich. Mal sehen wie lange noch. :)

                Cheers, Frank

                1. Brutto & unselbständig, leider. Aber in der Schweiz haben wir ja nicht so hohe Steuern und Sozialabgaben, so dass ziemlich viel übrigbleibt.

                  Die Branche machts (mehr oder weniger) möglich. Mal sehen wie lange noch. :)

                  Ja, die Schweiz ist schon ganz OK, bin auch relativ oft da, nicht weit weg, allerdings wenig Feiertage. Wichtig ist auch, wo man sitzt.

                  Aber Du bist doch Deutscher und demzufolge eher neu dort, oder?

                  1. Hi,

                    wieso wenig Feiertage? Nun gut, das kommt auch auf die Gegend an. In einem sehr konservativen Kanton wie Schwyz sind natürlich die Feiertage reichlich und die Steuern niedrig ;)

                    Sagen wir so, ich habe noch einen Deutschen Pass und es dauert noch eine Weile, bis ich die Schweizer Staatsbürgerschaft beantragen dürfte.

                    Warum frägtest du?

                    Wenn das so weiter geht, sollten wir das vielleicht auf private emails verlagern. :)

                    Frank

                    1. Wenn das so weiter geht, sollten wir das vielleicht auf private emails verlagern. :)

                      Du kannst ja mal bei der "Konkurrenz", der Kompetenz vorbeischauen, da gibts auch meine E-Mailadresse:
                         http://groups.google.com/group/webkompetenz

                      (Nur ein Anhängsel zum lesenswerten Blog eines nekannten Menschens
                         http://webkompetenz.blogspot.com/
                      , das sich mit Webtrends ("Web 2.0") beschäftigt.)

  4. Moin!

    In meinem Kopf existiert eine gute Webapplikation. Jetzt brauche ich noch ein paar, die mir diese Webapplikation gegen Geld programmieren.

    Das alleine ist schon eine äußerst komplexe Sache. Denn du magst die Idee vielleicht in deinem Kopf von vielen Seiten beleuchtet und durchdacht haben, aber es wird in der Umsetzung garantiert auf weiße Flecken getroffen, über die du bislang noch nicht nachgedacht hast.

    Ich hörte und glaube auch, dass im Osten, Indien usw. super Programmierer sitzen, die für rund 12Euro/Stunde guten Code liefern. Ich sage also, was ich möchte und wenig später steht meine Applikation.

    Das ist ein kompletter Irrglaube.

    Sicher, auf den ersten Blick erscheint deine Annahme logisch: Du sagst, was du willst, und das kriegst du auch.

    Würde vielleicht sogar funktionieren, wenn man andere Probleme wie Sprachbarriere, Schreiben von Spezifikationen etc. mal außen vor läßt.

    Das Problem ist nur: Das, was du aufschreibst, ist nicht das, was du dir vorstellst. Und das, was du programmiert kriegst, ist nicht das, was du aufgeschrieben hast. Woher ich das weiß? Weil es in jedem Softwareprojekt dieses Problem gibt.

    Und was wäre für deinen Finanzplan schrecklicher, als zwar einen 12-Euro-Programmierer in Indien zu beschäftigen, mit dem aber viermal soviel Zeit zu benötigen und doch nicht das gewünschte Ergebnis zu erhalten, als mit einem 50-Euro-Programmierer in Deutschland, mit dem du in ständigem Kontakt stehst, und der dir genau das liefert, was dir vorschwebt.

    • In welcher Form sagt man dem Programmierer, was man möchte?
         Wie sieht so ein Drehbuch aus? Flussdiagramm? UML? Prosa?
         Dummy Screenshots?

    Das ist das erste Problem. Aber noch zuvor: In welcher menschlichen Sprache schreibt man überhaupt? Englisch vermutlich. Aber wie gut kannst du Englisch? Und wie gut kannst du das Fachenglisch zur Formulierung deiner Anforderungen?

    Und wieviel Zeit geht drauf, um Mißverständnisse durch die Sprachbarriere zu beheben?

    • Hat da jemand Erfahrung gemacht? Wovor muss man Aufpassen?
         Stolpersteine?

    Ich kann nur auf eine unlängst in meinem Umfeld erlebte Begebenheit zurückgreifen, bei dem es um einen Kontakt zwischen Deutschland und Kanada/USA ging. Allein die Sprachbarriere und die Zeitdifferenz verhinderte schon effizientes Zusammenarbeiten.

    • Kennt jemand eine Anlaufstelle, wie man zu einem 12Euro
         Programmierer kommt? Wie geht man da vor? Empfehlungen?

    Meine Empfehlung ist eigentlich ganz eindeutig: Such dir ein Programmierteam aus deiner Nähe. Nimm eines, dass agile Methoden wie "Extreme Programming" intus hat. Und nimm in Kauf, dass du denen während deren Arbeitszeit als Kunde zur Verfügung stehst, um direkt Fragen und Entscheidungen zu treffen.

    Der Vorteil so eines Ansatzes ist ziemlich schlagkräftig:
    1. Du kriegst wirklich, was du dir vorstellst (bzw. auf was du umschwenkst, nachdem du deine ersten Ideen realisiert siehst, bzw. Benutzerfeedback reinkommt).
    2. Du kriegst erste funktionierende Versionen (die du ggf. auch schon zum Geldverdienen live stellen kannst) verhältnismäßig schnell.
    3. Die erstellte Software enthält extrem wenig Fehler.

    Gewiß kann man auch im Ausland ein XP-Team anheuern, die dasselbe dann für weniger Geld tun würden - aber eines der wichtigsten Dinge ist halt die direkte Verfügbarkeit des "Customers" für Fragen der Programmierer. Und da hilft es nichts, wenn man den Kunden per Mail oder Telefon aus dem Bett klingeln kann, es sollte jemand live ansprechbar sein, der auch Entscheidungen fällen kann.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Meine Empfehlung ist eigentlich ganz eindeutig: Such dir ein Programmierteam aus deiner Nähe. Nimm eines, dass agile Methoden wie "Extreme Programming" intus hat. Und nimm in Kauf, dass du denen während deren Arbeitszeit als Kunde zur Verfügung stehst, um direkt Fragen und Entscheidungen zu treffen.

      Der Vorteil so eines Ansatzes ist ziemlich schlagkräftig:

      1. Du kriegst wirklich, was du dir vorstellst (bzw. auf was du umschwenkst, nachdem du deine ersten Ideen realisiert siehst, bzw. Benutzerfeedback reinkommt).
      2. Du kriegst erste funktionierende Versionen (die du ggf. auch schon zum Geldverdienen live stellen kannst) verhältnismäßig schnell.
      3. Die erstellte Software enthält extrem wenig Fehler.

      Selbstverständlich ist die sprachliche und räumliche Trennung eine grosse Hürde, zudem da das Anforderungsmanagement und die zumindest indirekt anfallende Projektleitung (gut, nennen wirs controlling) einen ganz schön in den Pflug nimmt, aber dass mit vierfach teureren SW-Entwicklern in D das Rundum Happy-Paket geschnürt werden kann bzw. automatisch geschnürt wird, wage ich zu bezweifeln. Wobei auch das nicht an den Entwicklern liegen muss.   ;)

  5. Sup!

    Ich hörte und glaube auch, dass im Osten, Indien usw. super Programmierer sitzen, die für rund 12Euro/Stunde guten Code liefern.

    Das halte ich für ein Gerücht.

    Es soll dort in der Tat Leute geben, die für "weniger Euro pro Stunde als Europäer" Code liefern, der nach CMMI-Level-5 entwickelt wurde (d.h., mit Tonnen von Prozessdokumentation geliefert wird).

    Aber dass der Code richtig gut sei, habe ich noch nicht gehört.

    • In welcher Form sagt man dem Programmierer, was man möchte?
         Wie sieht so ein Drehbuch aus? Flussdiagramm? UML? Prosa?
         Dummy Screenshots?

    UML ist bestimmt gut. Darin gibt es, wenn man es kann, alles - Zeitdiagramme, Ablaufdiagramme, Beschreibungen der Objekte/Klassen, etc....; so ein UML-Diagramm zu entwickeln ist aber relativ kompliziert, und wenn man es eindeutig hinbekommt, kann man die Applikation eigentlich gleich selbst implementieren, weil es von einem genauen UML-Diagramm zur Applikation nicht mehr weit hin ist.

    Üblich ist aber (wo ich arbeite), die Entwickler mit Tonnen von Requirements zuzuschütten.

    Also quasi "Requirement 1" ==> "Auf Seite S1 muss eine Schaltfläche S1-X geben; wird Button S1-A gedrückt, und das System befindet sich in Zustand 1, dass soll das System in Zustand 2 wechseln, und Seite S2 soll angezeigt werden...".

    Von diesen Requirements sollte es so viele geben, dass sie das System eindeutig und widerspruchsfrei beschreiben.
    Weil das meist nicht der Fall ist, sollte man gute Entwickler finden, denn weniger gute Entwickler fragen ggf. nicht nach und programmieren irgendetwas, was zwar alle Requirements irgendwie erfüllt, aber nicht funktioniert. Gute Entwickler fragen nach und helfen nachzuspezifizieren. Das kostet allerdings Zeit und Geld.

    • Kennt jemand eine Anlaufstelle, wie man zu einem 12Euro
         Programmierer kommt? Wie geht man da vor? Empfehlungen?

    Ich würde ja irgendjemand guten engagieren, wenn die Applikation so ein Brüller ist - den die beste Applikation, schlecht umgesetzt, bringt nichts. Wenn Dein Budget so gering ist, dass Du 12-Euro-Programmierer brauchst, solltest Du vielleicht über das Engagieren von Studenten nachdenken. Da gibt es wenigstens keine Sprachbarriere.

    Gruesse,

    Bio

    --
    Never give up, never surrender!!!
    1. Wenn Dein Budget so gering ist, dass Du 12-Euro-Programmierer brauchst, solltest Du vielleicht über das Engagieren von Studenten nachdenken. Da gibt es wenigstens keine Sprachbarriere.

      Schönes Beispiel, dass die Sprachbarriere gar nicht so schlimm ist.   ;)

    2. Ciau Bio

      Besten Dank für deine Antwort!
      Ich habe noch eine Frage:

      Wo findet man die guten Programmierer, die, die mitdenken? Unkompliziert, direkt, nicht über mehrere Vermittler...

      Ideen, wie man vorgeht, damit man am Schluss den "richtigen" erwischt?

      Gruss
      Schorsch

      1. Sup!

        Wo findet man die guten Programmierer, die, die mitdenken? Unkompliziert, direkt, nicht über mehrere Vermittler...

        Ehm... und die auch nur 12€ pro Stunde kosten?
        Die hätte ich auch gern...

        Aber mal Spaß beiseite: Gute Entwickler findet man nur per Zufall oder per Mund-Propaganda, und gute, sehr preiswerte Entwickler findet man nur solange, bis die gemerkt haben, dass sie mehr nehmen könnten.

        Gruesse,

        Bio

        --
        Do ut des!
        1. Aber mal Spaß beiseite: Gute Entwickler findet man nur per Zufall oder per Mund-Propaganda, und gute, sehr preiswerte Entwickler findet man nur solange, bis die gemerkt haben, dass sie mehr nehmen könnten.

          Gute Programmierer findet man indem man das KnowHow einkauft gute Programmierer zu finden. Dieser Tipp war gratis.