evoila: Ihr Experte für Individualsoftware und Development Services

Das Handwerk der Software-Entwicklung hat sich in den vergangenen Jahrzenten immer wieder stark verändert. Auch die Anforderungen der Kunden haben sich im Laufe der Zeit stark gewandelt. Heutzutage werden kurze Entwicklungszyklen, Skalierbarkeit und Flexibilität gefordert. Gute Software-Entwicklung beginnt heute beim Mindset der Entwickler. Was aber hat das Mindset mit den verwendeten Methoden zu tun? Die Haltung der Entwickler beeinflusst die erfolgreiche Anwendung innovativer Methoden. Nur so werden die Vorteile neuer Herangehensweisen effizient ausgespielt.

Unsere innovativen Methoden zur Entwicklung von Individualsoftware umfassen folgende Ansätze:

  • Scrum/Kanban/Agile Entwicklung
  • TDD 
  • Clean Code
  • Pair Programming
  • Code Reviews
  • CI/CD

Fortschrittliche Development Services

Test Driven Development

TDD steht für Test Driven Development, also testgetriebene Entwicklung. Hierbei werden die Tests zur Erfüllung der Anforderungen zuerst geschrieben. Damit wird sichergestellt, dass die Tests, und damit die korrekte Funktion des Codes, im Vordergrund stehen. Das Ergebnis ist, dass die Tests nicht am Code, sondern an den Anforderungen ausgerichtet sind.

Clean Code für herausragende Individualsoftware

Clean Code stellt hohe Anforderungen an die Beschaffenheit des Codes. Aber zu welchem Zweck? Ein größeres Software-Projekt wird üblicherweise nicht jedes Jahr neu geschrieben, sondern hat eine deutlich längere Lebensdauer. Clean Code schafft die Voraussetzungen dafür, dass die Wartbarkeit des Codes auch in Zukunft gewährleistet ist. Das gilt auch, wenn z.B. die ursprünglichen Entwickler nicht mehr beim gleichen Arbeitgeber angestellt sind. Darüber hinaus sollen die Folgekosten reduziert werden, da eine hohe Testabdeckung und sauberer Code die Wartbarkeit des Codes erheblich verbessern und damit die Wartungskosten reduzieren.

Ist dieses Problem wirklich so groß? Oh ja. Fragen Sie ruhig einmal einige Software-Entwickler, die bereits mit Legacy-Anwendungen von schlechterer Qualität zu tun hatten. Eine hohe Testabdeckung gewährleistet beispielsweise, dass bei Änderungen bereits bestehende Funktionen nicht zerstört werden, da deren korrekte Funktionalität bei jedem Build überprüft wird. Fehler werden so meist frühzeitig erkannt.

Code Reviews und Pair Programming

Code Reviews und Pair Programming verfolgen beide den gleichen Zweck: es soll kein Code im Release ankommen, der nicht von anderen Entwicklern überprüft wurde. Code Reviews gehören, gemeinsam mit Unit Tests, zur Speerspitze professioneller Software-Entwicklung, da hier die meisten Fehler frühzeitig aufgedeckt und behoben werden können. Darüber hinaus sind Code Reviews auch ein ausgezeichnetes Werkzeug zur Ausbildung von Kollegen mit noch wenig Erfahrung, da nur Code abgeliefert wird, der die Qualitätsanforderungen der erfahrenen und bereits gut ausgebildeten Kollegen erfüllt.

Continuous Integration/Continuous Deployment

Mithilfe von Continuous Integration/Continuous Deployment (CI/CD) wird die Veröffentlichung von Software automatisiert. Änderungen werden deshalb nicht nur alle paar Monate veröffentlicht, sondern in sehr kurzen Zeitabständen. Je nach Projekt bis zu mehrmals täglich. Damit steht das Feedback der Anwender deutlich früher zur Verfügung und kann entsprechend schon zu einem viel früheren Zeitpunkt in die Entwicklung einfließen, als es bei monatlichen Releases der Fall wäre. Kleinere Bugfixes können sogar innerhalb von Minuten nach Bekanntwerden bereits live gehen.

Ist dieses Problem wirklich so groß? Oh ja. Fragen Sie ruhig einmal einige Software-Entwickler, die bereits mit Legacy-Anwendungen von schlechterer Qualität zu tun hatten. Eine hohe Testabdeckung gewährleistet beispielsweise, dass bei Änderungen bereits bestehende Funktionen nicht zerstört werden, da deren korrekte Funktionalität bei jedem Build überprüft wird. Fehler werden so meist frühzeitig erkannt.

*“ zeigt erforderliche Felder an

Name*
Dieses Feld dient zur Validierung und sollte nicht verändert werden.