Auflistung nach Autor:in "Keuler, Thorsten"
1 - 3 von 3
Treffer pro Seite
Sortieroptionen
- ZeitschriftenartikelLeichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum(Softwaretechnik-Trends: Vol. 33, No. 1, 2013) Bouillon, Elke; Güldali, Baris; Herrmann, Andrea; Keuler, Thorsten; Moldt, Daniel; Riebisch, MatthiasElke Bouillon1, Baris Güldali2, Andrea Herrmann3, Thorsten Keuler4, Daniel Moldt5, Matthias Riebisch6 1 Technische Universität Ilmenau, elke.bouillon@tu-ilmenau.de 2 s-lab Software Quality Lab/Universität Paderborn, bguldali@s-lab.upb.de 3 Freie Software Engineering Trainerin und Forscherin, herrmann@herrmann-ehrlich.de 4 Fraunhofer IESE, Thorsten.keuler@iese.fraunhofer.de 5 Universität Hamburg, moldt@informatik.uni-hamburg.de 6 Universität Hamburg, riebisch@informatik.uni-hamburg.de Motivation Einer der wichtigsten Erfolgsfaktoren der agilen Softwareentwicklung ist die schnelle und unkomplizierte Verteilung von Informationen. Dabei reicht das Spektrum der Informationsverteilung von einfachen Dokumenten über Wikis, Videos und Telefonaten bis hin zum 'Face-to-Face' Gespräch. In der traditionellen Softwareentwicklung lag der Fokus typischerweise auf einer dokument-basierten Erfassung und Verteilung von Informationen. Explizite Dokumentation beruht auf der Annahme, dass sich die festgehaltenen Informationen nur in bestimmtem Maße ändern. Da dieser Umstand insbesondere in der Softwareentwicklung nicht automatisch gegeben ist, hat man dies im Kontext der agilen Vorgehensweisen als ein Kernproblem von schwergewichtigen Prozessen identifiziert. Als Konsequenz dazu wird in der agilen SoftwareEntwicklung der Umfang der Dokumentation minimiert. Dies spiegelt sich im Manifest für Agile Software-Entwicklung wider (s. agilemanifesto.org): Obwohl die umfassende Dokumentation als wichtig erachtet wird, wird der Wert funktionierender Software höher eingeschätzt. Nach den zwölf inizialen Prinzipien hinter dem Agilen Manifest gilt die direkte persönliche Übermittlung als effizientestes und effektivstes Verfahren. Funktioniert diese Kompensation besonders gut solange die Entwickler möglichst nah zusammen arbeiten, so ergeben sich jedoch Herausforderungen beim Versuch, agile Entwicklung in mehreren Teams und Standorten zu realisieren. Insbesondere fehlt es in der aktuellen Praxis an Techniken, welche die Dokumentation und Traceability der Entwicklungsartefakte optimal unterstützen. Somit kann es in der Praxis vorkommen, dass Anforderungen oder Entwurfsentscheidungen dem Rest des Teams nicht mitgeteilt werden und diese Wissenslücke die weiteren Implementierungs- und Testaktivitäten negativ beeinflusst. Unsere Hypothese ist es, dass es sinnvoll ist, Traceability in einem agilen Projekt zu unterstützen. Dies ist nach unserer Meinung notwendig, sobald ein Projekt eine Größe überschritten hat, bei der noch jedes Teammitglied das gesamte System überschauen kann oder wo ein persönlicher Kontakt, z.B. aufgrund der Laufzeit eines Projektes und der räumlichen, organisatorischen oder zeitlichen Verfügbarkeit von Personen, nicht mehr gegeben ist. TraceabilityInformationen unterstützen den Projekterfolg durch eine Überprüfung der Abdeckung (beispielsweise der User Stories durch Code und Testfälle), das Konservieren von Entscheidungen, das Unterstützen von Entscheidungsfindungen sowie die Weitergabe von Wissen, z.B. bei der Einarbeitung neuer Teammitglieder. Der Arbeitskreis 'Traceability' der GI-Fachgruppe 'Architektur' arbeitet aktuell an einem Ansatz für die Integration von Traceability in die agile Entwicklung. Der zu entwickelnde Ansatz soll leichtgewichtig sein und keine / möglichst wenige neue Artefakte in die agile Entwicklung einbringen, sondern die vorhandenen Artefakte nutzen und verbinden. Der Ansatz soll unabhängig von einem konkreten agilen Vorgehen sein, auch wenn wir ihn am Beispiel von Scrum entwickeln und darstellen. Wir stellen hier den aktuellen Stand unserer Überlegungen dar und die weitere geplante Arbeit. Lösung: Konzept und Werkzeugunterstützung Wie in Abbildung 1 dargestellt, sieht der ScrumProzess folgende Artefakte zur Erfassung der Anforderungen und zur Dokumentation der Entwicklungsvorgänge vor: Produkt-Backlog (PB), Sprint-Backlog (SB), Sprint-Tasks (ST). Die Entwickler setzen die Implementierungsaufgaben um, die in STs festgehalten werden, und checken ihren Code (Daily Results DR) täglich ins Code-Repository ein. Im Laufe des Sprints werden die DRs zu funktionellen Inkrementen (I) zusammengefügt. Die Inkremente aus mehreren Sprints werden nach und nach integriert und ergeben am Ende des Projektes das fertige Produkt (P). Zur Validierung gegen die Implementierungsvorgaben werden die Codeteile nach jeder Entwicklungsphase getestet, z.B. mittels Continuous Integration oder nach Projektkonvention. Die DRs werden mittels Unit-Testfälle (UT) geprüft. Das Inkrement wird am Ende eines Sprints mittels Integrationstestfällen (IT) und Regressionstestfällen
- ZeitschriftenartikelRecovering Runtime Structures of Software Systems from Static Source Code(Softwaretechnik-Trends: Vol. 33, No. 2, 2013) Forster, Thomas; Keuler, Thorsten; Knodel, JensWhile software building blocks and their interdependencies can be recovered from the source code using static fact extraction, behavior and communication paths at runtime are typically gathered from instrumented executions of the system. However, more often than not it is not possible to retrieve data from the running system either due to a high effort for instrumentation, missing (hardware) infrastructure, or because of advanced communication mechanisms hidden by middleware, frameworks or platforms. In this paper, we present an approach to semiautomatically reconstruct runtime components and connectors using source code analysis, pattern matching, and expert knowledge. We present two applications where we could recover runtime communication paths and component interactions despite the absence of runtime traces. Tool support for graphical pattern matching on module dependency graphs to identify components, connectors, and ports. Two case studies (industrial and academic). For further reading please refer to the full paper published at the CSMR'13 [3]
- KonferenzbeitragTutorial: Zukunftssichere Software Systeme mit Architekturbewegung: Wann, Wie und Wieviel?(Software Engineering 2014, 2014) Keuler, Thorsten; Knodel, Jens; Naab, Matthias