Software Entwicklung mit dem agilen Manifest

Scrum basiert auf agile Methoden wird sehr häufig bei der Software Entwicklung eingesetzt. Agile Methoden der Software Entwicklung werden inzwischen häufig eingesetzt.

Ziele agiler Entwicklungsmethoden

  • Eine schlanke, flexible Softwareentwicklung ist umsetzbar
  • Abbau bürokratischer Hemmnisse
  • Regelbasierte Tätigkeiten in Rollen werden eingesetzt
  • Die Entwicklung, die Dokumentation und der Test sollen eine Einheit bilden
  • „Qualität ist die Erfüllung der Kundenanforderung“ – diese Qualität ist zu erreichen
  • Agile Entwicklung ist dort einzusetzen, wo es Vorteile bringt

Das agile Manifest

Dazu werden die beschriebenen Werte eingesetzt.

  • Individuen und Interaktionen mehr als Prozesse und Werkzeuge
  • Funktionierende Software mehr als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
  • Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.

Entwickelt wurde diese Vorgehensweise von Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

Werkzeuge für die Webseiten Entwicklung mit HTML

Für die Entwicklung von Webseiten mit HTML, CSS, Javascript und PHP kann ein einfacher Texteditor genutzt werden. Aber es gibt Editoren, die das Entwickeln erleichtern und viele Zusatzfunktionen bieten. Dazu zeige ich Ihnen hier eine Auswahl an guter Software für die Webentwicklung.

Notepad++

Notepad++ EditorNotepad++ ist ein kostenloser und vielseitiger Editor für Windows, der sich auch für die Erstellung von Webseiten und zur Programmierung in verschiedenen Programmiersprachen wie z. B. für Java, Javascript eignet.

PSPad

PsPadPSPad ist ein Freeware Editor und kann mit Hilfe des Internet Explorers die aktuell entwickelten Webseiten in einem Fenster anzeigen. Auch mit diesem Editor lassen sich verschiedene Programmiersprachen schreiben und mit Syntax Highlighting anzeigen.

Brackets

Brackets EditorEin kostenloser Editor von Adobe speziell für die Entwicklung von Webseiten mit HTML, CSS, Javascript und PHP. Er unterstützt die Präprozessoren LESS und SCSS. Diese vereinfachen die Nutzung von CSS. Mit Hilfe eines installierten Chrome Browsers kann eine Live Vorschau aktiviert werden.

Eclipse IDE

Eclipse-EditorDie Entwicklungsumgebung Eclipse eignet sich nicht nur für die Erstellung von Webseiten, sondern auch für die Programmierung mit Java und C++. Der Editor ist kostenlos zu nutzen und bietet einen breiten Funktionsumfang.

Netbeans

Netbeans-IDEApache Netbeans ist, ähnlich wie Eclipse, eine kostenlose Entwicklungs-umgebung. Es kann für HTML, CSS, Javascript, PHP und für Java eingesetzt werden. Es lässt sich mit den Betriebssystemen Windows, Linux, Apple OSX und BSD einsetzen. Netbeans bietet Assistenten, die die Entwicklung vereinfachen.

Fazit:

Der hier gezeigte Auswahl an Software für die Entwicklung von Webseiten ist nur ein kleiner Teil der verfügbaren Software Tools. Diese zeichnen sich durch großen Funktionsumfang aus. Die Anforderungen von Entwicklern sind unterschiedlich und daher ist die Empfehlung: Probieren Sie die Tools aus.

 

XML, die erweiterbare Auszeichnungssprache

XML oder ausgeschrieben Extended Markup Language ist eine Metasprache mit der Daten strukturiert beschrieben werden können. XML hat sich aus der Ende der 1960-er Jahre erfundenen Metasprache SGML weiter entwickelt. Mit XML wird die Struktur, der Inhalt und die Darstellung der Daten getrennt. Dadurch lassen sich die 3 Teilbereiche unabhängig voneinander verarbeiten. Auch die millionfach eingesetzte Auszeichnungssprache HTML basiert auf XML und SGML.

Bei der KI dient diese Sprache zur Kommunikation zwischen Anwendungen und Maschinen. So spielt XML eine immer wichtigere Rolle bei der Maschine zu Maschine Kommunikation und wird zudem bei Konfigurationen von IOT Geräten eingesetzt.

Definition von Dokumentklassen

