Blogartikel zum Schlagwort Softwareentwicklung

Moderne App-Entwicklung für Smartphones und Tablets

App-Entwicklung für Android und iOS in der Praxis

Dem Thema “mobile” und der App-Entwicklung geht die Luft nicht aus – ganz im Gegenteil, die oft zurückhaltende Unternehmenswelt entdeckt gerade erst die vielfältigen Möglichkeiten zur Digitalisierung von Geschäftsprozessen mittels Apps fürs Smartphone und Tablet. Immer wieder bekommen auch wir Kundenanfragen zur Entwicklung von Anwendungen für mobile Endgeräte, denen wir mit unserer kreITiv Softwareentwicklung gern nachkommen.

Wie man Apps für Unternehmen entwickelt

Im konkreten Fall gilt es zunächst, die Anforderungen und Wünsche der Kunden für die gewünschte Lösung zu analysieren und zu prüfen. Oft eignen sich Webanwendungen, die über den Browser überall und von jedem Gerät aus verfügbar sind – die sogenannten Web-Apps.

Für uns in der Webentwicklung ist es mittlerweile zum Standard geworden, Webanwendungen responsive zu erstellen und das Design somit von vornherein für alle Endgeräte zu optimieren. Viele Firmen legen zusätzlich aber auch Wert darauf, in den App Stores von Apple und Android vertreten zu sein und die eigene App zum Download zur Verfügung zu stellen. Dadurch können natürlich Umsatzsteigerungen durch neue Kunden realisiert werden. Außerdem ergreift man damit u. U. die Chance, der Konkurrenz einen Schritt voraus zu sein.

  • In einigen Fällen steht beim Kunden bereits eine Responsive Webseite oder Webanwendung zur Verfügung. Diese können wir in kurzer Zeit in eine native App – also eine speziell für die mobilen Plattformen entwickelte Anwendung – umsetzen. Anschließend wird die App in den Google Play Store für Android-Geräte übertragen oder auf der Webseite des Kunden zum Download zur Verfügung gestellt.
  • Bei Apps für das iPhone ist dies nicht ganz so einfach, da Apple strengere Richtlinien für seinen App Store verfolgt und Anwendungen aus diversen Gründen auch gern ablehnt. Über das sogenannte Volume Purchase Program (VPP) von Apple haben wir allerdings die Möglichkeit, die entwickelte App im B2B-Store für iPhones und iPads anzubieten und somit doch auf allen Endgeräten zu platzieren.

Wann empfiehlt sich eine native App und wann reicht die Web-App?

Oft ergeben sich in der App-Entwicklung funktionelle Anforderungen, die in einer reinen Web-App nicht umgesetzt werden können, nach denen also eine native Anwendung durchaus sinnvoll oder auch zwingend erforderlich ist. Dies empfiehlt sich insbesondere, wenn die App auf die Hardware von Endgeräten (wie z. B. GPS-Funktionen oder die Kamera für einen Barcode-Scanner) zugreifen soll. Aber auch Anforderungen wie Push-Benachrichtigungen, Hintergrunddienste, Bluetooth oder Near Field Communication (NFC) erfordern die Entwicklung einer nativen App.

Mitunter kann auch der spätere Gebrauch der App darüber entscheiden, ob es sinnvoll ist, die App nativ für Android und/oder iOS zu entwickeln. Häufig sollen in kurzer Zeit Daten erfasst werden, um Prozesse zu digitalisieren. Für einen echten Produktivitätsgewinn muss dies flüssig und ohne Unterbrechungen am Stück geschehen. Wenn es sich hierbei um größere Datenmengen handelt und eventuell nicht immer eine Internetverbindung verfügbar ist, ist es sinnvoll die Daten zunächst auf dem Gerät zu speichern.

Nach Abschluss des Vorgangs können diese Informationen dann von der App an den Server über das Internet übertragen werden. Eine native App eignet sich somit bspw. auch, wenn Sie sensible Daten speichern, diese aber nicht in eine Cloud oder nach Außen übertragen wollen.

Ihre App zum Download oder im App Store von Google & Apple

Wie bereits erwähnt, kann es bei Anwendungen für Apple-Geräte vorkommen, dass diese nicht zur Veröffentlichung im öffentlichen App Store zugelassen werden. Doch nicht immer ist es überhaupt nötig oder vom Kunden auch gewünscht, dass die App für jedermann im Store zugänglich ist. In solchen Fällen übertragen wir die entwickelten Apps in den separaten Store für B2B-Kunden. So wird sichergestellt, dass die Anwendung auch nur an berechtigte Nutzer verteilt wird und z. B. im internen Gebrauch bei Unternehmen verwendet werden kann.

Für Android-Nutzer ist der Prozess deutlich weniger kompliziert. Das Ergebnis der App-Entwicklung ist eine APK-Datei, die beliebig an ausgewählte Nutzer verteilt und zum Download zur Verfügung gestellt werden kann. Der Weg über den Google Play Store ist nicht zwingend nötig, kann sich aber speziell im B2C-Bereich ebenso anbieten.

Individuelle App-Entwicklung von kreITiv

Bei der Entwicklung von Apps verhält es sich ganz ähnlich wie bei jedem herkömmlichen Softwareprojekt. Zunächst ist es immer wichtig, die Anforderungen genau zu analysieren und anschließend zu entscheiden, welcher der richtige Weg zum Ziel ist. Dank der zahlreichen technischen Standards, die Smartphones und Tablets heute bieten, ergeben sich auch ganz neue Möglichkeiten für intelligente Softwarelösungen, welche Unternehmensprozesse digitalisieren und zu mehr Produktivität im alltäglichen Arbeiten führen können.

