Das Motto
Scatterware ist, den Entwickler in der Sprache entwickeln zu lassen, in der er für das vorliegende Problem zur besten Lösung kommt.
Was hat das für Vorteile?
Es gibt eine Reihe von Effekten, die sich mit Scatterware erzielen lassen
· Die Effektivität der Entwickler wird gesteigert, da jeder Entwickler sich
der Entwicklungsumgebung bedient, mit der er am schnellsten zur Lösung kommt
· Mit den Werkzeugen, mit denen er sich "wohlfühlt", macht ein
Entwickler auch die wenigsten Fehler - hierbei geht es vor allem um Fehler, die es unerkannt
durch die Qualitätssicherung schaffen
· Damit steigt die Effizienz der ganzen Entwicklungsabteilung
· Die Einarbeitungszeit für neue Entwickler wird dramatisch verkürzt
· Dezentrale Entwicklung wird erleichtert
· Die entwickelten Kapseln lassen sich leichter gegen
Mock-Objekte
testen zur Qualitätssicherung
· Hotfixes können schnell und ohne großes Risiko ausgespielt werden
· Im Bewusstsein, dass einzelne Programmteile bei Änderungsbedarf neu geschrieben
werden, kann die technische Dokumentation auf die Beschreibung der Schnittstellen und Funktionsweise
reduziert werden
· Einarbeitung in vorhandenen Code entfällt
· Auf Code Review kann meist verzichtet werden
Was sind die Risiken?
Scatterware ist eine sehr ernsthafte Entwicklungsmethode, die durchaus ihr Maß an Planung und
Disziplin erfordert.
· Wichtig ist vor allem, die Anzahl der Schnittstellen jeder Kapsel im Auge zu behalten.
Eine Kapsel mit mehr als einer handvoll Schnittstellen ist nicht leicht zu ersetzen. Ein System
mit vielen solcher "Spinnenkapseln" wird ganz schnell chaotisch und unbeherrschbar.
· Man darf beim Verzicht auf Dokumentation und Quellcode-Konformität
nicht versehentlich die unverzichtbare Schnittstellenbeschreibung auf dem Kapselblatt
zu kurz kommen lassen.
· Auch darf man sich nicht verleiten lassen, ungesteuert neue Kapseln
zu entwickeln, denn die würden beim nächsten Refactoring nicht berücksichtigt werden.
Die Folge wäre Verlust von Funktionalität bei der Weiterentwicklung und das ließe
sich nur verhindern, indem der vorhandene Quellcode analysiert wird - es ist aber gerade einer der
Vorteile von richtig verstandener Scatterware, dass niemand mehr alten Code verstehen muss.
· Es besteht die Gefahr von
Zwiebelsoftware
Im Bereich "Wie geht Scatterware" wird darauf eingegangen, wie man ein Softwareprojekt aufsetzen muss, damit man am Ende eine solide Scatterware erzeugt.
weiter mit der Scatterware Terminologie