Arbeitsprozesse

Durch die Vielzahl an Projekten hat sich eine Reihe von Arbeitsmodellen und Arbeitsabläufen entwickelt. Jedes Projekt erhält einen individuellen Arbeitsablauf – maßgeschneidert auf Ihre Anforderungen. Wir haben keinen festgelegten Arbeitsablauf, Technologien oder Methoden, den unsere Kunden befolgen müssen. Wir sind flexible und haben genug Erfahrung, beinahe jeden Arbeitsablauf, den unsere Kunden vorziehen zu implementieren. Sollte ein Kunde allerdings keine Vorzüge oder keine Erfahrung in dem Bereich haben, sind wir gern bereits Vorschläge zu unterbreiten.

Wie gestaltet sich der Entwicklungsprozess ab? Zunächst einmal finden zwischen unserem Geschäftsführer und dem Kunden erste Kontakte statt. Nachdem alle finanziellen, gesetzlichen und organisatorische Fragen geklärt sind, beginnt die Arbeit. Falls gewünscht, wird einer unserer Systemarchitekten dabei behilflich sein, einen Technologie- und Lösungsstack zu definieren. Wenn dieser wichtige Teil beendet ist, werden wir ein Ingenieur-Team bilden, das die für dieses Projekt notwendigen Kenntnisse besitzt. Die Bewerbungsunterlagen dieser Ingenieure werden dem Kunden zugesandt. Sobald der Kunde das potentielle Team akzeptiert hat, besprechen Projektmanager beider Unternehmen das Projekt und definieren Methodik, Entwicklungsmethoden und den Entwicklungsprozess.

Der Projektmanager und der Systemarchitekt sind während des ganzen Arbeitsablaufs in das Projekt involviert und überwachen die Ausführung und die Qualität des technischen Designs. Ein Team von Qualitätsspezialisten wird während des Projektes immer wieder Testings vornehmen. Falls gewünscht werden Grafiker ein Layout der Anwendung und / oder der einzelnen Elemente entwerfen. Der Projektmanager ist für die pünktliche, qualitative hochwertige Abgabe und für die Meilensteine verantwortlich.

Methoden

Wir setzen die Diversität und individuelle Natur unserer Kunden und unserer Projekte voraus. Deshalb bringen wir einen elementaren und doch personalisierten Denkansatz zu jedem einzelnen Fall. Zum Beispiel benutzen wir bei der Software-Entwicklung die seit langem zuverlässige Wasserfall-Methode sowie als Cutting-Edge, Scrum und Kanban.

Die Wasserfall Entwicklungsmethode eignet sich besonders für Projekte, die klar formuliert sind, mit einem festgesetzten Projektrahmen, z.B. für kleine und mittelgroße Projekte. Der Wasserfall-Ansatz schließt folgende Schritte ein:

  • Ausarbeiten von Systemanforderungen, erstellen und bestätigen der Spezifikation;
  • Design und Prototyping;
  • Entwicklung;
  • Lieferung;
  • Support.

Agile, Scrum, Kanban, usw. haben eigene unverkennbare Eigenschaften:

  • Schnellere Inbetriebnahme der Software;
  • Minimieren von Entwicklungs-Interationszyklen;
  • Reduzierte Feedbackzeiten zwischen Markt/Nutzer-Anforderungen und Funktionsimplementierung;
  • Iterationsbasierter Ansatz und anpassungsfähige Produktionsmethoden;
  • Rückwirkende Prozesse ermöglichen die prompte Fehlerbehebung und erhöhen die Produktivität und Qualität.

Der Gebrauch dieser Methoden als Testgesteuerte Entwicklung (Test Driven Development (TDD)), Verhaltensgesteuerte Entwicklung (Behavior Driven Development), XP (Extreme Programming) und deren Elemente: Paar-Programmierung, Collective Code Ownership (Gemeinsame Verantwortlichkeit), Code Review und Revision, Strukturverbesserung steuern zu einem positiven Ergebnis bei. Diese Ansätze eigenen sich besonders für das fortschreiten und schnelle ändern von Projekten, deren Ziele nicht leicht formuliert werden können und deren Projektrahmen nicht festgesetzt ist.

Oftmals ändern sich die Methoden während eines Projektzyklus, um sich den ändernden Anforderungen anzupassen.

Die von uns angewandten Methoden ermöglichen ein effektives Outsourcing des Entwicklungs-Prozesses und eine pünktliche Software-Lieferung an den Kunden sicher zu stellen.

Beispiele von Arbeitsabläufen

Nachstehend sind verschiedene Arbeitsmodelle aufgeführt, die wir normalerweise benutzen.

RFP

Eine allgemeine Anfrage (RFP / General Request for Proposal) enthält eine Vielzahl wichtigster Elemente, von der Analyse und dem Entwurf eines Kostenvoranschlags und dem Antrag über ein Budget zu verhandeln, definieren der Architektur für die Software-Entwicklung, Qualitätsanalyse, Erreichen eines Erfolges, bis hin zum Erhalten von Support und neuer Versionen über das Ausführen einer neuen Analyse.

Consulting

Eine Consulting Anfrage (Consulting Request) hat weniger Komponenten und beinhaltet solche Schritte wie Reale Produktion, Analysen, Vorschlagsausarbeitung, Entwicklung und Qualitätsmanagement um Erfolg zu erzielen und dann die gesamte Organisationskette noch einmal zu analysieren.

Redesign/Re-engineering

Eine Anfrage für das Redesign / Re-Engineering garantiert dann ein positives Ergebnis, wenn alle Schritte komplett sind: von der Analyse und den Budgetangeboten, Entwicklung, Qualitätsmanagement bis hin zu dem gewünschten erfolgt mit nachfolgendem Support und Analyse.

Redesign/Re-engineering

Eine Anfrage über Prototyping, was recht häufig vorkommt, ist ein guter und kurzer Weg um die Software zu bewerten, die Sie gern entwickeln würden. Dieser Prozess besteht aus Analysen und Angeboten, Kostenvoranschläge, Kreation von Prototypen und nochmaliger Analyse des Erfolges.

Der einzige Unterschied zwischen Offshore und Onshore Auftragsabwicklung ist die Kommunikation, allerdings wird der Unterschied durch das Internet viel geringer und weniger wichtig. Wir kommunizieren mit Kunden hauptsächlich via (E-Mail, Skype, Google Talk, ICQ, IRC). Selbstverständlich besuchen unsere Angestellte die Kunden oft oder empfangen die Kunden in unserem Büro. Trotzdem bleibt das Internet das Haupt-Kommunikationsmittel.