Wie wir entwickeln

Effektive Software Engineering Methoden sind unser Schlüssel zum Erfolg

Die Realisierung anspruchsvoller Unternehmenslösungen erfordert den Einsatz von effektiven Software-Engineering-Methoden, d.h. exakte Planungsarbeit und Durchführung. In über 15 Jahren Software Engineering haben sich bei bayoonet zahlreiche Best Practice Ansätze herauskristallisiert aus denen ein termingerechter und qualitativ hochwertigen Softwareentwicklungsprozess entstand.

 

Wenn möglich und notwendig setzen wir generative Software-Techniken (MDD/MDA) ein. Daneben nutzen wir auch konventionelle (V-Modell/RUP) und agile (Scrum/Extreme Programming) Methoden der Software-Entwicklung.

 

Aus langjähriger Erfahrung als erfolgreiche Applikationsentwickler kennen wir die Erfolgsfaktoren und Risiken sowohl der herkömmlichen als auch der agilen Arbeitsweisen aus einer Vielzahl von Projekten.

So können Sie sich darauf verlassen, dass wir für Ihre Anforderungen immer den richtigen Mix erfolgversprechender Methoden und Tools zum Einsatz bringen.

 

Agiles Software Engineering ZUM FESTPREIS

Agile Vorgehensmodelle sorgen für eine systematische Erfassung von Anforderungen, frühe Sichtbarkeit und Akzeptanz von Ergebnissen, hohe Qualität und damit für eine Minimierung von Projektrisiken. Hauptargumente für den Einsatz agiler Software-Entwicklungsmethoden sind die Beschleunigung der Entwicklungsverfahren durch weniger oder effizientere Abstimmungsprozesse und die Überwindung technischer und organisatorischer Hürden. Nach den Grundsätzen der Agilität wird die unmittelbare und kooperative Zusammenarbeit zwischen allen Projektbeteiligten stärker in den Mittelpunkt gerückt als in Standardverfahren. Insbesondere wenn die zu entwickelnden Lösungen sehr individuell sind und nur wenige feste Rahmenbedingungen existieren, spielt agiles Entwickeln seine Stärken aus.

 

Money for nothing but change for free

Agile Softwareentwicklung wird in vielen Fällen als Entwicklungsprojekt nach Aufwand realisiert. Da die Jahresbudgets unserer Kunden häufig noch nicht den gleichen Flexibilitätsgrad erreicht haben bietet bayoonet neben klassischen Festpreisangeboten auch Agile Softwareprojekte zum "dynamischen" Festpreis. Hierbei erhalten unsere Kunden eine Aufwandsaufschlüsselung in Einzelpositionen (nach Story Points). Anhand der Kundenpriorisierung der Einzelpositionen erfolgt unsere Entwicklung die in regelmäßigen Iterationsreview präsentiert wird. Möchten unsere Kunden während des Projekts Anforderungen streichen, so ist das gegen eine im voraus vereinbarte Stornogebühr jederzeit möglich (Money for nothing). Sollten sich hingegen die Prioritäten der offenen Anforderungen ändern oder neue Anforderungen hinzufügen kann dies im Austausch für gleichwertige Anforderungen (nach Story Points) kostenfrei erfolgen (Change for free).

 

Agiles Software Engineering der bayoonet AG zeichnet sich aus durch:

  • Enge Rückkopplung mit den Auftraggebern und späteren Nutzern
  • Permanenter Abgleich von Erwartungen, Zielen und Vorgaben
  • Flexible Reaktionsmöglichkeiten auf neue Rahmenbedingungen
  • Frühe Erkennung und Korrektur von Fehlentwicklungen
  • Erhöhte Akzeptanz bei den zukünftigen Nutzern
  • Gesteigerte Qualität der entstehenden Lösung

Software-Architektur

Das Software-Architektur-Design ist einer der wichtigsten und kritischsten Schritte im Entwicklungsprozess einer Software. Deshalb beschäftigen sich bei bayoonet nur die qualifiziertesten und erfahrensten Mitarbeiter mit dieser hohen Kunst. Sie stellen die Weichen, damit am Ende alles ineinandergreift und Sie von einer perfekten Lösung profitieren.

 

Software Architektur der bayoonet AG beinhaltet:

  • Proof of Concept
  • Zielorientierte und praxisnahe Planung
  • Architektur Design
  • Effiziente Umsetzung der Anforderungen
  • Dauerhafte Modifizierbarkeit, Wartbarkeit, Sicherheit und Performance

Software-Implementierung

Die Phase der Software-Implementierung beschäftigt sich mit der abschließenden Konkretisierung Ihrer Wünsche. Am Ende steht die fertige Anwendung, die nur darauf wartet, Ihr Business erfolgreich zu unterstützen. Unsere Entwickler beherrschen ihre Werkzeuge, sind methodenerprobt und überaus „sprachversiert“. Und bringen Sie direkt an Ihr Ziel!

 

Software Implementierung der bayoonet AG beinhaltet:

  • Ergebnisorientierte Konkretisierung
  • Kostenbewusste Umsetzung
  • Iterative Vorgehensweise
  • Risikominimierung
  • Qualitätssicherheit
  • Codereviews
  • Architektur & Designreviews

Software-Testing

Ihre neue Software soll am Ende sicher, fehlerfrei und mit Erfolg funktionieren. Deshalb arbeiten unsere Entwickler mit automatisierten Tests, die von Anfang an und in allen Bereichen ihre Arbeit überwachen und ein direktes Feedback geben. „Böse Überraschungen“ gibt es bei uns nicht, denn Schwachstellen werden früh erkannt, die damit einhergehende Zeitersparnis sichert die Einhaltung der Projektlaufzeit von Anfang an.

 

Software-Testing der bayoonet AG beinhaltet:

  • Erstellen von Test Szenarien
  • Identifizierung von Fehlermustern und Schwachstellen
  • Unit Testing
  • Component Testing
  • Performance Testing
  • Profiling
  • GUI Testing
  • Testautomatisierung
  • Testausführung und Reporting

Usability Engineering

Die Anforderungen sind klar, der Entwicklungsprozess schreitet voran. Änderungen zugunsten der Usability kommen jetzt zum richtigen Zeitpunkt. Denn schließlich wollen Sie wissen, ob und wie gut der Nutzer mit Ihrem Produkt umgehen kann. Die Gebrauchstauglichkeit einer Software sicherzustellen, ist wesentlicher Faktor, um den Kunden und den Anwender vom Produkt zu überzeugen.

 

Gemeinsam mit unserem Partner, der User Interface Design GmbH, bieten wir Ihnen ein professionelles Usability Engineering.

 

Usability Engineering der bayoonet AG beinhaltet:

  • Umgang: Wie verhält sich der Nutzer im Umgang mit der zu testenden Software?
  • Layout und Oberfläche: Wie beurteilt der Nutzer, was er sieht? Ist die Optik ansprechend?
  • Struktur und Aufbau: Kommt der Nutzer mit der Anordnung zurecht? Findet er, was er sucht?
  • Dateneingabe: Wie verhält sich der Nutzer bei der Dateneingabe? Sind die zur Verfügung stehenden Felder eindeutig identifizierbar?
  • Logik und Verständnis: Sind Abläufe im Programm logisch und verständlich? Kann der Nutzer die Software intuitiv bedienen?