Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico...

45
AIT GmbH & Co. KG Ihre Software effizienter entwickelt. VOM VERSTAUBTEM PAPIERSTAPEL ZUM SPICKZETTEL FÜR ENTWICKLER BORIS WEHRLE GELEBTE ENTWICKLUNGSRICHTLINIEN

Transcript of Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico...

Page 1: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

VOM VERSTAUBTEM PAPIERSTAPEL ZUM

SPICKZETTEL FÜR ENTWICKLER

BORIS WEHRLE

GELEBTE ENTWICKLUNGSRICHTLINIEN

Page 2: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ENTWICKLUNGSRICHTLINIEN

„Ein Programmierstil (engl. code conventions, coding

conventions, coding standards) ist in der Programmierung

das Erstellen von Quellcode nach bestimmten

vorgegebenen Regeln. Er gilt als Teilaspekt von

Softwarequalität, der insbesondere die Verständlichkeit und

Wartbarkeit von Software, dies sind Kriterien für

Softwarequalität gem. ISO/IEC 9126, unterstützen soll.“https://de.wikipedia.org/wiki/Programmierstil

3AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 3: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ENTWICKLUNGSRICHTLINIEN

4AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Softwarequalitäts-merkmale

(nach ISO 9126)

Funktionalität

Genauigkeit

Angemessen-heit

Inter-operabilität

Sicherheit

Benutzbarkeit

Verständlich-keit

Erlernbarkeit

Bedienbarkeit

Attraktivität

Wartbarkeit

Analysierbar-keit

Änderbarkeit

Stabilität

Testbarkeit

Portabilität

Anpassbarkeit

Installierbarkeit

Koexistenz

Austauschbar-keit

Effizient

Zeitverhalten

Verbrauchs-verhalten

Zuverlässigkeit

Robustheit

Fehlertoleranz

Wiederherstell-barkeit

Page 4: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ENTWICKLUNGSRICHTLINIEN

5AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 5: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ENTWICKLUNGSRICHTLINIEN

ZWECK

Erleichterung der Zusammenarbeit

Schnelle Einbindung neuer Mitarbeiter

Schaffung von Verbindlichkeit

Sicherstellung Qualität

Wartbarkeit

Analysierbarkeit

Verständlichkeit

6AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 6: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ENTWICKLUNGSRICHTLINIEN

7AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 7: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

PRINZIPIEN

Standards haben stets Vorrang

Reduzierung auf das Wesentliche

Lege nichts fest was nicht überprüft werden kann

Toolunterstützung wo immer möglich

Gemeinsame Festlegung im Team

Loslegen und ändern bei Bedarf

8AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 8: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

PRINZIPIEN

FORTLAUFENDE ÜBERPRÜFUNG DER EINHALTUNG

Was nicht überprüft wird, wird auch nicht eingehalten.

Verantwortung jedes einzelnen

Verantwortung im Team

9AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Ich prüfe selbst

Automatisierte

Überprüfung

Gegenseitige Überprüfung

Page 9: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

AUTOMATISCHE ÜBERPRÜFUNG DURCH DIE ENTWICKLUNGSUMGEBUNG

ICH PRÜFE SELBST

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 10

Page 10: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ICH PRÜFE SELBST

AUTOMATISCHE ÜBERPRÜFUNG DURCH DIE

ENTWICKLUNGSUMGEBUNG

Fortlaufend im Hintergrund

Unterstützung bei der Korrektur

Ich erkenne Fehler bevor es jemand anderes tut!

11AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 11: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

KOMPILER

SYNTAX, DOKUMENTATION

12AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Richtlinie: Keine Warnings

Page 12: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

CODE ANALYSE

NAMENSKONVENTIONEN, SICHERHEIT, …

13AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Richtlinie: Keine Warnings

Page 13: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

STYLECOP

NAMENSKONVENTIONEN, FORMATIERUNG

14AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Richtlinie: Keine Warnings

Page 14: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

LAYER DIAGRAM

Richtlinie:

Jede Projektmappe enthält ein Layerdiagramm

Keine Fehler bei der Validerierung

15AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 15: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

RESHARPER

16AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Richtlinie: Eine Klasse wir nur „grün“ verlassen

Page 16: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

DEMO

REGELSATZ

Festlegung des Regelsatzes

Statische Code Analyse

Style Cop

ReSharper

Apply Company Policy

https://www.nuget.org/packages/AIT.CompanyPolicy

https://github.com/AITGmbH/ApplyCompanyPolicy.Template

http://aitgmbh.github.io/ApplyCompanyPolicy.Template/

17AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 17: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

ÜBERPRÜFUNG ANHAND VON KENNZAHLEN

ICH PRÜFE MICH SELBST

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 18

Page 18: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ICH PRÜFE MICH SELBST

ÜBERPRÜFUNG ANHAND VON KENNZAHLEN

Klare Entscheidungskriterien

Zeitnahe Korrektur solange ich im Kontext bin

Ich erkenne Fehler bevor es jemand anderes tut!

19AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 19: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

CODE METRIKEN

Richtlinie: Wartbarkeitsindex > 60

Page 20: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

CODE COVERAGE

Richtlinie: Code Coverage > 40 %

Page 21: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

