The 4C Model for Defining User Stories: Context, Card, Conversation, and Confirmation

Writing user stories that effectively support software product development is difficult for students new to the practice. At ICSE’23, during the 5th International Workshop on Software Engineering Education for the Next Generation (SEENG), I presented a position paper addressing this challenge by extending the existing 3C model for defining user stories with an extra C for ‘context’. This format is targeted to interactive software systems and inspired by a grounded theory research study where the observed product managers provided context by basing most user stories on concrete and validated design artifacts, such as wireframes.

The 4C Model

In addition to defining user stories using the existing 3C model (Card, Conversation, and Confirmation), I ask my students to start defining a user story by first providing its context (as illustrated in Figure 1).

Fig. 1. The 4 C’s of user stories: (concrete and validated) Context, Card, Conversation, and Confirmation.

The user story context is defined by:

  • The name of the larger feature or epic that encompasses the story.
  • A meaningful name for the story summarizing the covered behavior.
  • A concrete and validated design artifact from which the story can be derived (if applicable). The design artifact visually represents a concrete idea for the solution, like a wireframe. It has been validated by stakeholders (see more on that below). It provides the team with a shared understanding of the story’s context and serves as a starting point to derive the story Card, Conversation, and Confirmation. Note that more than one story could potentially be derived from the same design artifact.

The concrete and validated design artifact also reminds students that a creative process needs to occur BEFORE one starts specifying user stories with acceptance criteria. Concrete visual design artifacts (like sketches or wireframe) are effective at supporting the creative process because they allow us to refine our understanding of the problem and the solution at the same time (which is important because it is impossible to fully understand the problem before moving to the solution). On the contrary, user stories with acceptance criteria are abstract textual artifacts that poorly support the creative process and are more helpful at guiding implementation.

Extended INVEST Criteria

In addition to satisfying the well-known INVEST criteria (Independent [when possible], Negotiable, Valuable, Estimable, and Small), each user story should satisfy the following additional criteria:

  • Contextualized: The story is situated in its broader context via a concrete design artifact. It is straightforward to understand the story relationships with its encompassing feature or epic and surrounding stories.
  • Understandable: The behavior covered by the story is easy to understand by stakeholders, especially by developers in charge of implementation (and by faculty and teaching assistants in charge of evaluating the story).
  • Validated: Stakeholders have validated that the encompassing feature or epic satisfies their needs: The feature or epic is useful, usable, and delightful from a user perspective, competitive from a business perspective, and feasible from a technical perspective. This extends the INVEST ‘Valuable’ criterion. The idea is to identify problems very early on, before writing detailed user stories or code, in order to reduce rework.

Example

Figure 2 presents an example of the application of the 4C model.

Fig. 2. The 4 C’s of user stories: An example

The above story is contextualized (it belongs to the Donate Items epic and is related to the provided wireframe), understandable (the behavior covered is easy to comprehend) and satisfies the stakeholders’ needs (assuming that the wireframe has been properly validated by stakeholders).

Conclusion

After experimenting with the 4C model during four semesters with positive initial results, I posit that the model helps students generate stories that are easier to create and review while supporting the development of innovative solutions that satisfy the stakeholders’ needs. However, this conclusion is based on expert judgment and anecdotal evidence. Further research is necessary to rigorously evaluate the effectiveness of the proposed 4C model.

Reference

This blog is a short summary of the following position paper:

Cécile Péraire. “Learning to Write User Stories with the 4C Model: Context, Card, Conversation, and Confirmation” IEEE/ACM 5th International Workshop on Software Engineering Education for the Next Generation (SEENG) at ICSE’2023 (2023).

Related Posts

SEENG 2021 Software Engineering Education Workshop: Report

by Cécile Péraire and Stephan Krusche

The Third International Workshop on Software Engineering Education for the Next Generation (SEENG 2021) was held remotely on May 24, 2021. The workshop was an integral component of the Joint Track on Software Engineering Education and Training (JSEET) at the 43rd IEEE/ACM International Conference on Software Engineering (ICSE). It specifically supported the JSEET’s theme of Educating the Next Generation of Software Engineers:

