teaching rationale management in agile project courses ... · teaching rationale management in...

Post on 22-Jun-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

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

Capturing Rationale in JIRA

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

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

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

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

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

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

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

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

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

top related