Fachartikel

Messung der Kompetenz eines Dienstleisters für Softwareprojekte

S ie sind auf der Suche nach einem Partner für Ihr Softwareprojekt, wissen aber nicht wie Sie die Qualität der unterschiedlichen Dienstleister bewerten sollen? Referenzprojekte, zertifizierte Entwickler, offizieller Partner, Gewinner des XY-Awards, ... Insbesondere im Bereich der Webentwicklung, mangelt es heutzutage nicht an Auszeichnungen und Zertifikaten. Aber wie soll ein Laie die tatsächliche Aussagekraft des jeweiligen Titels beurteilen? In diesem Blogartikel stellen wir einen Test vor, der Sie dabei unterstützt, die tatsächliche Kompetenz eines Softwaredienstleisters selbst zu bewerten.

01 Blogeintrag Bild.png

Jeder Betreiber einer Website, eines Onlineshops oder umfangreichen Portals arbeitet i.d.R. mit mindestens einem Dienstleister aus den Bereichen Softwareentwicklung, Hosting, User Experience & Design oder Online Marketing zusammen. Die Basis all dessen stellt die Softwareentwicklung dar, denn ohne Website existiert kein Online-Business. Aus diesem Grund konzentrieren wir uns in diesem Artikel auf die Kompetenz der Softwareentwicklung bzw. die Bewertung dieser Kompetenz. Denn kaum etwas ist schnelllebiger als die Welt der Webentwicklung. Codezeilen, die heute noch per Hand geschrieben werden müssen, entstehen morgen bereits automatisch von Tools generiert.

Einen Dienstleister zu finden bzw. auf ihn aufmerksam zu werden stellt dank Google heutzutage kein Problem dar. Aber wie können Sie herausfinden, ob dieser auch zum eigenen Unternehmen passt und wichtiger noch, ob dieser über die benötigten Kompetenzen verfügt? Zur Ermittlung eben dieser Kompetenz haben wir uns an der Idee des SaccyClutch Engineering Club orientiert. Der hier entwickelte Test wird zur Messung der Software-Kompetenz eines potenziellen neuen Arbeitgebers eingesetzt. Dieses Tool bietet aber auch die Möglichkeit, die Kernfrage, welcher Dienstleister gewählt werden soll, zu beantworten.

Grundsätzlich werden die zu bewertenden Punkte in die Kategorien in „Verbindlichkeiten“ (must haves) und „Zusatzleistungen“ (should haves) unterteilt. Mit Verbindlichkeiten sind in diesem Fall tatsächliche Voraussetzungen für einen innovativen und professionellen Dienstleister im Bereich der Softwareentwicklung gemeint, wohingegen es sich bei den Zusatzleistungen um tatsächliche Bonusleistungen handelt. Die jeweiligen Fragen lassen sich entweder mit Ja oder Nein beantworten, unterscheiden sich allerdings in ihrer Bewertung.

Das Punktesystem spricht für sich. Das Nichterfüllen einer Verbindlichkeit wird mit -1 Punkt bestraft, während das das Erfüllen einer Zusatzleistung mit +1 Punkt belohnt wird. Mit dieser simplen Rechnung lässt sich prinzipiell herausfinden, ob ein Dienstleister für Softwareprojekte in der heutigen Zeit über die nötige Kompetenz, das Innovationsgedankengut sowie benötigte interne Prozesse verfügt oder nicht. Der Wert Null als Ergebnis ist vollkommen zufriedenstellend und besagt, dass das Unternehmen mit professionellen Standards arbeitet und Produkte von guter Qualität liefert. Ein Ergebnis mit einem Wert über Null zeigt, dass das Unternehmen an einer permanenten Verbesserung der Kompetenzen interessiert ist und sich auf dem Weg der stetigen Weiterentwicklung befindet. Im Gegensatz dazu sollten Unternehmen mit einem negativen Gesamtergebnis lieber nicht in Betracht gezogen werden, da sie eine eher fragwürdige Entwicklungsqualität abliefern.

Softwarekompetenz_Artikelbild_02.png

 

Die Verbindlichkeiten (musthaves)

  1. Continuous Integration – Werden Testergebnisse kontinuierlich berücksichtigt?

