from agile project management to continuous integration · gitflow feature branches: are allowed to...

22
© Authentic Vision 2014 v v v From Agile Project Management to Continuous Integration Thomas Bergmüller

Upload: others

Post on 23-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v v v

From Agile Project Management

to Continuous Integration Thomas Bergmüller

Page 2: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Übersicht

• Produkt & Authentic Vision

• Anforderungen an PM

• Von der Versionsplanung zur fertigen App

• Ausgewählte techn. Aspekte zur Anwendung von APM

• Schnittstelle PM <> Programmierer

• Parallele Quelltextorganisation

• Auflösen von Abhängigkeiten

• Quelltextabhängiges Deployment

2

Page 3: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Das Produkt

• Fälschungsproblem (653,77 Mrd jährlich [1])

Konsumenten können Fälschungen nicht von Originalen

unterscheiden

• Lösung

• Echtheitsprüfung mittels nicht kopierbarem Ettikett

• Auswertung mit Smartphone App

3 [1] http://www.havocscope.com/category/counterfeit-goods

Page 5: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Das UniqueLabel

• Maschinenlesbarer Code (QR-Code)

• + Zufälliges Hologramm

• App authentisiert die zufälligen optischen Eigenschaften

des Hologramms

5

QR-Code

Hologramm

Page 6: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Am Anfang…

6

Page 7: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

About Authentic Vision

7

Gegründet im Oktober 2012 als Spin-off der FH

Salzburg

Authentic Vision vereint die Innovationskraft

von 16 Angestellten and mehr als 25 Experten

in Universitäten, Unternehmen und

Organisationen.

Patentgetrieben

Partner der World Customs Organization

(WCO)

Unterstützt durch Dolby Family Ventures

Erster internationaler Kunde

Josef-Mayburger-Kai 114

5020 Salzburg

Austria

Page 8: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Anforderungen an PM

• Produkt in Entwicklungsphase (Start-up)

• Schnelle Reaktion auf Kunden- und Marktanforderungen

• Externe Entwickler

• Ort- und zeitflexibel

• Selektion und Priorisierung von Innovationen

• Paralleles Prototyping und Operativer Betrieb

• Breites Spektrum an spezifischen Vertriebsapplikationen

• Schnelles und nachvollziehbares Ausliefern

8

Page 9: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Technische Anforderungen

• Effektive Kommunikation zw. Development und PM

• Mapping Binary <> Quelltext

• Parallele Entwicklung am gleichen Quelltext für

• Prototyping

• Operativen Betrieb

• Externe Entwickler erhalten keinen Sourcecode.

• Abhängigkeiten einzelner Systemkomponenten

Inter-Versionskompabilität

9

Page 10: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Review

Welches Projektmanagement verwenden wir denn???

10

Page 11: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Beispiel: Mobile App

• Mobile Applikationen werden extern entwickelt

• Prototypen werden intern entwickelt

• AvCore (“patentierte Schlüsseltechnologien”) wird als Bibliothek von

allen mobilen Applikationen verwendet

11

libAvCoreIos.a (iOS) libavcoreandroid.jar avNative.so (Android)

Version 4.3.1 beta

Version 4.2.0 Rev c

Version 4.0 Version 4.0 Version X

Page 12: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

AV Prozess

12

Entwickler (intern und extern)

Produkt & Projektm.

“Agile Tool”

Dependency Server (online)

Buildsystem Multi-architecture cluster, online

Version Control System online

Betatester, Vertrieb Kunden und

Konsumenten

Commits

Tickets Tasks, Bugs, …

Versionsplanung Tickets, Sprints

Continuous Integration Build on commit, Version bumps, check dependencies

Page 13: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Projektstruktur (JIRA)

• Komponente des Systems => Projekt

• Verschiedene Projektleiter (“traditionell”)

13

Page 14: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

JIRA: AvCore Agile View

14

Page 15: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

JIRA: Developer Dashboard

15

Page 16: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Situationsbeispiel

16

Neuer Core 4.2.0 <FeatureList>

Create Tickets “Integrate AvCore 4.2.0”

Get 4.2.0 dependency Via avkit system

iOS Ivan

AvCore Thomas

Android Igor

Prototypes Manuel

PM Ivar

Push

Build Libraries

Page 18: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Gitflow

Feature Branches: Are allowed to

have links to deps created of any

commit.

Develop Branches: Are allowed to

have links to deps of any commit on a

develop branch, release preparation

branch or master branch.

Release Preparation Branches: Are

allowed to have links to deps of any

commit on a release preparation

branch or master branch.

Master Branches: Are allowed to

have links to deps of any commit on a

master branch.

18

Page 19: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

AvKit: Abhängigkeiten auflösen

• Konfiguration über project.conf

• avkit/dependency.sh holt Abhängigkeiten vom Server

• Softlinks (Linux) um Bibliotheken an entsprechende

Stelle zu linken

19

dependency[0]=”avcore,develop,1b3a3f4"

Page 20: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

AV Prozess

20

Entwickler (intern und extern)

Produkt & Projektm.

“Agile Tool”

Dependency Server (online)

Buildsystem Multi-architecture cluster, online

Version Control System online

Betatester, Vertrieb Kunden und

Konsumenten

Commits

Tickets Tasks, Bugs, …

Versionsplanung Tickets, Sprints

Continuous Integration Build on commit, Version bumps, check dependencies

Page 21: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

AV Build & Deploy

21

Dependency Server (online)

Buildsystem Multi-architecture cluster, online

Betatester, Vertrieb Kunden und

Konsumenten

Continuous Integration Build on commit, Version bumps, check dependencies

• Build abhängig von Git-Branch • Branchabhängiges Ausliefern

• release-* -> Hockey • master -> Stores • Develop -> Dependency

Page 22: From Agile Project Management to Continuous Integration · Gitflow Feature Branches: Are allowed to have links to deps created of any commit. Develop Branches: Are allowed to have

© Authentic Vision 2014

v

© Authentic Vision 2014

Fragen?

22