it-swarm.dev

Ist es ungewöhnlich, dass ein kleines Unternehmen (15 Entwickler) keine verwaltete Quell- / Versionskontrolle verwendet?

Es ist nicht wirklich eine technische Frage, aber es gibt hier einige andere Fragen zur Quellcodeverwaltung und zu Best Practices.

Das Unternehmen, für das ich arbeite (das anonym bleibt), verwendet eine Netzwerkfreigabe, um den Quellcode und den freigegebenen Code zu hosten. Es liegt in der Verantwortung des Entwicklers oder Managers, den Quellcode manuell in den richtigen Ordner zu verschieben, je nachdem, ob er veröffentlicht wurde und um welche Version es sich handelt. Wir haben verschiedene Tabellen verteilt, in denen Dateinamen und -versionen sowie die Änderungen aufgezeichnet werden. Einige Teams fügen außerdem Details zu verschiedenen Versionen oben in jede Datei ein. Jedes Team (2-3 Teams) scheint dies innerhalb des Unternehmens anders zu machen. Wie Sie sich vorstellen können, ist es ein organisiertes Durcheinander - organisiert, weil die "richtigen Leute" wissen, wo ihre Sachen sind, aber ein Durcheinander, weil alles anders ist und die Leute sich daran erinnern, was sie zu einem bestimmten Zeitpunkt tun sollen. Eine gute Sache ist, dass alles jede Nacht gesichert und unbegrenzt aufbewahrt wird. Wenn also Fehler gemacht werden, können Schnappschüsse wiederhergestellt werden.

Ich habe eine Weile versucht, auf eine Art verwaltete Quellcodeverwaltung zu drängen, aber ich kann im Unternehmen anscheinend nicht genug Unterstützung dafür bekommen. Meine Hauptargumente sind:

  • Wir sind derzeit verwundbar. Zu jedem Zeitpunkt könnte jemand vergessen, eine der vielen Release-Aktionen auszuführen, die wir ausführen müssen, was bedeuten könnte, dass ganze Versionen nicht korrekt gespeichert werden. Bei Bedarf kann es Stunden oder sogar Tage dauern, bis eine Version wieder zusammengesetzt ist
  • Wir entwickeln neue Funktionen zusammen mit Fehlerkorrekturen und müssen häufig die Veröffentlichung der einen oder anderen verzögern, da einige Arbeiten noch nicht abgeschlossen sind. Wir müssen Kunden auch dazu zwingen, Versionen mit neuen Funktionen zu verwenden, selbst wenn sie nur eine Fehlerbehebung wünschen, da es wirklich nur eine Version gibt, an der wir alle arbeiten
  • Wir haben Probleme mit Visual Studio, weil mehrere Entwickler gleichzeitig dieselben Projekte verwenden (nicht dieselben Dateien, aber es verursacht immer noch Probleme).
  • Es gibt nur 15 Entwickler, aber wir machen alle Dinge anders. Wäre es nicht besser, einen unternehmensweiten Standardansatz zu haben, dem wir alle folgen müssen?

Meine Fragen sind:

  1. Ist es normal, dass eine Gruppe dieser Größe keine Quellcodeverwaltung hat?
  2. Bisher wurden mir nur vage Gründe für die fehlende Quellcodeverwaltung angegeben. Welche Gründe würden Sie vorschlagen , um für nicht gültig zu sein? Implementierung der Quellcodeverwaltung angesichts der obigen Informationen?
  3. Gibt es noch weitere Gründe für Quellcodeverwaltung, die ich meinem Arsenal hinzufügen könnte?

Ich möchte hauptsächlich ein Gefühl dafür bekommen, warum ich so viel Widerstand geleistet habe. Bitte antworten Sie ehrlich.

Ich werde die Antwort der Person geben, von der ich glaube, dass sie den ausgewogensten Ansatz gewählt und alle drei Fragen beantwortet hat.

Danke im Voraus