Wir beraten Sie gern in der Konzeption Ihrer App und unterstützen Sie in jedem Schritt der Umsetzung nach Ihren individuellen Vorstellungen.

Sprachassistenten – Digitaler Trend und Chance für Softwareentwickler

Sprachassistenten – Digitaler Trend und Chance für Softwareentwickler

Sprachassistenten liegen im Trend und immer mehr Menschen nutzen sie im privaten wie auch im beruflichen Umfeld z. B. für Sucheingaben oder zum Verfassen von Textnachrichten. Sie hören auf die Namen Siri, Alexa oder Cortana und stammen aus den Häusern der ganz Großen der Digitalbranche: Google, Apple, Amazon und Microsoft. Im Alltag bereichern sie das Smart Home, auf Arbeit ergänzen sie moderne ERP-Systeme.

Geschichte der Mensch-Maschine-Kommunikation

Schaut man sich die Entwicklung von Benutzeroberflächen bei Computern und Anwendungen an, dann lässt sich eine eindeutige Tendenz erkennen: Sie bilden immer besser die menschliche Interaktion untereinander nach.

Dabei lässt sich folgende Evolution sehr gut nachvollziehen…

  1. In den Anfängen war Computerarbeit so abstrakt, dass sie nur Spezialisten vorbehalten war.
  2. Bildschirme und bessere Eingabegeräte, wie Tastaturen, machten das im nächsten Schritt für ein größeres Publikum bereits deutlich einfacher.
  3. Die grafische Benutzeroberfläche in Kombination mit der Maus als Eingabegerät versuchte daran anschließend viele Vorgänge bildhaft zu gestalten.
  4. Mit Touchscreens reagierten die Geräte dann auf bereits bekannte und natürliche Gesten, wie das Wischen und Tippen.
  5. Die natürliche Sprache wäre nun die logische, nächste Stufe der Evolution für eine effiziente Form der Nutzung und Steuerung von elektronischen Geräten und Anwendungen.

Die Herausforderung für Sprachassistenten

Einerseits möchte der Nutzer, dass der digitale Assistent ihn genauso gut versteht, wie ein Mensch. Gleichzeitig weiß der kleine Helfer alles, was das Internet an Informationen bereithält. Durch selbständiges Lernen und Beachtung von Wahrscheinlichkeiten kennt er uns so gut, dass er sich fehlende oder fehlerhafte Informationen ggf. selbst erschließen kann. Diese Entwicklungen zusammengenommen könnten einen enormen Wandel des Alltags auslösen. Viele Situationen, in denen bislang eine Suchmaschine oder eine App zum Einsatz kamen, würden nun vom digitalen Assistenten abgedeckt.

Deshalb vermuten manche, dass das Onlinemarketing und hier besonders die Optimierung mit Hinblick auf Suchmaschinen, vor neuen Herausforderungen steht. Ganz konkret bedeutet das: Es muss auch bei der Entwicklung von bspw. Webportalen verstärkt auf die Sichtbarkeit in Suchmaschinen Wert gelegt werden. Denn Sprachassistenten geben nicht den fünften oder zweiten Treffer einer Suchergebnisliste aus, sondern lediglich den ersten Platz. Umso entscheidender ist das perfekte Zusammenspiel von Software (z. B. in Form einer Webseite) und Onlinemarketing.

Chance für Softwareentwicklung und Onlinemarketing

Mit der kreITiv GmbH haben Sie einen Digitalisierungspartner an Ihrer Seite, bei dem Softwareentwickler und Onlinemarketing-Spezialisten zusammentreffen. Wir betrachten Anforderungen und Lösungsmöglichkeiten ganzheitlich und achten dabei stets auf digitale Trends und Zukunftstechnologien.

Die Integration von Sprachassistenten in die IT-Landschaft Ihres Unternehmens ist nur eines von unzähligen Projekten, die wir gemeinsam im Hinblick auf die Digitalisierung Ihrer Geschäftsprozesse angehen können.

directCOURSE, wie Kurssoftware in der Cloud

directCOURSE – die webbasierte Kurssoftware von kreITiv

Sie suchen eine leistungsfähige Software, die Sie in der Planung, Organisation, Durchführung und Abrechnung von Kursen aller Art unterstützt? Sie stellen sich in der alltäglichen Verwaltung Ihrer Kurse regelmäßig Fragen, wie z. B.:

  • Welcher Dozent lehrt in Kurs A welchen Inhalt?
  • Wo finde ich die Teilnehmerlisten der gestrigen Kurse und wie sieht es mit den Zulassungsvoraussetzungen zur Prüfung aus?
  • Welche Teilnehmer aus Kurs B werden durch welche Institution gefördert?
  • Wie sieht es mit dem Anwesenheitsgrad der jeweiligen Teilnehmer aus?
  • Können wir schnell und einfach an den Förderer Bericht erstatten?
  • Und warum kann unsere Software diese Fragen nicht schnell und einfach beantworten?

Dann haben wir mit directCOURSE genau das Richtige für Sie und Ihr Unternehmen. Hier stellen wir unsere neueste kreITion vor.

Interne Verwaltung entlasten – Wettbewerbsfähig bleiben

Wir alle stehen vor der täglichen Herausforderung, uns zu verbessern und vom Wettbewerb abzuheben. Das ist in der Bildungsbranche nicht anders. Seminarräume sollten gefüllt und Dozenten ausgelastet sein, der Außenauftritt muss passen und die interne Verwaltung sollte schlank sein und reibungslos laufen. Dies funktioniert garantiert nicht mit Excel-Listen und Outlook.

Wir haben uns als Spezialist für webbasierte Softwareentwicklung über dieses Thema für Sie Gedanken gemacht. Das Ergebnis dieses Prozesses ist directCOURSE, unsere Kurssoftware in der Cloud.

