Bachelor Project - Portalscg.unibe.ch/download/softwarecomposition/2019-10-01-Stulz... ·...
Transcript of Bachelor Project - Portalscg.unibe.ch/download/softwarecomposition/2019-10-01-Stulz... ·...
Alain Stulz / 2019
Presentation I – Introduction, Situation, Goals & Method
1. October 2019
Bachelor Project
Alain Stulz / 2019
Company Introduction
Full Service Digital Agency
2
Alain Stulz / 2019Apps with love / 2019
Alain Stulz / 2019
Company Introduction
Founded: 2010
Offices: Bern & Basel
Employees: 35
Nearshore & Freelance: 50+
App Store Uploads: 200+
4
Alain Stulz / 2019
Where We Began
5
Alain Stulz / 2019
“Festival Buddy”
6
Alain Stulz / 2019
Reuse Code
7
How To Create Many Apps
Efficiently?
Alain Stulz / 2019 8
Reuse Code
• Copy & Paste
How To Create Many Apps
Efficiently?
Alain Stulz / 2019 9
Reuse Code
• Copy & Paste
• Custom Framework
How To Create Many Apps
Efficiently?
Alain Stulz / 2019
More Features!
10
Alain Stulz / 2019
More Features!
11
POIs
Geofencing AnalyticsVideo Gallery
Survey
Twitter Feed
Splash Screen
Push
Locales
Alain Stulz / 2019
More Features!
12
POIs
Vector MapGeofencing
Beacons
Products
Exhibitors
Banner Ad
AnalyticsVideo Gallery
SurveyVouchers
Twitter Feed
Themes Splash Screen
Push
SMS PaymentsLocales
Alain Stulz / 2019
No Time Left!
13
Alain Stulz / 2019
Technical Debt
14
More Features +
No Time Left =
Alain Stulz / 2019
Technical Debt
15
Alain Stulz / 2019
Who Needs Unit Tests,
Anyway?
16
Alain Stulz / 2019 17
Guessing Game: What does Util do?
Alain Stulz / 2019 18
Alain Stulz / 2019 19
Alain Stulz / 2019 20
Alain Stulz / 2019
Where We Are Today
21
Alain Stulz / 2019
Bern Welcome
22
Alain Stulz / 2019
Patrouille des Glaciers
23
Alain Stulz / 2019
Five up
24
Alain Stulz / 2019
Where We Want To Go
25
Alain Stulz / 2019
Goals Tools
• Improve code quality
•Make (changing) code safer
• Increase developer efficiency
26
Alain Stulz / 2019
Goals • Improve code quality
•Make (changing) code safer
• Increase developer efficiency
•Metrics
• Automated Tests
•Documentation
Tools
27
Alain Stulz / 2019
How We Want To Do It
28
Alain Stulz / 2019
Project Phases
29
1. Preparation 2. Execution 3. Conclusion
Alain Stulz / 2019
Project Phases • Analysis
•Overview of state and usage
• Scope
• Identify core features
•Metrics
•Define and capture quality
30
1. Preparation 2. Execution 3. Conclusion
Alain Stulz / 2019
Project Phases • Setup
• Fork, prepare systems
• Prioritization
• Set a strategy
•Development
• Select, refactor, cover, repeat
31
1. Preparation 2. Execution 3. Conclusion
Alain Stulz / 2019
Project Phases • Results
• Revisit metrics and goals
•Documentation
•Document and reflect
• Future
•Workflows, roadmap
32
1. Preparation 2. Execution 3. Conclusion
Alain Stulz / 2019
Summary
Problem
Technical Debt, hard to make changes
Solution
Improve existing code base through refactoring
Goal
Easier to work on code and make further improvements
33
Alain Stulz / 2019