152
oliver-clare
  1. Es mag nicht normal sein, aber wie Treb sagt , ist es wahrscheinlich nicht so ungewöhnlich
  2. Wie andere gesagt haben, gibt es keine gültig Gründe dafür, dass in einem Unternehmen Ihrer Größe keine Quellcodeverwaltung vorhanden ist. Sie müssen also die ungültig Gründe identifizieren und angreifen:

    a) Der wichtigste ist der Status quo : "Wenn er nicht kaputt ist, reparieren Sie ihn nicht". Das ist schwierig: Sie könnten anfangen, auf all die Dinge hinzuweisen, die nicht so gut funktionieren, wie sie sollten (was Sie schnell als „negative Person“ bezeichnen kann), oder Sie warten einfach darauf, dass etwas in die Luft sprengt (was möglicherweise nie der Fall ist) passieren), oder Sie könnten alle Dinge betonen, die könnten schief gehen. Leider sind die Verantwortlichen kleiner Unternehmen relativ undurchlässig für "Dinge, die schief gehen könnten", bis sie tatsächlich tun schief gehen ...

    b) Unwissenheit/Angst/Unsicherheit : "Wir verstehen nicht wirklich, was Quellcodeverwaltung ist; wir wissen nicht, wie man sie verwendet wir wissen nicht, welches Werkzeug wir wählen sollen; es wird unseren Stil einschränken ". Dies ist ein Grund, warum ich definitiv würde nicht sie senden hier ! Es mag für Sie selbst eine ziemlich große Aufgabe sein, aber ich denke, um Ihre Chancen zu maximieren, müssen Sie eine schlüsselfertige Lösung präsentieren und nicht zu viele Varianten oder Alternativen. Sie benötigen eine klare Vorstellung davon, wie Sie Ihren Arbeitsprozess an das jeweilige Tool anpassen/transformieren möchten; wie/ob Sie vorhandenen Code zurückportieren möchten; Wie schnell können Sie Benutzer "schulen" und in Betrieb nehmen? wie Sie die Übergangszeit verwalten können (falls es eine gibt); wie viel es wahrscheinlich "kostet" (in Stunden, wenn nicht in Dollar).

    c) Es kann andere Gründe geben (frühere schlechte Erfahrungen mit VSS zum Beispiel oder das Lesen von „Horrorgeschichten“ über angeblich überkomplizierte Tools), aber Sie müssen diese einzeln schlagen, wenn Sie sie entdecken.

  3. Es gibt viele Gründe für Quellcodeverwaltung, die in den anderen Antworten beschrieben sind. Mein Rat wäre, die wichtigsten 2 oder 3 auszuwählen, die wirklich einen Unterschied für Ihr Unternehmen bewirken könnten, sie aufzupolieren und sie in einer Besprechung so vielen Ihrer Kollegen wie möglich vorzustellen. Versuchen Sie, eine Diskussion zu provozieren: Auch wenn Sie sie nicht sofort überzeugen, erhalten Sie einen Einblick in die Knackpunkte.

(Haben Sie von The Change Function gelesen/gehört?)

108
Benjol

Es ist absolut nicht normal, dass eine Gruppe dieser Größe ohne Quellcodeverwaltung arbeitet. Die Größe der größten Gruppe von Programmierern, die ohne Quellcodeverwaltung effektiv arbeiten können, ist kleiner oder gleich eins. Es ist absolut unentschuldbar ohne Versionskontrolle für ein professionelles Team von beliebiger Größe zu arbeiten, und vielleicht fühle ich mich nicht kreativ, aber ich kann mir keinen Grund dafür ausdenken du würdest darauf verzichten wollen.

Die Versionskontrolle ist nur ein weiteres Werkzeug - ein besonders leistungsfähiges und eines, das enorme Vorteile im Vergleich zu seinen minimalen Kosten bietet. Es gibt Ihnen die Möglichkeit, alle Ihre Änderungen auf organisierte Weise fein zu verwalten, mit allen möglichen anderen praktischen Dingen wie Verzweigen, automatisiertem Zusammenführen, Markieren und so weiter. Wenn Sie eine Version aus unzähligen Versionen erstellen müssen, können Sie den Code ab diesem Zeitpunkt überprüfen und einfach erstellen, ohne durch andere Rahmen springen zu müssen.

Noch wichtiger ist, wenn Sie einen Bugfix schreiben müssen, können Sie ihn zu einem Update zusammenführen, ohne die neuen Funktionen bereitstellen zu müssen, an denen Sie arbeiten - da sie sich in einem anderen Zweig befinden und der Rest der Entwicklung dies erfordert sei besorgt, sie existieren noch nicht.

Sie erleben Widerstand, weil Sie die Unternehmenskultur herausfordern. Es wird einige Zeit dauern, bis sie sich angepasst haben, egal was Sie sagen. Das Beste, was Sie tun können, ist, weiter darauf zu drängen. Wenn sich das Unternehmen wirklich nicht rührt, finden Sie einen anderen Job, der besser zu Ihrem Niveau als Entwickler passt.

185
Jon Purdy

Ist es normal, dass eine Gruppe dieser Größe keine Quellcodeverwaltung hat?

Nach meiner Erfahrung ist dies nicht die Norm, aber nicht so ungewöhnlich, wie andere Antworten hier vermuten lassen. Die Mehrheit der kleinen Unternehmen verwendet die Quellcodeverwaltung, eine beträchtliche Anzahl jedoch leider nicht.

Bisher wurden mir nur vage Gründe für die fehlende Quellcodeverwaltung angegeben. Welche Gründe könnten Ihrer Meinung nach angesichts der obigen Informationen für die Nichtimplementierung der Quellcodeverwaltung gelten?

Siehe diese Frage zu SO für eine gute Diskussion. Die akzeptierte Antwort lautet:
"Es gibt keine guten Gründe, die Versionskontrolle nicht zu verwenden. Keine."

Gibt es weitere Gründe für die Quellcodeverwaltung, die ich meinem Arsenal hinzufügen könnte?