Ihre Teilnehmer profitieren von einer komfortablen Bedienung und von der Möglichkeit, Kursmaterialien direkt downloaden zu können. Dozenten können sämtliche Informationen zu Teilnehmern zentral verwalten, indem sie ein digitales Klassenbuch führen. Sie behalten wichtige Informationen zu Unternehmen, die Kurse für ihre Mitarbeiter buchen, im Blick. Die Dokumentationspflicht im Hinblick auf Anwesenheit und Abwesenheit wird damit zum Kinderspiel.

Dank der Entwicklung als Web-App greifen alle beteiligten Personen und Organisationen komfortabel und geräteunabhängig auf die Software zu und planen so z. B. auch mobil auf dem Smartphone die nächste Unterrichtsstunde, reichen Unterlagen ein oder kommunizieren mit den Teilnehmern.

directCOURSE, keine Kurssoftware von der Stange

Sie möchten eine flexible Kurs- und Ressourcenplanung, ein Dozenten- und Kursfeedback und idealerweise eine Anbindung an Ihre Buchhaltungssoftware realisieren?

Alle diese Wünsche lassen sich in Ihr directCOURSE integrieren. Dies bedeutet für Sie ein Höchstmaß an Individualität und Effizienz. Dabei handelt es sich um Nichts von der Stange, sondern um eine modular aufgebaute Kurssoftware. Denn wir wissen, kein Bildungsinstitut ist wie das andere.

Vielfältige Einsatzmöglichkeiten ergeben sich jedoch nicht nur im Bildungssektor. Auch beliebige andere Businessevents (bspw. Online-Schulungen und -Seminare, Messe- und Eventmanagement oder die Terminplanung im medizinischen Bereich) sowie Freizeitveranstaltungen (u. a. Fitnesskurse, Künstlergruppen oder Hobbytreffen) lassen sich über unsere Software flexibel organisieren und verwalten.

Weitere Einblicke und die Möglichkeit zur Kontaktaufnahme erhalten Sie auf unserer directCOURSE-Unterseite.

Sie kennen Ihre Anforderungen am besten!

Wir wollen Ihre passende Kurssoftware kreieren. Daher besprechen wir mit Ihnen gemeinsam in einem Erstgespräch, was Ihnen wichtig ist. Um Ihre individuellen Prozesse und Abläufe zu unterstützen, müssen wir diese natürlich kennenlernen.

Sprechen Sie uns an und lassen Sie uns COURSE auf Ihre Zukunft setzen!

Webseiten und Web-Apps mit dem Laravel Framework

Laravel Framework – Die beste Option für Ihr Unternehmen

Webanwendungen erlauben einen universellen und flexiblen Zugang zu den unterschiedlichsten Dienstleistungen. Mit einer rasant steigenden Nutzung des Internets bieten auch zahlreiche Unternehmen ihre Waren, Dienstleistungen und Kenntnisse als Web-Content an. Zuverlässige, sichere und effiziente Applikationen sind somit der Schlüssel zum Erfolg für viele moderne Firmen.

Oft wird die Umsetzung solcher Web-Apps an Spezialisten und Agenturen abgegeben. Trotzdem ist es auch für den Auftraggeber wichtig, die unterschiedlichen Herangehensweisen bei der Entwicklung zu kennen, um zu verstehen, wie sich diese auf das eigene Unternehmen auswirken können.

7 Gründe, warum wir auf das Laravel Framework setzen

Für die Softwareentwicklung von kreITiv haben wir uns, wenn es um komplexe und langlebige Webanwendungen geht, für das PHP-Framework Laravel entschieden. Aus der Unternehmersicht, waren die folgenden Kriterien für diesen Schritt ausschlaggebend.

1

Ladezeit/Geschwindigkeit der Anwendung

Statistiken von Google aus dem Jahr 2016 belegen, dass 53% aller Nutzer eine Webseite verlassen, wenn deren Ladezeit mehr als drei Sekunden beträgt. Dies zeigt, dass die Geschwindigkeit von Web-Applikation höchste Priorität haben sollte.

Anders als bspw. beim mittlerweile sehr komplexen CMS WordPress, beinhaltet eine Laravel-Applikation ausschließlich die Funktionen, die auch wirklich gebraucht werden. Das Resultat ist ein nahezu perfekt auf den Verwendungszweck zugeschnittenes Produkt.

Bei großen Erweiterungen, welche die Ladegeschwindigkeit immer begrenzen, bietet Laravel diverse Optimierungsoptionen, bei denen unter anderem Caching eingesetzt wird.

2

Möglichkeiten zur späteren Weiterentwicklung

Laravel ist das beliebteste PHP Framework 2017 und kommt mit einer breiten Community von Programmierern und Unterstützern. Das bedeutet, dass es keine Probleme bei der späteren Überarbeitung eines Produktes gibt, da Laravel vollständig dokumentiert ist und zahllose Hilfestellungen zu finden sind. Projekte können durch die Skalierbarkeit Laravels stets wachsen und haben keine Limitierungen in diesem Bereich.

Außerdem beinhaltet Laravel ein Versionsmanagement für die Datenbankentwicklung, welches bei der späteren Expansion des Projektes hilfreich ist.

3

Client-Side Framework Unterstützung

Die komplizierten Funktionalitäten einer Web-App verstecken sich immer hinter dem Design. Daher ist es von hoher Wichtigkeit, dass die Benutzeroberfläche einfach zu bedienen ist und mit einer gewissen Eleganz beim Nutzer einen bleibenden Eindruck hinterlässt.

