Java 8 - kurz und bündig

Java 8 - kurz und bündig

Java 8 ist seit März 2014 in der Release-Version verfügbar und bahnt sich derzeit den Weg in die ersten Projekte. Zwar findet sich auf http://java.com aktuell noch die siebte Version der Java Runtime Environment, doch die Entwicklerversion JDK 8 kann bereits seit dem Frühjahr 2014 heruntergeladen werden. Passend dazu wurde auch die IDE Eclipse 4.4 Luna fertiggestellt, die Java 8 vollständig unterstützt.

Read More

Einfache Java-Bytecode-Instrumentalisierung

Einfache Java-Bytecode-Instrumentalisierung

In modernen Architekturen ist der Einsatz von Frameworks und 3rd Party Libraries selbstverständlich. Erfolgt die Entwicklung in einem Unternehmen, so sind die Zuständigkeiten für das Gesamtsystem häufig unter anderem zwischen den Teams der technischen Architektur und der Entwicklung verteilt. Besteht das Bedürfnis seitens des Teams Entwicklung, zu Analysezwecken in die Frameworks und Libraries programmatisch tiefer einzugreifen, als von der Architektur vorgesehen, sind solche Änderungen in der Regel mit extra Aufwand seitens Team Architektur verbunden. Neben dem zusätzlichen Aufwand spielen die Sicherheit und die Qualität des Frameworks eine wichtige Rolle – Änderungen im Framework, die nur eine ganz spezielle und unter Umständen einmalig auftretende Frage beantworten, aber nicht in der Produktion wirksam sein sollen, sind zu vermeiden.

Read More

Das Interface Segregation Principle - Nicht nur auf den Schnitt kommt es an

Das Interface Segregation Principle - Nicht nur auf den Schnitt kommt es an

In unserem heutigen SOLID-Beitrag geht es um das „Interface Segregation Principle“. Wie wir im Blog sehen werden, ist dabei weniger die Trennung nach Interfaces das Problem, als vielmehr die an manchen Stellen wieder benötigte, sinnvolle Zusammenführung von Funktionalitäten aus verschiedenen Interfaces eines Objekts.

Vorweg: Die Fachabteilung war ganz begeistert, dass wir neulich die Anforderung zur Aufnahme von nicht registrierten Kunden so schnell und sauber umsetzen konnten. Die ausführliche Geschichte und wie die Anwendung des Liskov Substitution Principle zu einer sauberen Lösung beigetragen hat, kann man im „L“-Blog unserer SOLID-Reihe nachlesen.

Allerdings hat diese Erweiterung den Einfallsreichtum angespornt. Die neue Vision: Zukünftig sollen weitere neue Kundentypen im System eingeführt werden können. Außerdem soll es möglich sein, bestehende Kunden in einen anderen Kundentyp zu wandeln ohne dazu den Kunden im System neu anlegen zu müssen. 

Read More

Keine Zeit mit Garbage Processing verschwenden!

Keine Zeit mit Garbage Processing verschwenden!

Am 11. September 2014 fand das vierte Berliner Requirements Engineering Symposium zum Thema „Anforderungsmanagement erfolgreich umgesetzt – was wir vom Software Engineering lernen können!“ statt. Dabei standen die Erfolgsfaktoren gelungener Projekte im Mittelpunkt der Vorträge und Diskussionen. Erstmalig hat sich auch die it-economics an diesem Symposium beteiligt. Veranstaltet wurde das Symposium von der InMediasP GmbH zusammen mit dem Fraunhofer-Institut für Produktionsanlagen und Konstruktionstechnik IPK.

Read More

Das - Liskov Substitution Principle - LSP

Das - Liskov Substitution Principle - LSP

ubtypes must be substitutable for their base types. 

So, das „S“ und das „O“ der SOLID-Prinzipien haben unser Design hinsichtlich der Qualitätsmerkmale wie Wartbarkeit, Testbarkeit und Erweiterbarkeit bereits erheblich verbessert. Wir haben gesehen, dass es Sinn macht, einer Klasse möglichst nur eine Verantwortlichkeit zu übertragen (Single Responsibility Principle) und Programmcode offen für Erweiterungen, aber geschlossen für Änderungen zu implementieren (Open Closed Principle).

Read More

Effektives und effizientes Selbstmanagement, Teil 2 Operationalisierung

Effektives und effizientes Selbstmanagement, Teil 2 Operationalisierung

Im zweiten Teil steht im Fokus, wie ich mich persönlich auf Tagesbasis organisiere. Der erste Selbstversuch mittels David Allens „Getting Things Done“ (GTD) war nicht von Erfolg gekrönt. Zwar ist die Grundidee, alle Dinge aus dem Kopf zu verbannen und auf Listen zu erfassen, absolut sinnvoll. Es ist von essenzieller Bedeutung, sich frei zu machen von der Angst, etwas zu vergessen! Bei den vielen verschiedenen Listen, in denen die Dinge gemäß GTD abgelegt werden, geht die Übersicht jedoch schnell verloren.

Read More

Warum wir den SEPA-Mandats-Service entwickelt haben

Warum wir den SEPA-Mandats-Service entwickelt haben

Mit der Einführung von SEPA wurden die bisherigen Einzugsermächtigungen für Lastschriften durch sog. SEPA-Mandate für SEPA Direct Debits abgelöst.
Nach anfänglichem Diskurs und großem „Aufschrei“, dass diese SEPA-Mandate nur papierhaft erteilt werden können, ist nun die vorherrschende Meinung, die bestehenden Verordnungen und Richtlinien so zu interpretieren, dass auch elektronische Mandate (mit elektronischer Signatur) Gültigkeit haben.

Read More

Das Open-Closed Principle (OCP)

Das Open-Closed Principle (OCP)

Software sollte lesbar, modular und wartbar sein. Leider entsteht im Laufe der Entwicklung, vor allem aber auch bei Weiterentwicklungen, immer wieder schlechtes Software-Design. Im schlimmsten Fall treten Programmfehler bei bereits längst getesteten Funktionalitäten auf. Die Beachtung der SOLID-Prinzipien objektorientierter Softwareentwicklung kann helfen, diese Fehler zu vermeiden und Programmcode wartbar zu halten. Insbesondere die Wartbarkeit ist von großer Bedeutung, da man selten Softwareentwicklung auf der grünen Wiese betreibt, sondern in den allermeisten Fällen auf vorhandenem Programmcode aufbaut.

Read More

iOS RoboVM – eine Native Cross Plattform

iOS RoboVM – eine Native Cross Plattform

I mean, Android is Java, so there is a lot of opportunity here for sharing code between Android and iOS (Niklas Therning). Dieses Zitat des Erfinders von RoboVM aus einem Artikel auf Jaxenter.com möchte ich als Einstieg für meine Beschreibung nehmen, wie eine iOS-Applikation mit Java-Code realisiert werden kann.

Read More

Das Single Responsibility Principle (SRP)

Das Single Responsibility Principle (SRP)

There should never be more than one reason for a class to change.

Heute beginnen wir mit dem ersten SOLID–Prinzip: Eine Klasse sollte immer eine einzige Verantwortung haben, oder anders ausgedrückt: Es sollte nie mehr als einen Grund geben, eine Klasse zu ändern (Single Responsibility Principle, SRP).

Das SRP wendet man an, um übersichtliche, leicht erweiterbare und einfach zu wartende Software zu konzipieren.

Read More

Aufwandsschätzungen in Softwareentwicklungsprojekten – hätten Sie’s lieber klassisch oder agil?

Aufwandsschätzungen in Softwareentwicklungsprojekten – hätten Sie’s lieber klassisch oder agil?

In meinem letzten Blog „Gut geschätzt ist halb gewonnen“ habe ich verschiedene Verfahren zur Aufwandsschätzung vorgestellt, die – so wie ich selbst – allesamt ihre Wurzeln im klassischen Projektmanagement haben. Bewusst hatte ich dabei die agile Methodik ausgeklammert. Heute möchte ich eine kleine Brücke zwischen den damals vorgestellten „klassischen“ Verfahren und dem Schätzverfahren nach Scrum schlagen. Zu häufig höre ich Postulate wie „Scrum ist etwas völlig Neues“, „Nur der agile Ansatz ist richtig“ oder „Das klassische Projektmanagement ist altmodisch, out, zum Scheitern und zum Aussterben verdammt“.

Read More

Programm- vs. Projekt-Management

Programm- vs. Projekt-Management

Sind mehrere Projektergebnisse Bestandteil des gleichen Unternehmensziels oder ist ein Großprojekt in mehrere Teilprojekte unterteilt, so ist die Zusammenfassung von Projekten zu einem Programm sinnvoll. Worin sich dabei das Management von Projekten und Programmen unterscheidet, möchte ich im folgenden Text erläutern.

Read More

Ein Blick in die Geschichte

Ein Blick in die Geschichte

In den 1980er Jahren machte sich Tim-Bernes Lee vom CERN in Genf Gedanken darüber, wie man wissenschaftliche Publikationen elektronisch veröffentlichen könnte. Dabei war es ihm wichtig, navigierbare Dokumente zur Verfügung zu stellen, die auch Verlinkungen enthalten konnten.

1989 entstand daraus eine erste Definition von HyperText, und 1992 kam Mosaic als erster verbreiteter Browser. 1994 wurde das „World Wide Web Consortium“ (W3C) gegründet und der HTML2-Standard veröffentlicht. Es stiegen neue Spieler wie Microsoft und Netscape in das WWW-Rennen ein; 1995 entstand der HTML3-Standard und schließlich 1997 der HTML4-Standard. Danach blieb dieser lange Zeit aktuell, bis 2008 der erste Working Draft für HTML5 zur Verfügung stand; HTML5 selber wurde erst 2012 veröffentlicht.

Read More

SOLID – ein Schritt zu mehr Professionalität in der Software-Branche

SOLID – ein Schritt zu mehr Professionalität in der Software-Branche

Schon vor vielen Jahren saß ich mal in einer Straßenbahn, wir standen an einer Haltestelle, es ging nicht weiter. Plötzlich hörten alle Motoren auf zu summen, alle Lichter gingen aus – und nach einiger Zeit wieder an. An der Anzeige über dem Fahrer blinkte die Firmware-Versionsanzeige auf. Was war passiert? Offenbar war die Straßenbahn „abgestürzt“ und der Fahrer hatte sie in seiner Not einfach neu gebootet.

Read More

Wer sind wir und wenn ja, wie viele? Management von Anforderungen, Projektportfolios und Mitarbeiterkapazitäten mit imatch

Wer sind wir und wenn ja, wie viele? Management von Anforderungen, Projektportfolios und Mitarbeiterkapazitäten mit imatch

m Umfeld globaler Unternehmensstrukturen und Projektvielfalten wird es immer wichtiger, nicht nur Herr über ein einzelnes Projekt zu sein, sondern die ganze Bandbreite an Anforderungen, Projekten und Ressourcen eines Unternehmens zu managen.

Dass dies keine leichte Aufgabe ist, zeigen Studien der TU Berlin. Seit 2003 führt der Lehrstuhl für Technologie- und Innovationsmanagement empirische Studien zum IT-Projekt- und Portfoliomanagement (IT-PPM) durch. Dabei kristallisierten sich typische, immer wiederkehrende Mängel heraus:

  • Zu viele Projekte (62% der Studienteilnehmer)
  • Mangelnde Konsequenzen bei Entscheidungen über Projektabbrüche (67%)
  • Doppelarbeiten (32%)
  • Keine strategiekonforme Verteilung der Ressourcen (34%)

Die Studien verdeutlichen, dass Unternehmen mit gutem IT-Projekt- und Portfoliomanagement wirtschaftlich erfolgreicher sind und somit IT-PPM kein Selbstzweck ist, sondern eine Investition in ein Managementsystem, die sich auszahlt.

Read More

Verfolgung von Anforderungen

Verfolgung von Anforderungen

Häufig wird in Projekten den Anforderungen nicht die Aufmerksamkeit gewährt, die sie verdienen. Zweifelsohne werden die Anforderungen als Basis aller Aktivitäten im Projekt gesehen, aber leider werden sie in der Regel zu wenig mit allen anderen Aktivitäten verzahnt und im Zuge des Projektes nicht mehr angepasst.

In welchen Projekten könnte schon an einem Testfall erkannt werden, welche Anforderung damit getestet wird? Üblicherweise hat das Projekt eine Reihe von Anforderungen und noch eine weit längere Liste an Testfällen. Welcher Testfall welche Anforderung abdeckt, ist für Außenstehende nicht erkennbar. Ebenso verhält es sich mit Change Requests im laufenden Projekt. Sie berühren Anforderungen, Fachkonzepte, Software Designs, Testfälle usw.; diese müssen entsprechend geändert werden – und im Anschluss muss alles noch konsistent sein.

Read More

SEPA – jetzt geht’s richtig los – oder doch nicht?

SEPA – jetzt geht’s richtig los – oder doch nicht?

Übergangsfrist kurzfristig verlängert

Das Ziel der SEPA-Verordnung (Verordnung Nr. 260/2012) war, dass ab dem 1. Februar 2014 Überweisungen und Lastschriften grundsätzlich nur noch im SEPA-Format ausgeführt werden sollten, um einen EU-weit integrierten Markt für elektronische Zahlungen in Euro zu schaffen. Die Umstellung verlief in Deutschland jedoch relativ langsam. Die SEPA-Quote bei Lastschriften (SDD) lag im 4. Quartal 2013 bei 10,51 %, bei Überweisungen (SCT) bei 33,15 %.

Read More

SEBRETA - Simple Excel based Requirements Engineering und Testing Application

SEBRETA - Simple Excel based Requirements Engineering und Testing Application

SEBRETA = Überblick behalten im Projekt

SEBRETA ist ein Excel- und Access-basiertes Werkzeug, welches das Projekt-, Anforderungs-, Test- und Risikomanagement abdeckt. Es ist eine einfache und wertvolle Stütze über den gesamten Lebenszyklus eines Projektes hinweg.

Die Vision…

Warum ist Apple als Marke so erfolgreich? Warum sind Menschen so überzeugt von den iGadgets? Ist es das Image oder die Mischung aus einfachem Gerät mit den Funktionaltäten, die man braucht? Im heutigen Zeitalter werden Programme von Version zu Version umfangreicher und komplexer. Doch wie viele Funktionen nutzen die meisten Anwender am Ende wirklich und wie viele Anwender fühlen sich von der Vielzahl an Möglichkeiten überfordert? Daher ist es wichtig, Werkzeuge zu haben, die nur die wirklich wichtigen Funktionen abdecken und die der Benutzer beherrscht.

Read More