Donnerstag, 23. Februar 2017

Wie man als junges Unternehmen heute seine IT-Lösung aufbaut

Ein Unternehmen gründen ist ein Abenteuer. Gerade in der Anfangszeit wird man mit einer Vielzahl an Themen konfrontiert, die oftmals zuvor nur ungefähr bekannt sind: Die detaillierten Unterschiede der Rechtsformen (Einzelfirma, GmbH oder AG), Versicherungslösungen für Vorsorge (BVG), Unfallversicherungen, Haftpflichtversicherungen, Mehrwertsteuer Saldo- vs. Pauschalsteuersätze und, und, und. 

Gründen ist in der Schweiz nach wie vor im Trend: Im 2016 wurden in der Schweiz 41'329 neue Firmen ins Handelsregister eingetragen. Dies entspricht einem Zuwachs von 0.7 Prozent (siehe http://www.tageswoche.ch/de/2016_53/schweiz/738833/). Der Hype um Entrepreneurship und Startups ist allgegenwärtig. Dank der nach wie vor ansteigenden Digitalisierungswelle scheinen die Möglichkeiten unbegrenzt. Auch auf den Gängen etablierten Firmen kann man immer wieder Gesprächsfetzen zwischen deren Mitarbeiter auffassen à la:

Wenn ich heute unser Unternehmen starten würde, dann würde ich es ganz anders machen

Nicht selten geht es dabei um Diskussionen konkreter IT-Lösungen und Tools um eine bestimmte Aufgabenstellung aus dem Geschäftsalltag zu bewerkstelligen.

Also, ich würde zu 100% auf Cloud setzen und die Ressourcenplanung auf jeden Fall mit ResourceGuru machen

Gründen hat einen grossen Vorteil. All diesen Wünschen nach Tools, Diensten und IT-Lösungen steht eigentlich nichts im Wege. Man kann endlich alles so machen, wie man will.

Uff, dieses Freiheitsgefühl kann auch schnell in blanke Überforderung umschlagen. Wie mache wir jetzt die Buchhaltung? Wo erstelle wir unsere Rechnungen? Kaufen wir Microsoft Office im Abo (Microsoft Office 365) oder doch als Fixlizenz?

Wir werden in letzter Zeit des Öfteren gefragt, wie wir bei bambit unsere IT-Lösung aufgesetzt haben. Gerne geben wir mit diesem Blogpost einen Einblick in unsere inneren Prozesse und IT-Landschaft.

Individuelle Ausgangslage berücksichtigen - A Fool with a Tool is still a Fool, but a dangerous one

Bevor man beginnt wie wild Tools zu evaluieren, empfiehlt es sich die Frage zu stellen, was man den überhaupt braucht. Nicht jede IT-Lösung passt zu dem eigenen Unternehmen.

Das Gründen eines Softwareunternehmens war - im Vergleich zu anderen Unternehmensarten - bereits früher mit überschaubaren Investitionskosten verbunden. Das teure Beschaffen eines Kreuzfahrtdampfers war in den wenigsten Fällen notwendig, um loszulegen. Oftmals war es mit der Anschaffung von ein paar Computern, ein paar Servern und passenden Software-Lizenzen erledigt.

In den letzten paar Jahren haben sich diese initialen Investitionskosten noch einmal drastisch gesenkt.