Der Konsens unter allen Entwicklern und Projektmanagern, die ich getroffen habe, und natürlich hier über Programmierer und SO ist, dass Quellcodeverwaltung ein Muss ist. Es ist ein akzeptiertes Bestes üben . Wenn jemand beschließt, es zu ignorieren, muss er einige sehr starke und überzeugende Argumente haben, warum dies die richtige Entscheidung für ihn ist (dh ein bisschen mehr als 'wir haben es nie gebraucht, also warum sollten wir es in Zukunft brauchen '). Die Argumente, die Sie bisher vorgebracht haben, konzentrieren sich auf bestimmte Themen. Vielleicht sollten Sie einen breiteren Ansatz nach dem Motto' Jeder tut es, also warum nicht auch wir?

34
Treb

Die Quellcodeverwaltung ist auch für ein einzelnes Entwicklerteam gut. Jedes Versionskontrollsystem ist im Grunde ein Versionskontrollsystem, das Änderungen verfolgt. Stellen Sie sich einen einzelnen Entwickler vor, der möglicherweise Code entfernt hat und der Meinung ist, dass der Code jetzt erforderlich ist. Kann er den alten Code zurückbekommen?

Suchen Sie sich einfach ein Tool aus, das Ihnen hilft. Die Größe spielt nicht überall eine Rolle. Die Qualität spielt überall eine Rolle.

27
Kangkan

Es hört sich so an, als würden Sie bereits ein Versionskontrollsystem verwenden, aber kein sehr gutes. Die Leute scheinen bereits die Notwendigkeit der Versionskontrolle zu erkennen. Sie müssen sie nur in die nächste Stufe einführen - die Software-Versionskontrolle.

Wenn ich es wäre, würde ich SCM als verbesserte Version dessen einführen, was sie bereits tun. Ich möchte betonen, wie die Verwendung eines guten Werkzeugs einen Großteil der bereits laufenden Arbeit automatisiert.

  • Anstatt Änderungen in einer Tabelle aufzuzeichnen, verfolgt das SCM-System nicht nur, was sich geändert hat, sondern wer es geändert hat und warum.

  • Als Bonus können Sie zu jedem Punkt im Leben des Codes zurückkehren und sehen, was tatsächlich dort war.

  • Anstatt unterschiedliche Codeversionen in unterschiedlichen Ordnern zu haben und Dinge zwischen Ordnern verschieben/zusammenführen zu müssen, um eine Änderung zu portieren, können Sie alles am selben Ort belassen und (was noch wichtiger ist) das Tool das Zusammenführen durchführen lassen.

Wie andere bereits gesagt haben, würde ich einen gewissen Widerstand erwarten, also würde ich das System prototypisieren, indem ich es für die Dinge verwende, die ich tue.

(Übrigens habe ich meinen Lebenslauf und andere Dokumente tatsächlich unter SVN gestellt. Andererseits habe ich mehrmals die Rolle des Konfigurations- und Integrationsmanagers gespielt.)

17
jwernerny

Bisher wurden mir nur vage Gründe für die fehlende Quellcodeverwaltung angegeben. Welche Gründe würden Sie vorschlagen , um für nicht gültig zu sein? Implementierung der Quellcodeverwaltung angesichts der obigen Informationen?

  • Das Produkt, das Sie entwickeln, ist ein Versionskontrollsystem. Manager sind besorgt darüber, zu verhindern, dass vorhandene Produkte das Design und die Implementierung des neuen Produkts beeinflussen.

  • Zwischen den Wochenenden, an denen BASE mit Bullen springt und läuft, fahren aufregende Manager gerne zur Arbeit und fragen sich, ob noch alles zur Hölle gegangen ist.

  • Vermeidet feindliche Übernahmen. Wer möchte ein Softwareentwicklungs-Outfit erwerben, das auf diese Weise verwaltet wird?

Gibt es weitere Gründe für die Quellcodeverwaltung, die ich meinem Arsenal hinzufügen könnte?

  • Sie führen bereits eine Versionskontrolle durch, aber derzeit auf die am wenigsten effiziente, arbeitsintensivste und fehleranfälligste Weise, die Sie sich vorstellen können. Die Verwendung eines VCS spart Geld, Zeit und verbessert die Qualität.

  • Spart Speicherplatz. Die meisten Versionskontrollsysteme speichern nur die Deltas zwischen Dateien. Derzeit speichern Sie eine vollständige Kopie jeder Version jeder Datei. (Das Sichern all dieser Kopien muss viel Zeit und Platz in Anspruch nehmen!)

  • Mehrere Entwickler können gleichzeitig an derselben Datei arbeiten und die Unterschiede ohne großen Aufwand ausgleichen. Das Zusammenführen von Änderungen ist natürlich ohne ein VCS möglich, aber es ist fast unmöglich zu verfolgen, wer was, wann und warum in diesem Fall geändert hat.

  • Gibt Entwicklern die Freiheit, neue Ideen auszuprobieren und zu wissen, dass sie jede Version jederzeit wiederherstellen können.

  • Ein besserer Prozess erleichtert die Einstellung und Bindung talentierter Entwickler.

9
Caleb

Ist es normal, dass eine Gruppe dieser Größe keine Quellcodeverwaltung hat?

