loading...

Code der
Träume [wahr] macht

dreamIT / Leistungen

Software Produktentwicklung

Produkt-
Entwicklung

Software-Entwicklung beginnt immer mit der Idee...

Mehr Infos »
Anwendungs Architektur für Software

Anwendungs Architektur

Das Fundament jeder Softwareentwicklung ist die Architektur...

Mehr Infos »
Anwendungs Entwicklung

Anwendungs Entwicklung

Wir schreiben traumhaften Code. Code, der liefert...

Mehr Infos »
Software-Testing und Anpassung

Testing &
Anpassung

Wir stehen auf Qualität. Und mögen keine Fehler...

Mehr Infos »
Produktlösungen im Softwarebereich

Produkt-
lösungen

Was wir selbst nutzen, tragen wir gerne weiter...

Mehr Infos »

Software Produktentwicklung

Am Anfang jeder Softwareentwicklung steht immer die Idee: Was soll die Software können? Und wofür braucht man sie überhaupt? Anwender von Software brauchen niemals Code. Sie brauchen das, was der Code leistet. Also beginnen wir genau dort: beim Nutzen für den Anwender. Den formulieren wir und hinterfragen ihn so lange, bis wir ihn verstanden haben. Und dann hinterfragen wir ihn nochmal. Schließlich wollen wir uns sicher sein, was der Anwender wirklich braucht (und nicht nur, was er denkt, was er braucht).

schnelle prototypen entwicklung

Schnelle Prototypenentwicklung

Anwender wissen häufig gar nicht, was sie wirklich brauchen. Darum müssen wir ihnen schnell ein Gefühl für die mögliche spätere Software Lösung geben. Mit der kurzfristigen Entwicklung von Prototypen – auch „minimum viable products“ (MVP) – erstellen wir eine vereinfachte Version des möglichen Ergebnisses. Anwender können so sofort sehen, ob wir verstanden haben, worum es geht. Und wir können einen ersten Blick auf die Technik werfen: Wo gibt es Herausforderungen bei der Integration in bestehende Systeme? Und was müssen wir im weiteren Verlauf des Projekts aus technischer Sicht berücksichtigen?

anforderungsbewertung

Anforderungsbewertung

Wir kennen den geplanten Nutzen für den Anwender. Und wir haben die Ergebnisse der Prototypen. Jetzt können wir das Nutzererlebnis mit den technischen Bedingungen der Software abgleichen: Welche davon sind eine besondere Herausforderung für das Projekt? Für welche haben wir noch keinen Umsetzungsweg gefunden? Und welche sind vielleicht doch gar nicht so wichtig für das Nutzererlebnis, wie gedacht?

anforderungs erhebung für Ihr IT Projekt

Anforderungserhebung

Hier erheben wir die genauen Anforderungen der Anwender einer neuen Software. Wir dokumentieren sie und machen sie messbar. So schaffen wir ein Zielsystem, mit dem wir prüfen können, wann unsere Arbeit erfolgreich gewesen ist.

Priorisierung in der Projektplanung

Priorisierung

Für einen kosten-, zeit- und termingerechten Projektverlauf überprüfen wir jetzt noch einmal die Anforderungen und vereinfachen sie. Dann vereinfachen wir sie weiter. Und noch einen Schritt weiter. So sehen wir am Ende glasklar, was der Anwender haben will. Und planen dann das Projekt so, dass die höchsten Prioritäten zuerst bearbeitet werden. Anschließend legen wir los!

„Ideen sind wichtiger als Ego. Dir auch?“

Matthias
Frontend Developer

  • 1. Was hältst du von autonomen Fahrzeugen?

  • Super, das verlängert meine Schlafphase

  • Hätte Angst vor Hackern

  • Perfekt, fahren und parallel whatsappen

  • Selbst Staubsaugroboter sind mir suspekt

  • 2. Welcher Streaming-Dienst ist deiner Meinung nach der Beste?

  • Netflix

  • Ganz klar Sky

  • Mein Zimmerfenster

  • Amazon

  • 3. Was hältst du von der Rente mit 70 Jahren?

  • Geht gar nicht

  • 70 ist meine Glückszahl

  • Super, je oller je doller

  • Ich muss nicht alles mitmachen

Anwendungsarchitektur

Das Fundament jeder Softwareentwicklung ist die Architektur. Sie ist das Gerüst von allem, was wir darauf aufbauen. Damit eröffnet sie nicht nur Möglichkeiten – sie kann sie auch einschränken. Unsere Aufgabe ist es hier, eine Balance zwischen Nutzererlebnis und Rahmenbedingungen zu finden. Also z.B. zwischen vorhandenen Systemen, der geplanten Skalierung und dem vorgesehenen Budget für die Software.

IT Architektur für Software-Projekte

IT-Architektur

Wir analysieren die vorhandenen Datenmodelle oder schaffen neue. Ebenso gleichen wir sie mit vorhandenen oder neuen Anwendungen ab. Wo werden wichtige Funktionen geleistet? Wo werden welche Informationen benötigt oder erzeugt? Genau das ermitteln wir und lassen es in die Architektur einfließen.

Technologiearchitektur für Projekte

Technologiearchitektur

Wir schauen uns die vorhandene Infrastruktur genau an – oder definieren die, die noch erschaffen werde muss. Wie können wir die Anwendungen so integrieren, dass die Projektziele erreicht werden? Und wie können wir dabei Erweiterbarkeit und Skalierung sicherstellen? Gute Fragen, auf die wir eine Antwort finden.

Sicherheitsarchitektur

