Was ist eigentlich Domain Driven Design (DDD)?

Nahezu jedes Software-System arbeitet mittlerweile in einem komplexen und dynamischen Umfeld. Kundenwünsche, Marktfaktoren und Technologien ändern sich schneller als je zuvor, so dass eine anpassungsfähige IT zum entscheidenden Erfolgsfaktor wird. Der stetige Wandel macht den Aufbau von aktuellem Domänenwissen für Entwickler mühsam. Die Folge: Softwareentwicklungen gehen immer häufiger an den Vorstellungen des Auftraggebers vorbei, da die Kommunikation zwischen Entwicklern und Fachleuten an Verständnisproblemen leidet. Ein populärer Lösungsansatz für diesen Konflikt ist Domain Driven Design.

Weiterlesen
Markiert in:
DDD

Was ist eigentlich… Continuous Delivery?

Neu entwickelte Software möglichst zügig ausliefern oder lieber erst ausgiebig testen? Der Spagat zwischen immer kürzeren Releasezyklen einerseits und Qualitätssicherung andererseits gießt kontinuierlich Öl auf den schwelenden Konflikt zwischen Software-Entwicklung und IT-Betrieb. Ein Konflikt, in dem beide „Parteien“ das übergeordnete – und gemeinsame – Ziel aus den Augen verlieren: die richtigen Features schnell und hochwertig zum Endkunden zu bringen und so einen Mehrwert für das Unternehmen zu generieren. In diesem Zusammenhang verspricht Continuous Delivery eine deutliche Beschleunigung, ohne Abstriche bei der Qualität und Stabilität zu machen. Aber was verbirgt sich hinter dem Begriff genau?

Weiterlesen

Was ist eigentlich… DevOps?

Wie können wir neue Ideen schneller umsetzen? Wie reagieren wir flexibler auf Kundenwünsche und Marktveränderungen? Und wie stellen wir trotz kürzerer Innovationszyklen stabile und fehlerfreie Software sicher? Um in dynamischen Märkten wettbewerbsfähig zu bleiben, muss moderne IT hohen Anforderungen gerecht werden. In diesem Zusammenhang ist immer häufiger von „DevOps“ die Rede - eine Philosophie, die auf ein engeres Zusammenrücken der konkurrierenden Bereiche Softwareentwicklung (Development) und IT-Betrieb (Operations) setzt. Aber was genau ist der Grundgedanke der Bewegung, die bei Unternehmen wie Netflix, Walmart, Amazon oder Facebook bereits erfolgreich im Einsatz ist?

Weiterlesen

Agiles Testen: Wie es geht. Und warum es ohne nicht geht.

Klar, getestet wird Software schon immer. Auch bei klassischen Vorgehensmodellen ist Testen ein entscheidender Bestandteil des Qualitätsmanagements, denn mangelhafte Testprozesse sind nicht nur eine der Hauptursachen für Fehlfunktionen im Live-Betrieb, sondern auch für Effizienz-Einbußen: Die Wahrscheinlichkeit ist hoch, dass spät entdeckte Bugs die Arbeit des Entwicklerteams im Projektverlauf behindern.

Was aber macht agiles Testen so anders, dass ganze Bücher darüber geschrieben werden? Wie ändert sich das Selbstverständnis des Testers und welche Rolle spielt die Testautomatisierung?

Weiterlesen
Markiert in:

Scrum. Oder die Kunst, doppelt so viel Arbeit in der halben Zeit zu schaffen.

„The Art of Doing Twice the Work in Half the Time“ – ein im wahrsten Sinne des Wortes viel versprechender Buchtitel des Scrum-Mitbegründers Jeff Sutherland. In der deutschen Übersetzung war der Verlag zwar nicht ganz so mutig, nichtsdestotrotz bringt auch der Titel „Die Scrum-Revolution“ das Ziel des agilen Frameworks zum Ausdruck: einen Umbruch im Unternehmen bewirken.

Aber was kann die Wunderwaffe Scrum wirklich? Eignet sich Scrum für jedes Projekt, jedes Unternehmen, jedes Team – auch für Sie?

Weiterlesen

Die Karten auf den Tisch! | Aufwandsschätzung Teil 3

Aufwandsschätzung ist sinnvoll. So unser Fazit nach Teil 1 und Teil 2 unserer Serie. Auch die Begriffe „Story Points“ und „Velocity“ konnten wir (hoffentlich) verständlich erklären. Aber jetzt ab in die Praxis: Wie läuft das konkret in den Teams und welche Schätzmethoden haben sich bewährt? Wir werden in diesem Artikel einen kurzen Überblick über die unterschiedlichen Herangehensweisen geben und dann im Detail vor allem auf agile Schätzspiele wie den „Planning Poker“ eingehen.

Weiterlesen