Nein, definitiv nicht. Als ich in meiner jetzigen Firma anfing, gab es eine Person, an die Sie Ihren geänderten Code senden sollten, und er würde ihn zusammenführen. Ich konnte alle innerhalb von Tagen davon überzeugen, SVN zu verwenden.

Bisher wurden mir nur vage Gründe für die fehlende Quellcodeverwaltung angegeben. Welche Gründe könnten Ihrer Meinung nach für die Nichtimplementierung der Quellcodeverwaltung angesichts der obigen Informationen gelten?

Ich denke, der Grund, warum Sie nur vage Gründe gehört haben, ist, dass es keine gültigen Gründe dafür gibt, die Versionskontrolle nicht zu verwenden.

Gibt es weitere Gründe für die Quellcodeverwaltung, die ich meinem Arsenal hinzufügen könnte?

Ja, es gibt viele Gründe.

  1. Durch die Verzweigung haben Sie die Möglichkeit, neue Funktionen zu entwickeln, ohne andere Entwicklungen zu beeinträchtigen.
  2. Bei jedem Commit erhalten Sie Informationen darüber, was genau geändert wurde, wer diese Änderung vorgenommen hat und wann diese Änderung vorgenommen wurde.
  3. Sie können problemlos Bugfixes festschreiben, diese für die Kunden bereitstellen und die unvollendeten neuen Funktionen weglassen.
  4. Sie können verschiedene Versionen verwalten, wenn Kunden Angst haben, zu einer neueren Version zu wechseln.
  5. Sie können problemlos an demselben Projekt (sogar an denselben Quelldateien!) Arbeiten.
  6. Sie können einen Fehler leicht rückgängig machen, indem Sie die Änderungen nach diesem begangenen Fehler beibehalten.
8
Geerten

Einige Menschen haben Schwierigkeiten zu erkennen, wie schlecht der Status Quo ist, bis sie etwas Besseres für sich selbst sehen. Was Sie brauchen, ist eine gute Demo. Zeigen Sie einige aktuelle Beispiele für Aufgaben, die verbessert werden könnten. "Ich habe 4 Stunden gebraucht, um unser aktuelles System aufzuspüren, aber dieser eine Befehl zur Quellcodeverwaltung hat es mir sofort mitgeteilt."

6
Karl Bielefeldt

Mein Unternehmen verwendet GIT zur Versionskontrolle. Das Unternehmen besteht aus einem Entwickler, einem CEO, einem Sicherheitsbeamten, einer Putzfrau und einer Empfangsdame. Alle von ihnen sind ich. Die Versionskontrolle ist jedes Mal ein MUSS.

Ich arbeite selbst an vielen Projekten und verwende immer noch die Versionskontrolle. Die Größe spielt keine Rolle. Es ist immer hilfreich, eine Versionskontrolle zu haben.

Es gibt einen Grund, warum es beim Joel-Test die Nummer 1 ist: http://www.joelonsoftware.com/articles/fog0000000043.html

Außerdem macht es # 2 und # 3 auf der Liste möglich.

5
Sarel Botha

Wenn Sie die Quellcodeverwaltung nicht verwenden, treten Probleme auf, selbst für einen Solo-Entwickler. Die einfache Tatsache, dass Sie rücksichtslos bearbeiten können, ohne das Risiko einzugehen, etwas zu verlieren, macht den Lernaufwand innerhalb von Wochen oder Tagen wieder wett.

Das heißt, wenn Sie Ihre Manager nicht davon überzeugen können, die Quellcodeverwaltung einzuführen, tun Sie sich selbst einen Gefallen und verwenden Sie zumindest etwas wie Git oder Mercurial vor Ort - wenn die Dinge aufgrund mangelnder Quellcodeverwaltung in die Luft jagen, werden Sie es zumindest nicht sein einer, der es getan hat.

5
tdammers

WTF?! Dies ist vielleicht die lächerlichste Frage, die ich je gesehen habe. Sie müssen einen neuen Job finden. 15 Entwickler?! Sie denken, das ist ein kleines Team? Das ist verrückt. Manager sollte sofort beendet werden. Ehrlich gesagt werde ich Albträume haben, nachdem ich diese Frage gelesen habe. Bitte teilen Sie uns das Produkt mit, das Sie verkaufen, damit wir alle wissen, dass wir es nicht kaufen sollen! Ich weiß nicht, was beängstigender ist, diese Frage oder Antworten, die besagen, dass dies nicht ungewöhnlich ist!

4
j-dog

Wir waren vor einigen Jahren in einer ähnlichen Position mit einem 6-köpfigen Team. Einer der Entwickler hat den Schritt unternommen, SVN auf einem Entwicklungsserver zu installieren, auf dem sich der freigegebene Ordner befand, und hat gerade damit begonnen, ihn zu verwenden.

Alle folgten diesem Beispiel und es dauerte nicht lange, bis wir CI ( CruiseControl ) implementierten und unseren Build- und Release-Prozess um Automatisierung und Qualitätsprüfungen revolutionierten.

