Donnerstag, 27. Juni 2013

Demokratie und Softwareentwicklung – menschliches Arbeiten in einem Softwareteam

Ich habe im Blog Initiative Wirtschaftsdemokratie einen Post veröffentlichen dürfen. Auf diesen Artikel möchte ich hier hinweisen. Er fügt sich in den dargestellten Kontext meines Blogs ein.

Ich gehe davon aus, das gebildete Menschen als mündige Bürger innerhalb demokratischer Strukturen arbeiten sollten. Lest dazu den Beitrag unter dem Titel Demokratie und Softwareentwicklung – menschliches Arbeiten in einem Softwareteam.

Requirements Engineering – erst einmal die Anforderungen definieren

Praktisches Beispiel 1.2

Artikelübersicht
1. Teil Reengineering - Die Analyse des Altcodes.
2. Teil Requirements Engineering – erst einmal die Anforderungen definieren.
3. Teil Systemanalyse – vielleicht doch erst mal eine Architektur.
4. Teil Reengineering - Neu, strukturiert und auf lange Sicht schneller.
5. Teil Schon Vorhandenes nutzen wäre schneller gewesen
6. Teil Reengineering – Am Ende gab es nur noch eine Schnittstelle.


Die gefundene Liste der Annahmen über Anforderungen, die in der Altsoftware verwirklicht wurden, werden jetzt im Team zu wirklichen Anforderungen gemacht. Die Aktivität des Requirements Engineering sollte keine Einzelkämpfertätigkeit sein. In einer Teamsitzung wird der Vollständigkeitsgrad der Anforderungen direkt proportional zu den anwesenden Teammitgliedern sein. Hat das Team auch noch einen positiven Teambildungsprozess durchlaufen, wird das Ergebnis unschlagbar.

Samstag, 22. Juni 2013

Teambildung als bewusster Prozess

These: Menschen, die sich wohl fühlen, Menschen, die geachtet werden, schaffen beachtliche Software

Am Anfang waren sechs Personen. Jede Einzelne verfügte über eine entsprechende Qualifikation, mit der man sich die Aufnahme in das Team verdient hatte. Folgendes Wissen wurde abgedeckt: Requirements Engineering, Softwarearchitektur, Entwicklung, Qualitätsmanagement und Projektmanagement. Damit sollte einer fruchtbaren Arbeit nichts mehr im Wege stehen und die Anweisungen aus der Führungsebene können im Sekundentakt in die Gruppe einschlagen. Eine Betrachtung, die den Menschen als fühlendes und denkendes Wesen außen vor lässt, würde sicherlich davon ausgehen, dass das funktioniert. Macht es sogar. Viele Menschen quälen sich in solchen Verhältnissen durch ihren Arbeitsalltag und sehnen sich nach dem Urlaub und der Rente. In all diesen Wesen schlummert Kreativität, Fantasie und Lebensmut. Der sollte auch am Arbeitsplatz einen Ort finden.

Montag, 17. Juni 2013

Reengineering - Die Analyse des Altcodes

Praktisches Beispiel 1.1

Artikelübersicht
1. Teil Reengineering - Die Analyse des Altcodes.
2. Teil Requirements Engineering – erst einmal die Anforderungen definieren.
3. Teil Systemanalyse – vielleicht doch erst mal eine Architektur.
4. Teil Reengineering - Neu, strukturiert und auf lange Sicht schneller.
5. Teil Schon Vorhandenes nutzen wäre schneller gewesen
6. Teil Reengineering – Am Ende gab es nur noch eine Schnittstelle.


Während eines Reengineering ist mir folgender Code, in ähnlicher Form, wirklich begegnet. Natürlich habe ich ihn abgeändert, denn es ist nicht meine Absicht, jemanden an den Pranger zu stellen. Meiner Meinung nach kommt es auch nicht aus Unfähigkeit zu solchem Code. Meist ist es die fehlende Zusammenarbeit im Team. Deshalb plädiere ich für eine andere Form der Zusammenarbeit. Im einzelnen sehe ich folgende Gründe:

Mittwoch, 12. Juni 2013

Wissensformen

These:Gute Software benötigt gute fachliche Anforderungen.

Dieser Post ist wieder ein Kapitel aus meiner Diplomarabeit [BAU09].

Im Interaktionsnetz der an einem Thema zusammenarbeitenden Menschen ist immer eine Ungleichverteilung des Wissens gegeben. Das Wissen des Einen muss zum Anderen transportiert werden, ohne dass es zu allzu großen Verlusten bei der Informationsübermittlung kommt.

Im Prozess der Softwareentwicklung sind drei Wissensformen maßgebend. Das fachliche, das technische und das analytische Wissen.

Freitag, 7. Juni 2013

Anforderungen werden durch Menschen erstellt.

These:Gute Software benötigt gute fachliche Anforderungen.

In den folgenden beiden Posts werden ich zur Einleitung dieses Themas zwei Kapitel meiner Diplomarbeit posten. [BAU09]

Einer der wichtigsten Aspekte der Erstellung von Anforderungen ist, dass sie in einem kommunikativen Prozess zwischen Menschen entwickelt werden. Eine Nichtbeachtung dieser kommunikativen Aktivitäten zwischen Menschen wäre eine wesentliche Auslassung bei der Erarbeitung eines Arbeitsablaufes für die Anforderungserstellung.

Sonntag, 2. Juni 2013

Neuer Monat, neue Ideen

Allgemeines

Seit einem Monat poste ich nun, und inzwischen sind mir ein paar neue Ideen gekommen. Die erste verdanke ich einer Antwort zu einem Beitrag, den ich in Xing veröffentlicht hatte. Dort wurde angemahnt, dass den Thesen die nötige Provokation fehlt. Bei näherer Betrachtung ist dem wohl auch so. Man kann sich zu schnell einverstanden fühlen und denkt, mach ich doch auch, will ich doch auch. Deshalb werde ich die Thesen durch ODER-Teile erweitern, die genau das beschreiben, was aller Orten Wirklichkeit ist. Im Gegensatz zur Realität bekommen die ursprünglichen Thesen dann vielleicht eine neue Relevanz. Auch werde ich die neuen Antithesen an den Anfang setzen. So hoffe ich mit der Provokation zu beginnen.