Laravel unterstützt eine Vielzahl an unterschiedlichen Client-Side Frameworks, welche für eine professionelle Entwicklung der Seitendarstellungen benötigt werden. Somit können sowohl statische als auch dynamische Seiten erstellt werden und es gibt keinerlei Limitationen, wenn es um die Interaktivität und Komplexität der Webanwendung geht.

4

Verwendung neuester Techniken bei der Entwicklung

PHP-Frameworks wie Laravel sind grundsätzlich ein Schritt in die Zukunft der Webentwicklung, da durch die Abstraktion keine einfachen Fehler und Sicherheitsprobleme auftauchen und die Programmierung effizienter und schneller geschieht.

Laravel ist ein ideales Grundgerüst für jegliche Webanwendungen, dank dem sich der Entwickler auf die eigentlichen Funktionalitäten der Applikation konzentrieren kann. Ein Beispiel dafür sind die Datenbankzugriffe, welche bei Laravel über vorgefertigte und abgesicherte Methoden laufen, was dazu führt, dass die Entwicklung schneller und die Verwendung sicherer ist.

5

Programmiererfreundliche Entwicklung

Durch den logischen Aufbau und die durchdachte Struktur der Laravel-Applikationen, ist das Handling für Produktentwickler um vieles angenehmer. Das führt dazu, dass viel weniger Logik- und Strukturfehler entstehen. Durch den besseren Überblick erkennen Programmierer schon bei der Entwicklung viel mehr Sicherheitsfehler und Bugs. Auch spätere Erweiterungen oder Änderungen der App können ohne Probleme durchgeführt werden, da es auch für einen projektfremden Entwickler einfach ist, die Struktur und Funktionalitäten zu verstehen und darauf basierend weiterzuentwickeln.

6

Überprüfte und instand gehaltene Sicherheitsoptionen

Laravel baut auf ein vollwertiges und häufig getestetes Authentifizierungssystem. Hinter dem Open Source Framework steht eine große Community. Dadurch werden Sicherheitslücken und allgemeine Fehler schnell erkannt und behoben.

Dieses Authentifizierungssystem umfasst das ganze Framework, wodurch die Absicherung von bestimmten Seiten und einzelnen Prozessen realisiert werden kann. Aufbauend darauf, wurden verschiedene Erweiterungen/Pakete entwickelt, mit denen man komplexere Systeme entwickeln kann. Genauso wie die nativen Laravel-Funktionen, sind diese Erweiterungen community-unterstützt und daher sehr verlässlich.

7

Erweiterte Möglichkeiten bei der Datenverarbeitung und -bereitstellung

Anders als bei vielen CMS und anderen Frameworks, liegt die Datenbankverwaltung ganz in den Händen der Programmierer. Es erlaubt den Zugriff auf alle Daten und ermöglicht eine Verwertung dieser Daten in einer großen Vielfalt.

Eloquent ist eine Laravel-Klasse, welche eine effizientere Datenverarbeitung erlaubt. Über automatisierte Verknüpfungen zwischen Datenbanktabellen und Laravel-Modellen wird der Datenzugriff erleichtert. Dadurch können jegliche Informationen verarbeitet werden und im Anschluss für Marketing, Prozessanalysen, und Kundenbetreuung sowie -service verwendet werden.

Moderne Webanwendungen von kreITiv

Egal, ob Webseite, Web-App oder cloud-gestützte lokale Anwendung, die Softwareentwicklung von kreITiv aus Dresden realisiert auch Ihr Projekt. Wir bauen auf moderne Webtechnologien und die Ablösung isolierter Systeme zugunsten flexibler und zukunftsweisender Onlinelösungen. Fragen Sie uns an.

Frameworks erleichtern heute das Arbeiten für Webentwickler

Frontend Development Frameworks in der Webentwicklung

Das World Wide Web wächst noch immer beständig und mit ihm auch der Umfang an Endgeräten, mit denen wir darauf zugreifen. Aus diesem Grund werden auch die Jobs der Webdesigner und Entwickler deutlich komplexer.

Schließlich sollen Webanwendungen auf möglichst vielen Geräteklassen mit den unterschiedlichsten Bildschirmauflösungen zum einen wie geplant funktionieren und zum anderen gut aussehen.

Warum überhaupt Frameworks in der Webentwicklung?

Vor einigen Jahren waren die Dinge deutlich einfacher. Man konnte davon ausgehen, dass die eigene Webseite stets über Desktop-Rechner mit einem Standardbrowser aufgerufen wurde. 960 Pixel wurden mehr oder weniger als eine gute Breite für eine Webseite betrachtet. Mit dem Boom von mobilen Endgeräten in den letzten sieben bis acht Jahren hat sich alles geändert. Wir haben die Einführung von Smartphones und Tablets aller Größen, eReadern, Browser in TV-Geräten und vieles andere erlebt. Die Vielfalt an Geräteklassen steigt nahezu täglich.

Bei der Arbeit mit unbekannten Darstellungsgrößen ist das “Responsive Design” eine der primären Strategien, die verwendet werden. Dieser Mechanismus stellt definierte Layouts bzw. Stylesheets auf der Grundlage der Größe der Browserfenster bereit.

Für Designer und Entwickler ist es wichtig zu verstehen, wie man mit dieser mobilen Welt umgehen kann. Es wurden bereits Technologien und Werkzeuge entwickelt, die das Leben der Web-Spezialisten vereinfachen sollen. Hier kommen die sogenannten Frontend Development Frameworks ins Spiel. Sie erlauben es, reaktionsfähige, standardkonforme Webseiten mit minimalem Aufwand zu erstellen und gleichzeitig alles einfach und konsistent zu halten.

