Wissen

  • Flexibilität durch Agile Methoden
    Bekanntermaßen ist die strikte Abarbeitung eines Entwicklungsvorhabens streng gestaffelt nach Phasen eher schwierig. Das Hauptproblem besteht darin, dass eine vollständige und korrekte Erhebung der Anforderungen zu Projektbeginn nahezu unmöglich ist. Dieses hat mehrere Ursachen. Die wichtigsten sind: Unvollständigkeit der Anforderungen zu Beginn des Projektes Dynamische Änderungen während der Projektlaufzeit in den Geschäftsmodellen lange Projektlaufzeiten, teilweise von mehreren Jahren. Eine Tatsache ist, dass auch die Kunden und die späteren Nutzer der Software oft nur eine ungefähre Vorstellung davon haben, in welcher Form eine Software das bestehende Problem lösen soll. Darüber hinaus ist es schwierig, diese ungefähren Anforderungen den Entwicklern der Software […]
  • REST im Übeblick
    REST (Representational State Transfer) ist Voraussetzung für eine Architektur, welche auf Microservice basiert. Man nutzt es, um mit den unterschiedlichsten APIs zu kommunizieren.Microservices und Cloud halten mehr und mehr Einzug in die Entwicklung aller Arten von Applikationen. Statt monolithisch aufgebauter Clients teilt man die Funktionalität auf viele kleinere Einheiten auf, welche lose miteinander gekoppelt werden. Dieses erhöht die Flexibilität und als Programmierer kann man auf das Know-how von anderen Entwicklern und Serviceanbietern zurückgreifen, welche entsprechende Funktionen zur Verfügung stellen. Einmal programmierte Services können dann in mehreren Anwendungen auf einfachste Art und Weise wiederverwendet werden. Ebenso ist es üblich, dass in […]
  • Methoden zur Messung von Usability
    Unter Usability versteht man eine einfache Handhabbarkeit der Programme. Die Bedienung muss nicht oder kann sehr einfach erlernt werden. Sie richtet sich nach den Denk- und Arbeitsweisen der Benutzer. Heutzutage ist Usability ein wichtiger Punkt des wirtschaftlichen Erfolgs. Das UI soll möglichst klar strukturiert und beschrieben sein. Dieses betrifft die Inhalte als auch die Elemente zur Navigation und Bedienung. Der Inhalt soll sofort angezeigt werden. Ein schnelles Zurechtfinden ist Pflicht. Die Software tritt als Arbeitsmittel quasi in den Hintergrund. Die Bedienfolge soll effektiv und intuitiv sein. Mit Farben ist zurückhaltend umzugehen. Wichtige Elemente sind akzentuiert hervorzuheben. Die Schriftgrößen müssen sich […]
  • Design Thinking
    Design Thinking steht für Ideenfindung und innovative Problemlösungen. Der Fokus ist es neue Potenziale und unbekannte Wege zu entdecken. Das Motto lautet: „Wirklich erfolgreiche und außergewöhnliche Lösungen werden nur dann entwickelt, wenn die bekannten Annahmen und Lösungen in Frage gestellt werden und gedanklich Neuland betreten wird.“ Innovationen sollen dabei im Team erarbeitet werden. Dieses Team sollte möglichst heterogen in der Zusammensetzung sein und das Umfeld soll kreatives Arbeiten fördern. Wirtschaft, Forschung und Politik erkennen das Potenzial, das in interdisziplinären Teams steckt. Im Vergleich zu anderen Innovationsmethoden und -prozessen wird dabei ein besonderer Wert auf die Praxis und die nutzergerechte Gestaltung […]
  • Change Management: Strategien und Modelle
    Change-Management beschäftigt sich mit Problemen und Fragen hinsichtlich der Veränderungen bzw. der zugehörigen Prozesse in einem Unternehmen. Es plant die Veränderungen, führt den Wandel durch, stabilisiert und kontrolliert die erreichten Ergebnisse. Change Management Strategien Ab einer bestimmten Unternehmensgröße ist es praktisch nicht mehr möglich alle Mitarbeiter aktiv in den Veränderungsprozess einzubeziehen. Je nach Art der Veränderung und der vorliegenden Unternehmensstruktur muss man einen geeigneten Ausgangspunkt für den organisatorischen Wandel suchen.Es existieren vier strategische Ansätze die Veränderungen umzusetzen: Buttom-Up: Der Veränderungsprozess wird von der untersten Hierarchieebene nach oben fortgesetzt, d.h. die Veränderungen werden von den Führungskräften und den Mitarbeitern einer unteren […]
  • Methoden der Aufwandsschätzung im Überblick
    In den nachfolgenden Abschnitten werden die wichtigsten Methoden  zur Aufwandschätzung von Projekten beschrieben. Algorithmische Methoden Der Projektaufwand wird mit Hilfe einer Formel auf der Basis von bereits abgeschlossenen Projekten oder mathematischen Modellen berechnet. In diesem Zusammenhang ist die Genauigkeit der Berechnung auf die Exaktheit der Einflussfaktoren zurückzuführen. Es wird ein mathematischer Zusammenhang zwischen messbaren Ergebnisgrößen und Einflussfaktoren unterstellt. Algorithmische Ansätze unterteilen sich in parametrische Methoden und Faktoren- bzw. Gewichtungsmethoden: Methode der Parametrischen Schätzgleichung: Der Aufwand wird anhand problemspezifischer Gleichungen berechnet: Y=f(X). Hierbei werden zuerst die Einflussfaktoren ermittelt, die eine große Auswirkung auf die Projektkosten und eine hohe Korrelation mit diesen […]
  • Text Mining: Verstehen was drin steht
    Mit Methoden des Text Mining den Text inhaltlich erfassen und interpretieren Unter Text Mining versteht man die Verarbeitung und Analyse von Textdaten, um mittels linguistischer und statistischer Verfahren Muster und unbekannte Informationen aus Dokumenten zu erschließen und für den Nutzer aufzubereiten. Anderes gesagt, geht es um einen Prozess der Wertschöpfung aus großen Mengen unstrukturierter Daten. Text Mining hat das Ziel die Daten, welche in Textform vorliegen, zu strukturieren und die dimensionalen Ausprägungen zu reduzieren. Damit werden die Voraussetzungen geschaffen, um weitergehende Analysen durchzuführen. Hierfür werden Methoden der Textnormalisierung und der Dimensionsreduzierung angewendet. Die verwendeten Algorithmen sind vielfältig und komplex. Der […]
  • Green IT: Green Coding
    Software muss selbst so gestaltet werden, dass sie die Umwelt schontDie Themen Green IT und Green Coding sind in aller Munde. Es geht hauptsächlich darum, die Nutzung von Informations- und Kommunikationstechnik umwelt- und ressourcenschonen zu gestalten und das über den gesamten Lebenszyklus hinweg durchzuhalten. Experten sind sich sicher, dass es auch beim Entwickeln bzw. Programmieren von Software ein großes Einsparpotenzial gibt.In diesem Beitrag wollen wir ein paar Anregungen geben, auf was Softwareentwickler achten sollen, um „grüner“ zu werden. Grüner Aufbau: Es geht um die Softwarearchitektur und um die Erkennung der Potenziale bei dem Aufbau von Software. Dabei soll der gesamte […]
  • Navigationskonzepte für Web Apps und Mobile Apps
    Apps, Web-Applikationen und Webseiten sind mit Inhalten vollgepackt. Wie gestaltet man diese so, dass die Nutzer:innen sich gleich zurechtfinden und die gesuchten Inhalte ohne Umwege erreichen?  Eine gut durchdachte Navigation soll genau dafür sorgen. Die User möchten keine technischen Geräte bedienen oder sich lange damit beschäftigen, wie sie bestimmte Funktionen aufrufen können, sondern einfach nur mit der Software ihre Aufgaben bearbeiten. Eine Navigation muss dafür sorgen, dass die Inhalte und Funktionen jederzeit problemlos aufgerufen werden können. Die Navigationskonzepte von mobilen Apps, Webseiten und auch von Desktop-Anwendungen sind sich in der letzten Zeit zunehmend ähnlicher geworden. Ein Grund dafür ist, dass […]
  • Softwareentwicklungsdokumentation im Überblick
    Die Softwareentwicklungsdokumentation ist meist wenig beliebt und dennoch sehr hilfreich. Oft müssen Anwendungen über viele Jahre gepflegt werden und nach einer bestimmten Zeit, weiß keiner mehr warum ein bestimmtes Modul existiert oder was es mit der Schnittstelle einer Klasse auf sich hat. Glücklich ist das Team, welches dann einfach in eine gute Dokumentation schauen kann. Ein Plädoyer für eine ungeliebte Aufgabe. Neben der Erstellung des Quellcodes, spielt auch die Dokumentation des Quellcodes, der Schnittstellen und technischen Parameter eine wichtige Rolle. Diese Art der Dokumentation wird als Softwareentwicklungsdokumentation bezeichnet und kann in unterschiedlichem Ausmaß und Grad der Detaillierung erfolgen. Die Softwareentwicklungsdokumentation […]
  • Microservices als moderne Anwendungsarchitektur
    Eine Microservices-Architektur verbindet einzelne Services zu einer flexiblen Softwaresuite. Die Zeiten komplexer und monolithisch gestalteter Softwareanwendungen sind vorbei. Microservices sind heutzutage zum Wahrzeichen einer modernen Anwendungsarchitektur geworden. Die Funktionalität wird auf überschaubare Teilsysteme verteilt. Man spricht von so genannten Services bzw. Diensten, die über das Internet, oft über RESTful APIs zur Verfügung gestellt werden. Diese kommunizieren miteinander über sprachunabhängigen Programmierschnittstellen. So erreicht man Flexibilität und Vielfalt, denn neben unterschiedlichsten Gerätetypen kommen auch die verschiedensten Betriebssysteme und Technologien zum Einsatz. Für die Nutzung eines Service spielt dessen technische Umsetzung keine Rolle. Verschiedene Betriebssysteme und die Bereitstellung auf unterschiedlichen Technologien sind möglich. […]
  • Auch Software kann grüner werden
    Die Diskussion um den ökologischen Fußabdruck betrifft auch die IT-Branche im Allgemeinen und die Softwareentwicklung im Speziellen. Unstrittig ist das, IT heute in vielen Bereichen zu einer Schonung der Umweltressourcen beitragen kann. Produktionsprozesse werden effizienter ausgeführt und der Ausstoß von CO2 kann vermindert werden. Dabei gilt jedoch auch der Umstand, dass ein zunehmender Einsatz von Informationstechnologie selbst zu einer erheblichen Steigerung des Ressourcenbedarfs, zum Beispiel in Form von neuer Hardware und zu einem höheren Energiebedarf, zum Beispiel Stromverbrauch führt, da immer mehr Systeme immer längere – teilweise ununterbrochene Laufzeiten – aufweisen. Die Frage nach der ökonomischen Bilanz macht daher auch […]
  • Kundenerlebnis realisieren mit Experience Management
    Ein stetiger Innovationsdruck, technischer Fortschritt und die steigenden Anforderungen an eine rasche Umsetzung der Digitalisierung über weite Teile der Unternehmen führen sehr oft dazu, dass es zu einem umfassenden Mehreinsatz von Informationstechnologie (IT) in Form von Hard- und Software kommt. Dabei kommt es zu einem unweigerlichen Nebeneinander von Technologien aus unterschiedlichen Epochen. Dieser Zustand ist das Ergebnis einer fortlaufenden Weiterentwicklung der IT-Landschaft zur Erfüllung der Anforderungen, welche sich unmittelbar aus dem zugrundeliegenden Geschäftsmodell ergeben. Eine ständige radikale Erneuerung der IT ist aus Gründen hoher Investitionen und knapper Ressourcen nicht möglich, wirtschaftlich nicht vertretbar und auch nicht notwendig. Dennoch muss es […]
  • Die neue Rolle der IT und deren Dienstleister
    Digitale Kompetenz wird zunehmend zu einem Schlüsselfaktor für Unternehmen aller Branchen. Geschäftsvorgänge werden in diesem Sinne nicht nur digital, sondern ganze Geschäftsmodelle ändern sich. Die digitale Transformation findet überall statt und die IT wird zunehmend zu einem Wettbewerbsinstrument. Auch IT-Dienstleister müssen sich neu ausrichten. Mit der zunehmender Digitalisierung verschiebt sich die Rolle der Informationstechnik und ihrer Dienstleister. Historisch hat sich IT lediglich als Dienstleister im Sinne eines „Werkzeuges“ verstanden. Der Fokus war primär technikgetrieben. Über eine Vielzahl von Zwischenstufen (Abbildung 1) verschiebt sich dieser Fokus und die Bedeutung der IT hin bis zu einem Business Innovator. IT liefert in diesem […]
  • Change Management als Voraussetzung für Digitalisierung
    Digitalisierung ist ein Zusammenspiel aller Bereiche in einem Unternehmen Eine wichtige Voraussetzung für ein Gelingen ist die Fähigkeit zur Wandlung des Unternehmens. Change-Management beschäftigt sich genau mit diesen Problemen und Fragen. Es plant die Veränderungen, führt den Wandel durch, stabilisiert und kontrolliert die erreichten Ergebnisse. Im Mittelpunkt des Veränderungsprozesses stehen die Menschen. Strukturen und Prozesse können sich nur dann ändern, wenn die Mitarbeiter für die Veränderungen offen und unterstützungsbereit sind. Es ist jedoch oft der Fall, dass nur wenige Personen den anstehenden Veränderungen ohne Vorbehalt gegenüberstehen. Viele Mitarbeiter werden mit Widerstand reagieren. Es liegt in der menschlichen Natur, dass Veränderungen […]
  • Chancen und Risiken der Digitalisierung
    Die Schlagwörter „Digitalisierung“ und „Digitale Transformation“ sind in aller Munde. Sie haben längst den IT-Bereich verlassen und sind zu einer Frage der Unternehmensstrategie geworden. Dabei geht es weniger um rein technische Fragen, sondern die Digitale Transformation setzt an den Geschäftsprozessen eines Unternehmens an. Im Ergebnis werden bestehende Geschäftsprozesse nicht nur digitalisiert, sondern es wird oft zu einer vollständigen Neudefinition kommen. Gelingt dieses, dann kann das Unternehmen dadurch ggf. einen nachhaltigen Wettbewerbsvorteil erzielen. In diesem Artikel beleuchten wir den ganzheitlichen Ansatz der Digitale Transformation und beschäftigen uns dabei intensiv mit der durchaus neuen Rolle der Informationstechnologie. Rund um das weite Thema […]
  • Priorisierung von Anforderungen.
    Würde man im Schlaraffenland leben, dann hätte dieser Beitrag keine Relevanz, denn sämtliche Ressourcen – vom Personal bis zur Arbeitszeit – ständen in unendlicher Dimension zu Verfügung. Da dem aber nicht so ist, sind die Anforderungen zu priorisieren, um den Erfolg des Softwareprojektes nicht zu gefährden. Dazu gibt es unterschiedliche Ansätze bezüglich Methodik, Granularität und Praxistauglichkeit. Aus vertraglicher Perspektive ist die rechtliche Verbindlichkeit von entscheidender Bedeutung. Wir betrachten diese Aspekte und versuchen uns an einer Systematisierung in dieser Hinsicht. In diesem Beitrag geht um die Klassifizierung von Anforderungen, primär unter den Gesichtspunkten der rechtlichen Verbindlichkeit und deren Priorität. Das Ziel […]
  • Scrum – Eine Begriffsbestimmung
    Scrum ist die häufigste angewendete agile Methode, welche als Rahmenwerk für agile Prozesse bekannt ist. Der Begriff „Scrum“ stammt aus der Sportart Rugby. Dabei stehen sich zwei gegnerische Mannschaften gedrängt („Scrum“ = „Gedränge“) gegenüber und versuchen den Ball zu erkämpfen. Ein selbstorganisiertes Entwicklerteam steht im Mittelpunkt von Scrum. Der Scrum Master bildet eine Schnittstelle zwischen dem Team und den Produktverantwortlichen. Er sorgt dafür, dass der Entwicklungsprozess reibungslos abläuft. Die Idee ist, dass bei umfangreichen Projekten der Erfolg nur durch ein regelmäßiges Feedback zu erreichen ist. Dadurch werden die Abweichungen vom Soll schnell erkannt und notwendige Anpassungen ermöglicht. Die gesamte Entwicklung […]
  • DevOps und Agile Ansätze in Entwicklungsprojekten
    Agile Arbeitsweise und DevOps sind moderne Methoden des Projektmanagements, um komplexe und umfassende IT-Entwicklungsvorhaben in den Griff zu bekommen. Das Ziel ist es, die Software den Kunden zeitnah und nach dessen Anforderungen bereitzustellen. Lesen Sie in diesem Beitrag, wie agile Methoden und DevOps zusammenhängen und beide Ansätze für eine erfolgreiche Bearbeitung des Projektes genutzt werden können. Eignung des Projektes Es genügt nicht, eine agile Arbeitsweise etablieren zu wollen, man muss es auch in der Praxis leben. Dazu ist es notwendig sich nochmalig den Ansatz von agiler Projektdurchführung in das Bewusstsein zu rufen. Mit der Entwicklung von Software betritt man sehr […]
  • DevOps und eine agile Vorgehensweise
    Agil und DevOps stehen für eine maximale Flexibilisierung der Projektarbeit und dem Zusammenwachsen von Development und Operations. Die agile Vorgehensweise mit dem Ziel einer geplanten Flexibilität des Entwicklungszyklus und DevOps mit der Zusammenarbeit von Development und Operations sind umfassende Bausteine einer Transformation der Informationstechnologie im Allgemeinen und der Softwareentwicklung als wichtige Teildisziplin im Speziellen. Zunächst beginnen wir mit einem kompakten Überblick über die agilen Methoden, danach skizzieren wir den Grundgedanken der DevOps-Bewegung. Anschließend werden wir die Schnittmengen beider Konzepte herausarbeiten und erkennen, an welcher Stelle die Chancen, aber auch mögliche Stolpersteine der Zusammenarbeit liegen. Agile Methoden bringen Flexibilität Bekanntermaßen ist […]