Auf der einen Seite umfasst die Softwareentwicklung viele nicht programmiertechnische Aktivitäten wie das Sammeln von Anforderungen (einschließlich Analyse), das Schätzen, Planen, Testen, Nachverfolgen von Arbeiten, das Management von Änderungsanforderungen und mehr.
Auf der anderen Seite möchten unsere Kunden für diese Aktivitäten nicht bezahlen. Wenn eine Nicht-Programmierungsaktivität auf ihren Rechnungen auftaucht, werden sie normalerweise wütend und beschweren sich beim oberen Management. Natürlich gewinnen sie immer ihre Sache. Daher werden wir (das Unternehmen) nicht bezahlt.
Das Ergebnis all dessen ist, dass das obere Management uns (Programmierer und Projektmanager) unter Druck setzt, keine dieser Nicht-Programmierungsaktivitäten durchzuführen. Es erzeugt alle Probleme, die allgemein bekannt sind, wenn man einen "Code & Fix"-Ansatz bei der Softwareentwicklung hat.
Unsere schlecht getestete Software wird oft mit Fehlern veröffentlicht, und natürlich wollen Kunden nicht dafür bezahlen, dass wir sie beheben. Darüber hinaus veröffentlichen wir oft just in time Software, die nicht den Wünschen oder Bedürfnissen des Kunden entspricht, weil wir nie die Gelegenheit hatten, die Zeit zu investieren, um zu verstehen, was der Kunde benötigt. Die Freigabe wird daher vom Kunden abgelehnt, der sich dann bei der Geschäftsführung beschwert. Wir müssen dann alle gewünschten Änderungen kostenlos vornehmen.
Ich weiß nicht, wie andere Unternehmen dieses Problem lösen, und ich weiß nicht, wo ich suchen soll, um die Antwort zu erhalten. Stellen sie ihren Kunden Nicht-Programmieraktivitäten in Rechnung? Und was noch wichtiger ist: Wie können sie diese Aktivitäten außerhalb der Programmierung finanzieren? Überzeugen sie ihre Kunden, für diese Aktivitäten zu bezahlen? Verschweigen sie stattdessen, im Gegensatz zu uns, die wahre Natur ihrer Arbeit? Werden für Programmieraktivitäten so hohe Gebühren erhoben, dass es keine Rolle spielt, wenn Nicht-Programmieraktivitäten kein Einkommen generieren? Wie?
Ich erwarte, dass agil als Antwort vorgeschlagen wird, aber bitte haben Sie Verständnis dafür, dass ich "Sie müssen agil machen" nicht als Antwort akzeptieren werde, weil es nicht erklären würde, wie agil das Problem lösen würde. In einem Scrum-Team führen Sie zum Beispiel viele nicht-programmierende Aktivitäten durch und werden trotzdem dafür bezahlt. Ich kann mir nicht vorstellen, wie unsere Kunden es jemals akzeptieren werden, uns zum Beispiel für die Durchführung von Sprint-Retrospektiven zu bezahlen. Wenn Sie „agil“ antworten möchten, erklären Sie bitte, wie agil das Problem löst. Wie finanzieren Sie zum Beispiel all die Nicht-Programmierungsaktivitäten, die während des Scrum-Prozesses stattfinden?
Stellen Sie die Arbeit sofort ein und erhalten Sie die Arbeit unter Vertrag. Holen Sie sich eine detaillierte Leistungsbeschreibung, in der klar angegeben ist, was geliefert wird, welche Aktivitäten stattfinden, wie die Fertigstellung aussieht, wie Sie Rechnungen stellen, wie sie bezahlen usw. Ihr Problem sind nicht Methoden oder Kommunikation oder Überzeugungsarbeit. Sie haben keinen Vertrag oder setzen Ihren Vertrag nicht durch und sie verprügeln Sie zu ihren Gunsten. Sie müssen am Verhandlungstisch Platz nehmen und IHRE Forderungen stellen. Wenn sie es dir nicht erlauben, geh weg und such dir einen anderen Kunden, der dich bezahlt.
Hören Sie auf, ihnen die Aktivitäten in Rechnung zu stellen, über die sie sich beschweren, und übertragen Sie die Kosten auf das, wofür sie bereit sind zu zahlen (Leistungen). Sie betrügen sie nicht – Sie belasten Ihre Kunden nicht mit Details. Ihre Kunden wollen die Wurst, nicht die Einzelheiten ihrer Herstellung.
Wenn Ihr Kunde nicht für die Erfassung der Anforderungen bezahlen möchte, sagen Sie ihm, dass Sie die Anforderungen gerne von ihm erhalten würden. Dies lehrt sie, dass es Kosten gibt und jemand sie bezahlen muss.
Ihr Unternehmen braucht einige Leute, die verstehen, was eine Leistungsbeschreibung ist, wie man Verträge schreibt usw., und einige Projektmanager. Es scheint, dass Ihre Kunden und Ihr oberes Management nicht verstehen, wie Software richtig aufgebaut wird.
Ist das „obere Management“ Ihr Management oder ihr Management?
Wenn Ihre, müssen Sie eine Diskussion mit ihnen führen, die absolut klar macht, dass es sie Geld kostet , alle "nicht-programmierenden Aktivitäten" als nicht wesentlich zu behandeln .
Wenn ihre, mit wem haben Sie einen Vertrag? Der Kunde oder sein Management? In jedem Fall müssen Sie klarstellen, dass diese nicht programmiertechnischen Aufgaben unbedingt noch erforderlich sind, um zufriedenstellende Ergebnisse zu erzielen. Alternativ könnten Sie die nicht programmiertechnischen Aufgaben gar nicht abrechnen, sondern die Preise erhöhen, damit sie noch abgedeckt sind.
Offensichtlich besteht das Problem darin, dass Ihr Kunde mit seinen Forderungen durchgekommen ist, sodass Sie große Probleme haben werden, ihn davon zu überzeugen, dass sich dies ändern wird. Vielleicht ist es besser, Ihre Verluste zu begrenzen und einen neuen Kunden zu finden, diesmal inklusive Planung, Tests, Feedback-Sitzungen usw. von Anfang an im Vertrag.
Komplizierte Situation. Der Grund, warum das andere Unternehmen und Ihr oberes Management die Gebühr für Nicht-Programmierarbeiten nicht wollen, liegt mit ziemlicher Sicherheit darin, dass sie es nicht wertschätzen.
Das andere Unternehmen sieht es wahrscheinlich als eine Möglichkeit, die Rechnung auszufüllen, und würde wahrscheinlich behaupten, dass es die Spezifikation und einen Großteil des Projektmanagements selbst durchführt (das habe ich dort gesehen!).
Ihr oberes Management interessiert sich nicht für den Prozess - sie interessiert sich für die Ergebnisse, also würden sie sagen, dass die Ergebnisse in Rechnung gestellt werden sollten, der Rest des Prozesses jedoch so schlank wie möglich sein sollte. Wenn Unternehmen wie Netflix sagen, dass sie Rollen wie Projektmanager eliminieren können ( http://www.projectmanagers.net/i/9-current-trends-and-more-in-project-management/ ), kann das obere Management das glauben Rollen im mittleren Management sind nur Polster.
Was zu tun ist, ist einfach.
Entweder berechnen Sie nur die Programmierung und riskieren, dass das obere Management die mittlere Managementebene feuert, da dies Kosten sind, die keine Einnahmen generieren; oder die zu erbringenden Gebühren erhöhen, um die Kosten der Nicht-Programmierungsaktivitäten zu decken.
Bart van Ingen-Schenau
Benutzer2187
Bart van Ingen-Schenau
Benutzer2187
Bart van Ingen-Schenau