4
marc

Ich kann mir nicht vorstellen, wie 15 Entwickler ohne Quellcodeverwaltung arbeiten können. Jedoch von:

(...) verwendet eine Netzwerkfreigabe, um den Quellcode zu hosten (...)

Ich gehe davon aus, dass Sie die Versionskontrolle Ihres eigenen armen Mannes wie VSS (ebenfalls basierend auf einem freigegebenen Ordner) erstellt haben. Es ist riskant und nicht effizient.

Erklären Sie Ihrem Chef, wie schlimm es ist, investieren Sie in ein zweitägiges SVN- oder GIT-Training und beginnen Sie mit der Verwendung eines echten Versionskontrollsystems, während Sie Ihren Code noch in einem vernünftigen Zustand haben.

3
Michał Šrajer

Wenn ich mich nicht mehrmals am Tag oder zumindest vor meiner Abreise nach Hause begebe, habe ich das Gefühl, dass ... etwas fehlt, etwas falsch ist.

Ich habe 1998 einmal in einer Firma mit nur 2 Entwicklern gearbeitet (ich + langhaariger Administrator). Schon damals haben wir svn verwendet. Es ist einfach so bequem.

Mehrmals in meiner Karriere habe ich einen Arbeitstag verloren, weil ich so etwas wie mv statt cp und dann rm -rf gemacht habe. Ich musste weinen und verzweifelt durch die Straßen der Stadt wandern.

Ich habe in meinen 13 Jahren in der SE in 5 Unternehmen gearbeitet, war auf einigen Konferenzen und bin nie auf ein Unternehmen gestoßen, das keine Versionskontrolle verwendet.

Mein Lieblingsunternehmen für Innenarchitektur, 20 Mitarbeiter, verwendet jedoch eine weiße Tafel für Projektmanagement und Zusammenarbeit. Sie wissen, dass es einfach falsch ist, aber sie scheinen keine Zeit für ein Upgrade zu finden. Irgendwie funktioniert es aber. Frag mich nicht wie.

3
me1974

Sei ein Anführer. Führer zu sein bedeutet, das Richtige zu tun. Probleme proaktiv lösen. Führung tut nichts, weil es nicht genug Konsens gibt. Und ein guter Führer lernt, Situationen zu erkennen, in denen man einen Konsens herstellen sollte und wann dies zu tun ist. Dies ist eindeutig eine Doing-Situation. Der Mangel an Code-Kontrolle wird früher oder später in Ihren Gesichtern explodieren.

Führungskräfte sind oft nicht in offiziellen Führungspositionen. Die Menschen werden guten, entschlossenen Führern folgen, unabhängig vom Titel.

Wenn Ihre entscheidenden Anstrengungen zunichte gemacht werden, insbesondere wenn sie vom Management stammen, ist dies ein klares Zeichen für Sie, um die Hölle loszuwerden. Dies wirkt sich negativ auf Ihre berufliche Entwicklung aus. und kompetente Entwickler und inkompetentes Management vermischen sich nicht, und eine inkompetente Leistung wird Sie verarschen.

OK, die Rückblenden kommen auf mich zu. Abmeldung. Viel Glück.

3
radarbob

LordScree, ich bin in einer fast identischen Situation wie Sie. Mein unmittelbares Team besteht aus ungefähr 15 Entwicklern. Ich bin ungläubig (fast entsetzt), dass die Quellcodeverwaltung nicht verwendet wird. Meine erste Antwort auf "Wir sollten die Quellcodeverwaltung verwenden" war "Wir haben keine Zeit für die Implementierung". Wie beim Tragen von Unterwäsche ist die Quellcodeverwaltung für mich nicht optional. Nach einigen Monaten habe auch ich die Genehmigung zur Implementierung von TFS, das von der Organisation ausgewählt wurde, da es sich um MS handelt und eine 90-Tage-Testversion enthält. Unterm Strich ist es sehr schwierig, eine Organisation von der Notwendigkeit der Quellcodeverwaltung zu überzeugen, wenn sie ohne diese Kontrolle herumgekichert hat. Ich sage Entwicklern, dass jedes Mal, wenn Sie Dateien sichern, insbesondere mit einem Datum im gesicherten Dateinamen oder Verzeichnis, ein Beispiel dafür ist, wann Sie etwas in die Quellcodeverwaltung einfügen. Ich habe keine brillanten Antworten für Sie, aber ich glaube, dass dies ungewöhnlich ist. Ich kämpfe den gleichen Kampf und werde Sie über den Fortschritt auf dem Laufenden halten. Und hoffentlich gibt es Fortschritte, sonst schaue ich woanders hin, weil ich nicht im Chaos arbeiten kann!

