Software

Die Softwareentwicklung ist unser Kerngeschäft!

Auf Basis der aktuellsten Microsoft Technologien entwickeln wir Softwarelösungen sowohl für mittelständische Firmen als auch für namhafte Grossunternehmen aus verschiedenen Branchen. Bei der Mehrheit unserer Projekte stand die Datenverwaltung und –analyse im Zentrum.

Selten wird eine Software nur auf einem lokalen Client-PC genutzt. Mehrschichtige Anwendungen auch unter dem Begriff SOA (serviceorientierte Architektur) bekannt, drängen sich vor allem in Multiuserumgebungen auf. Businesslogik und Datenlayer werden als Service auf einem zentralen Server installiert. Als Kommunikationsschnittstelle kann z.B. die Windows Communication Foundation (WCF) verwendet werden. Über ein API, welches der WCF Dienst zur Verfügung stellt, greifen die Clients auf die Daten zu.

Der Trend zu webbasierend Softwareprodukten ist nach wie vor spürbar. Mit ASP.Net und Silverlight stellt Microsoft zwei leistungsstarke Technologien zur Verfügung. Letztgenannte haben wir in jüngster Vergangenheit des Öfteren für Client/Server Intranetanwendungen eingesetzt. Silverlight ist eine Erweiterung für Webbrowser. Einer der Vorteile zeigt sich darin, dass die Anwendung browserunabhängig ausgeführt wird. Ein stark wachsender Markt darf an dieser Stelle aber nicht unerwähnt bleiben: Smartphones. Im Jahr 2011 wurden erstmals mehr Smartphones als PCs verkauft! Auch wir entwickeln Clientanwendungen (App’s) für das Windows Phone 7.

Täglich stellen wir uns der Herausforderung, komplexe Kundenbedürfnisse in wertvolle und qualitative Software umzusetzen. Doch was ist Qualität? Qualität wird laut der Norm EN ISO 9000:2008 wie folgt definiert: „Grad, in dem ein Satz inhärenter Merkmale Anforderungen erfüllt“. Mit anderen Worten bedeutet dies, dass die Qualität angibt, wie weit ein Produkt (Ware oder Dienstleistung) den bestehenden Anforderungen entspricht.

Wir haben uns der Frage der Softwarequalität gestellt und folgende Merkmale definiert.

Unsere Definition von Softwarequalität

Erfüllt die Erwartungen

Ein Projekt beginnt immer mit einer detaillierten Analyse der Kundenbedürfnisse. Je besser wir diese kennen, umso genauer wird das Endprodukt den Vorstellungen des Kunden entsprechen! Die frühe Einbindung des Kunden in den Entwicklungsprozess hat sich als Vorteil erwiesen. Dadurch hat er bereits in der Designphase Einblick in die grafische Umsetzung des Endprodukts.

Entspricht den Anforderungen

Aufgrund der Analyse erstellen wir einen Anforderungskatalog. Jede Anforderung ist ein Bruchteil des Endprodukts und liefert eine konkrete Funktionalität. Diese ist für alle Beteiligten in der Kurzbeschreibung nach dem Muster „Als <Wer> will ich <Was> damit ich <Nutzen>“ ersichtlich. Mittels Akzeptanzkriterien wird definiert, wann die Anforderung erfüllt ist. Der Kunde kann durch die Priorisierung die Entwicklung des Produkts direkt steuern.

Ist wertvoll

Bekommt der Kunde das Produkt, was er sich vorstellt, freut er sich und es ist für ihn wertvoll. Dies freut und motiviert auch uns!

Eignet sich für den geplanten Zweck

Es ist häufig der Fall, dass sich während des Projektes die Prioritäten der einzelnen Anforderungen verändern. Durch den agilen Prozess haben wir ein mächtiges Werkzeug, schnell auf Änderungen zu reagieren, um das Projektziel nicht zu verfehlen. Ein wichtiger Erfolgsfaktor ist dabei die kontinuierliche Kommunikation und Diskussion mit dem Kunden.

Zuverlässig und fehlerfrei

Hier könnten beliebig weitere Attribute aufgelistet werden. Wir behalten jedoch den Focus auf zuverlässige und möglichst fehlerfreie Software. Leider können wir nicht garantieren, dass unsere Software – trotz gewissenhafter Arbeit und ausführlichen Tests – völlig fehlerfrei ist. Mit dieser Tatsache haben wir uns abgefunden. Was wir aber garantieren können ist die schnellstmögliche Behebung von Fehlern!