Requirements Engineering
Das vorrangige Ziel von Requirements-Engineering ist es, ein einheitliches Verständnis vom Entwicklungsgegenstand zwischen allen Projektbeteiligten zu schaffen. Das Maß der gelebten Requirements-Engineering-Methoden im Projektalltag beeinflusst somit maßgeblich die Qualität der Ergebnisse eines Entwicklungsprojekts. Die Berater der teuffel.io haben langjährige Erfahrung im gesamten Requirements Engineering und Management Prozess insbesondere auch in hoch politischen und sensiblen Bereichen.
Domain Driven Design (DDD)
DDD ist eine Methode für interdisziplinäre Teams, um ein kollektives Verständnis einer Domäne zu erlangen und eine gemeinsame Sprache dafür zu gestalten. Auf diese Weise modellieren und entwickeln wir Software, die die ursprünglichen Anforderungen so genau wie möglich darstellt. 2003 wurde DDD von Eric Evans entworfen und ist zu einem wertvollen Baustein für die moderne Softwareentwicklung geworden, insbesondere in Kombination mit CQRS und Event-Sourcing. Für uns ist DDD das Herzstück jeder Web- und Cloud-Anwendung, die wir entwerfen und erstellen.
Event Sourcing & CQRS
Event-Sourcing ist eine Persistenzstrategie, bei der Datenänderungen an einen immer größer werdenden Stream angehängt werden. Auf diese Weise werden die Deltas erfasst, anstatt den aktuellen Status zu überschreiben. So können Sie die Vergangenheit neu interpretieren, Einblicke gewinnen, Geschäftsmöglichkeiten identifizieren und Ad-hoc-Berichte erstellen – selbst bei unerwarteten Fragen, die Sie nie angenommen haben. Es wurde ca. 2005 erfunden und ist zu einem wesentlichen Prinzip ereignisgesteuerter Architekturen geworden. Event-Sourcing ist für uns die perfekte Grundlage für jede Anwendung, die Sie auf komplexe Weise abfragen möchten.
CQRS ist ein Entwurfsmuster, welches das Lesen von und das Schreiben in eine Anwendung streng voneinander trennt. So können beide Seiten individuell optimiert und skaliert werden. CQRS wurde 2010 entwickelt und hat sich zu einem der wichtigsten Entwurfsmuster für den Entwurf verteilter Architekturen entwickelt. Heute wird es als Basis für verschiedene große Web- und Cloud-Anwendungen verwendet. Für uns ist CQRS die erste Wahl, wenn es darum geht, eine Architektur für jede Anwendung auszuwählen, die skaliert werden muss.
Agile Software Entwicklung
Agile – eines DER Buzzwords in der Software-Branche stammt aus Ken Beck‘s Werk „Extreme Programming“ im Jahr 2000. Unter Agiler Softwareentwicklung versteht man ein iteratives und inkrementelles Vorgehensmodell das auf zwölf Prinzipien basiert (Agiles Manifest). Im Vordergrund steht hier die Einteilung der Aufgaben in 2-4-wöchige Arbeitsphasen (engl. Sprint) und die permanente Kommunikation zwischen Entwicklungsteams (teuffel.io) und Fachexperten (Kundenseite).
Dieser Ansatz bietet die Grundlage für unser agiles Arbeiten. Bei der teuffel.io ist das jedoch nicht nur ein Ansatz! Wir leben Agile, d.h. wir gewährleisten unseren Kunden komplette Einsicht in ihre Projekte. Dazu gehören unter anderem ein direkter Zugang zu unseren Ticketsystemen, die Möglichkeit das Projekt selbst aktiv zu steuern und zu gestalten und Feedback einzustreuen. Offenheit und eine ständige Kommunikation mit unseren Kunden bieten die Grundlage für agiles Arbeiten mit der teuffel.io.