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!