- Branchenübergreifende Softwarelösungen mit verschiedenen Technologie-Stacks sind unser Schwerpunkt. Unser Referenzportfolio ist breit gefächert: Cloud-basierte Enterprise Plattformen, Cross-Media Marketingtools, Energie-Fördermittel Rechner, Online-Shops. Kunden schätzen neben unserer Flexibilität insbesondere unsere Fachkompetenz, die eben nicht bei A wie Apache beginnt und bei P wie PHP aufhört, sondern sich über viele Sprachen, Frameworks und Datenbanksysteme erstreckt.
- Bei alemo sind mehrere agile Teams parallel tätig. Abhängig von den Anforderungen des Kunden und den technischen Ansprüchen an das Projekt wählen wir die passende Projektmanagement-Methode aus, meistens wahlweise Scrum oder Kanban, und definieren die technische Basis. Dabei spielt Interoperabilität ebenso eine Rolle, wie auch bereits vorhandene Infrastruktur, sowie die Zielgruppe. Die Umsetzung erfolgt dann durch das Projektteam bei uns im Hause, oder auch beim Kunden vor Ort.
- Neben den Entwicklungsleistungen gehören auch die Requirement-Analyse, und Consulting in den Bereichen Projekt- und Prozessmanagement zu unserem Portfolio, ebenso Test- und Qualitätsmanagement, sowie im Bereich e-Commerce das Sales Marketing, Google AdWords-Betreuung und -Optimierung, Amazon Shopmanagement und vieles mehr. Unser Fokus liegt immer auf den projektspezifischen Anforderungen und Zielstellungen hinsichtlich Skalierbarkeit, Sicherheit und Flexibilität.
Je nach Projekt und Ausgangslage setzen wir wahlweise Scrum oder Kanban ein. Die Wahl des richtigen Prozessworkflows richtet sich nach den Anforderungen des Projektes.
Wir nutzen PHP fast ausschließlich mit verschiedenen Frameworks, wie etwa Symfony oder auf Basis unseres eigens entwickelten Halo Frameworks.
In vereinzelten Projekten greifen wir auf RabbitMQ zurück, um Nutzer ressourcenschonend dynamisch benachrichtigen zu können. RabbitMQ hat sich in diesem Bereich als namenhafte Lösung durchgesetzt und wird von vielen großen Unternehmen und Projekten weltweit eingesetzt.
Neben PHP stellt die .net-Plattform bei uns den häufigst genutzten Technologie-Stack dar. Als Sprache wird hierbei in der Regel C# gewählt.
Angular und AngularJS kommen in mehreren unserer Projekte zum Einsatz.
Nicht im Live-Betrieb aber durchaus in der Entwicklungsphase machen wir uns das Leben mit Docker einfach. Der Einsatz hängt natürlich vom Projekt ab und ist nicht bei jedem Projekt immer sinnvoll.
Da wir schlanke Workflows mögen und uns ungern aufwändig selbst organisieren, nutzen wir Jira in Kombination mit Bitbucket Server. Unsere Teams lieben das bereitgestellte Setup: Es spart Zeit, unterstützt bei der Arbeit, erhöht die Effizienz und die Zufriedenheit.
Als Versionsverwaltung ist die Effizienz von git unbestritten. Ohne thematische Branches und Pull Request (in Verbindung mit Bitbucket Server) wäre unsere Q/A längst nicht so gut, wie sie es ist.
Da wir mitunter viele verschiedene Bibliotheken einsetzen, machen wir es uns einfach: Die Bibliotheken werden je Projekt mittels Composer eingebunden. Schnell und unkompliziert.
Gemeinsam Arbeitsergebnisse betrachten, vergleichen oder Nachbesserungen vorschlagen: Sowohl für die Qualitätssicherung, als auch für den Lernfaktor und die Teamzusammenarbeit ist Bitbucket Server im täglichen Prozess gesetzt.
Bei vielen Aufgabenstellungen nutzen wir das Prinzip des Test-Driven-Development und beginnen mit dem Unit Test. Da viele Projekte auf PHP basieren, ist PHPUnit hier das Mittel der Wahl. Letztlich handelt es sich bei PHPUnit, wie auch generell beim Test-Driven-Development um einen weiteren Baustein zur Qualitätssicherung und stabiler, sicherer Software.
Auch JavaScript Code wird bei uns umfassend getestet: Hier bedienen wir uns Mocha.js, einem einfach zu handhabenden Test Framework für JavaScript Applikationen.
Tatsächlich nutzen wir in den meisten Projekten PostgreSQL anstelle alternativer Datenbanksysteme. Kenntnisse sind aber auch schnell erlernbar, wenn ein andere relationales DBMS bereits beherrscht wird, z. B. MariaDB.
Da wir auch für spezifische Hardware und Embedded Systeme programmieren, ist Python an dieser Stelle die uns zur Verfügung stehende Sprache. Tatsächlich ist Python die einzige Skriptsprache, die auf den meisten Embedded Systemen bereit nativ vorhanden ist.
Die von Facebook entwickelte Query-Sprache sorgt für eine effizientere Kommunikation zwischen Server- und Clientanwendung und ermöglicht uns eine schärfere Trennung zwischen Front- und Backend-Entwicklung.
Von Testautomation bis Continuous Integration profitieren wir inzwischen in vielen Projekten von Jenkins.
Neben unserem eigenen Framework, welches vor allem in älteren Projekten noch zum Einsatz kommt, wächst die Verwendung von Symfony als Basis unserer aktuellen Projekte. So können wir uns ganz auf die Anwendungslogik konzentrieren.