Agile Softwareentwicklung

Die agile Softwareentwicklung versucht den gesamten Prozess der Implementierung schlanker zu gestalten. Im Fokus stehen hierbei die zu erreichenden Ziele und die technischen Probleme. Agile Softwareentwicklung versteht sich als Gegensatz zur herkömmlichen Modellen in der Entwicklung, die z.B. den Einsatz von umfangreichen Lasten- und Pflichtenheften vorschrieben.

Iterationszyklus

Der Iterationszyklus beschreibt die Zeit, die zwischen zwei Bereitstellungen von Prototypen liegt.

Jenkins-Webplattform

Das Jenkins System wird bei uns zur kontinuierlichen Integration (continuous integration) verwendet. So können Komponenten  währden der Programmierung einer App forlaufend zusammengefügt werden. 

Native Softwareentwicklung

Wenn wir bei der App-Entwicklung von nativer Softwareentwicklung sprechen, meinen wir damit die Entwicklung von Apps für das jeweilige mobile Betriebssystem (z.B. iOS oder Android). Native Apps werden z.B. mit Objective-C oder Java implementiert. Demgegenüber stehen die sogenannten Web-Apps, welche mit Webtechnologiern (HTML etc.) umgesetzt sind. 

Prototyp

Am Ende eines jeden Sprints steht als Ergebnis ein Prototyp zur Verfügung. Dieser wird über unterschiedliche Systeme an unsere Kunden ausgeliefert und ermöglich so ein schnelleres Feedback während der gesamten App-Entwicklung, als wenn erst am Ende die App ausgeliefert wird. 

Scribble

Zu Beginn eines Projektes seht die Konzeptions- und Layout-Phase. Hier setzen wir häufig Scribbles (dt. Skizze) ein um schnell erste Konzepte, Funktionen, Aussehen etc. der App besprechen zu können. Unsere Scribbles werden mit Hilfe eines Tools (Balsamiq) erstellt und anschließend mit dem Kunden besprochen. Scribbles eignen sich sehr gut um früh erste Fehler im Design zu entdecken. Nachdem genug Scribbles erstellt wurden, geht es an das pixelgenau Screendesign des User Interfaces. 

Scrum

Bei Scrum handelt es sich um ein Vorgehensrahmen für u.a. die Entwicklung von Software. Ziel ist es, die Software/das Produkt schnell und hochwertig zu implementieren. Hierbei wird darauf verzichtet umfangreiche und sehr detaillierte Lasten- bzw. Pflichtenhefte zu erstellen. Dafür werden gewünschte Funktionen/Anforderungen aus Anwendersicht formuliert und anschließend in sogenannten Sprints umgesetzt. Am Ende eines jeden Sprints steht eine neue Version, die an den Kunden ausgeliefert wird. 

Sprint

Ein Sprint ist einen Teil (eine Zeitspanne) des Scrum-Verfahrens. Innerhalb eines Sprint werden die zuvor ausgewählten Anforderungen/Wünsche implementiert. Am Ende eines Sprint wird dem Kunden eine neue, getestete Version ausgeliefert. Im darauffolgenden Sprint gibt es ein Review und eine Planung für die nächsten Anforderungen. Sprints sind zwischen zwei und vier Wochen lang.

Standardisierte Testverfahren

Während der App-Entwicklung setzen wir standartisierte Testverfahren ein um unseren Kunden bei Bereitstellung (z.B. nach einem Sprint) ein optimales Ergebnis präsentieren zu können. Wir testen automatisch etc....

Unit- und UI-Tests

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate

User Interface

Ein User Interface (dt. Benutzerschnittstelle oder Benutzungsschnittstelle) beschreibt im Falle der App-Entwicklung die GUI (grphical user interface; grafische Oberfläche), die Benutzer sehen, wenn sie eine App öffnen. Diese GUI wird über das kapazitive Display des Smartphones bedient. Je nach Betriebssystem sind unterschiedliche Punkte beim Design zu beachten. Unter iOS z.B. die retina Displays und Seitenverhältnisse der verschiedenen Geräte. Unter Android gilt es, die verschiedenen Display-Typen der Hersteller zu beachten. Außerdem kann es unter verschiedenen Betriebsystemversionen zu Abweichungen kommen. 

User Story

User Stories werden im SCRUM-Verfahren während der Entwicklung eingesetzt. In einer User Story wird eine gewünschte Anforderung/Funktion umgangssprachlich formuliert. Hieraus leiten wir technische Voraussetzungen etc. ab, welche für die App-Entwicklung benötigt werden. 

Web App

Eine Web App ist, im Gegensatz zu einer nativen App, nicht auf ein bestimmtes Betriebssystem optimiert (iOS, Android) sondern durch Webtechnologien (HTML etc.) erstellt worden. Web Apps benötigen z.B. keinen Store um verteilt werden zu können, sie funktionieren allerdings nur mit einer Internetverbindung. Gegenüber nativen App haben sie den Vorteil, dass sie wesentlich schneller und leichter zu veröffentlichen sind. Allerdings kann es Einschränkungen in der Performance und dem Zugriff auf interne Sensoriken des Smartphones geben.