Für Entwickler, welche die heutige Webentwicklung ernst nehmen, sind Frameworks keine Option, sondern ein Muss.

Es existiert eine Vielzahl dieser Frameworks; einige von ihnen heben sich aber von der Masse ab. Eines der mächtigsten und beliebtesten Frontend Frameworks ist Bootstrap.

Bootstrap, das beliebteste freie CSS-Framework

Bootstrap ist ein kostenloses Framework für die Gestaltung von Webseiten und Webanwendungen. Es wird Open Source unter einer Creative Commons Lizenz entwickelt und enthält HTML- und CSS-basierte Designvorlagen für Typografie, Formulare, Schaltflächen, Navigation und andere Schnittstellenkomponenten sowie optionale JavaScript-Erweiterungen. Im Gegensatz zu vielen Web-Frameworks handelt es sich nur um ein reines Frontend-Entwicklungstool.

Ursprünglich war Bootstrap nur für die interne Verwendung bei Twitter gedacht. Sein großer Erfolg ist auf folgende Punkte zurückzuführen:

  • Das responsive Grid-System,
  • eine nahezu komplette Bibliothek an User-Interface-Komponenten (inklusive JavaScript)
  • und eine hohe Usability.

Damit kommt das Framework auch in Sachen Effizienz und Zeitersparnis einer immer noch jungen, sich professionalisierenden Branche entgegen.

Auch wir in der kreITiv Webentwicklung setzen natürlich auf bewährte Technologien und halten ebenso die Augen für neue Trends der Softwareentwicklung offen. Kontaktieren Sie uns und realisieren Sie mit uns Ihr nächstes Webprojekt.

Das "Manifest für agile Softwareentwicklung" dokumentiert allgemeine Prinzipien

Scrum oder Kanban – Die Grundlagen agiler Softwareentwicklung

Im Projektmanagement und der Prozesssteuerung existieren heute zahlreiche agile Methoden und Tools, die jeweils eigenen Regeln und Vorgehensweisen folgen. Einige dieser Ansätze ziehen einen sehr engen Rahmen, andere lassen mehr Freiheiten. Trotz aller Unterschiede basieren sie aber alle auf denselben Prinzipien, die im „Manifest für agile Softwareentwicklung“ dokumentiert sind.

  • Das Manifest besagt unter anderem, dass es wichtiger ist, schnell auf geänderte Anforderungen zu reagieren, als strikt einem Plan zu folgen.
  • Als wichtiger Erfolgsfaktor für agil geführte Projekte gilt, dass alle Beteiligten die richtige Einstellung haben, um in einem agilen Projektumfeld arbeiten zu können.
  • Die Offenheit, möglichst auch verschiedene Komponenten unterschiedlicher Methoden zu kombinieren, ist ein weiterer wichtiger Aspekt des Manifests. Im Ergebnis sollen die eigenen Ansprüche optimal bedient werden. Wichtig sind das Bewusstsein und die Möglichkeit zur Kombination.

Auch die Softwareentwicklung folgt seit den letzten Jahren häufig einer agilen Methode. Die zwei verbreitetsten Ansätze auf diesem Gebiet sind Scrum und Kanban.

Vergleich von Scrum und Kanban

Ein oft erwähnter Vorteil solcher Methoden ist, dass Projekte durch den Einsatz der agilen Prinzipien schneller abgeschlossen werden können. Erreicht wird das durch Prozessoptimierung. Höhere Transparenz soll Optimierungspotenziale aufzeigen und dadurch eine Effizienzverbesserung ermöglichen.

Sowohl Scrum als auch Kanban setzen voraus, dass die Beteiligten ihre Umgebung anpassen. Es existieren Gerüste aus Regeln, in denen die Teams den gegebenen Spielraum nutzen können. Grundsätzlich kann man sagen, dass Kanban einen etwas flexibleren Rahmen vorgibt als Scrum. Aber ziehen wir einmal einen Direktvergleich…

Gemeinsamkeiten

  • leicht verständlich und schnell einführbar
  • lassen die Beteiligten entscheiden, wann sie welche ToDos bearbeiten
  • basieren auf fortlaufender Prozessoptimierung
  • betonen, dass die schnelle Anpassung wichtiger ist, als einem festen Plan zu folgen
  • setzen auf Transparenz, um Prozessverbesserungen zu beschleunigen
  • sind darauf ausgerichtet, Software schnell auszuliefern
  • unterteilen anfallende Aufgaben in kleinere Pakete
  • helfen dabei, durch empirische Daten kontinuierlich den Release-Plan zu optimieren

Vorteile von Scrum

  • kurze Kommunikationswege
  • hohe Flexibilität/Agilität durch adaptives Planen
  • hohe Effektivität durch Selbstorganisation
  • hohe Transparenz durch regelmäßige Meetings und Backlogs
  • zeitnahe Realisation neuer Produkteigenschaften bzw. Inkremente
  • kontinuierlicher Verbesserungsprozess
  • kurzfristige Problem-Identifikation
  • geringer Administrations- und Dokumentationsaufwand

Vorteile von Kanban

  • direkte Visualisierung des Projektablaufs macht Probleme anhand von Ticket-Häufungen schnell sichtbar
  • übergreifendes System, das prinzipiell auf jeden bestehenden Entwicklungsprozess aufgesetzt werden kann
  • negatives Multitasking optimal vermieden
  • geringe Größe der einzelnen Tickets hat zur Folge, dass die Beschreibung der verschiedenen Tasks auf das Wesentliche beschränkt ist
  • Board dient als Kommunikationsgrundlage und Fundament, über das sich das Team synchronisiert

 

Start in die agile Softwareentwicklung mit einem Kanban Board

Ein einfaches Kanban Board, Bildquelle: Kanban Tool (CC BY-SA 2.0)

