Wie eine moderne Entwicklungsorganisation aussieht

Ich arbeite für ein Startup in San Francisco. Was wir im Silicon Valley verwenden, ist nicht unbedingt ein Hinweis auf die gesamte Branche. Deshalb habe ich ein paar Freunde, die in der Branche verteilt sind, informell gefragt, welche Tools sie verwenden, um herauszufinden, welche Tools eine moderne (aber nicht Silicon Valley) Entwicklungsorganisation verwendet.

Zugegeben, wenn Sie sich in einer grauen Kabinenfarm befinden - oder, schlimmer noch, in einer beigen Kabinenfarm -, befinden Sie sich möglicherweise nicht auf dem neuesten Stand der Technik, sodass Ihre Laufleistung variieren kann. Wenn Sie Microsoft nur fragen: "Was sollen wir kaufen?" Andererseits kann Ihr Kilometerstand variieren, aber selbst Microsoft erkennt, dass Git König ist und unsere Welt immer vielfältiger wird, was es schwieriger macht, sich dem Entwicklungs-Tool-Stack eines einzelnen Anbieters zu widmen. Es ist heute eine vielsprachige Welt, wenn es um Entwicklungswerkzeuge geht.

Wenn Sie versuchen zu sehen, wo Sie sich in Bezug auf andere befinden, zeigt Ihnen dieser Artikel. Wenn Sie einen neuen Shop eröffnen möchten und sich fragen: "Was machen alle anderen und wohin sollen wir gehen?" dann wird es dir auch das zeigen.

Klar ist, dass moderne Entwicklungsorganisationen - selbst solche, die sich für ein bisschen altmodisch halten - nicht mehr so ​​aussehen wie vor einigen Jahren. In naher Zukunft werden wir einen sehr Container / maschinellen Lernort haben und vielleicht sogar Chatops-gesteuert sein. Schließlich waren Scrums und Devops vor nicht allzu langer Zeit weltraumfremde Konzepte.

Was ist in modernen Entwicklungsorganisationen üblich?

Die folgenden Dinge sind bei den meisten Menschen, mit denen ich gesprochen habe, üblich. Sie repräsentieren den nicht aspirationalen Zustand der Softwareentwicklung.

E-Mail ist tot, Slack ist König

Im Ernst, nichts hat so schnell breite Akzeptanz gefunden wie Slack. Sicher, einige Orte verwenden HipChat oder andere Slack-ähnliche Dinge, aber Slack ist die Art und Weise, wie Organisationen heutzutage arbeiten. Sie sind gesprächig und jetzt ist der Chat durchsuchbar.

PCM und CVS sind tot; Alle begrüßen Git und GitHub

Früher waren Code-Checkins schwierig und Sperren pessimistisch. Ich habe an globalen Projekten gearbeitet, bei denen das Einchecken über ein transatlantisches Kabel ewig gedauert hat. Und lassen Sie uns nicht über Kassen sprechen.

Jetzt ist die Revisionskontrolle verteilt und Git - obwohl wesentlich schwieriger zu verwenden als frühere Tools - war ein solcher Schritt nach vorne, dass Git eine vollständige Dominanz erreicht hat. \.

Jeder hat einen Mac

Ich bin ein widerstrebender Mac-Benutzer. Wenn es nach mir ginge, würde ich Ubuntu Linux auf besserer Hardware ausführen. Mein vom Unternehmen bezahlter Computer ist jedoch ein Mac. Und ich bin nicht allein. MacOS ist schneller, wenn auch aufgeblähter und umständlicher als Windows, und ich habe alle meine bekannten Tools wie SSH, aber ich vermisse immer noch Linux.

Jira ist immer noch unser aufgeblähter König

Jira altert möglicherweise und es gibt möglicherweise Alternativen wie BaseCamp und das Open Source Open Project. Aber Jiras Stärke ist, dass du nicht gehst, wenn du dabei bist. Du bist schon damit vertraut. Es hat einen Marktplatz für erweiterte Funktionen. Es passt in die meisten Dinge und die meisten anderen Dinge unterstützen es.

Jenkins dient uns immer noch

Es gibt Upstarts wie Travis-CI und die Rans wie Jira-Creator Atlassians Bamboo, aber am Ende ist Jenkins immer noch an der Spitze unserer kontinuierlichen Integration und Bereitstellung in unserer Testumgebung.

AWS ist da, wo es ist

Amazon Web Services ist nicht die günstigste Cloud-Plattform. Es ist nicht so einfach zu bedienen. Aber es ist mit Sicherheit das umfassendste und es ist das, was die meisten Menschen kennen. Ich habe Leute mit Google Compute Engine oder Microsoft Azure getroffen. Ich habe sie selbst für Projekte verwendet, aber standardmäßig wird AWS als Plattform verwendet.

Die interne Plattform ist weiterhin VMware

Für Entwickler hinter der Unternehmensfirewall, bei der die Cloud nur ein Traum ist, sind sie immer noch auf VMware und erledigen die Dinge auf VMware-Weise. Die Bereitstellung ist immer noch eine Wartezeit und die SAN-Leistung ist immer noch unvorhersehbar.

Agile Entwicklung ist meistens scrum-ish

Jeder macht so etwas wie Scrums, aber nicht genau Scrums, und nur wenige sind zu Recht davon überzeugt, dass sie agil richtig handeln oder dass ihre „Agilität“ wirklich agil ist - und weder „Cargo-Kult-Agilität“ noch Chaos mit einem anderen Namen.

Disziplin, Projektmanagement und Produktmanagement sind immer noch unterqualifiziert, unterkompensiert und unterbelohnt.

Was ist der Trend in modernen Entwicklungsorganisationen?

Es gibt viele hochmoderne Praktiken, über die wir in diesem Hafen sprechen - Entwickler, Docker-Container, Kubernetes-Container, Windows-Container, Cloud-Entwicklungsplattformen (PaaS), Omnidevice-Entwicklung, maschinelles Lernen, neue Sprachen wie Kotlin und Google Go usw. (noch) nicht weltweit angenommen.

Behälter

Ob Docker oder sein möglicher Erbe Kubernetes, nicht jeder benutzt Container.

Erstens, wenn Sie fast die ganze Zeit unter Last sind, ist die Ausführung unter AWS mit einem Mehraufwand verbunden. Ihr Kostenvorteil entsteht nur, wenn Sie tatsächlich Ressourcen gemeinsam nutzen können.

Zweitens macht die Verwendung von Containern Ihre Software wartbarer, aber auch Ihren Erstellungs- und Bereitstellungsprozess langsamer und komplizierter.

Maschinelles Lernen

Der schwierige Teil besteht darin, herauszufinden, wo Sie maschinelles Lernen (eine Teilmenge künstlicher Intelligenz) verwenden können, und die Daten in ein Format zu mischen, in dem Sie maschinelles Lernen verwenden können.

Einige Leute verwenden es unter dem Deckmantel von Produkten, die sie kaufen, aber sie verfügen nicht über das datenwissenschaftliche Fachwissen, um seine Nützlichkeit zu beweisen. Außerdem hat ein Mangel an Fachwissen auf dem Markt die Akzeptanz des maschinellen Lernens gedämpfter gemacht, als der Hype vermuten lässt.

Chatops

Die Leute interessieren sich für Chatops, aber niemand, mit dem ich gesprochen habe, tut es noch.