Bevor Daten übertragen werden können, erfolgt die Deklaration der XML-Elemente. Dazu gibt es zwei Möglichkeiten zur Erstellung von Dokumentklassen und Elementen.

  1. Mit DTD, der Document Type Definition lassen sich die Dokumentklassen und Elemente definieren.
  2. Die zweite und modernere Methode ist das XML Schema.

Struktur der XML Dokumente

Die Dokumenttyp Definition

Beispiel bestellung.dtd

Oder alternativ das XML Schema

Beispiel bestellung.xsd

Das XML Dokument mit den strukturierten Daten

Beispiel bestellung.xml

Das XML Dokument nutzt im Dokumentenkopf entweder das XML Schema oder den DTD. Die Elemente von XML werden auch Tags oder Nodes genannt.

Vorteile von XML

  • Als Konfigurationsdateien bleiben die Daten für den Menschen lesbar
  • Über Schnittstellen und Webservices wie SOAP  und REST lassen sich Daten systemübergreifend austauschen
  • Die Dateien lassen sich mit jedem Texteditor öffnen und bearbeiten
  • Mit Hilfe von CSS oder XSLT lassen sich die Daten transformieren und so unterschiedlich nutzen.

 

 

Netbeans Version 11.1 ist für Entwickler erschienen

Java Entwickler können jetzt die Version der Apache Netbeans Version 11.1 nutzen. Alle drei Monate wird ein kostenloses, neues Release freigegeben. Es gibt einige Neuerungen, die das Programmieren einfacher gestalten.

Fazit: Es lohnt sich die neue Entwicklungsumgebung auszuprobieren, um die Verbesserungen kennen zu lernen.

Das V-Modell bei Internet Applikationen nutzen

Das V-Modell im Projektmanagement

Vorgehensweisen für Software- und Webseiten Entwicklung gibt es viele. Heute lernen wir das V-Modell kennen, dass von mir auf Webdesign angepasst wurde. Das V-Modell beinhaltet Projektmanagement, Konfigurationsmanagement, Änderungsmanagement und Qualitätssicherung.

V-Modell

V-Modell im Webdesign

Es unterscheidet sich zu anderen Vorgehensweisen dadurch, dass hier hauptsächlich Aktivitäten und Ergebnisse definiert werden.

Vorgehensweise beim V-Modell

V-Modell – Vorgehensweise

Fazit:

Das V-Modell hat aus meiner Sicht eine strukturierte Vorgehensweise. Es ist nicht für jedes Projekt geeignet. Auf Grund verschiedener Kritikpunkte wurde das V-Modell insofern geändert, dass jetzt V-Model XT zusätzlich agile Software Entwicklungstechniken eingesetzt werden. Zudem wird der Auftraggeber (Kunde) mehr in eingebunden. Dies verbessert die Qualität der Produkte oder Dienstleistungen und erleichtert die Abnahme. Die Dokumentation während des gesamten Zyklus unterstützt die Entwicklung und die darauf folgende Qualitätssicherung. Der Kunden kann die Dokumentation bei Erweiterungen oder Ergänzungen nutzen. Bei der Qualitätssicherung kann unter anderen die PDCA Methode eingesetzt werden.

Alternativ gibt es die Vorgehensmodelle wie das Wasserfall ModellV-Modell, Kanban und Scrum.

Web Entwicklung mit Hilfe der Extreme Programming Methode

Agile Software Entwicklung wird von immer mehr Entwicklern eingesetzt. Zur agilen Software Entwicklung gibt es verschiedene Modelle. Wir betrachten heute Extreme Programming.  Dieses System wurde von Ron Jeffries, Kent Beck und Ward Cunningham im Jahr 1995 entwickelt und eingesetzt.Extreme Programming ist eine Verknüpfung von Kommunikation, Offenheit, strukturierten Vorgehen und Teamarbeit.

Vorgehensweise bei Extreme Programming

  1. Rahmenbedingungen des Entwicklungsprojekts definieren
  2. Analysen durchführen
    1. Nutzenanalyse
    2. Risikoanalyse
    3. Ressourcenanalyse
  3. Synthese bzw. Erstellen eines Prototyps
  4. Abstimmen bis alle Beteiligten den Prototyp akzeptiert haben
  5. Sprung zum nächsten Entwicklungsschritt oder Iteration
  6. Entwicklung und Integration des Produkts
  7. Testen des Produkts
  8. Lebensdauer /Nutzungsdauer bestimmen
  9. Freigabe
  10. weiter mit Punkt 1 bis das Endprodukt vollständig fertiggestellt ist.