“Millennials and Generation Z have been dominating higher education programs for some time. In a decade, our classes will be hosting Generation Alpha. We have all noticed that these cohorts have unique needs and different learning styles, social behaviors, and skills. With their increasing mobility, our classes will become more and more diverse. Our students will become increasingly collaborative, socially aware, tech-savvy, multi-disciplinary, and interested in emerging technologies. How shall the software industry capitalize on the mix of qualities that the new breed of software engineers will possess? How shall software engineering educators effectively and equitably cater to the students’, society’s, and industry’s evolving and diverse interests while ensuring that the next generation of software engineers learn the timeless principles, have a firm grounding in both software engineering theory and practice, behave responsibly, and make a positive contribution to the society?” 

Following the First International Workshop on Software Engineering Curricula for Millennials (SECM 2017) and Second International Workshop on Software Engineering Education for Millennials (SEEM 2018), our goal in this third edition was to continue to bring together main stakeholders to discuss the unique needs and challenges of software engineering education for the next generation, including software engineering educators and representatives of STEM education. Building on its predecessors, the workshop used a highly interactive format, structured around short presentations to generate discussion topics, an activity to select the most interesting topics, and structured breakout sessions to allow participants to address those topics.

We solicited position papers addressing a variety of related topics that include: software engineering education for new and emerging technologies; novel approaches to designing software engineering curricula; skills and continuing education for software engineering educators; classroom formats that cater to diverse learning styles; teaching approaches that leverage technology-enhanced education in software engineering courses; balancing teaching of soft and hard skills; rigor and practicality in software engineering education; and experience in educating students in software engineering programs.

The diverse international program committee consisted of 21 software engineering educators and researchers from academia and industry across 12 different countries. The submission process was competitive. Each paper was evaluated by at least 3 reviewers. Eight position papers out of 20 submissions were accepted (40% acceptance rate). The contributions span a variety of topics, including project-based courses, teaching design by contract, software testing approaches, student feedback and assessment practices, and more.

The ulterior motive with this third edition of SEENG was to continue to grow a community excited about and dedicated to serving the next generation of students. 26 participants registered to the workshop and 18 of them joined via Zoom to share their thoughts, insights, and experiences, seek and offer advice on pedagogical methods that work, and explore collaboration opportunities on new software engineering education initiatives.

The workshop agenda was based on the structure and practices proposed in Designing Interactive Workshops for Software Engineering Educators with some adaptations for a remote setting, including the use of an online collaborative whiteboard platform called Miro.

Workshop collaboration was supported by the Miro online collaborative whiteboard platform

The workshop started with a brief introduction of all the participants using visual slides.

Visual slides used by the workshop participants to briefly introduce themselves

It continued with a series of brief 5-minute presentations of the accepted papers to remind everyone of the problems we face, and learn how others have been solving those problems. To identify common interests, participants were asked to capture any interesting insights from the presentations on virtual post-it notes in Miro.

Based on the insights gathered during the presentations, we then performed an affinity mapping activity to identify and select discussion topics. The topics that emerged as of most interest to the participants were: Team-based Learning, Automatic Assessment, and Specification and Verification.

Affinity map created by participants based on what they learned during the presentations (created in Miro)

Participants were then divided into breakout groups to discuss the selected topics further. For each topic (Team-based Learning, Automatic Assessment, and Specification and Verification), the breakout group participants were asked to define a Big Hairy Audacious Goal (BHAG), or very ambitious goal. For their BHAG, group participants created a Mind Map to brainstorm WHAT success looks like and HOW to achieve success. Finally, each breakout group presented its mind map to all the workshop participants. Here are the resulting mind maps.

Mind Map for Team-based Learning (created in Miro)
Mind Map for Automatic Assessment (created in Miro)
Mind Map for Specification and Verification (created in Miro)

We closed the workshop with a retrospective and identification of future action items.

Outcome of the workshop retrospective (done in Miro) 

The feedback was overwhelmingly positive, with participants appreciating the interactive workshop format, use of the Miro collaboration tool, short presentations, and the opportunity to discuss with peers despite the covid-19 pandemic. The main improvement suggestion was that the discussion period could have been longer. Some of the action items identified included using the workshop’s blog to present the results of the breakout sessions and to summarize and promote the SEENG papers.

Acknowledgment: We would like to thank the program committee members for their work and selection of high-quality papers. We would also like to thank all participants for attending the third edition of ICSE’s software engineering education workshop. The workshop was a success thanks to your enthusiasm, active participation, insights, and experiences.

Announcing the SEENG 2021 Workshop

We are please to announce the Third International Workshop on Software Engineering Education for the Next Generation!

SEENG 2021 will be held in Madrid, Spain. It will be an integral component of the Joint Track on Software Engineering Education and Training (JSEET) at the 43rd IEEE/ACM International Conference on Software Engineering (ICSE).

The Call for Papers is available on the JSEET website, where we invite you to submit a position paper of maximum 4 pages containing a position statement and your profile, plus a single page of references.

Note that we would love to see authors participate in both the main JSEET track and SEENG workshop. Hence we encourage authors to submit both a “long” paper (research, experience, idea, and tool paper) to the main JSEET track AND a position paper to the SEENG workshop.

We look forward to seeing you in Madrid!

Teaching SE Concepts by Engaging Millennials in Discussion of Real-World Scenarios

The traditional teaching of SE concepts is now gone!! Several teaching tools, methodologies, and techniques have been used and experimented with to bring SE concepts into reality for Millennials. We have been involved in teaching SE courses for Millennials and found that teaching the Requirements Engineering and Software Testing concepts with lecture-based learning is typically difficult and poses many challenges (due to the multiple learning dimensions). The visualization and effectiveness of the tools and techniques defined in the textbooks are trivial for Millennials. Hence, we thought of developing cases (i.e., real-world examples that are open-ended) that can be used to complement lecture-based learning. SEABED (Software Engineering – Case-Based Learning Database) is an initiative toward developing cases meant to boost the teaching/learning of different phases of a typical SE process. This database, in its early stage, is publicly available where anyone can contribute new cases and reuse existing cases for their SE courses.

For experimenting with Case-Based Learning (CBL) in SE education, we developed cases for software requirements, design, and testing; and also evaluated the effectiveness of CBL in the classroom sessions. In SEEM 2018, we got the opportunity to present our work on “Teaching Requirements Engineering Concepts using CBL” to the researchers and academics in SE education. In this work, we reported the results of the study conducted to assess the effectiveness of the Case-Based Learning (CBL) methodology in facilitating the learning of several RE concepts. The study was conducted with students in the 20-22 years age group. The outcome of the CBL exercise was positive, and we found that our learning objectives were achieved. Based on our experiences with CBL sessions, we also stated various related challenges, recommendations, and lessons learned. We particularly want to dedicate this work to our friend, collaborator, mentor (and a Co-Founder of SEABED), and a lovely human being Late Dr Ashish Sureka (Author 4 of our paper).

We would like to thank Hakan and Cécile for the opportunity and also SEEM program committee for their rigorous comments/suggestions to improve our presented paper and also insights to move our research forward in this  (related to CBL, empirical study design and interpretation of findings). We would also like to highlight that the way presentations and activity sessions were managed during the workshop was very interesting. Specifically, the brainstorming and collaborative activities carried out during the half-day session is a memorable experience and a new way of discussing SE education challenges for me.

Notes from SEEM 2018

A complete summary of the workshop is available on the SEEM 2018 website.

Thank you to all participants for attending this second edition of the very interactive SEEM workshop! The workshop was a success thanks to your enthusiasm, active participation, insights, and experiences. We encourage all of you to:

  • Continue the workshop discussions via our Google discussion group SE-EDU.
  • Summarize your SEEM paper at our blog.
  • Summarize the results of your breakout sessions at our blog or using a poster or (position) paper.

Thank you!

 

An Agile Software Engineering Course with Product Hand-Off

I had the pleasure of presenting a paper at this year’s Software Engineering Education for Millennials (SEEM’18) Workshop at ICSE 2018.  It was a well-organized and enriching experience attended by other passionate software engineering researchers.  Many thanks to Cécile Péraire and Hakan Erdogmus for their efforts in making SEEM’18 happen!

In the paper, I described a novel design for an agile software engineering course that emphasizes keeping product artifacts updated throughout development. The signature transformative event in the course is the mid-semester project “hand-off,” at which point teams trade projects with other student teams and must make immediate progress despite no prior knowledge of the new project’s design, coding conventions, or documentation. In the paper, I describe the course’s features along with their implementation and assessment. A pre-publication PDF of the paper can be found here.

Teaching As Research

CMU’s Eberly Center for Teaching Excellence has outstanding resources  to support the faculty in their education research endeavors. They advocate an approach called Teaching as Research (TAR) that combines real-time teaching with on-the-fly research in education, for example to evaluate the effectiveness of a new teaching strategy while applying the strategy in a classroom setting.

TAR Workshops

Eberly Center’s interactive TAR workshops helps educators identify new teaching and learning strategies to introduce or existing teaching strategies to evaluate in their courses, pinpoint potential data sources, determine proper outcome measures, design classroom studies, and navigate ethical concerns and the the Institutional Review Board (IRB) approval process. Their approach builds on seven parts, each part addressing central questions:

  1. Identify a teaching or learning strategy that has the potential to impact student outcomes. What pedagogical problem is the said strategy trying to solve?
  2. What is the research question regarding the effect of the strategy considered on student outcomes? Or what do you want to know about it?
  3. What teaching intervention is associated with the strategy that will be implemented in the course as part of the study design? How will the intervention incorporate existing or new instructional techniques?
  4. What sources of data (i.e., direct measures) on student learning, engagement, and attitudes will the instructors leverage to answer the research question?
  5. What study design will the instructors use to investigate the research question?  For example, will collecting data at multiple times (e.g., pre- and post-intervention) or from multiple groups (e.g., treatment and control) help address the research question?
  6. Which IRB protocols are most suitable for the study? For example, different protocols are available depending on whether the study relies on data sources embedded in normally required course work, whether student consent is required for activities not part of the required course work, and whether any personal information, such as student registrar data, is needed.
  7. What are the actionable outcomes of the study? How will the results affect future instructional approaches or interventions?

After reviewing relevant research methods, literature, and case studies in small groups to illustrate how the above points can be addressed, each participants identifies a TAR project. The participants have a few months to refine and rethink the project, after which the center folks follow up to come up with a concrete plan in collaboration with the faculty member.

Idea

I teach a graduate-level flipped-classroom course with colleague Cécile Péraire on Foundations of Software Engineering.  We have been thinking about how to better incentivize the students to take assigned videos and other self-study study materials more seriously before attending live sessions. We wanted them to be better prepared for live session activities and also improve their uptake of the theory throughout the course. We had little idea about how effective the self-study videos and reading materials were. Once suggestion from the center folks was to use low stakes assessments with multiple components, which seemed like a good idea (and a lot of work). Cécile and I set out to implement this idea in the next offering, but we wanted to also measure and assess its impact.

Our TAR project

Based on the above idea, our TAR project, in terms of the seven questions, are summarized below.

  • Learning strategy: Multi-part, short low-stakes assessments composed of an online pre-quiz taken by student just before reviewing a self-study component, a matching online post-quiz completed by student right after reviewing the self-study component, and an online in-class quiz on the same topic taken at the beginning of the next live session. The in-class quiz is immediately followed by a plenary session to review and discuss the answers.  The assessments are low-stakes in that a student’s actual quiz performance (as measured by quiz scores)  do not count towards the final grade, but taking the quizzes are mandatory and each quiz completed counts towards a student’s participation grade.
  • Research question: Our research question is also multi-part. Are the self-study materials effective in conveying the targeted information? Do the low-stakes assessments help students retain the information given in self-study materials?
  • Intervention: The new intervention here are the pre- and post-quizzes. The in-class quiz simply replaces and formalizes an alternate technique based on online polls and ensuing discussion used in previous offerings.
  • Data sources: Low-stakes quiz scores, exam performance on matching topics, and basic demographic and background information collected through a project-team formation survey (already part of the course).
  • Study design: We used a repeated-measures, multi-object design that introduces the the intervention (pre- and post-quizzes) to pseudo-randomly determined rotating subset of students. The students are divided into two groups each week: the intervention group A and the control group B. The groups are switched in alternating weeks. Thus each student ends up receiving the intervention in alternate weeks only, as shown in the figure below. The effectiveness of self-study materials will be evaluated by comparing  pre- and post-quiz scores. The effectiveness of the intervention will be evaluated by comparing the performance of the control and intervention groups during in-class quizzes and related topics of course exams.

  • IRB protocols: Because the study relies on data sources embedded in normally required course work (with the new intervention becoming part of normal course work), we guarantee anonymity and confidentiality, and students only need to consent to their data being used in the analysis, we used an exempt IRB protocol applied to low risk studies in an educational context. To be fully aware of all research compliance issues, we recommend that anyone pursuing this type of inquiry consult with the IRB office at their institution before proceeding.
  • Actions: If the self-study materials are revealed to be inadequately effective, we have to look for ways to revise them and make them more effective, for example by shortening them, breaking them into smaller bits, adding examples or exercises, or converting them to traditional lectures. If the post-quizzes do not appear to improve retention of self-study materials, we have to consider withdrawing the intervention and trying alternative incentives and assessment strategies. If we get positive results, we will retain the interventions, keep measuring, and fine-tune the strategy with an eye to further improve student outcomes.

