+ All Categories
Home > Documents > Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in...

Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in...

Date post: 22-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
16
Teaching Rationale Management in Agile Project Courses Software Engineering im Unterricht der Hochschulen - SEUH 2019 Anja Kleebaum 1 , Jan Ole Johanssen 2 , Barbara Paech 1 , Bernd Bruegge 2 Heidelberg University 1 , Institute of Computer Science Technical University of Munich 2 , Department of Informatics Bremerhaven – February 22, 2019 Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 1 / 15
Transcript
Page 1: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Teaching Rationale Management in Agile Project CoursesSoftware Engineering im Unterricht der Hochschulen - SEUH 2019

Anja Kleebaum1, Jan Ole Johanssen2, Barbara Paech1, Bernd Bruegge2

Heidelberg University1, Institute of Computer ScienceTechnical University of Munich2, Department of Informatics

Bremerhaven – February 22, 2019

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 1 / 15

Page 2: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

What is Rationale?

Developers have to make decisions and solve issuesRationale covers justifications behind these decisionsDecision knowledge is knowledge about issues that lead to decisions, alternatives, and argumentsDecision knowledge is hard to captureRepresentation in form of rationale models

DefinitionAnother word for rationale is decision knowledge. We use both words interchangeably.

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 2 / 15

Page 3: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Why Should we Capture Rationale?

Improves decision-makingPrevents knowledge vaporizationMakes issues and decisions more transparent to stakeholdersHelps to deal with change

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 3 / 15

Page 4: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

How to Model Rationale?Emoji Name Indicating Phrases

IssueI have a question . . .How should . . . , any suggestions?We need to discuss how . . .

AlternativeI { suggest | propose } . . .One { option | proposal } is . . .What { about | do you think } . . .

ProThe { advantages | pros } are . . .I { like | prefer } it because . . .I agree with user . . .

ConThe { disadvantages | cons } are . . .I don’t like it because . . .I disagree with user . . .

DecisionLet’s do . . .We decided . . .The best option is . . .

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 4 / 15

Page 5: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Continuous Rationale Management (ConRat)

Goal: Integrate rationale management into continuous software engineering (CSE)Developers capture rationale in various documentation locationsEnable explicit capture supported through

Supervised text classificationSummarization of changes

Support exploitation through visualization of knowledge (also for change impact analysis)Capturing and exploitation support included in CSE practices (triggers)

Committing codeChanging status of JIRA issuesWriting meeting protocols

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 5 / 15

Page 6: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Lecture on Rationale Management

Why? Address rationale capture problem by teaching rationale management⇒ Lecture on rationale management to motivate students

Duration: 90 minutesCovers theoretical part and six exercisesFirst instantiation November 8, 2018 @iPraktikum @TUM

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 6 / 15

Page 7: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Lecture on Rationale Management: Prerequisites

Students grouped into teams, web-connected devicesJIRA, Confluence, Slack (Polly App)JIRA ConDec plug-in (available via Atlassian Marketplace)For every team: JIRA and Confluence project

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 7 / 15

Page 8: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Capturing Rationale in JIRA

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 8 / 15

Page 9: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Students’ Exercises

Number of IssuesFind the scenario documented in the project.How many issues are linked to the scenario?

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 9 / 15

Page 10: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Students’ Exercises

Linking ElementsLink the existing issue “How to save transactions?” to the scenario.

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 10 / 15

Page 11: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Students’ Exercises

FilteringFilter the element types so that only the scenario and decisions are shown in the rationale tree.

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 11 / 15

Page 12: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Students’ Exercises

Discuss in TeamCreate a new issue “How to persist data?”. Add the following alternatives: “JSON!”, “SQLite!”. Discussand capture pro and cons of each persistence alternative in your team. Add more alternatives and makea decision.

Every student contributed a mean value of 1.4 rationale elements

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 12 / 15

Page 13: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Students’ Exercises

Import Rationale into Meeting AgendaOpen your Confluence space and create a new page called <Rationale Lecture> (one per team). Createa sub-page called <Your Name> (every team member). Use the JIRA Issue/Filter macro to displaydecisions from your JIRA project. Answer the question: How many decisions do you see?

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 13 / 15

Page 14: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

First Evaluation

Number of students

Linking an existing issue to a scenario is easy.

Discussing rationale using ConDec is simple.

I would apply capturing rationale in JIRA issue comments.

I would apply presenting rationale in Confluence pages.

20 0 20 40

strongly disagree disagree neutral agree strongly agree

Many elements make it hard to get overviewRationale elements should not always be a single ticket (ticket-overflow)

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 14 / 15

Page 15: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Conclusion and Upcoming Work

Students comprehend the usage of rationale modelRationale management during the agile project courseRole of rationale managerCollection of feedback using a questionnaire

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 15 / 15

Page 16: Teaching Rationale Management in Agile Project Courses ... · Teaching Rationale Management in Agile Project Courses - Software Engineering im Unterricht der Hochschulen - SEUH 2019

Selected References

Bruegge, B., Krusche, S., & Alperowitz, L. (2015). “Software Engineering Project Courses withIndustrial Clients”. In: ACM Transactions on Computing Education 15.4, 17:1–17:31.Dutoit, A. H., Wolf, T., Paech, B., Borner, L., & Rückert, J. (2005). “Using Rationale forSoftware Engineering Education”. In: 18th Conference on Software Engineering Education andTraining (CSEE&T). Ottawa, Canada: IEEE, pp. 129–136.Kleebaum, A., Johanssen, J. O., Paech, B., Alkadhi, R., & Bruegge, B. (2018a). “Decisionknowledge triggers in continuous software engineering”. In: 4th International Workshop on RapidContinuous Software Engineering (RCoSE). Gotheburg, Sweden: ACM, pp. 23–26.Kleebaum, A., Johanssen, J. O., Paech, B., & Bruegge, B. (2018b). “Tool Support for Decisionand Usage Knowledge in Continuous Software Engineering”. In: 3rd Workshop on ContinuousSoftware Engineering, pp. 74–77.Malloy, J. & Burge, J. (2016). “SEURAT_Edu: A Tool to Assist and Assess StudentDecision-Making in Design”. In: 47th Technical Symposium on Computing Science Education(SIGCSE). Memphis, Tennessee, USA: ACM, pp. 669–674.

Kleebaum, Johanssen, Paech, and Bruegge Teaching Rationale Management in Agile Project Courses 15 / 15


Recommended