Ein Kanban Board repräsentiert den individuellen Bearbeitungsprozess eines Teams, das klassische Scrum Board ist dagegen immer gleich aufgebaut. Letzteres begrenzt die Arbeitsbelastung indirekt durch die Einschränkung der Anzahl der Karten im Sprint Backlog. Ein Kanban Board kann die Anzahl der Karten je Spalte direkt begrenzen.

Kanban oder Scrum – Was ist besser?

Neben Scrum und Kanban gibt es noch weitere agile Ansätze, von denen einige auf den beiden vorgestellten Methoden basieren. Jedes Team, das agil arbeiten möchte, muss für sich die relevanten Elemente der verschiedenen Ansätze finden und passend kombinieren. Da es keine Allround-Methode für alle denkbaren Projekte gibt, ist Ausprobieren und Variieren notwendig, um die optimale Lösung zu finden.

Auch wir arbeiten seit vielen Jahren nach den Prinzipien agiler Softwareentwicklungsmethoden, was nicht nur bei Mitarbeitern, sondern insbesondere bei Partnern und Kunden für erfolgreiche Projektabschlüsse sorgt. Gerne beraten wir Sie auch zu diesen Themen.

Laravel vs. WordPress - Duell des Webdesigns

Laravel vs. WordPress – Duell des Webdesigns

Zur Entwicklung von Webseiten gibt es grundlegend drei verschiedene Ansätze: die Nutzung eines Content Management Systems (CMS), eines (PHP)-Frameworks oder einer kompletten Eigenentwicklung. Mit den allgemeinen Vor- und Nachteilen dieser Auswahl haben wir uns bereits befasst.

Für Dienstleister, die regelmäßig Webseiten erstellen, sind Eigenentwicklungen für die alltägliche Arbeit schon aus Zeitgründen keine wirkliche Alternative. Dieser Blogartikel soll daher beleuchten, welche Kriterien für ein CMS wie WordPress oder Drupal beziehungsweise für ein Framework wie Laravel oder Symfony sprechen.

1. Welche Funktionen soll die Anwendung bieten?

Welchen Entwicklungsansatz man wählt, wird maßgeblich durch das Ziel, also die Webseite, die am Ende entstehen soll, beeinflusst. Viele Seiten sind rein Content-basiert – zum Beispiel Blogs oder Nachrichtenseiten. Für sie funktioniert WordPress in der Regel besser, da es alle für das normale Content Management nötigen Features wie Kategorien oder eine Bildergalerie enthält. Mit Laravel müssten viele dieser Features erst nachgebildet werden.

Andere Seiten basieren stärker auf der Interaktion mit dem Besucher. Registrierungssysteme, Up- und Downloads von Dateien, Profilverwaltung etc. – die Möglichkeiten sind hier umfangreich. Seiten dieser Art sind effektiver mit Frameworks zu entwickeln. Zwar kann mithilfe von Plugins auch WordPress eine Menge dieser Funktionalitäten leisten, daraus ergibt sich aber auch eine Abhängigkeit vom Funktionsumfang und der künftigen Weiterentwicklung dieser Plugins. Gerade bei längeren Projekten ist das eher unerwünscht.

2. Welche Gimmicks kann ich nutzen?

Zeit ist Geld – das gilt auch für Webentwickler. Dank Plugins, Zusatzcontent oder der Wiederbenutzung von Ansätzen aus anderen Projekten können oft umständliche Arbeitsschritte eingespart werden. Das Entscheidungskriterium hier: Welche Plattform bietet das, was ich benötige und für welches System gibt es die Erweiterungen, die mir Arbeit abnehmen? Das kann genauso ein WordPress-Plugin sein wie ein Laravel Package.

Allgemein sind Frameworks aber sicherer (nicht Open Source), schneller und besser individualisierbar – aber eben auch aufwändiger.

3. Was möchte der Kunde?

Die meisten Projekte haben drei Stellschrauben: Qualität, Geschwindigkeit und Preis. WordPress eignet sich gut für Projekte, die eher klein und statisch sind, denn für diese liefert es das passende Werkzeug gleich mit.

Mit Frameworks wie Laravel dagegen können vergleichsweise komplexere Anforderungen realisiert werden. Sinnvoll ist das vor allem dann, wenn das Projekt langlebig ist oder eventuell zu einem späteren Zeitpunkt erweitert werden soll. Das dauert jedoch entsprechend länger, wodurch in der Regel auch das Projekt teurer wird.

Hier muss letztlich der Kunde abwägen, was seine Ansprüche in puncto Sicherheit, Geschwindigkeit, Individualisierbarkeit oder eben auch Preis sind.

Laravel vs. WordPress: Wer hat die Nase vorn?

Ein eindeutig besserer Entwicklungsansatz ist keine der Alternativen. Je nach Art des Projektes können beide Möglichkeiten sinnvoll sein. Im Duell der Webentwicklung steht es also unentschieden, wobei beide Varianten ihre Nische haben – CMS für kleinere Projekte und Frameworks für komplexere langlebige Anwendungen.

Wir von kreITiv bieten unseren Kunden sowohl Lösungen mit Frameworks, als auch per CMS an oder programmieren und designen auf Wunsch komplett selbst. Wenn Sie auf der Suche nach einem kompetenten Ansprechpartner in Sachen Webentwicklung sind, stehen Ihnen die Experten der kreITiv gern mit Rat und Tat zur Seite. Melden Sie sich noch heute.

Wofür stehen SSL, TLS und SSH und wie werden sie zur Verschlüsselung eingesetzt?

SSL/TLS und SSH – Wieso gibt es mehrere Verschlüsselungsprotokolle?

