SlideShare a Scribd company logo
1 of 79
Download to read offline
STAY CALM
AND
KEEP
SHIPPING
Florian Bürger
50% von superflomo
/ α @florianbuerger
iOS (iPhone OS) Entwickler seit Beginn
Wer sind wir?
Moritz Haarmann
50% von superflomo
/ α @derwildemomo ( :-) )
Android, iOS, Rails..
Wer sind wir?
STAY CALM
Der tägliche Krieg des Entwicklers
Die Tools
Faulheit als Tugend
Open Source Zeug
benutzen!
Fork, Improve & Contribute.
not invented here
Ist totaler unfug
cocoapods
wenig Entwickler verstehen
git submodules/subtrees
cocoapods
Komplexes Project /
Linker Setup in Xcode
Add the ReactiveCocoa repository as a submodule of your
application's repository.
Run script/bootstrap from within the ReactiveCocoa
folder. (git submodule update --init --recursive)
Drag and drop ReactiveCocoaFramework/
ReactiveCocoa.xcodeproj into your application's Xcode
project or workspace.
On the "Build Phases" tab of your application target, add
RAC to the "Link Binary With Libraries" phase.
• On iOS, add libReactiveCocoa-iOS.a.
• On OS X, add ReactiveCocoa.framework. RAC must also
be added to any "Copy Frameworks" build phase. If you
don't already have one, simply add a "Copy Files" build
phase and target the "Frameworks" destination.
Add $(BUILD_ROOT)/../IntermediateBuildFilesPath/
UninstalledProducts/include $(inherited)
to the "Header Search Paths" build setting (this is only
necessary for archive builds, but it has no negative effect
otherwise).
For iOS targets, add -ObjC to the "Other Linker Flags" build
setting.
If you added RAC to a project (not a workspace), you will
also need to add the appropriate RAC target to the "Target
Dependencies" of your application.
≠
pod install
echo
“ReactiveCocoa”
>> Podfile
Einsatz mit
Augenmaß
Pragmatischer Ansatz
Wann selbst entwickeln?
Lohnt sich der Aufwand?
Wann selbst entwickeln?
Verhältnis Zeit zu Aufwand zu Mehrwert
(gegenüber Open Source Lösung)
Entwicklungs-Prozess
Konventionen
Veröffentlichung /
Testing / Entwicklung
getrennt
master == live
development /
feature branches
Teamfähigkeit
development /
feature branches
Nachvollziehbarkeit
Internes Projekt-Management
Das kleinste, funktionierende Tool
Internes Projekt-Management
So flexibel wie möglich
Ziel: Genaue Abstimmung
mit Kunden & zeitnahe
Lieferung
Agiles Entwicklungsmodell
Kleine Milestones,
oft wechselnde Anforderungen
Agiles Entwicklungsmodell
Anforderungs-Dokument
zu Anfang nicht ausreichend
Unsere Lösung: Basecamp
Diskussionen, Termine, Dateien, (E-Mails)
(Automatisierte) Tests
≠ TDD
(Automatisierte) Tests
Grundsätzlich falsche Einschätzung, was
Zeitaufwand betrifft
(Automatisierte) Tests
Spart Zeit!
Gibt Sicherheit!
Warum Tests?
Code-Qualität
Warum Tests?
Führt zu besserer Architektur
Spart richtig,
richtig viel Zeit.
Continuous
Integration
HockeyApp
1. Xcode - Product - Archive
2. Organizer - Distribute - Save To Disk
3. Mail an Tester
4. IPA iTunes Mediathek hinzufügen
5. Gerät mit iTunes synchronisieren
Klassischer Ablauf
1. Push in master
2. Unit-Tests laufen (Jenkins)
3. .ipa wird gebaut (Jenkins)
4. Testbuild hochladen (HockeyApp)
5. Tester benachrichtigen (HockeyApp)
Verteilung
Crash Reports
ipa build && ipa distribute
nomad-cli.com
Broken Window
Was einmal schlecht ist,
wird auch nicht mehr gut
Broken Window
Es gibt nich das ominöse „Wenn wir Zeit haben
Land“, in dem hässlicher Code schön gemacht wird.
Der/Die Entwickler(-in)
Wie arbeiten wir?
Keiner ist gleich und nicht für alle
funktionieren die gleichen Methoden.
Das ist gut.
Zeitfresser finden
Nur weil man etwas kann, heißt das nicht,
dass man es auch tun sollte.
Zeitfresser finden
Aufgaben dem jeweiligen Spezialisten überlassen
Zeitfresser finden
Verantwortung abgeben
The Zone
Die ersten 5 Minuten sind die schwierigsten
The Zone
Aufwand dorthin zu gelangen minimieren
The Zone
Kontextwechsel vermeiden
The Zone
Ablenkungen vermeiden
Wie?
Wie?
E-Mail Push klingt wichtig, ist es meist aber nicht
Wie?
Eine Mail kann i.d.R auch mal 3 Stunden warten
Wie?
@Mentions auch
Wie?
Geplante Zeit für E-Mail/sonst.
(Kunden-)Kommunikation
Wie?
Geplante Zeit für Prokrastination
KEEP SHIPPING
Pünktlich und das Richtige.
Geht das überhaupt?
Ja, denn
• Mobile-Projekte sind in der Regel
„überschaubar“
• Klar definiertes Produkt
• Probleme können früh identifiziert
werden.
Kundenbeziehungen müssen
gut sein.
Kunden haben
Probleme
Wir bauen Lösungen
Kunden erklären
Probleme
Wir erklären Lösungen
"If I had asked people what they
wanted, they would have said faster
horses."
Nicht Henry Ford
Aber bitte auf dem Boden bleiben.
Wir sind Experten.
Missverständnisse
zu Beginn klären!
IT/Business Alignment
Zentrales Thema
Anforderungen an
Kunden
• Definierte Verantwortlichkeiten
• Verbindlichkeit in Aussagen
• Professioneller Umgangston
Ist ja kein Ponyhof.
„Never attribute to malice that which is adequately
explained by stupidity.“
Hanlon‘s Razor
MDD
• Mockup-Driven-Development
• 3 Mockups reichen nicht, um das
Kundenproblem und seine Erwartung an
das Produkt zu verstehen
Der Benutzer
sollte im Mittelpunkt des Produkts stehen
Der Benutzer
Kann im Entwicklungsprozess wertvolle Beiträge
leisten!
Benutzer – Konzeption
• „Design by Management“ ist oft ein
verkehrter Ansatz
• Nutzer sind schwer zu finden, oft
organisatorische Hindernisse
• Goldgrube
Transparenz
• Hilft, Vertrauen zu schaffen, z.B. durch
• vollständigen Zugriff auf Quellcode
• Entwicklungsprozesse, Probleme klar
erklären
• Probleme (Zeit, Aufwand) früh und
unmissverständlich kommunizieren
Prototypen
• Kundenbeziehung auf Probe
• Sind wir der richtige Dienstleister?
• Hat der Kunde realistische Vorstellungen?
• Konstruktive Zusammenarbeit?
• Umfang: bis zu 10MT
Fazit
• Aufrichtiger Kommunikationsstil
• Gegenseitiger Respekt
• Geduld, sich wirklich mit dem Problem
des Kunden auseinanderzusetzen
• Führt meist zu guten Ergebnissen und
langfristiger Zusammenarbeit
ABER
Gelegentlich arbeiten
auch mal die flomos eine
Nacht durch.
Vielen Dank!
Fragen? Anregungen?
@superflomo
www.superflomo.com