Keine kontinuierliche Integration – keine automatisierten Tests – keine Qualität – bad job! Softwareprojekte werden i.d.R. permanenten Tests unterzogen. Damit diese Tests das Projekt voranbringen, müssen die Ergebnisse kontinuierlich im Projektverlauf berücksichtigt werden. Findet keine Integration von Testergebnissen statt, werden Ergebnisse vergessen, sodass das gesamte Prozedere umsonst ist. Wir bei basecom, nutzen hierfür eine so genannte Testsuite, um eine kontinuierliche Integration gewährleisten zu können.

  1. Automatic Deployment – Werden Ergebnisse automatisch bereitgestellt?

Die Bedeutung eines einfachen, robusten und sicheren Bereitstellungsprozesses wird im Bereich der Softwareentwicklung häufig unterschätzt. Schnell wird argumentiert, dass dies zu einem späteren Zeitpunkt erfolgen kann. Wenn allerdings dieser spätere Zeitpunkt eintrifft, bleibt meist keine Zeit mehr, da sich in der Zwischenzeit ein Berg von manuellen Skripten, Notizen und Checklisten angesammelt hat, der einen erschlägt. Ein derartiges Chaos verursacht Fehler, die andernfalls hätten vermieden werden können. Ähnlich verhält es sich mit dem Schaffen von Artefakten, sozusagen den Zwischenergebnissen des jeweiligen Softwareprojektes. Schrittweises Erarbeiten ist das Stichwort.

  1. Task- & Error Management System – Gibt es eine einsehbare Projektübersicht?

Eine stets aktuelle und einsehbare Projektübersicht ist das A und O. Dabei ist es uninteressant, ob dies mithilfe eines Whiteboards, Online-Tools oder eines Kanbanboards geschieht, solange sie zumindest existiert und gepflegt wird. Das gesamte Projektteam sollte zu jedem Zeitpunkt Einblick in die To Dos, Erfolge und Probleme des Projektes haben. Bei diesem Punkt haben wir die Erfahrung gesammelt, dass es nicht die eine optimale Lösung gibt, sondern jeweils kundenspezifische Lösungen. Dies geht von manuellen Statusfolien bishin zu eigenen JIRA Kundenaccounts, durch die unsere Kunden direkt im Task-System mitarbeiten können.

  1. Status Meetings – Gibt es tägliche Stand-Ups?

Kommunikation gewinnt! Sorgen Sie dafür, dass alle Projektbeteiligten permanent informiert sind, aber langweilen Sie sie nicht mit Details. Nur wer informiert ist, kann das richtige Ziel verfolgen. Keep it short and on point. Stand-Ups helfen nicht nur dabei die Kommunikation aufrechtzuerhalten und alle Projektbeteiligten auf einen Stand zu bringen, sondern bieten darüber hinaus auch die Möglichkeit sich über aktuelle Probleme auszutauschen. So können die Projektbeteiligten spontane Lösungsansätze anbringen oder eben klären, wann und mit wem das Problem angegangen wird. Insobesondere bei aktuellen Projekten, sind 10 Minütige Daily Stand-Ups bei basecom der Regelfall.

  1. Iterational Process – Arbeiten Sie in Iterationen?

Kurze Sprints von maximal zwei Wochen fördern die Konzentration der Entwickler auf das Wesentliche und gestalten die Aufgaben überschaubarer. Außerdem kann am Ende eines jeden Sprints ein fertiges Teilprodukt geliefert werden, welches auch den Kunden über den Projektstatus informiert und ihn auch während des Projekts involviert. Wir konnten innerhalb der Projektarbeit mit dieser Methodik bisher nur positive Erfahrungen sammeln.

  1. Unit-Tests – Überprüfen Sie die Code-Funktion?

Es gibt wahrscheinlich keine bessere Möglichkeit die Funktion des Codes zu testen, als ein anderer Code, der diese Aufgabe übernimmt. Für diese Überprüfung nutzen wir bei basecom in der Entwicklung i.d.R. selbst geschriebene Programme.

  1. End-to-End DSL Tests – Überprüfen Sie die Anwendungsqualität?

Neben der Code-Qualität spielt ebenfalls die Anwendungsqualität des Codes eine ausschlaggebende Rolle. Erfüllt die Anwendung ihr Ziel nicht, ist es uninteressant, ob der Code perfekt ist oder nicht. Hier sind DSL (Domain Specific Language) End-to-End Tests empfehlenswert. Diese Lösung bietet bspw. das Tool ESLit, welches wir u.a. zur Ürberprüfung der Codequalität im Einsatz haben.

  1. Acceptance Person – Werden Tickets vor der Abnahme kontrolliert?

