Softwareunternehmen
Wir haben zwei Hauptkriterien, nach denen wir die an Fachbenutzer – wie Softwareunternehmen und –Abteilungen – gerichtete Dienstleistungen einteilen:
- nach Betriebsstandort
- nach der Phase, in der unser Team vertraglich verpflichtet wird.
Im Weiteren führen wir die Dienstleistungen auf, in deren Lieferung Sie unsere Erfahrung auf die Probe stellen können:
A. Nach Betriebsstandort
1. Outsourcing [Auslagerung an Drittunternehmen]
Outsourcing hat sich in den letzten Jahren zum boomenden Geschäftsmodell entwickelt. Durch die Auslagerung der alltäglichen Abläufe in andere geografische Regionen oder auch nur einfach in ein anderes Unternehmen unter Leitung und vertraglicher Verpflichtung eines Drittunternehmens als Lieferant, erzielt der Leistungsempfänger erhebliche Einsparungen, eine gesteigerte Produktivität und sehr häufig auch die Leistung von 24/7 –Service an den Endkunden. Die Softwarebranche war ein Meinungsbildner für diesen Ansatz, da er ihrer Weiterentwicklung viele Vorteile und Gewinne gebracht hat: Kosteneinsparungen, Kostenumstrukturierung, Schwerpunkt auf das Kerngeschäft, bessere Qualität, Kommodifizierung, Risikomanagement, Steuervorteile, vertragliche Haftung.
Codespring hat verstanden, dass seine Stärke im Wettbewerb neben den wohlbekannten Vorteilen der Outsourcing-Verträge im eigenen Beitrag zur Wertschöpfung seiner Kunden liegt. Deshalb hat das Codespringteam ein eigenes Liefersystem entwickelt – mit strengen Qualitätskontrollnormen und einem Dienstleistungspaket, das zusammen mit der Kerndienstleistung angeboten wird.
2. Offshoring / Auslandsverlagerung
Wenn der ausgelagerte Ablauf in einem anderen Land stattfindet, als das Ursprungsland der Mutterfirma – sogar wenn die Teams als zu einer Firma gehören (!) – sprechen wir über „Offshoring”, oder über eine Standortverlagerung ins Ausland. Der größte Vorteil des Offshoring-Systems sind die steuerlichen Vergünstigungen. Dazu kommen noch die reduzierten Infrastrukturkosten, Teamflexibilität, eine schlanke Produktion, Qualitätssicherung und vertragliche Haftpflichten. Einige Schwierigkeiten, die sich dadurch ergeben könnten, wären: weniger Erreichbarkeit am Standort, eine andere Kultur und Zeitzone.
Als aktiver Mitspieler in der Industrie hat Codespring mit verschiedenen Arten der Kooperation mit seinen Kunden Erfahrungen gemacht. Offshoring ist ein wahrer Meilenstein für jedes Outsourcing-Unternehmen, das bereit ist, in seine Reifephase einzutreten. Codespring hat seine eigenen Lösungen im Umgang mit den kulturellen Unterschieden und potentiellen Kommunikationsproblemen entwickelt. Wir bereiten unsere Teams und Teammitglieder intensiv auf das kulturelle Feingefühl und auf den Umgang mit dem Kulturschock vor.
3. Nearshoring / Nahverlagerung
Statt dem Outsourcing oder dem Offshoring weit weg vom Ursprungsland bietet sich manchmal das „Nearshoring” an – d.h. das Einsetzen von Subunternehmen in einem Nachbarland. Die Hauptgründe, wegen denen sich manche für diese Art der Zusammenarbeit entscheiden, lassen sich vom Vorteil der Nähe ableiten: geographische Nähe, ähnliche Zeitzone, ähnliche Sprache, ähnliche Kultur, ähnlicher politischer Kontext oder gemeinsamer historischer Hintergrund. All diese Gründe erlauben dem Leistungsempfänger eine gute Erreichbarkeit am Standort und eine leichte Kontrolle.
Dank unserer ausgezeichneten Lage in Cluj-Napoca (Klausenburg), Rumänien – eine starke Universitätsstadt und einer der wichtigsten Leistungserbringern, können wir sagen, dass wir im Nearshoring zusammenarbeiten mit Firmen aus Ungarn. Unsere Kunden profitieren von unseren sehr gut ausgebildeten Arbeitskräften, die großteils auch noch ungarische Muttersprachler sind.
4. Am Standort
Wenn man ausschließlich das Know-how und das Köpfchen eines bestimmten Softwareentwicklers in Anspruch nehmen will, und man ihn / sie unbedingt auf seinem Team haben will, können sie das Leasen von Mitarbeitern am Standort praktizieren. Sie werden sich das Expertenwissen dieser Person zunutze machen und dabei Kosten einsparen und auch noch volle Kontrolle haben über jede Tätigkeit, die am Standort abläuft haben. Dennoch sollten einige Aspekte vor Auge behalten werden: die Erhaltung eines hohen Motivationsgrades, die Einführung und Integration, Zusatzkosten und andere Probleme, die sich aus der Verlängerung der Arbeit am Standort ergeben könnten.
Egal wie sehr Sie es vermeiden wollten, Mitarbeiter zu leasen – manchmal ist es zwingend oder einfach die optimale Lösung. Gewöhnlich sind die „Codespringer“ flexibel und bereit, im Ausland zu arbeiten. Wir schulen jedes einzelne Teammitglied darin, jede zugewiesene Aufgabe einwandfrei zu erledigen. Den ständigen Kontakt aufrechterhalten und sein Arbeitstempo zu überprüfen sind nur einige Kontrollmaßnahmen, die die Qualität der Laufbahn eines Mitarbeiters in Ihrem Unternehmen sichern.
B. Nach Phase
1. Anforderungsanalyse
Die erste Phase eines jeden Softwareentwicklungsprojektes ist die Anforderungsanalyse. Sie ist entscheidend für das Verständnis dessen, was das ausgedachte System wird leisten müssen. Sie beschreibt nicht, wie das System funktionieren wird, aber sie beinhaltet die Bedürfnisse des Benutzers hinsichtlich der Anforderungen funktionaler, physischer Natur, hinsichtlich der Schnittstellen, der Leistung, der Daten und der Sicherheitsanforderungen. In dieser Phase werden die Benutzeranforderungen in einem Dokument festgelegt und anschließend von allen Parteien neu analysiert. Das Dokument stellt einen Leitfaden für die Systemdesigner in der Design-Phase dar. Die Abnahmetests (oder Akzeptanztests) werden in dieser Phase entworfen.
360° Analyse der Benutzeranforderungen ist ein Grundstein der Softwareentwicklung von Qualität. Codespring hat seine Fähigkeiten der Anforderungsanalyse verfeinert, da uns der Erfolg der Projekte unserer Kunden am Herzen liegt. Wir lassen keinen Raum für Missverständnisse, Unsicherheiten und mehrdeutige Anforderungen. Je klarer die Kommunikation, umso schneller und besser die von uns gelieferte Arbeit.
2. Architekturdesign
Die zweite Phase im Entwerfen einer Software ist das Architekturdesign – auch als „Softwarearchitektur“ bezeichnet. Es besteht eigentlich in einem Design auf hoher Ebene und stellt eine abstrakte Darstellung des Systems dar. Seine Herausforderung ist die Erfordernis, dass das zu entwickelnde Softwaresystem den Produktanforderungen entsprechen muss, und dabei auch künftige Anforderungen angesprochen werden können. Das Architekturdesign muss auch eine ganze Liste an Modulen, Modul-Funktionen, Schnittstellenbezüge, Abhängigkeiten, Datenbanktabellen, Architekturdiagrammen, technologischen Details usw. Aufweisen.
Wir sind leidenschaftliche Softwareentwickler, daher liegt die Phase des Architekturdesigns unserem Herzen am nächsten. Technisch höchstqualifizierte Softwareentwickler nehmen den Wettlauf miteindander auf, um die besten Softwarearchitekturdesigns zu liefern. Es versteht sich von selbst, dass wir Ihnen eine Auswahl an unterschiedlichen Architekturdesigns vorstellen und die Vor- und Nachteile der vorgeschlagenen Architektur darlegen.
3. Kodieren
Die dritte und zeitaufwändigste Phase, die Phase des Kodierens, oft auch als „Implementierung“ oder „Programmieren“ bezeichnet, bedeutet in der Softwareentwicklung das eigentliche Schreiben der Codezeilen, die das Funktionieren des Programms sichern. In diesem Stadium sind sich alle Programmierer und Softwareentwickler ihrer kollektiven Aufgabe bewusst und leisten ihre eigentliche Arbeit. Je erfahrener sie sind, umso schneller leisten sie und können mögliche Abweichungen vorhersehen und vermeiden. Aufgrund des festgelegten Zeitplans für Programmiertätigkeiten kann die Qualität durch eigene Evaluation, Teamevaluation und Kundenevaluation überwacht werden.
Um die besten Bedingungen für die Implementierung der Softwareentwicklung zu sichern, hat Codespring darauf Wert gelegt, stets höchstqualifizierte Softwareentwickler einzusetzen und deren persönliche und zwischenmenschliche Fähigkeiten stets zu verbessern. Herausforderung und Spaß sind die beiden Schlüsselbegriffe für die Lieferung höchstqualitativer Codes. Wir lieben das Codieren, und deshalb ist die Implementierung der Software bei Codespring die Grundlage für stets bessere Leistungen.
4. Komponententest
Die vierte Phase: der Komponententest. Um zu prüfen, ob der Quellcode betriebsfähig ist, werden anfangs einzelne Teile der gesamten Software getestet. Die kleinsten testbaren Teile einer Software werden „Komponenten“ oder „Module“ genannt. Für eine optimale Prüfung und Validierung werden die einzelnen Testfälle unabhängig voneinander durchgeführt. Das Ziel der Softwareentwickler ist es, herauszufinden, ob der Code dem Design entspricht und ob er sich so verhält, wie ursprünglich ausgedacht. Die Durchführung dieser Phase ist von entscheidender Bedeutung, da sie für die moderne Softwareentwicklung ganz deutliche Vorteile bringen: sie erlaubt spätere Abänderungen und Umänderungen, sie erleichtert die Komponenten und Modulintegration, bietet eine Echtzeitdokumentierung der Software und nicht zuletzt kann der Komponententest als formales Design gesehen werden.
Der Komponententest ist ein Zeugnis der hohen Qualität einer Software. In der Bemühung, den höchsten Qualitätsanforderungen gerecht zu werden, empfiehlt Codespring eindringlich die Komponententestmethode. Es soll an dieser Stelle noch erwähnt werden, dass der Komponententest in der Extremprogrammierung einfach vital ist. Es ist jedoch umstritten, ob nun die Strategie sinnvoller sei „alles, was nur irgendwie fehlerhaft sein könnte“ zu testen, oder aber lieber nur jedes Ausführungspfad.
5. Integrationstest
Als fünfte Phase kombiniert der Integrationstest einzelne Softwaremodule, die den Komponententest erfolgreich bestanden haben, zu größeren Aggregaten, die einem Testplan entsprechend getestet werden. Das Endergebnis ist ein integriertes System, das nun bereit ist für den Systemtest. Das Ziel dieser Stufe ist herauszufinden, ob die Anforderungen hinsichtlich Leistung, Funktionalität und Zuverlässigkeit erfüllt werden. Die verbreitetsten Integrationstesttypen sind: Big-Bang-Test (beim finalen Schritt), das Top–Down-Verfahren (vom Überbau ausgehend, von oben nach unten) und das Bottom–Up-Verfahren (von der Basis ausgehend, von unten nach oben).
Unser Team hat in seiner 15-jährigen Tätigkeit mit verschiedenen Typen von Integrationstests Erfahrungen gesammelt. Wir wollen ausgezeichnete Software liefern. Daher kann man sich auf uns verlassen, wenn es um die Durchführung detaillierte Testmethoden geht. Die Kundenzufriedenheit tritt mit der Erfüllung der Anforderungen ein.
6. Support & Wartung
Die letzte Phase: Support und Wartung. Die Arbeitsprozesse bestehen auf dieser Ebene darin, dass die erforderliche technische Unterstützung geliefert und die Wartung des Codes geleistet wird – so dass er fehlerfrei funktioniert.
Um Kundenzufriedenheit zu erzielen, schreiben die Arbeitsverfahren und Qualitätsstandards bei Codespring die Notwendigkeit, angemessenen technischen Support und Wartung anzubieten, vor. Wir können Lösungen auf konstanter, vertraglicher Basis, gegen eine monatliche Gebühr, oder aufgrund eines Systems von punktuellen technischen Eingriffen anbieten.

