Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Sunday, April 3, 2011

Agile Developer Skills und Software Craftsmanship

Im JavaMagazin 01/2011 ist ein Artikel zum Thema Agile Developer Skills. Welche Fähigkeiten gehören zu einem Agile Software Developer? Der Autor wird auch in Kürze ein gleichnamiges Buch veröffentlichen, das schon in Amazon vorbestellt werden kann.

Skill Stufen

Es werden verschiedene Skill-Stufen unterschieden, angelehnt an die japanische Metapher Shu-Ha-Ri. Das ist vergleichbar mit den Lehrling-Geselle-Meister Stufen.
"Shu: Lernen der Grundlagen, Regeln und Heuristiken. In dieser Stufe gibt es einen Meister und vorgegebene Regeln, die der Lehrling lernt, anzuwenden.
Ha: Die Regeln sind in Fleisch und Blut übergegangen, man konzentriert sich auf die Ausnahmen, hinterfragt die Regeln und entwickelt seinen eigenen Stil.
Ri: Es gibt keine isolierten Regeln mehr, alles ordnet sich in einen natürlichen Fluss ein."
Ich hatte in der Vergangenheit immer folgendermaßen unterschieden:

Wednesday, March 16, 2011

Modellierung - Was ist ein gutes Modell?

Als Entwickler und Architekt modelliert man ja hin und wieder. Irgendeinen komplexeren Sachverhalt, den man sich selbst klar machen will, oder anderen erklären möchte. Wenn man sich den Sachverhalt (Fachliches Problem, technisches Design) selber durch ein Modell veranschaulichen möchte, dann gibt es eigentlich wenig zu sagen, wie man das machen sollte. Man will es ja nur selbst anschauen. Wenn man jedoch anderen Kollegen etwas darstellen möchte, dann wird es schon etwas anspruchsvoller. Dann stellt man sich auch mal die Frage: ist das jetzt ein gutes Modell?

Sunday, January 30, 2011

Continuous Feedback

Ich weiß nicht ob das richtig oder zweckmäßig ist, aber bei jeder neuen Technologie frage ich mich: was ist das essentiell Neue an dieser Technologie? Was macht die Technologie im Vergleich zu anderen aus? Die Beantwortung der Frage hilft mir die Idee hinter der neuen Technologie zu begreifen und dann auch in der Folge die Technologie richig anzuwenden.

Saturday, January 22, 2011

Essential differences in agile and traditional software development processes

When I talk to my management or other developers they often express that they see Agile Software Development and Software Engineering as conflictive approaches to software development. To me that's not exactly a true story. One reason I say that is that you will (most likely) not go to university to become an "Agilist", right? Instead you go there to become a Software Engineer, you want to learn
"[...] a systematic approach to the analysis, design, assessment, implementation, test, maintenance and re-engineering of a software by applying engineering to the software [...]"
And yes, here, "systematic" does also mean "agile". Consequently, I look at Agile Software Development as being a sub-discipline in Software Engineering. In that broad subject area "Agile" is "only" a specific category of software development processes. Now, I totally agree that Agile Processes differ from more traditional approaches like Waterfall Model, Spiral Model or Iterative and incremental Development. But what's the essential difference? To me the following characteristics are extremes in a continuum of different software development philosophies:

Wednesday, January 5, 2011

Was bedeutet agil?

Im Moment werde ich häufig mit der Frage konfrontiert, was Agilität eigentlich bedeutet. Ich arbeite in einem Unternehmen, dass (Gott sei Dank) nicht jeden Hype mit macht. Deswegen diskutiere ich mit vielen verschiedenen Leuten über dieses Thema. Dabei werde ich mit verschiedenen Meinungen und auch missverständlichen Aussagen konfrontiert. Diese Aussagen möchte ich in diesem Artikel kommentieren.