Interview mit Jeff Fritz
06.06.2018, 10:22 Uhr
Die Entwicklung hin zur Mob-Programmierung
Developer-Week-Keynoter Jeff Fritz erklärt, wie die Softwareentwicklung im Team in den nächsten Jahren aussehen wird.
dotnetpro: Was ist Ihr Ihr Job bei Microsoft?
Jeff Fritz: Ich arbeite seit vier Jahren für Microsoft und mag meine Arbeit. Ich beschäftige mich mit Entwickler-Tools und Open Source und was diese für unsere Entwickler-Community bedeuten. Offiziell bin ich ein Programm-Manager mit Community-Fokus im .NET-Team. Ich bin dafür verantwortlich, dass bestehende .NET-Entwickler und Kunden die Informationen, Schulungen und Funktionen erhalten, die sie benötigen, um mit Visual Studio, Visual Studio Code und .NET erfolgreich zu sein. Das bedeutet, dass ich bei der Planung von Entwickler- und Unternehmensveranstaltungen wie Build, Ignite, .NET Conf und dem MVP Summit sowie von Entwickler-Community-Veranstaltungen wie globalen Schulungen helfe.
Jeff Fritz
ist Senior Program Manager in der Developer Division von Microsoft und leitet das ASP.NET Web Forms Team und arbeitet an einigen der neuesten Web-Technologien. Als langjähriger Webentwickler und Anwendungsarchitekt mit Erfahrung in großen und kleinen Anwendungen in einer Vielzahl von Branchen weiß er, wie man für Leistung und Funktionalität baut. Dienstags, donnerstags und samstags können Sie Jeff beim Schreiben von Code live im Internet unter live.jeffreyfritz.com beobachten. Sie können auch von Jeff auf Microsoft Virtual Academy und WintellectNow lernen, ihm auf twitter @csharpfritz folgen und seine Blogs unter jeffreyfritz.com und blogs.msdn.microsoft.com/webdev lesen.
Sie haben Ihren eigenen Kanal auf Twitch (https://www.twitch.tv/csharpfritz). Worum geht es in diesem Kanal?
Fritz: Der Kanal begann als kleines Experiment: Ich hatte ungefähr sechs Monate vor der nächsten Konferenz, auf der ich sprechen sollte und wollte meine Sprechfähigkeiten schärfen. Gleichzeitig wollte ich auch Spaß beim Erstellen von Anwendungen und Funktionen haben, die ich normalerweise während der Arbeitszeit nicht erstellen konnte. Auf meinem Kanal kann ich ein wenig präsentieren, während ich live programmiere und über die Anwendungen spreche, an denen ich arbeite. Ich habe diesen Ansatz erweitert, um auch die Paar-Programmierung (Pair Programming) mit Gästen und die Diskussion des von den Zuschauern eingereichten Codes zu ermöglichen. Mein Kanal ist eine einladende Umgebung und eine sehr unproblematische Möglichkeit für Leute, Fragen zu stellen und hoffentlich mit uns zu lernen.
Jeff Fritz hält die Keynote auf der Developer Week 2018, die vom 25. bis 28. Juni 2018 in Nürnberg stattfindet.
Zusätzlich habe ich begonnen, ganztägige virtuelle Workshops anzubieten, die ein Thema mit einer Reihe von Gastrednern vertiefen. Eine YouTube-Playlist meines letzten C#-Workshops finden Sie unter csharpworkshop.jeffreyfritz.com
Mein Twitch Channel ist meine persönliche Leidenschaft. Er soll Entwicklern das Lernen erleichtern.
Früher war Softwareentwicklung eine Sache für Einzelpersonen. In welcher Weise hat sich das Ihrer Meinung nach geändert?
Fritz: Agile Entwicklungspraktiken empfehlen die Umstellung auf Paar-Programmierung mit zwei Entwicklern, die sich einen Computer, eine Tastatur und eine Maus teilen. Dieser Ansatz soll die Qualität verbessern, indem zwei Köpfe gleichzeitig an einem Code-Abschnitt arbeiten. Selbst in traditionellen Programmierer / QS-Organisationen gab es zwei Leute, die an einem Code gearbeitet haben. Die zweite Person, der QS-Ingenieur, griff jedoch viel später im Prozess ein. Durch die Zusammenarbeit wesentlich früher im Prozess sollten wir in der Lage sein, Fehler oder Bugs zu reduzieren, was langfristig die Kosten für das Programm-Management senkt.
Die kollaborative Art der Programmierung vereinigt sich mit den Möglichkeiten der Paketmanager und leicht zugänglichen Open-Source-Bibliotheken. Jetzt können Sie Code, der von einem anderen Entwickler geschrieben wurde, noch einfacher als je zuvor wiederverwenden. Sie müssen sich dazu nur mit npm, NuGet, ruby-gems oder pear verbinden. Wir bezahlen nicht für diese Lösungen, aber wir profitieren von der nicht-kommerziellen Arbeit anderer Entwickler.
Hat agile Entwicklung etwas damit zu tun?
Fritz: Sehr sogar. Ich glaube, dass agile Entwicklungspraktiken die Art und Weise verbessern, wie wir unseren Kunden Anwendungen und Systeme zur Verfügung stellen. Die natürlichen Erweiterungen von agiler Praxis wie Continuous Integration und Continuous Deployment machen es einfacher denn je, unsere Anwendungen zu implementieren, zu testen und zu verwalten. Ich bin ein großer Fan davon, die das Operations-Personal zufrieden zu stellen.
Und dann ist da noch das DevOps-Ding. Was halten Sie davon?
Fritz: DevOps ist großartig. Vor meiner Zeit bei Microsoft leitete ich ein Entwicklungsteam bei einem webbasierten Startup-Unternehmen. Mir war es damals wichtig, meinen Datenbankadministratoren und Administratoren von Produktionsanwendungen immer die Werkzeug zur Verfügung zu stellen, die sie für die Verwaltung der Anwendung benötigten. Wurden Sie jemals wegen eines Produktionsproblem angerufen, während Sie mit Ihrem Ehepartner verabredet waren? Statten Sie also Ihre Administratoren mit Tools und Re-Deployment-Funktionen aus, und Sie erhalten von Ihren Kollegen etwas Liebe.
In Ihrer Keynote auf der Developer Week 2018 werden Sie dem Publikum erzählen, dass eine weitere Bewegung im Gange ist. Können Sie uns darüber etwas sagen?
Fritz: Wir sehen, dass sich die agile Methodik und die Paar-Programmierpraxis hin zu einer Mob-Programmierung entwickeln. Bei diesem Ansatz sitzt ein Entwickler am Keyboard und schreibt Code und andere beobachten ihn und bieten Vorschläge an. Die anderen Entwickler können einspringen und das Schreiben des Codes übernehmen.
Außerdem werden immer mehr Anwendungen und Tools als Open Source veröffentlicht. Es wird zum Standard, dass der Kunde Zugang zum Quellcode seiner Anwendungen erhält. Microsoft und andere große Technologieunternehmen veröffentlichen immer häufiger den Quellcode und ermöglichen den Communities, bei Bedarf einen Beitrag zu leisten oder die Software zu erweitern. Eine starke Gemeinschaft rund um ein Produkt ist sehr wertvoll für unsere Branche und ihr Wachstum.
Wird das Team also immer größer?
Fritz: Nein, ich würde nicht sagen, dass das typische Entwicklungsteam wächst, sondern sich in Zusammensetzung und Verantwortung verändert. Durch das gemeinsame Eigentum von Code und Produkt können sich Teams freier bewegen und organisieren, um ihre Geschäftsziele zu erreichen.
Was ist mit Open Source und dem Entwicklungsteam?
Fritz: Als Entwicklungsteam an Open-Source-Software zu arbeiten, ist eine spezielle Erfahrung. Wenn Sie dachten, Sie hätten schon Probleme mit Kunden, die sich über die Qualität Ihrer Anwendung beschweren, warten Sie ab, bis die sehen können, was Sie für Code schreiben. Sie beginnen wirklich darüber nachzudenken, was Sie schreiben und konzentrieren sich mehr auf die Qualität Ihres Codes, weil Sie wissen, dass die Community Ihren Code überprüfen wird. Ihre Community wird Ihren Code besser überprüfen, als es Ihr Team jemals tun wird. Diese verschiedenen Meinungen fordern Ihr Team zum Nachdenken heraus, und diese zusätzlichen Beteiligten werden für Sie auf lange Sicht sehr wertvoll sein.
Sie sind Teil des Entwicklungsteams von ASP.NET. Wie beeinflusst der neue Trend die Art und Weise, wie sich die Technologie weiterentwickelt?
Fritz: Unsere Teams arbeiten in selbstorganisierten Teamräumen mit großen Bildschirmen an den Wänden zusammen, so dass sie alle den Build-Status sehen, gemeinsam am Code arbeiten oder was auch immer sie benötigen. Die Teams sind sich bewusst, dass ihr Code mit der Welt geteilt wird, und wenn sie an der Entwicklung von Hochleistungscode arbeiten, sind sie sehr offen für Vorschläge und die Zusammenarbeit mit externen Entwicklern, um sicherzustellen, dass das beste Produkt geliefert wird. Tatsächlich kamen einige der größten Performance-Verbesserungen in ASP.NET Core von Entwicklern außerhalb von Microsoft.