Ich finds gut, dass du dich mit so etwas beschäftigt, muss aber jetzt erstmal ein bischen meinen Senf abgeben.
Mich wundert es, dass es dazu nicht einen vom Hersteller standardisiertes vorgehen in der Art und Weise von OO-Softwareentwicklung gibt.
Standardisiertes Vorgehen?
Es gibt imho konkurrierende Vorgehensmodelle, deren Elemente auch noch sämtlichst optional sind.
Die sogenannte Standardisierung ist also eingeschränkt. (RUP, xTreme Programming, Model Driven, Agile, etc.)
Damit sage ich nicht, dass die Vorgehensmodelle keinen Sinn machen würden. Und auch nicht, dass Nachdenken über Prozesse überhaupt eine Sache ist, mit der man sich beschäftigen sollte. Anstatt diese heroische Attitüde mit "ich progg das jetzt mal einfach", "der Dau hat wieder Mist gebaut", "die Suits haben keine Ahnung", uvam.
Werkzeuge a la UML. Dort wird ja auch ausgehend von einem Use Case-Diagramm über Klassendiagramme in verschiedenen Komplexitäten ein Design erstellt, das anschliesend ummgesetzt wird. (ich weis, dass das Theorie ist, aber ich finde sie hilfreich)
UML würde ich auch eher als ein Satz von Modellkonventionen bezeichnen. Und UML wird höchst unterschiedlich eingesetzt. In Model Driven wird das zu einer Art Programmiersprache. Die Vertreter von agile sehen UML eher als skizzierendes Kommunikationsmittel. Häufig lehnen Sie UML - Tools explizit ab und präferieren statt dessen whiteboards, die das gezeichnete elektronisch aufzeichnen können. Selbst große IT-Organisationen sind in Deutschland damit aus meiner Erfahrung nicht ausgestattet.
(Papier und Bleistift bzw. einfache UML Tools gehen aber auch).
Alle mir bekannten Werkzeuge dieser Art lassen sich meiner Meinung nach nicht wirklich bei der Entwicklung von Lotus-Anwendungen einsetzen.
In einem eingeschränkten Sinne geht es schon. Use Cases auf jeden Fall. Ich skizziere bestimmte Dinge, die ich in Notes mache, auch mit UML.
Was mir hier und auf EdBrill.com auffällt ist, dass wenn Leute UML hören direkt an Tools denken. Ich find das Zeugs eignet sich wirklich gut, wenn man es als handgezeichnete Skizze anwendet (oder sehr einfache Tools), jedenfalls ohne Code-Generierung.
Ich sehe aber gerade in einem großen Java Projekt, dass Model Driven Architecture Vorteile haben kann. Damit das wirklich klappt, muß das aber irgendwie von der Programmiersprache (z.B. Java) und hochentwickelten Tools unterstützt werden.
Ich persönlich beschäftige mich z.B. mit XDoclet. Davon ist aber LotusNotes sehr weit entfernt. Java ist dafür zunehmend gut ausgestattet (z.B. Annotations in Java5).
Was mir auf der Domino Seite sogar eher noch mehr fehlt sind Tools zur Unterstützung von kontinuierlichen Unit-Tests und Integrationstests. Ich finde das bei solchen Tests eine Menge Potential existiert, auch wenns (bei mir in Java) immer noch oft weh tut.
In der Java-Community wird solches Prozess-Zeugs auch viel stärker diskutiert und angenommen.