More Related Content

What's hot

Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Sebastian Bauer
 
E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018Johann-Peter Hartmann
 
Software-Entwicklung Im Team
Software-Entwicklung Im TeamSoftware-Entwicklung Im Team
Software-Entwicklung Im TeamStephan Schmidt
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...Aberla
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefernMayflower GmbH
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 
12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg)
12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg) 12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg)
12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg) TANNER AG
 

What's hot (7)

Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
Mein Scrum ist kaputt | IPC17 SE & Webinale 2017
 
E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018
 
Software-Entwicklung Im Team
Software-Entwicklung Im TeamSoftware-Entwicklung Im Team
Software-Entwicklung Im Team
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 
12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg)
12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg) 12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg)
12. TANNER-Hochschulwettbewerb | Beitrag Team Kerchnawe (Hochschule Merseburg)
 

Viewers also liked

Mehr Nutzen, Weniger Interface
Mehr Nutzen, Weniger InterfaceMehr Nutzen, Weniger Interface
Mehr Nutzen, Weniger InterfaceMoritz Haarmann
 
Ifm AS Interface Prospekt Deutsch 2013
Ifm AS Interface Prospekt Deutsch 2013Ifm AS Interface Prospekt Deutsch 2013
Ifm AS Interface Prospekt Deutsch 2013ifm electronic gmbh
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedSlideShare
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakShelly Sanchez Terrell
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalAleyda Solís
 