Sicherheitsarchitektur

Informationssicherheit ist heute ein unausweichliches Thema. Wir bewerten vorhandene oder fehlende Sicherheitssysteme und -prozesse. Und wir suchen Lösungen für mögliche Lücken. Alle Erkenntnisse berücksichtigen wir für den weiteren Projektverlauf.

Anwendungsentwicklung

Wir schreiben Code. Code, der genau den Nutzen erzielt, den wir vorher definiert haben. Der leistungsfähig und skalierbar ist. Der sich gut warten und erweitern lässt. Und der dabei absolut stabil läuft. Hört sich nach Basics der Software-Entwicklung an? Sind ja auch Basics. Und damit für uns selbstverständlich.

Projektmanagement

Projektmanagement

Wir arbeiten nach Scrum, Kanban oder vergleichbaren anderen Management-Methoden, auf jeden Fall aber immer agil. Alle 14 Tage starten wir einen neuen Sprint mit einem neuen Ziel. Wir arbeiten die Prioritäten der Nutzer Schritt für Schritt ab und lassen sie anhand von Zwischenergebnissen entscheiden, ob wir auf dem richtigen Weg sind. Nach einer sorgfältigen Retrospektive planen wir dann die Prioritäten für den nächsten Sprint. So rennt niemand kopflos, hektisch oder aktionistisch durch die Gegend. Sondern wir arbeiten fokussiert auf das gemeinsame Ziel hin.

technologie

Technologie

Meistens greifen wir auf Java und dokumentenbasierte Datenbanken zurück. Das machen wir nicht, weil es für uns ein Allheilmittel für alle denkbaren Anwendungen ist. Sondern weil wir es A) in den meisten Fällen für besonders leistungsfähig halten. Und weil wir es B) einfach richtig gut können. In der Entwicklung arbeiten wir dann mit gängigen Tools wie z.B. IntelliJ, git, maven und glassfish.

Rechtliches

Rechtliches

Bei unseren Verträgen achten wir darauf, dass sie unsere agile Arbeitsweise voll abbilden. Das bedeutet zwar für den Auftraggeber (vielleicht lästige) Pflichten. Aber wir glauben daran, dass die besten Ergebnisse dann erzielt werden, wenn jeder seinen Teil dazu beiträgt. Schließlich sind wir ein Team, das nur gemeinsam träumen – und Erfolg haben kann.

Software-Testing und Anpassung

Während der Entwicklung achten wir auf eine hohe Testabdeckung. Nur so können wir Fehler frühzeitig entdecken und unnötige Aufwände minimieren. Bei uns ist die Qualitätssicherung ein integrierter Bestandteil der Entwicklung. Nur so können wir Frustration vermeiden und das Nutzererlebnis zur Freude machen. Unser Ansatz ist dabei ein „continuous delivery“-Ansatz: Wir müssen jederzeit in der Lage sein, begonnene Veränderungen schnell abzuschließen und den Code wieder live zu bringen. Dadurch fallen Fehler schneller auf – und wir können schneller darauf reagieren.

Testverfahren

Testverfahren

Wir sind Experten in vielen Testverfahren, wie z.B. automatisierten Oberflächentests, Unit Tests oder Systemtests. Dabei ist uns wichtig, dass bereits beim Coden an die Erfolgsmessung gedacht wird, also genau definiert wird, welches Ergebnis der Code erreichen soll (User Acceptance Test). Und dass wir durch eine hohe Testabdeckung auch Ergänzungen an komplexen Systemen schnell und zuverlässig durchführen können.

Software-Crowdtesting

Crowdtesting

Schnell sind wir auch durch den Einsatz von Crowdtesting-Lösungen, mit denen wir in kürzester Zeit individuelle Testläufe erfolgreich fahren können. Mit tausenden von Software-Testern, auf die wir kurzfristig zurückgreifen können, fallen uns auch versteckte Fehler auf, die wir dann unmittelbar beheben können. Auf diesem Gebiet nutzen wir erfolgreich Lösungen von testIO.

Organisation

Organisation

In unseren Scrum-Teams integrieren wir permanent Quality Assurance (QA) Experten, die die Qualität durch den gesamten Entwicklungsprozess bis hin zum erfolgreichen Release sicherstellen. Manchmal dauert dadurch alles kurzfristig einen Moment länger, zahlt sich am Ende aber immer aus. Folgekosten für das Ausbessern unzureichender Qualität werden nämlich von vornherein vermieden.

Produktlösungen

Durch unsere Arbeit stoßen wir oft auf gut gemachte Softwarelösungen, für die es sehr breite Anwendungsfelder gibt. Solche Lösungen bieten wir dann auch gerne unseren Kunden an. Schließlich möchten wir, dass auch ihre Welt ein kleines bisschen besser, einfacher und bequemer wird.

Crowdtesting

Crowdtesting

Seit Jahren nutzen wir Crowdtesting im Entwicklungsprozess. Innerhalb kürzester Zeit können wir so auf tausende von Testern zugreifen und Funktionalitäten gezielt und auf spezifischen Plattformen prüfen lassen. Dadurch finden und beseitigen wir Fehler, die trotz sorgfältiger Tests übersehen wurden. Ein Vorgehen, von dem wir sehr überzeugt sind – und das wir auch bei Kunden, die selbst Software entwickeln, implementieren. Dazu arbeiten wir mit test.io zusammen, einem der leistungsfähigsten Anbieter auf diesem Gebiet. Durch gezielte Beratung helfen wir dann, die Möglichkeiten von Crowdtesting maximal zu nutzen.