Allerdings gibt es gerade im Bereich von Webentwicklung und Software eine ständige Weiterentwicklung. So ist  jedes Produkt nur ein temporäres Endprodukt.

Vorteile von Extreme Programming

  • Der Kunde ist in den Entwicklungsprozess mit einbezogen
  • Durch die Risikoabschätzung am Beginn erhöht sich die Effizienz und Schwierigkeiten können teilweise vermieden werden
  • Kooperatives Lernen und kollektive Wissenslandschaften entstehen
  • Die Zufriedenheit der Mitarbeiter erhöht sich
  • Betriebswirtschaftlich findet eine Absicherung durch das verteilte Wissen statt

Rollen im Exterme Programming

  • Kunde/Auftraggeber
    • Bestimmt den Rahmen des Auftrags
    • Entscheidet, was gemacht wird
  • Projektmanager
    • Führt das Team
    • Kümmert sich um Problemlösung
    • Prüft Soll- und Ist Zustände aller Art
    • Stößt mangelnde Kommunikation an
  • Entwickler
    • Entwickelt das Produkt
    • Zeigt auftauchende Probleme oder Schwierigkeiten auf
  • Benutzer
    • Nutzt das Produkt
    • Gibt seine Änderungs und Erweiterungswünsche an den Auftraggeber weiter

Fazit:

Exterme Programming ist eine interessante Entwicklungsmothode und hat viel Potential. Es setzt auf Offenheit bei der Kommunikation. Denn nur so werden Probleme schnell bekannt und können Lösungen gefunden werden. Mut und Respekt im Umgang bei der täglichen Arbeit sind Voraussetzung für ein erfolgreiches Extreme Programming Projekt.

Alternativ gibt es die Vorgehensmodelle wie das Wasserfall ModellV-Modell, Kanban und Scrum.

Joomla Version 3.8.10 verfügbar

Die Entwickler der Content Management System Joomla haben die neue Version 3.8.10 entwickelt. Es handelt sich um einen Bugfix zur Version 3.8.9, die neue Funktionen bietet.

Es gibt in den beiden neuen Versionen Neuerungen für

  • Die Unterstützung aktueller Verschlüsselung
  • Eine stabilere Codebasis, die schneller funktioniert
  • Mehrsprachige Beispieldateien
  • Die verbesserte Generierung von URLs

Insgesamt gibt es Vorbereitungen  zum Sprung auf die Version 4.

 

Scrum – Agile Web- und Software Entwicklung

Scrum wurde in einem Projekt im Zuge der Zusammenarbeit von Ikurjio Nonaka und Jeff Sutherland entwickelt. Mit Scrum versucht man Anpassung, Transparenz und Kontrolle in der Software Entwicklung weitestgehend zu vereinfachen. Dadurch wird eine kostengünstige, schnelle  und hochwertige Entwicklung von Software Produkten und -Dienstleistungen ermöglicht. Scrum basiert auf Erfahrung und wird iterativ erweitert. Scrum benutzt Rollen mit unterschiedlichen Aufgaben und Verantwortungen.

Rollen bei Scrum

Das Entwickler Team liefert die vom Product Owner gewünschten Produktteile oder Dienstleistungen in der gewünschten Reihenfolge. Zudem sind die Entwickler für die Qualität des Produkts verantwortlich. Dazu werden Qualitätsstandards vereinbart.

Der Scrum Master kümmert sich als Führungskraft um das Entwickler Team, gehört dem Team aber nicht an. Er kümmert sich um die Organisation und hilft Störungen, Konflikte und Hindernisse zu beseitigen.

In der Rolle als Product Owner ist man für die Konzeption, Festlegung der Produkteigenschaften und die Priorisierung verantwortlich. Er steuert damit den wirtschaftlichen Nutzen für das Unternehmen, ist aber kein Vertreter des Kunden.

Der Kunde oder Auftraggeber wird als Customer dem Product Owner aufzeigen, was das Produkt für Eigenschaften haben soll. Zudem wird der Customer ab einer frühen Phase periodisch das zu entwickelnde Produkt prüfen und Feedback an den Product Owner geben.