Viewers also liked (6)

Mehr Nutzen, Weniger Interface
Mehr Nutzen, Weniger InterfaceMehr Nutzen, Weniger Interface
Mehr Nutzen, Weniger Interface
 
Ifm AS Interface Prospekt Deutsch 2013
Ifm AS Interface Prospekt Deutsch 2013Ifm AS Interface Prospekt Deutsch 2013
Ifm AS Interface Prospekt Deutsch 2013
 
Inaugural Addresses
Inaugural AddressesInaugural Addresses
Inaugural Addresses
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigital
 

Similar to Stay calm & keep shipping - iOS DevCon 2013

Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
WUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick WinsWUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick Winsguest60c1a2
 
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)eparo GmbH
 
FMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerFMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerVerein FM Konferenz
 
Responsive Content Experience
Responsive Content ExperienceResponsive Content Experience
Responsive Content ExperiencePeter Rozek
 
Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...
Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...
Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...Stephan Volmer
 
Agiles Anforderungsmanagement bei HEC
Agiles Anforderungsmanagement bei HECAgiles Anforderungsmanagement bei HEC
Agiles Anforderungsmanagement bei HECChristian Seedig
 
Design Pattern Libraries, Aufzucht und Pflege
Design Pattern Libraries, Aufzucht und PflegeDesign Pattern Libraries, Aufzucht und Pflege
Design Pattern Libraries, Aufzucht und PflegeWolf Brüning
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?HOOD Group
 
Large-Scale Product Owner @ XPDays Germany (5.10.2023)
Large-Scale Product Owner @ XPDays Germany (5.10.2023)Large-Scale Product Owner @ XPDays Germany (5.10.2023)
Large-Scale Product Owner @ XPDays Germany (5.10.2023)Pierluigi Pugliese
 
Beyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedBeyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedSebastian Bernt
 
DevOps day - feature teams
DevOps day  - feature teamsDevOps day  - feature teams
DevOps day - feature teamsWalter Strametz
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!JanWeinschenker
 
Clean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptxClean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptxkaftanenko
 
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungDas Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungOPITZ CONSULTING Deutschland
 
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernAgile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernSascha Böhr
 
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)Renate Pinggera
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenPhillip Oertel
 
NRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile ProjectsNRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile ProjectsRainer Stropek
 

Similar to Stay calm & keep shipping - iOS DevCon 2013 (20)

Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
WUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick WinsWUD 2009 Workshop: Quick Wins
WUD 2009 Workshop: Quick Wins
 
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
eparo – Quick Wins (Workshop WUD 2009 – Rolf Schulte Strathaus)
 
FMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerFMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan Rüdiger
 
Responsive Content Experience
Responsive Content ExperienceResponsive Content Experience
Responsive Content Experience
 
Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...
Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...
Bottom-up anstatt Top-down: Wie man eine einheitliche Architektur bei vielfäl...
 
Agiles Anforderungsmanagement bei HEC
Agiles Anforderungsmanagement bei HECAgiles Anforderungsmanagement bei HEC
Agiles Anforderungsmanagement bei HEC
 
Design Pattern Libraries, Aufzucht und Pflege
Design Pattern Libraries, Aufzucht und PflegeDesign Pattern Libraries, Aufzucht und Pflege
Design Pattern Libraries, Aufzucht und Pflege
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?
 
Large-Scale Product Owner @ XPDays Germany (5.10.2023)
Large-Scale Product Owner @ XPDays Germany (5.10.2023)Large-Scale Product Owner @ XPDays Germany (5.10.2023)
Large-Scale Product Owner @ XPDays Germany (5.10.2023)
 
Beyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedBeyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and Speed
 
PHP mit Paul Bocuse
PHP mit Paul BocusePHP mit Paul Bocuse
PHP mit Paul Bocuse
 
DevOps day - feature teams
DevOps day  - feature teamsDevOps day  - feature teams
DevOps day - feature teams
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Clean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptxClean Coding - Theorie und Praxis Guide.pptx
Clean Coding - Theorie und Praxis Guide.pptx
 
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungDas Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
 
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördernAgile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
Agile Teamarbeit - wie Startups Projekte managen und die Zusammenarbeit fördern
 
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen Projekten
 
NRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile ProjectsNRWConf 2013 - Effort Estimation in Agile Projects
NRWConf 2013 - Effort Estimation in Agile Projects
 

Stay calm & keep shipping - iOS DevCon 2013