Hackerangriffe, Datenklau, elektronische Spionage – Die Notwendigkeit von Verschlüsselung und Datensicherheit liegt auf der Hand. Es findet ein ständiger Wettlauf von Hackern und Datenschützern statt. Um unsere Daten zu schützen, gibt es mittlerweile zahlreiche Sicherheitsprotokolle. Die meisten gehen dabei auf SSL (Secure Sockets Layer) und SSH (Secure Shell) zurück.

Doch wieso gibt es mehrere Verschlüsselungsprotokolle? Welches ist wann besser und wie funktionieren sie? Diese Fragen sollen im Folgenden entschlüsselt werden.

Eine kleine Geschichtsstunde zur Verschlüsselung

Zunächst zur Unterscheidung: SSL und SSH sind jeweils Verschlüsselungsprotokolle, die Mitte der 90er Jahre entwickelt wurden. 1999 wurde SSL, mit der Version 3.1, in TLS (Transport Layer Security) umbenannt, der also die direkte Weiterentwicklung ist. Die Notwendigkeit von Sicherheitsprotokollen entstand mit dem Aufkommen der ersten Webbrowser.

Beide Varianten wurden parallel voneinander entwickelt, sind nicht miteinander verwandt und inkompatibel. Im Gegensatz zu SSL war SSH zunächst Freeware und wurde erst mit seiner Entwicklung zu proprietärer Software. Seit ihrer ersten Version wurden beide Protokolle notwendigerweise immer weiterentwickelt, da es auch stets Bestrebungen von Hackern gab und gibt, sie zu knacken.

Und wie funktioniert’s?

Die Protokolle nutzen unterschiedliche Ansätze. Vereinfacht gesagt sorgt TLS für die Verschlüsselung der Daten an sich, während SSH eine sichere Verbindung zwischen Client und Server herstellt. Dass eine TLS-Verschlüsselung vorliegt, erkennt man in der Regel daran, dass an das übliche http ein ‚s‘ für ‚secure‘ angehängt wird. Einen ausführlicheren Einblick bieten wir in unserem kreITiv-Blogartikel über Standards speziell zur Verschlüsselung von Webseiten.

Das SSL-Zertifikat kurz erklärt:

Bei SSH geht es dagegen darum, sicher auf einem Server arbeiten zu können, ohne dass Daten mitgelesen werden. Dabei wird nur das asymmetrische Public-Key-Prinzip eingesetzt. Der Server sendet zunächst seinen Public Key und der Client schickt diesen verschlüsselt zurück. Durch den passenden Private Key des Servers kann nun eine sichere Verbindung aufgebaut werden. Problematisch wird das nur, falls sich ein Proxy-Server oder eine Firewall dazwischen befindet. Doch auch für diesen Fall gibt es weiterentwickelte Protokolle.

Sicher ist sicher

Wann welches Protokoll wie genutzt wird, ist stark durch deren historische Entwicklung beeinflusst. Im Grunde erfüllen alle mit unterschiedlichen Ansätzen einen ähnlichen Zweck. Für den Endnutzer spielen diese Feinheiten in der Regel keine Rolle. Was Sie aber mitnehmen sollten, ist die grundlegende Notwendigkeit, Daten und deren Übertragung zu schützen. Durch die beständigen Entwicklungen auf dem Gebiet, sollte man sich durchgängig mit dem Thema Datensicherheit auseinandersetzen.

Wenn Sie weitergehende Beratung benötigen, dann wenden Sie sich gern an uns. Die IT-Experten der kreITiv unterstützen Sie gern beim Schutz Ihrer Daten.

ERP-Systeme, wie z.B. SAP, bilden die Basis der Unternehmenssoftware

ERP-Systeme – Das Rückgrat der Unternehmenssoftware

ERP-Systeme sind in aller Munde – 2015 nutzten in Deutschland über 91% der Unternehmen mit mindestens 250 Mitarbeitern derartige Software, wobei die Dienstleistungsbranche dem produzierenden Gewerbe etwas hinterherhinkt. Deutschland gilt als sehr ERP-freundlich, nicht zuletzt, weil SAP als deutsches Unternehmen mit ca. 25% weltweiter Marktführer ist.

Grund genug, sich näher mit diesem Thema zu beschäftigen. Was genau ist ein ERP-System, lohnt sich auch für Mittelständler eine Anschaffung und an welchen Anbieter sollte man sich wenden? Diese und weitere Fragen beantwortet unser kreITiv-Blogartikel.

E – R – Was?

Die Abkürzung ERP steht für „Enterprise Resource Planning“, bezeichnet also die unternehmerische Aufgabe, alle vorhanden Ressourcen in den Unternehmensprozessen möglichst effizient einzuplanen. Dazu wird das Unternehmen mit all seinen relevanten Abläufen und Kennzahlen abgebildet.

Durch die Verknüpfung und Integration aller Prozesse und Bereiche in einem System, können Prozesse gesteuert und optimiert werden. Da sie nach der vollständigen Integration das zentrale verknüpfende Element ist, gilt diese Software für ein Unternehmen auch als Wirbelsäule, Herzstück, Skelett oder wahlweise eine andere Metapher, die „sehr sehr wichtig“ ausdrückt. Als Keimzelle gelten Material Resource Planing-Systeme in den 60er Jahren, die sukzessive um andere Bereiche erweitert wurden.

Ein ERP-System – Was kann es und was kostet es?

Wie bei jeder strategischen Entscheidung müssen auch bei der Anschaffung eines ERP-Systems Vor- und Nachteile abgewogen werden. Gerade für größere Unternehmen, in denen Prozesse komplexer und Kommunikationswege länger werden, kann die richtige Unternehmenssoftware enormes Potential entfalten.