Durch die Etablierung von Cloud-Technologie und SaaS (Software as a Service) können die initialen Startkosten weiter gesenkt werden, denn: für viele Dinge, wo früher ein eigener Server notwendig war, reicht heute ein Clouddienst in einem monatlichen / jährlichen Abonnement aus. Die Beschaffung mittels Abonnement hat zusätzliche Vorteile:

  • Die effektiven Kosten pro Arbeitsplatz können einfacher kalkuliert werden
  • Die Investitionen machen weniger grosse Sprünge. (z.B. bei 10 neuen MA's muss wieder ein neuer Server angeschafft werden)

Auch bei Softwareunternehmen gibt es Unterschiede im Geschäftsmodell: Geht es um Produkt- oder Projektgeschäft? Werden Stunden verkauft oder Fixpreisprojekte, werden Dienstleistungen als Standardpakete angeboten oder ist jede Offerte wieder komplett individuell etc. Es empfiehlt sich also sich zuerst mal Gedanken zu machen, was man braucht. Was brauche ich heute und was brauche ich eventuell morgen?

Wir bei bambit sind Fan von pragmatischen Lösungen. Darum haben wir versucht das "was brauchen wir heute" auf das Wesentliche zu reduzieren. So, dass wir getreu unserem eigenen Plant- und Growth-Ansatz möglichst schnell ein erstes Minimum Viable Product von unserer Tool-Landschaft starten können und durch deren Betrieb und Anwendung laufend dazu lernen.

Konkrete Tool-Landschaft von bambit

ERP-System - bexio

Screenshot von www.bexio.ch

bexio ist eine Schweizer ERP-Lösung, welche komplett als SaaS (Software as a Service) angeboten wird. Wir haben uns für das Paket Service (Stand 23.02.2017) entschieden. Besonders überzeugt hat uns, dass wir bexio direkt mit unserem E-Banking von UBS verbinden können. Das macht das ganze Handling von Zahlungsflüssen und Buchhaltung extrem einfach.

Wir setzen bexio mit folgender Prämisse ein: "Ab dem Zeitpunkt wo wir mit dem Kunden eine Geschäftsbeziehung eingehen, werden die Strukturen in bexio eröffnet". Eine Geschäftsbeziehung beginnt mit dem Erstellen einer ersten Offerte. Siehe mehr unter CRM-System - hubspot crm um zu erfahren, wie wir vor einer Geschäftsbeziehung mit Kundendaten umgehen.

Die Funktionalitäten von bexio verwenden wir wie folgt:

FunktionalitätSetzen wir ein
BuchhaltungJa
KundendatenAb Beginn einer Geschäftsbeziehung
OffertenprozesseNein
ProjekteJa
RechnungswesenJa

Zeit-Rapportierungen - toggl

Screenshot von toggl.com

Ein wichtiger Messfaktor ist für uns die Zeitaufwendungen. Um uns laufend zu verbessern, ist es für uns essenziell zu verstehen für welche Tätigkeiten wir, wie viel Zeit aufwenden. Wie lange brauchen wir für eine Offerte, wie viel Zeit verwenden wir auf Kundenprojekten oder wie viel Zeit geht für administrative Aufgaben drauf. Um Schwachstellen in unserer eigenen Organisation zu erkennen, erachten wir diese Informationen als sehr aufschlussreich. Um notwendigen Informationen zu sammeln, verwenden wir darum ein Zeitrapportierungssystem. Unsere Wahl ist dabei auf toggl gefallen. Moment? Gemäss Datenblatt verfügt bexio doch auch über eine Zeitrapportierung. Warum wird nicht diese verwendet?

Um Zeitaufwände auf Projekte zu rapportieren, welche nicht 1:1 einem Kunden zugeordnet werden können (z.B: Marketingaufgaben), müssten in bexio verschiedene Projekte angelegt werden, die nicht zu einem konkreten Kunden gehören. Dieser Weg wäre grundsätzlich möglich. Wir haben uns aber entschieden, dass wir in bexio nur Kundenprojekte führen wollen. Bexio ist unser System für Buchhaltung und den entsprechenden Zusatzdisziplinen (Verrechnungen, Projektstammdaten) etc. Das Managen unserer gesamten Arbeitszeiten wollen wir ausserhalb von diesem System regeln. Das nicht zuletzt auch, weil toggl heute rund um Zeitrapportierung für uns intuitiver zu bedienen ist und die Möglichkeiten für Reports umfangreicher sind. Dank der toggl iPhone App können zusätzlich von unterwegs die eigenen Zeitrapportierungen aktualisiert werden.

Am Ende des Monats übertragen wir die projektbezogenen Aufwände von toggl in bexio um die Verrechnungen aufzubereiten. Dank den Export- und Importmöglichkeiten von toggl und bexio, mittels verschiedenen CSV-Formaten, könnte man das relativ einfach automatisieren. Aktuell machen wir das aber noch von Hand. Mittels dem Dienst Zapier und einem geeigneten WebHook könnte man sogar ein Live-Abgleich realisieren. Wenn die Zeit reif ist, werden wir das bewerkstelligen.

CRM-System - hubspot CRM

Screenshot von www.hubspot.com

Bei uns entsteht eine Kundenbeziehung, lange bevor eine effektive Geschäftsbeziehung entsteht. Als Wiederholung: Für uns beginnt eine Geschäftsbeziehung mit dem Erstellen einer ersten Offerte. Bevor es aber zu einer ersten Offerte kommt, hat man bereits verschiedene Interaktionen mit einem (potenziellen) Kunden. Zum Beispiel lernt man eine Person irgendwo kennen und tauscht Visitenkarten aus. Man wird anderen Personen vorgestellt, die im selben Unternehmen arbeiten usw.Als CRM-System setzen wir hubspot CRM ein. Warum, wieso und wie wir hubspot CRM eingeführt haben, werden wir in einem eigenen Blogpost aufzeigen. Folgendes sei aber bereits hier verraten: Wir managen unseren Kundenstamm und den Verkaufstrichter (Prozess von der Offertenanfrage bis zum Verkaufsabschluss) komplett in hubspot CRM.

Dokumente - Office 365 und Atlassian Confluence

Screenshot von https://products.office.com/de-ch/business/office

Die Microsoft Office Produkte (Word, Excel etc.) sind nach wie vor unsere erste Wahl für die Büroanwendungen. Letztendlich bauen wir ja auch viele unsere Kundenlösungen auf dem Microsoft .NET Stack auf. Damit jeder Mitarbeiter über die notwendigen Microsoft Office Produkte verfügt, setzen wir darum auf Microsoft Office 365 Business.Abhängig von Projektlebezyklus entstehen unterschiedliche Informationen, die eine unterschiedliche Art und Gültigkeitsdauer haben. Als Beispiel: Offerten, Verträge, Präsentationen, Prozessdokumentationen, Marketingmaterial, Projektdokumentationen, Rechnungen etc. Ein Teil dieser Informationen werden einem Kunden typischerweise in Form von einem abschliessenden Dokument (z.B. Word oder PDF) abgegeben und entsprechend versioniert. Ein zweiter Teil ist eher "Moving Target" und wird laufend ergänzt (z.B. Architekturdokumentationen einer Kundenlösung). Gerade die zweitens genannten Informationen entstehen typischerweise in starker Kollaboration. Mehrere Mitarbeiter von bambit und Mitarbeiter des Kunden arbeiten gleichzeitig daran. Auf Grund des unterschiedlichen Charakters haben wir uns entschieden zwei verschiedene Systeme einzuführen:

Screenshot von der Atlassian Confluence Cloud Webpage

Anbei einen kurzen Überblick darüber, wo wir welche Informationen ablegen

InformationsartAblageort
OffertenOneDrive
VerträgeOneDrive
PräsentationenOneDrive
Eigene ProzessdokumentationenConfluence
MarketingmaterialOneDrive
Projektdokumentationen (z.B. Architekturdokumentation einer Kundenlösung)Confluence
RechnungenOneDrive

Email-Infrastruktur und Active Directory - Office 365

Im Microsoft Office 365 Business Paket ist das Hosting eines Exchanges enthalten. Diesen verwenden wir für die Email-Infrastruktur. Ebenso enthalten ist zugleich die Nutzung von Microsoft Outlook und der entsprechenden Kalenderintegration. Natürlich kann bei dem Microsoft Office 365 Business Paket eigene Domains hinterlegt werden. So werden alle Emails von einer Email-Adresse à la: hans.mueller@bambit.ch versendet.

Screenshot von Azure Active Directory Services

Damit wir unsere Windows-Clients unter Kontrolle haben, setzen wir ein Active Directory ein. Den Domänencontroller dazu beziehen wir via Microsoft Azure Active Directory Services.

Kosten für die gesamte IT-Lösung

Die oben beschriebenen Tools lässen sich - dank monatlichen Abonnementskosten - auf einen einzelnen Mitarbeiter bestimmen. Dies stellen sich wie folgt zusammen (Preisangaben ohne Gewähr):

DienstMonatliche KostenBemerkungen
Bexio15.00 CHFDer erste Benutzer kostet 39 CHF
Office 365 Business12.95 CHF
toggl09.00 USDDie ersten 5 Benutzer sind kostenlos
Hubspot CRMKostenlosJa! Wirklich!
Atlassian Confluence01.00 USDPreis ist 10$ pro Monat für 10 Benutzer. Gilt bis 10 Mitarbeiter. Anschliessend nehmen die Kosten zu.
Total pro Monat (ca.)37.95 CHF

Was natürlich noch dazukommt ist die Anschaffung von entsprechenden Hardware-Komponenten (Laptops, Handy's und Tablet's)

Für jede Information ein Master-System

Gerade in heterogenen Landschaften mit mehreren System ist es wichtig für alle Informationsarten ein führendes System zu definieren. Ansonsten ist Chaos vorprogrammiert. Im Zweifelsfalle gewinnt immer das führende System. Zum Beispiel: Wenn wir in bexio dem Kunden Meier eine andere Kundennummer zugeordnet hat als in hubspot CRM, dann gilt die Kundennummer aus bexio. 

Besonders wichtig sind für uns dabei ID's und Laufnummern (z.B. Kundennummer). Wir verfolgen hier die Strategie, dass "weniger mehr ist". Darum haben wir in unser Landschaft klare Regeln ausgearbeitet, wer eine ID vergibt (ist somit das Master-System) und wie die ID's zu verstehen sind:

EntitätNummerierungs-PatternBeispiel
Kontakt{6 Ziffern}000001
AngebotAN-{6 Ziffern}AN-000345
AuftragAU-{6 Ziffern}AU-000213
RechnungRE-{6 Ziffern}RE-000033
GutschriftGS-{6 Ziffern}GS-000023
ProjektPJ-{Kontakt}-{2 Ziffern}PJ-000001-04
VertragCT-{Kontakt}-{2 Ziffern}CT-000001-03

Diese Nummern verwenden wir auch in Dokumentnamen, Ordnernamen etc. Dadurch ist sichergestellt, dass alle Dokumente zu einem Kunden oder einem Projekt via Nummer jederzeit aufgefunden werden. Auch, wenn ein Kundenname mal einen Tippfehler enthalten sollte.

Screenshot von den Projektnummerierungen
Screenshot von den Nummerierungen unter Windows

Zusätzlich haben wir in den anderen Systemen die Möglichkeit erschaffen die Informationen aus den Master-Systemen mitzuführen. Zum Beispiel haben wir auf dem Kunden-Datensatz von Hubspot CRM ein eigenes Feld "Kundennummer in Bexio" eingeführt.

Fazit

Für nur 37.95 CHF pro Monat lässt sich eine IT-Lösung für ein Softwareunternehmen betreiben. Auch wenn man pragmatisch startet, sollte von Anfang an klar sein, welches System für welche Informationen den Master bildet. Anbei noch einmal ein Überblick über unsere Tools:

InformationBemerkungTool
KundeAlle Informationen zu einem Kunden. Dazu gehören: Firmennamen, Telefonnummern, Adressen, Informationen zu Kontaktpersonen, Emailadressen etc.Hubspot CRM und bexio
ProjekteInformationen zu einem konkreten Projekt: Vereinbarte Verrechnungsmethode, Stundensätze, Ansprechpartner auf Kundenseiten etc.bexio
ProjektunterlagenUnterlagen, welche im Rahmen von einem konkreten Kundenprojekt erarbeitet oder abgelegt werden.Atlassian Confluence Cloud und OneDrive Share
OffertenKalkulationsgrundlagen, Lösungskonzepte, kommerzielle Angebote etc.OneDrive Share
VerträgeVertragsentwürfe, Vereinbarte Verträge, Unterzeichnete VerträgeOneDrive Share
ZeitrapportierungenAngefallene Aufwände. Für Kundenprojekte, aber auch für alle anderen Aufgaben wie zum Beispiel Marketingarbeit, Akquise etc.toggl
Administrative UnterlagenLiquiditätsplanungen, Businesspläne, Reglemente, Vorlagen, Marketingmaterial usw..Atlassian Confluence Cloud und OneDrive Share
BuchhaltungAlle Aufgaben rund um die Finanzbuchhaltung.bexio
Autor

Reto Gurtner