Ist Schätzen Erbsenzählerei? | Aufwandsschätzung Teil 2

In Teil 1 unserer Serie haben wir uns mit der Frage beschäftigt, warum Aufwandsschätzungen in agilen Projekten so schwierig sind. Obwohl es bei komplexen Projekten praktisch unmöglich ist, soll meist bereits zu Beginn prognostiziert werden, bis wann und mit welchem Aufwand ein Ergebnis geliefert wird, das noch gar nicht exakt definiert werden kann. Agile Teams sehen in dieser Forderung der Auftraggeber unsinnige „Erbsenzählerei“, die dem Projekt mehr schadet als nützt - die Auftraggeber hingegen ärgern sich über nicht eingehaltene Deadlines und Budget-Überschreitungen. Sogenanntes „abstraktes Schätzen“ kann dazu beitragen, diese unterschiedlichen Erwartungshaltungen auf einen Nenner zu bringen. Aber was unterscheidet die Methoden rund um „Story Points“ und „Velocity“ von der klassischen Aufwandskalkulation? Und kann man sich im agilen Umfeld diese ganze Schätzerei nicht sowieso sparen?

Weiterlesen
Markiert in:

Sind Sie ein Software-Kanban-Typ?

Sie möchten Ihre Softwareentwicklung verbessern - wissen aber noch nicht genau wie. Scrum ist in aller Munde – aber trotzdem können Sie sich zu den erforderlichen Veränderungen in Ihrem Unternehmen nicht so recht durchringen. Wenn Sie sich in dieser Beschreibung wiederfinden, sollten Sie über Software-Kanban nachdenken!

Weiterlesen
Markiert in:

Lesetipp: "Entwickler, die stillen Königsmacher"

Haben Sie gerade eine Stelle für Software-Entwickler zu besetzen? Dann geht es Ihnen vermutlich wie vielen Unternehmen: Der Markt scheint leer gefegt. Und wenn Sie selbst Software-Entwickler auf der Suche nach einem neuen Job sind, haben Sie gut lachen: Sie zählen zu den aktuell meist gesuchten Experten auf dem Arbeitsmarkt für IT-Berufe. Wie schafft man es also als Arbeitgeber, dieses "rare Gut" zu begeistern?

Weiterlesen

Gut geschätzt ist halb gewonnen | Aufwandsschätzung Teil 1

Programmierer sind die schlechtesten Schätzer der Welt. Behauptet zumindest Anders Abel in seinem Blog „Passion for Coding“. Der schwedische Software-Consultant geht noch weiter und präsentiert eine mathematische Formel, um die tatsächlich benötigte Zeit zu ermitteln: Man nehme die geschätzte Zeit des Entwicklers, multipliziere sie mit Pi und rechne sie in die nächsthöhere Zeiteinheit um. Schätzt der Entwickler also einen Manntag, wird er – nach Abel – 3,14 Wochen benötigen. Sicherlich eine provokant formulierte These, nichtsdestotrotz ist das Thema Aufwandsschätzung ein Dauerbrenner in der Softwareentwicklung. Und nicht nur hier, denn seit agile Methoden immer häufiger abteilungs- und branchenübergreifend im Einsatz sind, beschäftigt die Frage nach der Kalkulation des Aufwands auch Non-Software-Teams.

Weiterlesen
Markiert in:

Was ist eigentlich ... das Agile Manifest?

Alle Welt spricht von Agilität, von Scrum, Kanban und Design Thinking, von neuer Unternehmenskultur - aber woher kommt die agile Bewegung eigentlich? Ein wichtiger Eckpfeiler für das Verständnis von Agilität ist das „Agile Manifest“, dem wir deshalb einen eigenen Glossar-Beitrag widmen.

Weiterlesen
Markiert in:

Fundstück: "What is Code" von Paul Ford

Kann man über Code einen Roman schreiben? Man kann. Sogar so, dass es sich so spannend liest wie ein Buch, das man nicht mehr weglegen möchte. Paul Ford hat es bewiesen: In seinem fast 40.000 Wörter langen Essay in der Bloomberg BusinessWeek schreibt der amerikanische Programmierer und Autor so enthusiastisch und fesselnd über Code, dass man fast ein wenig traurig ist, wenn die letzten Zeilen gelesen sind.

Weiterlesen
Markiert in:

Softwareentwicklung, quo vadis?

„Sehr geehrte Scrum-Day-Interessenten, leider ist der Scrum Day 2015 ausgebucht!“ Diese Meldung auf der Website des Veranstalters wird viele enttäuschen, die sich dieser Tage noch für den kleinen, aber feinen Fachkongress in Stuttgart akkreditieren möchten. Die große Resonanz überrascht uns nicht - agiles Projektmanagement boomt.

Weiterlesen
Markiert in: