Welche Strafen sollten Unternehmen bei der Entwicklung von freiberuflicher Software verhängen, wenn sie Fristen einhalten? [geschlossen]

12

Ich habe mit einem Mitentwickler gesprochen.

Er hat einen Kunden, der sicherstellen wollte, dass er pünktlich liefert. Der Kunde möchte Rückwirkungen auf versäumte Fristen.

Ich arbeite zwar nicht freiberuflich, konnte aber keine Antwort geben.

Meine Frage lautet also:

Über welche Auswirkungen sind Sie (Freiberufler) mit Ihrem Kunden einverstanden, wenn Sie Fristen für Ihre Leistungen verpassen (abgesehen davon, dass Sie entlassen werden)?

Teej
quelle
2
Er wäre dumm, Strafen zu akzeptieren, zumindest ohne eine Ausstiegsklausel, die sich an sich ändernden Anforderungen orientiert. Die Aufgabenschätzung ist im besten Fall schrecklich ungenau, bevor das Änderungsmanagement berücksichtigt wird. Grundsätzlich. Run
Matt D
4
Der Kunde hätte also ein finanzielles Interesse daran, dass Sie die Frist verpassen? Klingt nicht nach einer wirklich guten Idee. Dies ist nur dann sinnvoll, wenn der Kunde auch bei Verspätung einen erheblichen finanziellen Verlust erleidet (wie im Beispiel von MainMa).
Doc Brown
2
Das scheint mir vollkommen akzeptabel zu sein. Ich bin ziemlich überrascht von den Kommentaren. Sie erwarten, dass die Leute für die Arbeit bezahlen, ohne Frist und ohne Anreiz, die Frist einzuhalten? "Aufgabenschätzung ist schrecklich ungenau" - das muss nicht sein.
NimChimpsky
@DocBrown Der Kunde hat vermutlich ein viel größeres finanzielles Interesse daran, die Frist einzuhalten und somit die Arbeit mit einer Frist zu bezahlen. Ich finde Programmierer, die Termine und Struktur nicht mögen, manchmal erstaunlich. Stellen Sie sich vor, Sie bekommen eine neue Küche und der Laden sagt oooooo nein, wir können Ihnen nicht sagen, wann sie fertig sein wird, sondern berechnen Sie nur stundenweise. Ich würde eine Meile davon laufen. Die Programmierung unterscheidet sich qualitativ nicht von anderen Projekten.
NimChimpsky
5
Wenn Sie eine neue Küche einbauen lassen, werden Sie für den Build wie angegeben zitiert. Wenn Sie anfangen, die Schnittfläche, die Fliesen, die Wasserhähne und die Spülenmaterialien zu wechseln, werden Ihnen sowohl die verschwendeten Materialien als auch die aufgewendete Zeit in Rechnung gestellt. Es ist leicht zu verstehen, warum Sie in diesem Fall angeklagt sind, es gibt eine physische Beziehung. Sich ändernde Softwareanforderungen haben oft nicht das gleiche Verständnis, und jeder Vertrag, bei dem Sie X durch Y liefern müssen, wenn X nicht genau festgelegt ist, ist problematisch. Die Dinge werden sich ändern, es ist töricht, das nicht erklären zu können.
Matt D

Antworten:

25

Eine der effektivsten: Strafe nach Verspätungstag. Dies gilt auch für große Projekte, bei denen die Strafe manchmal Tausende von Dollar pro Tag beträgt.

Wenn eine genaue Frist von Bedeutung ist (zum Beispiel, wenn man für die Olympischen Spiele eine Web-App entwickelt, die die Übertragung der Veranstaltung im Jahr 2014 übernimmt, ist die Frist der Beginn der Olympischen Spiele im Jahr 2014), könnte dies die wirksame Maßnahme im Jahr 2014 sein In einem Fall, in dem das Projekt verspätet ist, wird das Unternehmen überhaupt nicht bezahlt und sollte auch eine Strafe zahlen.

Wenn solche drastischen Maßnahmen nicht angebracht sind, kann allein die Tatsache, dass ein gut bezahlter Kunde das Unternehmen verlässt, wenn das Projekt verspätet ist, den Ausschlag geben.