Der Job ist erledigt, wenn der Aufgaben-Verantwortliche das ebenfalls so sieht. Die beste Option für diese Position ist jemand, der bestens mit SCRUM vertraut ist. Dies ist dennoch nicht zwingend notwendig. Ebenso gut kann es sich dabei um einen Entwickler handeln, allerdings nur, wenn er nicht selbst an der jeweiligen Funktion mitentwickelt hat. Da wir bei basecom mit dem Projektmanagement-Tool JIRA arbeiten, ist diese Kontrollfunktion ein fester Bestandteil unserer Aufgabenworkflows innerhalb eines Projektes.

  1. Code Review – Wird der Code bewertet?

Die Code Review ist ein hilfreiches Instrument für den Wissensaustausch, die Teambildung oder die Unterstützung der Anwendungsqualität. Ohne eine Code Review ist es unmöglich gemeinschaftlich entwickelten Code oder entwicklungstechnische Entscheidungen verständlich und organisiert zu dokumentieren. Häufig findet so eine Code Review zwischen den Entwicklern des Projektes und den Entwicklern des Kunden sowie auch den Entwicklern des Dienstleisters, die nicht im Projekt beteiligt waren, statt. Diese Review ist mittlerweile ein fester Bestandteil aller abzuarbeitenden Issues.

  1. 2 Pizza Team – Arbeiten Sie in überschaubaren Teams? 

Diese Regel geht zurück auf Jeff Bezos und besagt, einzelne Projektteams sollten nur so groß sein, dass sie von zwei Familienpizzen satt werden könnten. Diese Idee hält die Teamkommunikation auf einem nützlichen und überschaubaren Level. Gleichzeitig begrenzt diese Gruppengröße Auswirkungen sowie das Stresslevel des restlichen Teams auf ein Minimum. Wir haben mit dieser Art der Projektarbeit bisher ausschließlich gute Erfahrungen sammeln könnnen, da die Effizienzsteigerung enorm ist. Bei basecom werden meistens 7 Personen von dieser Pizzamenge gesättigt.

  1. Meet & Eat – Werden Meetings zeitlich & personell begrenzt?

Bei vielen Meetings handelt es sich um reine Zeitverschwendung, vor allem dann, wenn sehr viele Personen involviert sind. Um Meetings effizient zu gestalten, sollten sie kurz bleiben und immer ein konkretes Ziel verfolgen. Bei mehr als 8 Teilnehmern ist das nicht mehr möglich. Hier kann es sich dann nur noch um die Präsentation von Ergebnissen handeln. Ein gemeinsames Erarbeiten von Ergebnissen in solchen Terminen ist effizient nicht möglich.

  1. Chat, Phone, Mail – Gibt es einen primären Kommunikationskanal?

Es sollte genau einen Kommunikationskanal zwischen den Projektmitgliedern geben. Heutzutage gibt es zu viele Möglichkeiten, die meistens nur zu Chaos führen. Es sollte einen offiziellen, z.B. den internen Chat, sowie einen Notfall-Kanal (Smartphone) geben, mehr nicht. Wir lösen diese Option mit dem primären Kommunikationskanal Atlassian HipChat (Instant Messanger), welcher sowohl am Desktop als auch Mobil einwandfrei funktioniert. Im Notfall lässt sich eine Kontaktaufnahme per Smartphone jedoch nicht vermeiden.

  1. Bildung – Existiert eine Bibliothek?

Eine Bibliothek im Zusammenhang mit Softwareentwicklung klingt vielleicht im ersten Moment merkwürdig und garantiert auch nicht, dass die Mitarbeiter diese nutzen werden, aber sie sollte vorhanden sein, damit die Möglichkeit gegeben ist. Es ist immer hilfreich, wenn Teammitglieder dieselben Terminologien gebrauchen. Auch wenn wir bei basecom nicht mit einer kompletten Bibliothek dienen können, verfügt jedes Team in unserem Hause über eine kleine eigene Themenspezifische Bibliothek, bei der wir stets auf die Aktualität achten. 

  1. Wird die Pfadfinderregel befolgt?

