Youthpass

Eine Website oder Webanwendung ist im Gegensatz zu anderen Publikationen nicht nur ein gestaltetes Medium, sondern ein Softwareprodukt, in dem umfangreiches Wissen über die fachlichen Hintergründe gekapselt ist. Damit dieses Wissen nicht verloren geht, sondern dauerhaft genutzt werden kann, legen wir großen Wert auf langlebige Systeme. Das erreichen wir unter anderem durch folgende Maßnahmen:
Das Corporate Design vieler Organisationen entwickelt sich deutlich schneller und häufiger weiter als die zugrundeliegenden Daten und Prozesse. Bei der Entwicklung achten wir daher darauf, dass sich das Design unabhängig von den zugrundeliegenden Daten und der Funktionalität ändern lässt.
Softwareentwickler erfinden gerne neue Dinge. Entsprechend gibt es jedes Jahr neue Trends, Techniken und Frameworks, die versprechen, alles besser zu machen als ihre Vorgänger. Eine unbedachte Integration von immer neuen Technologien in ein Produkt bedeutet aber, dass dessen Komplexität mit der Zeit alleine durch die Zahl der verwendeten Technologien steigt und es damit immer schwerer weiterzuentwickeln wird. Es bedeutet auch, dass Entwickler, die dieses Produkt pflegen sollen, immer mehr Technologien beherrschen müssen. Darunter leidet die Expertise in jeder einzelnen genutzten Technologie.
Wir achten daher bei der Auswahl unseres Technologie-Portfolios sehr genau darauf, welchen Nutzen die Technologien für unsere Kunden bringen und welche Kosten dadurch langfristig entstehen. Wir versuchen, die Zahl unterschiedlicher Sprachen und Technologien auf ein Minimum zu reduzieren und erreichen damit langfristige Wartbarkeit und Investitionssicherheit.
Dan McKinley hat das in seinem Essay "Choose Boring Technology" auf den Punkt gebracht.
Für uns bedeutet das konkret:
phlough install
) auf jedem Server oder Entwickler-Notebook installieren, auf Wunsch mit einer lokalen Datenbank mit Demo-Daten ( phlough project:setup-db
). Das bedeutet, alte Produkte lassen sich genauso leicht pflegen wie neue.Wir geben uns große Mühe, ein attraktiver Arbeitgeber für unser gesamtes Team zu sein und zu bleiben. Neben einer wertschätzenden Teamkultur erreichen wir das durch Begrenzung der Arbeitszeiten, regelmäßige Gehaltserhöhungen, unbegrenzte Fortbildungsangebote und nicht zuletzt durch eine offene, vertrauensvolle Zusammenarbeit mit unseren Kunden. Denn neben der langlebigen Codebasis ist das implizite Wissen, das jedes Teammitglied über die von ihm mitentwickelten Projekte besitzt, eine wichtige Ressource für erfolgreiche Weiterentwicklung.
Durch die einheitliche technische Plattform aller Produkte ist es zudem jedem Teammitglied mit relativ geringem Einarbeitungsaufwand möglich, jedes Produkt weiterzuentwickeln. Wir achten auf einen regelmäßigen Wechsel, sodass das Wissen über die Produkte im Team verteilt wird.
Wie legen großen Wert auf ein hohes Qualitätsniveau der von uns entwickelten Websites und Webanwendungen und nehmen uns immer Zeit, Schwächen, die uns auffallen, zu verbessern. Hohe Qualität bedeutet unter anderem gute Verständlichkeit des Codes, z. B. durch wohlüberlegte Namen für Variablen und Komponenten (Klassen) – und die gute Verständlichkeit zahlt sich sowohl bei der Einarbeitung neuer Kollegen in ein Produkt aus, also auch, wenn das ursprüngliche Entwickler nach längerer Zeit zu dem Produkt zurückkehrt.
Die von uns entwickelten Anwendungen bringen wir auch regelmäßig auf den neuesten Versionsstand von Symfony und integrieren unsere aktuellsten "Best Practice"-Ansätze. Auch dies trägt zu einer guten Wartbarkeit und Weiterentwickelbarkeit bei.
Für die Funktionalitäten, die wir in einem Produkt entwickeln, entwickeln wir auch automatisierte Testroutinen ein, die bei jeder Änderung am Quellcode prüfen, dass alles noch so funktioniert wie beabsichtigt. Das ermöglicht uns, auch nach langer Zeit größere Änderungen am Code vorzunehmen, da wir die Gewissheit haben, dass wir merken würden, wenn Fehler entstehen. Mehr dazu auch auf unserer Informationsseite zu Agiler Softwareentwicklung.
Individuelle Softwareentwicklung erfordert hohe Investitionen. Es ist unser höchstes Ziel, diese Investitionen möglichst nutzenstiftend einzusetzen. Daher beraten wir unsere Kunden intensiv, bevor wir ein großes Projekt starten, und suchen nach möglichen Alternativen. Zugleich fühlen wir uns dauerhaft für jedes von uns entwickelte Produkt verantwortlich. Auch ohne Wartungs- oder Betreuungsvertrag können unsere Kunden sich jederzeit an uns wenden, wenn sie ein Problem mit ihrer Website feststellen oder sie weiterentwickeln möchten. Eine hohe Zahl von uns betreuter Systeme hat sich bereits mehr als 15 Jahre im Produktivbetrieb bewährt und wird laufend weiterentwickelt und aktualisiert.