DUPLIKATSANALYSE

Richtlinie: keine Duplikate (Exact, Strong)

Page 22: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

KLASSENDIAGRAMM

Richtlinie: jedes Projekt enthält ein Klassendiagramm

Page 23: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

DEMO

KENNZAHLEN

Code Metriken

Code Coverage

Duplikatsanalyse

24AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 24: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

TOOLS, TOOLS, TOOLS

WENN DAS NICHT REICHT…

JSLint (JavaScript)

SonarLint (Roslyn)

PSScriptAnalyser (PowerShell)

Liste von Werkzeugen zur Statischen Code Analyse

25AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 25: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

TOOLGESTÜTZTE ÜBERPRÜFUNG IM BUILDPROZESS

AUTOMATISIERTE ÜBERPRÜFUNG

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 26

Page 26: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

CHECK-IN POLICIES

Richtlinie:

Kein Check-In ohne Work Item

Kein Check-In ohne Kommentar

Page 27: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AUTOMATISIERTE ÜBERPRÜFUNG

TOOLGESTÜTZTE ÜBERPRÜFUNG IM BUILDPROZESS

Kompiler

Statische Code Analyse

Style Cop

Layervalidierung

Unit- und Integrationstests

Code Coverage

Code Metrics

28AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 28: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

BUILDPROZESS

REPORTING

29AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

https://msdn.microsoft.com/library/dd380683.aspx

Page 29: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

SONARQUBE

30AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Plugins

Page 30: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AUTOMATISIERTE ÜBERPRÜFUNG

TOOLGESTÜTZTE ÜBERPRÜFUNG IM BUILDPROZESS

Reports geben eine gute Übersicht, aber…

Main Branch als Quality Gate

Nur geprüfter Code kommt in das Repository

31AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 31: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

BUILDPROZESS

Page 32: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

BUILDPROZESS

Page 33: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

REGELMÄßIGE GEGENSEITIGE REVIEWS

GEGENSEITIGE ÜBERPRÜFUNG

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 34

Page 34: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

GEGENSEITIGE ÜBERPRÜFUNG

Wechselnde Rollen

Fokus

Architektur

Testing

Implementierung

UI-Design

Termin und Timebox

Page 35: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

GEGENSEITIGE ÜBERPRÜFUNG

TEAM-QUALITÄT

Weitergabe von Wissen und Erfahrung

Neue Impulse und Denkanstöße

Eliminierung von Engpässen

Risiko-Minimierung durch Fehlentscheidungen einzelner

Personen

Page 36: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

ERARBEITUNG DER RICHTLINIEN

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 38

Page 37: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ERARBEITUNG DER RICHTLINIEN

VORGABE VON AUßEN

Automatisierung der Richtlinien soweit möglich

Erstellung eines Company Policy Packages

Integration In den Buildprozess

39AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 38: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

ERARBEITUNG DER RICHTLINIEN

FESTLEGUNG IM TEAM

Brainstorming

Einbeziehung aller Teammitglieder

Loslegen und bei Bedarf ändern

Konsistente Einstellung der Werkzeuge schwierig

40AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 39: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

BEISPIEL AIT

ENTWICKLUNGSRICHTLINIEN

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt. 41

Page 41: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

BEST PRACTICES

Standards haben stets Vorrang

Reduzierung auf das Wesentliche

Lege nichts fest was nicht überprüft werden kann

Toolunterstützung wo immer möglich

Gemeinsame Festlegung im Team

Loslegen und ändern bei Bedarf

Früh starten, sonst wird’s aufwändig!

43AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 42: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

WEITERFÜHRENDE INFORMATIONEN

Spickzettel für Entwickler

Entwicklungsrichtlinien auf einem Blatt

Effizient im Team mit Architektur- und Code-Reviews

Kurz, knackig und konstruktiv

AIT Apply Company Policy

https://www.nuget.org/packages/AIT.CompanyPolicy

https://github.com/AITGmbH/ApplyCompanyPolicy.Template

44AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 43: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

WEITERE VORTRÄGE VON AIT

01.10.2015 15:45, Gutenbergsaal 1

TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller

45AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Page 44: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

BESUCHEN SIE UNSEREN STAND

Holen Sie den

kostenlosen

AIT Debugger

46AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

Gewinnen Sie ein

Microsoft Band

Page 45: Basta - Gelebte Entwicklungsrichtlinien...TFS 2015: Build und Release der neuen Generation Nico Orschel, Marc Müller AIT GmbH & Co. KG –Ihre Software effizienter entwickelt. 45

AIT GmbH & Co. KGLeitzstr. 45, 70469 Stuttgart

www.aitgmbh.de

[email protected]

+49 711 49066430

BERATUNGAgile ALM und TFS

.NET und Architektur

ENTWICKLUNGDienstleister für individuelle

Lösungen mit .NET und Azure

© AIT GmbH & Co. KG – Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und

ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der Kennzeichnung kann nicht geschlossen werden, dass es sich bei einem Begriff oder einem Bild nicht um eine

eingetragene Marke oder ein eingetragenes Warenzeichen handelt.

AIT GmbH & Co. KG – Ihre Software effizienter entwickelt.

WIR UNTERSTÜTZEN SIE

47