2
mmf
  1. Hol dir eine Stoppuhr,
    • Zählen Sie die Zeit, die Sie in der Tabelle verbringen, nur um Versionen zu synchronisieren
    • Zählen Sie die Zeit, die Sie für die Reparatur defekter Versionen aufwenden
    • zählen Sie, wie oft Leute im Flur schreien "ich bearbeite main.c!, nur um sicherzugehen, dass gerade niemand anderes da ist!".
    • zählen Sie die Anzahl der Beschwerden, die Sie von Kunden erhalten, da deren Bugfix andere Änderungen enthielt
    • zählen Sie die Zeitverzögerung der Veröffentlichung, nur weil Sie die Versionen nicht synchronisieren konnten
  2. Erstellen Sie eine PowerPoint-Datei mit diesen Daten und vergleichen Sie sie mit der Funktionsweise von VCS.
  3. Show Management
2
cctv

Dies ist nur ein Unfall, der darauf wartet, passiert zu werden. Sie haben keine Code-Historie und auf einen Schlag könnte einer Ihrer Entwickler monatelange Arbeit auslöschen. Als kleines Unternehmen kann man sich einen solchen Rückschlag nicht leisten.

Sie sind auch auf diesem Freigabe-Laufwerk sehr exponiert. Wie lange können Sie es sich leisten, trotz eines guten Backups nicht zu arbeiten? 1 Stunde, 1 Tag, 1 Woche. Wie lange würde es dauern, einen neuen Server einzurichten, aus dem Backup wiederherzustellen usw. Auch hier haben Sie als kleines Unternehmen wahrscheinlich keine zusätzliche Hardware im Standby-Modus und können das Geld möglicherweise nicht ohne weiteres fallen lassen, um einen beschleunigten Versand usw. zu erhalten.

Denken Sie auch an externe Speicher. Eine Flut oder ein Feuer ist nicht wirklich so ungewöhnlich. Was würde passieren, wenn es nach Stunden ein Feuer im Gebäude gäbe? Wie viele Monate Arbeit würden verloren gehen. Ein verwaltetes Code-Repository wie github wäre dafür wertvoll. Selbst die Verwendung eines einfachen SVN-Servers in einem gehosteten Dienst wäre in diesem Bereich ein Schritt nach oben.

2
Bill Leeper

Bei meinem ersten ernsthaften Job im Jahr 1990 war ich der einzige Entwickler in meiner Abteilung und wusste nicht, wie man die Quellcodeverwaltung verwendet.

Ziemlich bald danach erfuhr ich, dass ich von da an noch nie ein Projekt gesehen habe, das es nicht zu einem der ersten Dinge gemacht hat, die sie eingerichtet haben.

Ich habe fast meine ganze Arbeit bei diesem Job verloren, weil ich einen Ordner auf der falschen Ebene gelöscht habe. Glücklicherweise hatte ich in der Woche zuvor eine Kopie auf einer 5-Zoll-Diskette nach Hause gebracht und konnte die Wochenarbeit in ein paar langen Tagen neu erstellen.

Ich denke, ich würde es für akzeptabel halten, wenn es das erste Projekt für alle im Team wäre und niemand es besser wüsste, aber wenn auch nur eine Person die Vorteile erklären könnte und das Team immer noch nicht zuhört, würde ich mein Projekt neu kategorisieren Die Meinung der Gruppe von "naiv" zu "gefährlich inkompetent" (Der Widerstand gegen die Verwendung eines Tools mit so weit verbreiteten Vorteilen ist fast kriminell - es ist, als ob Ihr Team "Compilern" nicht vertraut und darauf bestanden hätte, alles in Assemblersprache zu tun ).

1
Bill K

Ich habe mich viel damit beschäftigt ... in kleinen Maschinenbau-/Elektronikunternehmen, in denen sie viel eingebettete Software/Hardware herstellen.

An diesen Orten ist SCM nicht Teil der Kultur der Elektrotechnik. Normalerweise haben sie einen Ingenieur pro Projekt, der nur die neueste Version sichern muss.

Das Verzweigen/Zusammenführen und sogar das Teilen von Code wird daher als irrelevant angesehen. Auch diese Unternehmen sind wahrscheinlich ISO9000, so dass der Prozess, albiet seltsam, wahrscheinlich dokumentiert ist.

Auf jeden Fall habe ich/andere Entwickler gerade angefangen, SCM persönlich zu verwenden.

1
msr

wir haben 3 Mitarbeiter in der Entwicklung und verwenden die Quellcodeverwaltung. Bei meinen persönlichen Projekten habe ich einen Entwickler und verwende die Quellcodeverwaltung. Es ist nicht nur nützlich für das Teammanagement, es ist auch nützlich, um experimentelle Arbeit zu leisten, ohne befürchten zu müssen, etwas zu zerstören.

Der einfachste Weg, das Management zu überzeugen? Das Gesamtprodukt ist weniger gefährdet und erhöht langfristig die Entwicklerproduktivität. Beides ist auch wahr und beide sprechen Manager an.

1
Nicholas Smith

Es ist keineswegs ein normales Szenario, und ich denke, Sie sollten einen harten Kampf führen, um dieses Setup in Ihrem Unternehmen zu erhalten. Es hat weitreichende Vorteile und hat keinen Sinn, dasselbe zu realisieren, wenn Sie sich dem Weltuntergang nähern, und es ist nicht die Situation, die unter Wenn es nicht kaputt ist, beheben Sie es nicht