Das Management hat bei der Bereitstellung der Ressourcen und dem Ausräumen von Hemmnissen zu unterstützen. Dadurch werden die Rahmenbedingungen stabilisiert.

Die User sind die zukünftigen Nutzer des Produkts oder der Dienstleistung. Daher sind Sie in der Lage die Funktionalität des Produkts zu beurteilen. Zudem können Sie das Produkt ab einer frühen Phase regelmäßig, zum Beispiel nach einem Entwicklungszyklus, ausprobieren und Ihre Ergebnisse und Veränderungsvorschläge mitteilen. diese kann der Product Owner aufgreifen und zur weiteren Entwicklung einfließen lassen.

Dazu wurde im Jahre 2001 das Agile Manifest für Scrum entwickelt, das ich hier angepasst habe.

Agiles Manifest

  • Eine beständige Zusammenarbeit mit dem Kunden als Partner steht über den Verträgen
  • Kommunikation, Mut und die Offenheit für Änderungen gilt mehr als das genaue Befolgen eines festgelegten Plans
  • Menschen und Zusammenarbeit gelten mehr als Werkzeuge und Prozesse, ersetzen diese aber nicht
  • Funktionierende Programme sind höher einzustufen als ausführliche Dokumentation.

Fazit:

Lean Production in japanischen Unternehmen verfolgt ähnliche Ansätze wie Scrum und nutzt für eine bessere Wertschöpfung unter anderem starkes Teamworking und erfolgreiches Wissensmanagement. Hier sehe ich auch den wichtigen Unterschied. Es wird auch bei Scrum Dokumentation gebraucht, wenn diese nicht “Just in Time” zur Verfügung steht, dann verliert der Scrum Prozess an Effektivität!

Alternativ gibt es die Vorgehensmodelle wie das Wasserfall ModellV-Modell, Kanban und Scrum.

Browser Nutzung in Deutschland

Für Entwickler von Webseiten ist es wichtig zu wissen, welche Browser verwendet werden. Dazu habe ich eine Statistik über einen Zeitraum von einem Jahr erstellt. Die Daten wurden von Global Stats Counter zur Verfügung getellt.

Browser Anteil in Deutschland (2018)

Führend ist weiterhin der Chrome Browser von Google. Der Marktanteil von Chrome beträgt 44,8% im Januar 2018, wenn die Chromium Varianten dazugezählt werden. Der Marktanteil von Mozilla Browsern liegt bei 17,49% und Microsoft Browsern werden von 10,39% Nutzern eingesetzt.

Die Erhöhung der Geschwindigkeit des Firefox Browsers konnte keine Verbesserung der Marktanteile bewirken.

Die Entwicklung von HTML 5 bei WhatWG und W3C

Vor längerer Zeit haben sich zwei Richtungen bei der Weiterentwicklung von HTML5 ergeben.

Zügige Weiterentwicklung  von HTML durch die WhatWG

Die WhatWG wurde nach einem Workshop des W3C gegründet. Mitarbeiter dvon Apple, Google, Microsoft, Mozilla und Opera haben sich zu einer fortlaufenden Weiterentwicklung von HTML ausgesprochen.  Die Entwickler der WhatWG sprechen vom HTML – Living Standard. Ohne diese Gruppe wäre die Weiterentwicklung von HTML auf Grund von mangelndem Interesse des W3C nur langsam voran getrieben worden.

Dokumentation von HTML – Living Standard

HTML5

Späte Erkenntnis des W3C – aber kein Entgegenkommen

Die Anteil der Wichtigkeit von HTML für zukünftige Informations- und Kommunikationsmittel wurde von W3C unterschätzt. Nachdem sich auf Grund von der Freigabe von HTML5 wesentliche Weiterentwicklungen wie Frameworks, modernisierte Browser ergeben haben, gibt es auch hier Neuerungen. Allerdings setzt das W3C auf Versionierung von HTML 5. Aktuell ist die Version HTML 5.2 als Empfehlung erschienen.

Fazit

Nach wie vor liegt die Entwicklung von HTML bei der aktiven WhatWG. Das W3C übernimmt meist wichtige Entwicklungen der WhatWG in ihre Standards. Diese werden weiterhin nicht so häufig aktualisiert wie der Living Standard.

 

 

Barrierefreiheit