Ein pragmatischer Ansatz zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013
Methodenentwicklung in s-lab Projekten Strukturierte Entwicklungsmethoden ermöglichen bessere QS-Maßnahmen Probleme mit der SW-Qualität Manager Unterstützung durch s-lab spezifische Probleme Methodenentwicklungswissen State-of-the-Art Forschungswissen Domänenwissen Fachwissen Problemspezifische Entwicklungsmethode Entwickler Individuelle Methodenentwicklung à Einsatz von Standardvorgehensmodellen nicht möglich Integrative Zusammenarbeit à Entwickler braucht Zugang zum Methodenentwicklungswissen 2
Vorgehen der Methodenentwicklung Nutzung eines spezifizierten Vorgehensmodells für die Methodenentwicklung bei der integrativen Zusammenarbeit benutzen Problem: Eine optimierte Entwicklungsmethode hinsichtlich der spezifischen Probleme ist in einer gegebenen Situation nicht immer anwendbar 3
Beispiel: Methodenentwicklung Herausforderungen bei der Entwicklung von System Management Software in Server-Systemen Physikalische Infrastruktur Autonome Kontroll- und Regelungsmechanismen 4
Exemplarische Probleme physikalische Infrastruktur Ist-Situation: Informelle Darstellung der physikalischen Schnittstellen resultierende Methodenanforderung: Erstellung einer formalisierten Spezifikation der physikalischen Schnittstellen Methode: Problem: Keine Werkzeuganschaffung à Unnötige aufwändige Werkzeugevaluierung Ein pragmatisches Vorgehen zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013 5
Exemplarische Probleme Autonome Kontroll- und Regelungsmechanismen Ist-Situation: Fehlinterpretation durch unzureichende textuelle Beschreibung der Regelungsmechanismen resultierende Methodenanforderung: Verbesserung der Spezifikation von Regelungsmechanismen Methode: Problem: Fehlende Kenntnisse der Sprache bei den Entwicklern Ein pragmatisches Vorgehen zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013 6
Situationsgerechte Methoden Lösung: Hinsichtlich der Akzeptanz und Anwendbarkeit muss eine Entwicklungsmethode zur gegebenen Situation passen benutzen 1 Wie kann die Situation ermittelt werden? 2 Wie können Einflussfaktoren berücksichtigt werden? 7
Erhebung von Situationsfaktoren 1 Situationsbeschreibung über Situationsfaktoren Contingency Factors nach van Slooten et al. and Kornyshova et al. Empirisch ermittelte Einflussfaktoren nach Bekkers et al. Menschliche Aspekte nach Cockburn Normen und Standards nach Cossentino et al. Eingesetzte Werkzeuge nach Karlsson et al. Problem: keine umfassende Übersicht über Situationsfaktoren Lösung: Bereitstellung einer Checkliste möglicher Situationsfaktoren 8
Mögliche Situationsfaktoren 9
Erhebung von Methodenanforderungen 2 Berücksichtigung von Situationsfaktoren in Methodenanforderungen Requirements Definition for Situational Method Engineering nach Ralyté Guidelines zur Erstellung von Software Entwicklungsprozessen bspw. nach Deynet Problem: Vorgehen nutzt eigene formalisierte Sprache Berücksichtigen nicht alle Aspekte einer Entwicklungsmethode Fehlende Berücksichtigung von Situationsfaktoren Lösung: Pragmatischer Ansatz für die integrative Zusammenarbeit Explizite Berücksichtigung der Situation 10
Pragmatische Erhebung von MA 11
Verbesserte Methodenentwicklung physikalische Infrastruktur Ist-Situation: Informelle Darstellung der physikalischen Schnittstellen Resultierende Methodenanforderung: Erstellung einer formalisierten Spezifikation der physikalischen Schnittstellen gültiger Situationsfaktor: Widerstände à Einsatz von neuen Werkzeugen nur bei großer Notwendigkeit gültiger Situationsfaktor: Ressourcenverfügbarkeit à Investitionen werden nur getätigt wenn Nutzen über einzelne Entwicklungsaktivitäten hinaus erkennbar ist resultierende situative Methodenanforderung: Die Entwicklungsmethode soll keine neuen Werkzeuge als Hilfsmittel definieren Ein pragmatisches Vorgehen zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013 12
Verbesserte Methodenentwicklung physikalische Infrastruktur situationsgerechte Methode: Ein pragmatisches Vorgehen zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013 13
Verbesserte Methodenentwicklung Autonome Kontroll- und Regelungsmechanismen Ist-Situation: Fehlinterpretation durch unzureichende textuelle Beschreibung der Regelungsmechanismen resultierende Methodenanforderung: Verbesserung der Spezifikation von Regelungsmechanismen gültige Situationsfaktoren: Wissen, Erfahrung und Fertigkeiten der Entwickler à Word, Excel, Power Point, C, Perl, JScript, Bash, Linux, embedded Linux,... resultierende situative Methodenanforderung: Auswahl möglicher Sprachen für die Artefaktbildung muss zu den Erfahrungen der Entwickler passen, ansonsten müssen Schulungen eingeplant werden Ein pragmatisches Vorgehen zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013 14
Verbesserte Methodenentwicklung Autonome Kontroll- und Regelungsmechanismen situationsgerechte Methode: Ein pragmatisches Vorgehen zur Entwicklung situationsgerechter Entwicklungsmethoden Michael Spijkerman 27.02.2013 15
Fazit und Ausblick Individuelle Methodenentwicklung mit integrativer Zusammenarbeit Nutzung eines spezifizierten Vorgehensmodells zur Methodenentwicklung Erweiterung des Vorgehensmodells Die Situation wird bei der Methodenentwicklung berücksichtigt Definition der Situation mit Hilfe der Checkliste möglicher Situationsfaktoren Darstellung eines Vorgehens zur Ermittlung von Methodenanforderungen Explizite Berücksichtigung von situativen Methodenanforderungen Weitere Aufgaben: Vollständige Beschreibung der Situationsfaktoren Auswirkungen der Situationsfaktoren auf die Entwicklungsmethode Guidelines zur Erstellung von Methodenanforderungen aus gültigen Situationsfaktoren 16
Referenzen [SH96] K. van Slooten und B. Hodes. Characterizing IS development projects. In Proceedings of the IFIP TC8, WG8.1/8.2 working conference on method engineering on Method engineering : principles of method construction and tool support: principles of method construction and tool support, Seiten 29 44, London and UK, 1996. Chapman & Hall, Ltd. [KDS07] E. Kornyshova, R. Deneckère und C. Salinesi. Method Chunks Selection by Multicriteria Techniques: an Extension of the Assembly-based Approach. In Jolita Ralyté, S. Brinkkemper und B. Henderson-Sellers, Hrsg., Situational Method Engineering: Fundamentals and Experiences, Jgg. 244 of IFIP International Federation for Information Processing, Seiten 64 78. Springer Boston, 2007. [BWBM08] W. Bekkers, I. van de Weerd, S. Brinkkemper und A. Mahieu. The Influence of Situational Factors in Software Product Management: An Empirical Study. In Proceedings of the 2008 Second International Workshop on Software Product Management, IWSPM 08, Seiten 41 48, Washington and DC and USA, 2008. IEEE Computer Society. [Coc00] A. Cockburn. Selecting a Project s Methodology. IEEE Software, 17(4):64 71,2000. [CS05] M. Cossentino und V. Seidita. Composition of a New Process to Meet Agile Needs Using Method Engineering. In R. Choren, A. Garcia, C. Lucena und A. Romanovsky, Hrsg., Software Engineering for Multi-Agent Systems III, Jgg. 3390 of LectureNotes in Computer Science, Seiten 36 51. Springer Berlin / Heidelberg, 2005. [KA04] F. Karlsson und P. J. Agerfalk. Method configuration: adapting to situational characteristics while creating reusable assets. Information and Software Technology,46(9):619 633, 2004. [Ral02] J. Ralyté. Requirements Definition for the Situational Method Engineering. In Proceedings of the IFIP TC8 / WG8.1 Working Conference on Engineering Information Systems in the Internet Context, Seiten 127 152, Deventer and The Netherlands, 2002. Kluwer, B.V. 17