Status

We are in the middle of conducting the TAR study. Our results should be available by early Spring. Stay tuned for a sneak peek.

Acknowledgements

We are grateful to the Eberly Center staff Drs. Chad Hershock and Soniya Gadgil-Sharma for their guidance and help in designing the TAR study. Judy Books suggested the low-stakes assessment strategy. The section explaining the TAR approach is drawn from Eberly Center workshop materials.

Further Information

For further information on the TAR approach, visit the related page by  Center for the Integration of Research, Teaching and Learning. CIRTL is an NSF-funded network for learning and teaching in higher education.

I am a millennial and I care about sustainability (in software engineering)

Surveys among millennials indicate sustainability as one of their first priority, for example, when deciding on a purchase. I believe it would be interesting to know whether this belief also holds for how millennials see the academic curricula, in particular, the software engineering one.

In fact, in the last few years, there has been a trend towards including sustainability and in particular greenability topics in the traditional software engineering curricula. The definition of sustainability which I prefer in this context is the one offered by the United Nations

Meeting the needs of the present without compromising the ability of future generations to meet their own needs.

There is already evidence of the need for better focus on sustainability. For example, a paper presented at ICSE2016 surveyed more than 3800 developers in large companies, such as Google, IBM, and ABB. One of the statements that caught my eyes was

I would love to have more education […] for designing and investigating battery lifetime! Anything to help raise awareness and break through attitude barriers.

What emerged is that, although many developers
(many of which considered millennials) see sustainability as necessary, there seems to be a lack of teaching regarding the subject in higher education.

With my colleagues, we set up a survey to understand the current state of teaching sustainability in software engineering, targeting researchers and educators who usually publish and attend conferences and workshops dedicated to the topic.

We found out that:

  • Although the focus is on technical aspects, educators perceive the social and environmental one as important. In turn, this calls for a multidisciplinary restructuring of the curricula which is hard to achieve due to lack of time and resources.
  • Sustainability is either taught in short courses or as modules embedded in existing technical ones. The main topic of the classes is energy efficiency. It is mostly the educators who push for such courses rather than the institutions.
  • The main reason for the lack of sustainability courses is lack of awareness, lack of adequate teaching material and technology support, and high effort required to come up with a new programme of study.

The open question remains how to develop a curriculum that focuses on sustainability and that at the same time suits the needs of millennial students.

Interestingly, during the workshop, Claudia de Olivera Melo (University of Brasilia) addressed a similar topic, cyber ethics education. Their work is fascinating as it combines a conceptual framework for analyzing cyber ethics SE curricula with an analysis of ACM/IEEE Computing Curricula. They offer suggestions on how to integrate cyber ethics in the curricula which I believe can also suit sustainability topics.

The roundtable discussion centered for most of the time on these two issues. The interest received from other researchers as well as the students attending the workshop gives me hope in the fact that, shortly, these wicked topics will the at the center of academic pedagogy even in SE.

If you are interested in teaching sustainability in software engineering and want to exchange ideas about a curriculum that addresses such issues, please be in touch @dfucci.

Some notes from SECM Workshop @ ICSE 2017

These are my notes from the workshop. It started with a talk by my colleague and friend Diego Fontdevila: Tales from an Agile Journey: Designing Curricula from Millennials in Industry and Academia. While Diego was talking,  Nayla Portas took care of graphics facilitation, great work!

The rest of the morning was dedicated to present all the submitted papers and the afternoon was for debating following a fishbowl-like dynamic.

During the afternoon some students join the session to participate in the debate. I am not sure about the exact number of participants but I think we were around 15, including people from Argentina, Brazil, USA, Sweden, Uruguay, Chile, Rusia, Spain, Italy and China.

After the workshop some of the participants went to a near restaurant to share the dinner. It was the earliest dinner I had in my whole life,  I was eating meat at the 7 pm!

I want to thank Hakan and Cécile for organising this workshop. It was a really valuable activity, it was great to see people from so different contexts sharing their experiences.