Hinterlasse alles besser, als du es vorgefunden hast, denn so bleiben die Projekte sauber. Das ist zuerst eine sehr idealistische Zielsetzung. Das bedeutet nicht, dass man alles ändern sollte, das bearbeitet oder angesehen wird, aber wer Fehler entdeckt, sollte sie korrigieren, wenn diese Behebung nahezu so schnell geht, wie den Fehler aussagekräftig zu dokumentieren. Diese Regel versuchen natürlichen auch wir bei basecom, in den Köpfen unserer Mitarbeiter tief zu verankern.

  1. Gibt es einen Befürworter von Oben?

Nur wenn die Führungsebene die Einhaltung der genannten Punkte einfordert, kann sie erfolgreich im Unternehmen gelebt werden.

“If nobody becomes a pain in the ass the laziness will win”

 

Zusatzleistungen (should haves)

  1. Tragen Sie zu Open Source bei?

Ein Dienstleister, der mit Open Source Produkten arbeitet, sollte ebenfalls an der Weiterentwicklung dieser interessiert sein, da die Produkte davon ungemein leben. Open Source bedeutet von der Community profitieren und im Umkehrschluss sich auch in die Community einbringen. Insbesondere für Shopware, Akeneo und Magento haben wir als basecom bereits innovative Extensions entwickelt und diese als Open Source veröffentlicht.

  1. Entwickeln Sie Neuheiten?

Innovation zeichnet sich insbesondere durch innovative Ideen aus. Wer diese Ideen hat und etwas auf sich hält, wird sie auch umsetzen und mit der Welt teilen. Ein Beispiel in unserem Hause ist der basecom Innovation Day in dem sich unsere Mitarbeiter frei neuen Ideen widmen können.

  1. Teilen Sie ihr Fachwissen innerhalb des Teams?

Ein Einzelner ist nur so gut wie das Team, in dem er sich befindet. Dementsprechend ist es nur sinnvoll, sein Wissen mit dem Rest des Teams zu teilen. Wir unterstützen dies mit unseren regelmäßigen internen Wissensaustäuschen.

  1. Teilen Sie ihr Fachwissen mit der Welt?

Warum sollte das eigene Wissen für sich behalten werden? Die Präsentation von gewonnenem Know-How nach Außen, zeichnet schließlich auch den Dienstleister an sich aus und bietet Möglichkeit sich selbst darzustellen. Dies kann bspw. durch Blogartikel, Veröffentlichungen in Fachmagazinen und Speakertätigkeiten auf Konferenzen geschehen.

Fazit

Es ist gar nicht so leicht, die tatsächliche Kompetenz eines Dienstleisters für Softwareprojekte herauszufinden, dafür allerdings umso wichtiger für den geplanten Projekterfolg. Den richtigen Partner an seiner Seite zu haben ist elementar wichtig für das kommende Projekt, denn in vielen Fällen hängt davon die unternehmerische Existenz ab. Dieser Artikel hat aufgezeigt, wie viele Punkte es zu beachten gibt. Einzelne bedeuten für den Dienstleister auf kurze Sicht erst einmal mehr Aufwand, zahlen sich aber langfristig in höherer Qualität und Effizienz aus. Andere Ansätze erhöhen direkt die Effizienz und zahlen sich umgehend für alle Projektbeteiligten aus. Diese Fakten wirken sich natürlich ebenfalls auf Ihr Projektvolumen und die von Ihnen angestrebte Qualität aus. Wenn Sie wissen möchten, wie wir bei diesem Test abschneiden und ob wir der richtige Partner für Ihr Softwareprojekt sind, sprechen Sie uns an!

Über die Autorin


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert*

basecom - Ihr Dienstleister für Open Source Softwareprojekte

  •  

    Shopware Agentur

    Zertifizierte Expertise für Ihr Shopware Projekt

  • Magento Agentur
     

    Magento Agentur

    Leistungsstarke Magento Entwicklung und Betreuung

  •  

    akeneo PIM für Ihren Multi-Channel Erfolg

    Produktinformationen mit akeneo PIM zentral organisieren

  •  

    Symfony Partner

    Für individuelle Weblösungen aller Art

Jetzt Kontakt aufnehmen.
basecom Logo
basecom
IT-Agentur
0541 580 287 0

info@basecom.de
 

Wir helfen Ihnen gerne weiter.

Jetzt Rückruf anfordern.