© Authentic Vision 2014 v v v From Agile Project Management to Continuous Integration Thomas Bergmüller
© Authentic Vision 2014
v v v
From Agile Project Management
to Continuous Integration Thomas Bergmüller
© 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
© 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
© Authentic Vision 2014
v
© Authentic Vision 2014
Authentic Vision App - Video
4
http://www.authenticvision.com/fileadmin/authentic-
vision/files/Video/authenticvision-20141219.ogv
© 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
© Authentic Vision 2014
v
© Authentic Vision 2014
Am Anfang…
6
© 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
© 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
© 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
© Authentic Vision 2014
v
© Authentic Vision 2014
Review
Welches Projektmanagement verwenden wir denn???
10
© 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
© 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
© Authentic Vision 2014
v
© Authentic Vision 2014
Projektstruktur (JIRA)
• Komponente des Systems => Projekt
• Verschiedene Projektleiter (“traditionell”)
13
© Authentic Vision 2014
v
© Authentic Vision 2014
JIRA: AvCore Agile View
14
© Authentic Vision 2014
v
© Authentic Vision 2014
JIRA: Developer Dashboard
15
© 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
© Authentic Vision 2014
v
© Authentic Vision 2014
Gitflow
• Essenziell für
Versionskompabilität und
Builds
• Struktur erzwingt Testen
• Rapid Prototyping
parallel möglich (feature
branches)
• Pro Public Release
1 Commit / Tag
17
Adaptiert von Vincent Driessen http://nvie.com/posts/a-successful-git-branching-model/
© 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
© 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"
© 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
© 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
© Authentic Vision 2014
v
© Authentic Vision 2014
Fragen?
22