Arbeitsweisen werden vereinheitlicht, unnötige Schnittstellen vermieden und schnellerer Informationsaustausch ermöglicht. Diese Leistungen haben natürlich einen Preis. Neben oft sehr hohen monetären Kosten, bedeutet ein neues ERP-System auch inhaltlich und organisatorisch meist einen großen Einschnitt. Unternehmenssoftware ist sehr komplex und die Mitarbeiter müssen entsprechend geschult, sowie die Infrastruktur mit dem neuen System abgestimmt werden. Außerdem bedeutet dieser Schritt eine gewisse Abhängigkeit vom jeweiligen Anbieter, denn die Software muss, um effektiv zu funktionieren, aktuell gehalten werden.

Im Durchschnitt sind einmal implementierte Systeme 7,4 Jahre im Einsatz, oft aber auch deutlich länger. Das erfordert natürlich laufenden Arbeitsaufwand, sowohl vom Unternehmen als auch vom ERP-Entwickler.

Aber ich bin Mittelständler!

SAP ist Marktführer im Markt der ERP-Systeme

SAP, Marktführer unter den ERP-Systemen.
Bildquelle: Original von Marc Smith (CC BY 2.0), Bild bearbeitet

Zwar gibt es mit SAP, Oracle oder Infor einige Dickschiffe auf dem ERP-Markt, aber mittlerweile liegen auch Lösungen vor, die sich nicht nur an Großkonzerne richten. Allein in Deutschland existieren Schätzungen zufolge über 300 Anbieter. Dementsprechend gibt es auch für kleinere Unternehmen ERP-Entwickler abseits der „Großen“, die sich eher an KMUs und deren individuelle Ansprüche richten oder auch nur einzelne Module für bestimmte Unternehmensbereiche anbieten.

Das Gebiet ist so weit und die Anbieter und Möglichkeiten so divers, dass die Antwort auf die Frage, ob ein ERP-System sinnvoll ist, lautet: „Kommt darauf an“. Sieht man in den eigenen Unternehmensprozessen und deren Umsetzung Optimierungspotential und findet dafür einen entsprechenden ERP-Anbieter, dann kann sich die Anschaffung durchaus auch für einen Mittelständler lohnen. Wenn nicht, sollte man trotzdem ein Auge auf ERPs behalten, denn auch diese sind in ständiger Entwicklung. Aktuelle Trends sind vor allem mobile Anwendung, besseres Handling bei wachsenden Datenmengen sowie Cloud-Lösungen.

kreITiv wünscht erfolgreiches Optimieren und steht gern mit Rat bei der Konzipierung und Umsetzung einer individuellen Lösung für Ihr Unternehmen zur Seite.

Frameworks in der Softwareentwicklung

Frameworks in der Softwareentwicklung

In der Softwareentwicklung ist ein Framework, auf Deutsch „Rahmenwerk“, zu verstehen als ein Gerüst, auf dem die Programmierung und Entwicklung innerhalb der Programmiersprache in einem Projekt basiert.

Was ist eigentlich ein Framework?

Frameworks bieten eine Sammlung von Funktionen, die oft einige Hürden in der Programmierung erleichtern. Dadurch können zum Beispiel die Kommunikation zwischen Client und Server oder Datenbankabfragen für Entwickler erleichtert werden und damit der nötige Programmieraufwand reduziert werden. Des Weiteren bieten Frameworks oft auch Sicherheiten gegen Cross-Site-Scripting oder SQL-Injections und weitere Vorteile, wie eine Model-View-Controller-Architektur oder Formularvalidierung.

Ein Framework ist nicht als fertiges Programm zu verstehen. Es bietet lediglich den Rahmen für die Entwicklung eines Programms, auf dem beliebig aufgebaut wird, das aber auch deutlich erweitert werden kann. Dieses Rahmenprinzip ist eine ideale Grundlage zur Teamarbeit. In vielen Unternehmen werden daher häufig entsprechende Kenntnisse und Erfahrungen für die Softwareentwicklung vorausgesetzt.

Frameworks in der Praxis

Im Alltag stellt sich nicht nur uns bei kreITiv immer wieder die Frage, welche Technologie wir in der Entwicklung von Softwareprojekten einsetzen sollten. Pauschal ist das allerdings schwer zu beantworten und auch Statistiken über die beliebtesten Frameworks (Umfrage zu den populärsten PHP-Frameworks 2015) helfen nicht wirklich weiter, sondern können im Gegenteil oft verwirren.

Natürlich sollte ein Framework zu den Bedürfnissen des Projekts passen und ein eher kleineres Vorhaben auch nicht überladen.

Wenn man sich einmal mit einem Framework vertraut gemacht hat und dieses versteht, dann ist es aus Gründen der Wirtschaftlichkeit oft ratsam, es auch in nachfolgenden Projekten zum Einsatz zu bringen. Die Auswahl sollte daher von vornherein immer zukunftsorientiert getroffen werden. Dabei sollte man darauf achten, dass eine gute Dokumentation bereitgestellt wird, regelmäßige Updates verfügbar sind und eine Community zum Erfahrungsaustausch zwischen den Entwicklern gegeben ist.

Frameworks werden heutzutage für die verschiedensten Programmiersprachen bereitgestellt und immer wieder kommen neue auf den Markt. Somit ergibt sich auch für die Softwareentwicklung ein ständiger Anpassungsprozess an neue Sprachen, Funktionen und Möglichkeiten.

Die Softwareentwicklung der kreITiv nutzt in der JavaScript-Entwicklung des Öfteren JQuery und AngularJS. In der PHP-Entwicklung setzen wir momentan auf das Laravel-Framework.