Jeder Grund, es nicht umzusetzen, könnte nur eine Entschuldigung für schlechte Arbeit oder einen Fehler sein, der darauf wartet, passiert zu werden.

Sagen Sie ihnen einfach, wie großartig es ist, zu finden , was die App am 1. Januar dieses Jahres war

wie wäre es mit Hey, diese Funktionalität wurde im März hinzugefügt. Ich denke, wir müssen dies etwas weiter ausbauen.

Wow, dieser Fehler 154256 wurde in diesem Commit behoben.

Ich kann die App verzweigen und die Bereitstellung senden, kein Problem, Leute, die ihr weiterarbeiten könnt.

Dies kann immer weiter gehen ... (Denken Sie daran, später Kommentare zu Commits hinzuzufügen, die sonst als weitere Frage eingehen würden.)

1
V4Vendetta

Ich verwende die Versionskontrolle für meine Ein-Mann-Projekte und meine Arbeitsprojekte, bei denen mehr als 30 bis 40 Personen gleichzeitig an demselben Code arbeiten. Die Versionskontrolle hat ihre organisatorischen Vorteile, aber die Möglichkeit, Dateien zurückzusetzen und Änderungen zu speichern, kann die Verwaltung von Code erheblich erleichtern ... und am Ende ist dies das beste Szenario für einen Programmierer, sodass er sich nur auf das Codieren konzentrieren kann.

1
tori

Die Gründe für die Nichtverwendung der Versionskontrolle sind recht begrenzt. Ich kann mir nur den technischen Aspekt der Dinge vorstellen.

  • Es gibt zu viel Lernaufwand, um den Workflow Ihres gesamten Personals so zu konvertieren, dass ein Versionsverwaltungssystem integriert wird, um kostengünstig zu sein.
  • Ihr Projektmanager ist nicht der Meinung, dass es vorteilhaft wäre, den Overhead in den Workflow für die Verwaltung und Wartung eines Repositorys einzubeziehen. (In erster Linie ein Problem mit älteren Versionierungssystemen)

Es gibt viele Gründe, ein Versionierungssystem zu verwenden. Hören Sie zumindest auf, Dinge zu bewegen. Arbeite mit Patches. Versionierungssysteme können genau das tun, was Sie sagen.

  • Sie können an der nächsten Version arbeiten, während Sie Fehlerbehebungen durchführen, und diese separat veröffentlichen.
  • Anstatt Dateien von einem Speicherort an einen anderen zu verschieben, um daran zu arbeiten, können Sie einen Zweig erstellen und ihn nach Abschluss mit dem Master zusammenführen.
  • Jeder Entwickler kann eine eigene Kopie des Quellcodes haben, um zu verhindern, dass Probleme mit demselben Projekt auf mehreren Computern auftreten.
  • Unfälle passieren, wenn der Code schwer beschädigt wird. Alles, was Sie tun müssen, um auf die letzte funktionierende Revisionsnummer zurückzusetzen.
  • Die Versionskontrolle funktioniert gut in Kombination mit Bug-Trackern und kontinuierlichen Integrationssystemen.

Ich persönlich verwende als Ein-Personen-Team Versionierung, Fehlerverfolgung, kontinuierliche Integration, Codeüberprüfung, Überprüfung der Codekonsistenz, Komponententests, Selentests, Quellcode-Analyse und möglicherweise vergesse ich noch mehr. Ich gebe zu, es gibt eine leichte Lernkurve. Es gibt auch einen Kompromiss zwischen zusätzlicher Verwaltungszeit, die für die zusätzlichen Schritte erforderlich ist, die Sie automatisieren. Nach meiner Erfahrung überwiegt der eingesparte Aufwand die zusätzliche Verwaltungszeit.

1
Steve Buzonas

Wow einfach wow. Ich glaube zwar nicht, dass dies der beste Weg ist, um mit der Codesteuerung umzugehen, aber es ist nicht ganz ungewöhnlich, dass ich in einem Unternehmen mit 6 Entwicklern gearbeitet habe und keine Quellcodeverwaltung verwendet wurde. Sie hatten eine eigene interne Art der Dateiverwaltung, einen Release-Manager und was nicht würde alle Änderungen überwachen. Tatsächlich lautete das Mantra, dass neue Funktionen zu Projekten hinzugefügt werden konnten, solange eine Art Schalter um die Funktionalität gewickelt war.

Zum Beispiel haben wir an einem sozialen Netzwerk der Klasse in PHP) gearbeitet, und der Client wollte, dass die Funktionalität ein Benutzerprofil abonnieren kann. Grundsätzlich wurde die Funktionalität in eine Prüfung wie diese eingeschlossen, wenn (ENABLE_SUBSCRIBE_FUNCTIONALITY) == true) {dann den Code ausführen}