Hinweis für den Kunden:

  1. Viele Verzögerungen sind vom Kunden selbst zu vertreten. Ursachen können mehrere sein:

    • Kein SRS, sondern zwei Absätze, in denen genau beschrieben wird, was der Kunde für seine Bedürfnisse hält (und natürlich möchte der Kunde nicht für das Sammeln von Anforderungen zahlen, da dieser Schritt einen Zeitverlust darstellt).

    • Zwei Wochen vor dem endgültigen Abgabetermin und dem Hinweis, dass das Projekt bisher in Java und mit Oracle durchgeführt wurde: Es muss unbedingt in Python umgeschrieben werden und MySQL verwendet werden, da der Kunde gestern eine Zeitschrift gelesen hat zu sagen, dass diese Technologien die Zukunft sind.

    • Bei jedem Meeting mit neuen Anforderungen. Bonuspunkte, wenn diese Anforderungen nahezu allen bisher gestellten Anforderungen widersprechen.

  2. Gute Kommunikation ist für ein gutes Projekt unerlässlich.

    Viele andere Verzögerungen sind auf die mangelnde Kommunikation zurückzuführen. Praktiken, bei denen der Kunde monatelang überhaupt keine Kommunikation mit dem Unternehmen hat und erwartet, erst kontaktiert zu werden, wenn das Produkt fertiggestellt und poliert ist, lösen eine Katastrophe aus.

  3. Sie bekommen, wofür Sie bezahlen.

    Es gibt spezielle Verfahren, mit denen das Projekt organisiert werden kann. Tatsächlich sollte die Programmierung bei großen Projekten nur 10 bis 15% und bei mittleren Projekten 15 bis 20% der Zeit in Anspruch nehmen. Diese Projekte sollten auch von Leuten durchgeführt werden, die wissen, was sie tun.

    In der Praxis sind Kunden nicht bereit, einem Analysten, der Architektur und Softwaredesign erstellt, 800 USD pro Tag zu zahlen, und sie möchten auch nicht für andere Schritte zahlen. Ein neuer albanischer Programmierer, der gerne für 50 US-Dollar pro Tag arbeitet, scheint viel vorteilhafter zu sein.

    Beschweren Sie sich nicht, dass das Projekt eine Katastrophe ist, wenn Sie nur bereit sind, für katastrophale Projekte zu bezahlen.

  4. Verhandeln Sie nicht die Zeit, die für die Ausführung des Auftrags erforderlich ist.

    Ich begegne den Diskussionen oft so:

    Entwickler: Angesichts der Anforderungen kann ich das in vier Monaten liefern.
    Kunde: es ist unmöglich. Das Projekt sollte in zwei Monaten abgeschlossen sein.
    Entwickler: Nun, es sei denn, Sie schneiden einige Funktionen aus ...
    Kunde: Ich kann nicht! Alle Funktionen sind erforderlich. Warum kannst du den Job nicht in zwei Monaten machen? Ich habe einen indischen Programmierer kontaktiert, einen Freund von mir, der das in anderthalb Monaten liefern kann und nur die Hälfte des Preises verlangt!

    Die Verhandlungszeit ist ein Rezept für eine Katastrophe.

  5. Kennen Sie Ihre Prioritäten.

    Berücksichtigen Sie die 90% -Regel. Wenn das Projekt nicht ordnungsgemäß verwaltet wird, werden die Entwickler nicht selten darauf hingewiesen, dass sie 90% des Projekts einen Monat nach dem Start des Projekts ausgeführt haben. Dann, einen Monat später, sind es immer noch 90%. Und einen Monat später.

    Dies kann zwei Ursachen haben:

    • Wenn das Projekt nicht korrekt ausgeführt wird, dh 100% der Zeit für die Programmierung aufgewendet werden, was 0% für das Sammeln von Anforderungen, die Architektur, das Design und das Testen übrig lässt, haben Programmierer keine Ahnung von der zu erledigenden Arbeit und entdecken diese neue aufgaben während der gesamten laufzeit des projekts. Die Vorbereitung des Projekts würde zu einem besseren Verständnis aller zu erledigenden Aufgaben beitragen.

    • Wenn der Kunde es eilig hat, ist es nicht ungewöhnlich, dass einige Unternehmen schnell Mist liefern und dann enorm viel Zeit damit verbringen, Fehler zu beheben. Einige Unternehmen arbeiten nur so, was ihnen hilft, wettbewerbsfähig zu bleiben und zu sagen, dass sie ein bestimmtes Projekt in drei Wochen abgeschlossen haben, auch wenn sie später drei Jahre damit verbracht haben, das Chaos zu lösen.

    Indem Prioritäten klargestellt und die korrekte Durchführung des Projekts gefordert werden, werden diese Unternehmen aus der Kandidatenliste gestrichen.

Arseni Mourzenko
quelle
3
"Beschweren Sie sich nicht, dass das Projekt eine Katastrophe ist, wenn Sie nur bereit sind, für katastrophale Projekte zu bezahlen." Kann ich das benutzen? Dies ist übrigens ein großartiger Beitrag und fasst die Risiken von beiden Seiten gut zusammen.
Matt D
+1 Sehr gute Punkte. Auch eine Freude zu lesen :)
Radu Murzea
5
@MattD: Antworten auf Stack Exchange sind unter Creative Commons Attribution-ShareAlike 3.0 Unported lizenziert. Lesen Sie auch einen ähnlichen Artikel in meinem Blog: Zeit und Kosten quantifizieren: Warum verstehen wir das immer falsch? , sowie die Antworten auf meine Frage hier: programmers.stackexchange.com/q/158640/6605
Arseni Mourzenko
Warum gibt es nicht einen Teil 4, 5, 6 usw. zu diesem Blog-Beitrag?
Radu Murzea