In letzter Zeit wurde ich mit höheren Planungsaufgaben beauftragt, da der leitende Entwickler meines Teams abreist. Ich hasse langfristige Planung. Mein Gehirn scheint einfach nicht dafür verdrahtet zu sein, und ich bin nicht genug daran interessiert, um die Zeit damit zu verbringen, es zu lernen (es ist schwer genug, mit der Programmierseite des Bildes Schritt zu halten).
Kann man immer noch ein guter Programmierer sein, ohne auch ein hochrangiger Planer zu sein?
Wird von einem Senior-Programmierer erwartet, dass er das gesamte Produkt gut plant und ein Fertigstellungsdatum festlegt?
Antworten:
Detaillierte langfristige Projektpläne sind bekannt dafür, dass sie in der Regel äußerst ungenau sind. Die Funktionalität des Systems wird sich unweigerlich vor dem Start ändern, und die Leute arbeiten in der Regel lange an den Einzelheiten, die in der Spezifikation enthalten sind, damit die Beteiligten ihr bestenfalls einen flüchtigen Blick zuwerfen.
Sie sollten mehr über Agiles Planen lesen. Vielleicht passt es besser zu Ihrer Denkweise. Viele agile Methoden versuchen, Wege zu finden, um sich von einer detaillierten langfristigen Planung zu entfernen.
Agile Methoden versuchen, detaillierte technische Spezifikationen und Dokumentationen zugunsten von selbstdokumentierendem Code und isolierten, atomaren User Stories und letztendlich funktionierender Software zu minimieren . In einem effizienten Agile-Team muss nur ein Minimum an Zeit für die Planung aufgewendet werden.
Lesen Sie das Agile Manifest und werfen Sie einen Blick auf Scrum . Verwenden Sie die Entwicklungsmethoden Iterative Entwicklung und Dynamische Systeme , um das Projekt zu leiten.
Der Hauptnachteil von Agile-Ansätzen besteht darin, dass Sie offen zugeben müssen , dass Sie den genauen Umfang Ihres Projekts nicht kennen , und dass es äußerst schwierig sein kann, das Management für diese Idee zu gewinnen, und dies dauert normalerweise eine Weile. In dieser Frage und Antwort sowie in diesem Beitrag finden Sie einige Tipps dazu.
Es ist jedoch sicher richtig, dass Sie als erfahrener Programmierer wahrscheinlich weniger Programmieren müssen, aber ich denke, dass Sie in einem agilen Team nicht mehr technische Spezifikationen schreiben, sondern mehr Zeit für die Verwaltung und Anleitung aufwenden müssen die Mitglieder Ihres Teams und treffen architektonische Entscheidungen über Code.
quelle
Ja, es ist möglich. Wenn Sie jedoch ein guter Software-Ingenieur oder Software-Architekt sein möchten, ist dies der Punkt, an dem Ihre hochrangige Planung ins Spiel kommt. Für mich war der Hauptunterschied zwischen einem Programmierer und einem Ingenieur die Fähigkeit, den Überblick zu behalten.
quelle
Für eine Weile ja. Ist es möglich, dies lange zu tun? Nein.
Heutzutage ist es bei vielen Arbeitgebern üblich, die
Lebenshaltungskosten imWettbewerb zu erhöhen. Wenn Sie sich nicht verbessern, versuchen Sie nicht, größere und schwierigere Probleme anzugehen. Diese branchenüblichen Erhöhungen werden Sie in fünf oder zehn Jahren vom Markt verdrängen. Machen Sie weiter so und Ihr Arbeitgeber wird irgendwann nach einem Grund suchen, Sie loszuwerden, und Ihre Beschäftigungsfähigkeit an anderer Stelle wird sich ebenfalls drastisch verschlechtern.quelle
Sicher, Sie können aus Sicht eines Programmierers ein guter Programmierer sein. Aus Sicht des Managements ist eine ganz andere Frage. Meiner Erfahrung nach ist die Einbeziehung in den Planungsprozess der beste Weg, um 1) interessantere Programmieraufgaben zu erhalten und 2) sie nach Ihren Wünschen zu erledigen.
Mit anderen Worten, sobald es um kurzfristige Planung geht, sind viele Optionen vom Tisch. Wenn Ihre bevorzugte Lösung sechs Wochen dauern würde, aber sie nur zwei budgetiert, bleiben Sie bei dem, was sie beschlossen haben. Wenn Sie Bedenken zu etwas haben, das sie bereits in der langfristigen Planung besprochen haben, werden sie es nicht noch einmal aufwärmen wollen.
Wenn Sie mit dieser Situation zufrieden sind, haben Sie mehr Macht. Die meisten Menschen werden damit weniger zufrieden, je mehr Erfahrung sie sammeln.
Das schmutzige kleine Geheimnis ist, dass niemand in der langfristigen Planung und Schätzung sehr gut ist. Bessere Planer sind diejenigen, die sich ihrer Grenzen bewusst sind. Ob Sie es glauben oder nicht, Sie sind der Kurve voraus. Machen Sie sich mit der Berücksichtigung von Schätzunsicherheiten vertraut. Sehen Sie sich Techniken wie evidenzbasierte Planung oder Scrum an, die auf historischen Daten basieren, um zu zeigen, wie genau Ihre Schätzungen sind. Sie werden auf lange Sicht glücklicher sein, wenn Sie ein größeres Mitspracherecht in Ihrer Arbeit haben.
quelle
Kurze Antwort: Ja, das ist möglich.
Je mehr Erfahrung Sie jedoch mit der Art der Projekte haben, an denen Sie beteiligt sind, desto bessere Planungsideen haben Sie. Idealerweise haben wir als Programmierer einen Ansatz, um das Problem zu lösen, oder wir suchen einen. Wenn wir also den Ansatz kennen, können wir über die Planung nachdenken :)
Ein anderer möglicher Weg ist, dass ein Programmierer, der ein guter Planer wird, schließlich auch in Richtung Projektmanagement geht. Wenn Sie Interesse an der Verwaltung von Projekten haben, können Sie zusätzliche Anstrengungen in diese Richtung unternehmen.
quelle
Ja und Nein sind Ihre Antworten.
Einerseits werden Sie in Richtung Projektmanagement getrieben. IMO, alle guten Programmierer haben ein gewisses Maß an Projektmanagementfähigkeiten, aber sie sind unterschiedliche Fähigkeiten. Die Fähigkeit, langfristig zu planen, verbessert Ihre Fähigkeit, mit dem eigentlichen Projektmanagement zu kommunizieren. "Nein", Sie können kein guter Programmierer sein, ohne die Fähigkeit, langfristig zu planen.
Trotzdem ist Projektmanagement eine andere Fähigkeit, die Aspekte anspricht, die zusammenhängen, sich aber von der Programmierung unterscheiden. Hier kommt also das "Ja" ins Spiel. Sie müssen kein Projektmanager sein, um ein großartiger Programmierer zu sein.
Versuchen Sie für Ihre spezifische Situation objektiver zu werden, was das Unternehmen braucht und was Sie gerne tun. In Ihrer Frage spiegelt sich ein bisschen zu viel Ego wider, was Ihre Fähigkeit beeinträchtigt, diese Situation zu betrachten. Wenn Sie Wege finden, mehr zu Ihrem Arbeitgeber beizutragen, während Sie die Dinge tun, die Ihnen Spaß machen, sollten Sie diese in Betracht ziehen und die Angelegenheit mit Ihrem Chef besprechen.
quelle
Planung und der Bungie-Boss
Dilbert hat viele Streifen über den Bungie-Boss. Unsere Herausforderungen und Erwartungen in Bezug auf die Planung können sowohl die Ursache als auch die Auswirkung der Abwanderung von Führungskräften sein. Meine Erfahrung bei einem Fortune 100-Unternehmen war, dass in einem Jahr jeder, der als Projektleiter in das Jahr gestartet war, ausstieg. Vielleicht lag das am Planungsproblem. Ich bin mir nicht sicher, ob Ihr früherer Lead aus diesem Grund abgereist ist, aber wenn Ihre Rolle es erfordert, dass Sie einen Plan mit einer Verpflichtung erstellen. Wenn dies nicht gelingt, ist häufig ein terminbezogener Ausstieg die Folge.
Organisatorischer Kontext der Planung
Wenn Sie mit der Planung nicht vertraut sind, kann es sein, dass Sie nicht für Verpflichtungen gegenüber dem Marketing oder anderen Interessengruppen verantwortlich sind, bevor die zu lösenden Probleme dokumentiert oder verstanden werden. Das ist ein guter Instinkt.
Planung ist ein wichtiges Instrument. Vernachlässige es nicht. Versteht es nicht falsch.
Planung ist ganzheitlich mit Verpflichtungen, Rechenschaftspflicht und Verhandlungsmacht verbunden. Agiles Planen hat viele Vorteile. Sie sollten seine Techniken sowie die Techniken der geplanten Methoden kennen. Ihre Organisation hat möglicherweise einen eigenen Ansatz, und die Einholung von Rat und die Zusammenarbeit mit jemandem, der die Leitung vieler Projekte überstanden hat, kann überraschend hilfreich sein.
Ein einfaches Planungsbeispiel - Es darf nicht um Software gehen ...
Wenn eine Dachdeckerfirma zu mir nach Hause kam, um Ersatz zu bieten, wenn sie zu niedrig bietet, verlieren sie möglicherweise Geld bei der Arbeit, aber wenn sie zu hoch bieten, bekommen sie die Arbeit überhaupt nicht. In jedem Fall sind sie arbeitslos. Wenn Sie in Ihrer neuen Rolle zu wenig arbeiten, führen Sie das Projekt aus, bis die Verantwortlichkeit einsetzt, dann haben Sie Probleme. Wenn Sie ein Projekt schätzen, bei dem genügend Padding vorhanden ist, um den Erfolg fristgerecht sicherzustellen, wählen viele nur jemanden aus, der die Leitung übernimmt. Der Kicker ist, dass Sie nicht wie der Dachdecker sind. Er kann sehen, wie groß das Dach ist, und hat historische Daten darüber, wie lange das Dach dauert.
Ein besserer Planer werden
Möglicherweise möchten Sie eine Art Training in Betracht ziehen. In agilen Methoden und den neuesten geplanten Methoden ist die Schätzung eine teamweite Aktivität. Aus diesem Grund sollten Sie auch in Betracht ziehen, Ihr Team zu schulen.
Aus Erfahrung kann ich Ihnen sagen, dass es frustrierend sein kann, Schätzungen von Teammitgliedern zu erhalten, die sie aufschieben, Ihnen Schätzungen zu geben, die sie in zwei Minuten auf der Grundlage des Aufgabennamens ohne Bezugnahme auf eine Anforderung oder eine Funktionsbeschreibung oder den vorhandenen Code erstellen die darauf bestehen, dass einige der von Ihnen aufgelisteten Aufgaben in einem Bruchteil eines Tages erledigt werden können, obwohl vergangene Projekte Wochen mit ähnlichen Themen verbracht haben.
Es gibt verschiedene Schulungen und Zertifizierungen für Projektmanager, aber ich würde mir eine anschauen, die unabhängig akkreditiert wurde. Bevor Sie sich für eine Zertifizierung mit Ansätzen entscheiden, die auf geplanten Methoden basieren, sollten Sie sich überlegen, ob Sie mit agilen Teams zusammenarbeiten möchten (oder umgekehrt).
SLIM ist eine Methode, die Putnam erfunden hat, nachdem er in den 1970er Jahren bei GE und anderen Unternehmen an DoD-Projekten gearbeitet hatte. SLIM ist einflussreich, und sein Unternehmen QSM bietet eine Zertifizierung an , die anscheinend aus einem Tool stammt, das es herstellt. Abhängig davon, ob Ihr Unternehmen sein Tool übernommen hat, hat es möglicherweise keinen oder einen hohen Wert.
Steve McConnell (Autor von Code Complete) hat auch ein Buch über Softwareschätzung geschrieben, und seine Firma Construx unterrichtet zwei Klassen für PDU-Credits , die durch das Project Management Institute akkreditiert sind. Ich habe sein Buch, und wenn ich im Klassenzimmer etwas über das Thema lernen wollte, würde ich mich wahrscheinlich für Construx entscheiden. Sie führen auch Scrum-Schulungen durch und verwalten verschiedene von Scrum.org akkreditierte Scrum-Bewertungen.
Eine weitere Quelle, die eine hervorragende akademische Ausbildung in Bezug auf die Schätzung von Softwareprojekten bieten könnte, wäre die Gruppe von Barry Böhm am USC , die sich auf ihre umfangreichen Arbeiten zur konstruktiven Kostenmodellierung von COCOMO und COSYSMO stützt, die bei der NASA und anderen großen Auftragnehmern zur Schätzung sehr großer Projekte eingesetzt wurden. Ich bin mir nicht sicher, ob ich wirklich an COCOMO glaube, aber ich mag die empirische Arbeit, die sie geleistet haben, um die Auswirkungen von Größen- und Kostentreibern auf die Fahrplandauer zu korrelieren.
Ich habe auch ein Kapitel aus einem von O'Reilly veröffentlichten Lehrbuch gefunden , in dem wichtige Methoden zur Softwareschätzung, einschließlich Watts Humphreys PROBE und Kent Becks Planspiel, kurz erörtert werden. PROBE enthält den Begriff, dass Ingenieure Metriken anhand ihrer eigenen Produktivität verfolgen und diese dann auf ihren zugewiesenen Teil bei neuen Projekten anwenden. Planning Game arbeitet sehr eng mit Entwicklern und anderen Interessengruppen zusammen.
quelle