An dem Ort, an dem ich auch gearbeitet habe, arbeitete nie mehr als ein Entwickler gleichzeitig an einer bestimmten Datei. Meistens war alles modular aufgebaut, sodass in diesem Fall keine Quellcodeverwaltung erforderlich war. Ich glaube jedoch, dass die Vorteile der Quellcodeverwaltung die Nachteile, die es in den meisten Fällen nicht gibt, bei weitem überwiegen.

Die Tatsache, dass Ihr Unternehmen auf Tabellenkalkulationen zurückgreift, in denen Dateiänderungen dokumentiert sind, und was geändert wurde, wenn etwas wie Git oder Subversion dies für Sie erledigen kann, ist absolut lächerlich.

0

Wo ich arbeite, haben wir das gleiche Problem. Ich versuche gerade, die Quellcodeverwaltung in "under the radar" zu schieben, um die gleichen Probleme zu umgehen, die Sie haben. Ich benutze Fossil für die Projekte, die ich persönlich entwickle.

Ich habe kürzlich einen Fossil-Server im Firmen-LAN eingerichtet, der jetzt noch praktischer ist. Ich hoffe, dass ich, wenn ich bei einigen kleineren Projekten die Nützlichkeit demonstriere, den Widerstand untergraben und uns vom Status Quo der Netzwerkordner entfernen werde.

Die wichtigsten Gründe, warum ich Fossil oder ein anderes VCS nicht verwendet habe, sind:

  1. Viele der "Programmierer" sind Skriptkinder und verstehen nicht, wie man es benutzt
  2. Diejenigen, die lernen könnten, halten es für ein Ärgernis, es zu benutzen
  3. Diese Leute sind die alte Garde, die mit den Netzwerkordnern vertraut ist, also sollte es jeder sein
  4. Niemand hat Zeit, es richtig einzurichten oder zu lernen, wie man es benutzt
  5. Die Funktionen sind zwar großartig, aber keine davon ist erforderlich

Wie Sie sehen können, versuche ich, diese zu umgehen, indem ich demonstriere, dass es einfach zu bedienen, bereits eingerichtet, leicht zu erlernen und die Funktionen absolut wert sind.

Selbst wenn Sie sie nicht dazu bringen, die Quellcodeverwaltung zu verwenden, befindet sich alles in einem Netzwerkbaum. Fossil kann die Version alles Im gesamten Baum anzeigen, und Sie können sie so einrichten, dass sie bei jeder Dateiänderung oder mindestens jede Stunde ausgeführt wird. Ich habe das für einige unserer Projekte getan, die "keine Quellcodeverwaltung benötigten", und es hat mir schließlich ermöglicht, auf eine gute Version zurückzugreifen, wenn etwas schief gelaufen ist.

Mach es richtig und sie werden nicht einmal wissen, dass du es getan hast. Dann können Sie der Held sein, der den kaputten Build wiederherstellt. und zeigen, wie nützlich Ihr Werkzeug ist.

0
Spencer Rathbun

Es scheint, dass Sie einige davon überzeugt sind, aber jemand in der Organisation ermächtigt Sie nicht dazu. Wie Sie aus den anderen Kommentaren lesen können, sollten Sie es tun.

Einige Informationen finden Sie hier: http://www.internetcontact.be/scm/?page_id=358

Der wichtigste Faktor ist, dass Ihre Kunden in die letzte "instabile" Filiale gezwungen werden. Wenn Sie aufgrund Ihrer Verträge mit Ihren Kunden für die Bereitstellung instabiler Versionen verantwortlich sind, verliert Ihr Unternehmen Geld. Sie sollten sich hier wirklich auf die Release-Stabilität konzentrieren. Dies ist der Hauptgrund für die Quellcodeverwaltung und wie es scheint, Ihr Hauptfehler. Die anderen werden durch die Verwendung der Quellcodeverwaltung nicht so stark verbessert, da bereits alternative Systeme vorhanden sind.

0
Yves

Jetzt, da DVCS-Tools wie Git und Mercurial verfügbar und unglaublich einfach einzurichten und zu verwenden sind, gibt es auch für ein 1-köpfiges Team (!) Keine Entschuldigung, die Quellcodeverwaltung nicht zu verwenden. Es geht nicht um die Größe des Teams, sondern darum, einen Kommentarverlauf Ihrer Änderungen zu haben und Workflows zu unterstützen, z. B. Produktionsprobleme zu beheben, während an einer neuen Version gearbeitet wird, und den Status des Quellcodes für verschiedene Versionen zu verfolgen.

Wenn mir ein Job in einem Team angeboten würde, das diese Größe erreicht hätte, und keiner der Entwickler vorgeschlagen hätte, ein VCS zu verwenden, oder wenn das "Management" sie daran gehindert hätte, würde ich ihn flach ablehnen. Es ist heutzutage einfach keine akzeptable Arbeitsweise.

0
Martin

Sie sollten sich sofort eine GIT-Versionskontrolle zulegen. Sie können es sogar über Google Code Project Hosting verwenden. Wenn die anderen sehen, dass Sie Änderungen mit nur einem Klick festschreiben, während sie Dinge manuell kopieren, ändern sie möglicherweise ihre Meinung dazu.

0
Mister Smith