Our Blog

User Stories & Design Decisions

Written by Brock Newitt | Nov 24, 2023 3:12:14 PM

In the realm of software development, design takes center stage as a cornerstone process. Beyond mere lines of code, design is the art of crafting an ecosystem that's efficient, scalable, and maintainable – a space where user needs seamlessly intersect with technological innovation. User stories feature prominently in this landscape, bridging the gap between user desires and the strategic decisions that underpin effective design.

User Stories: What are they, what are they not, and why does that matter?

User stories are a powerful tool used in software development to capture the essence of user needs and desired outcomes. They serve as concise descriptions of features or functionalities that users want to perform within a software system. The primary purpose of user stories is to shift the focus from technical specifications to user-centric requirements. By following a structured format, user stories encapsulate the user, their need, and the intended outcome. 

 
A user story is typically written in a simple sentence structure that starts with the phrase, "As a user, I want to (action) so that (outcome)." To help understand this concept, here are a few illustrative examples: 

  • “As a sales manager, I want to report on the qualification of agents to sell specific products so that the appropriate agents are assigned to clients.”
    • The story identifies the user (sales manager), their need (agent qualification) and the desired outcome (assignment of appropriate agents).  
  • “As a project manager, I want to track the progress of tasks assigned to team members so that I can identify any potential delays early on.”
    • The story identifies the user (project manager), their need (team member progress) and the desired outcome (identifying potential delays early).  
  • “As a consumer using a digital storefront, I want to filter search results by price range so that I can find products that fit my budget.”
    • The story identifies the user (consumer), their need (products in their price range) and the desired outcome (selection of products in their budget).

However, it's equally important to understand what doesn't constitute a user story. Let's explore examples of statements that lack the characteristics of proper user stories, explain why they fall short, and outline the potential risks associated with them: 

  1. “Develop a feature that adds three checkbox fields named ‘Can sell stars’, ‘Can sell moons’, and ‘Can sell comets’ to the agent UI.” 
  • Why it's not a User Story: This statement focuses on implementation rather than user needs and outcomes. 
  • Risks: Without a clear understanding of why these fields are necessary, the development might focus on implementation rather than addressing user needs. 
  1. “Build a database with tables for customers, products, and orders, including fields like name, address, product ID, quantity, etc. 
  • Why it's not a User Story: This instruction outlines technical implementation details without capturing a user's perspective or purpose. 
  • Risks: Developing a database based solely on technical specifications may lead to a system that doesn't meet users' actual requirements or streamline their tasks. 
  1. “Create a visually appealing landing page with vibrant colors and animated graphics.” 
  • Why it's not a User Story: It concentrates on design preferences rather than user requirements. 
  • Risks: Prioritizing visual aesthetics over user needs might result in a beautiful but functionally ineffective page. 

In each "Not User Story" example, the absence of a clear user need and desired outcome can lead to misaligned development efforts and suboptimal solutions. The risk lies in creating features that might not serve user interests, potentially resulting in wasted development time, resources, and dissatisfied users. 

By understanding these examples, it's evident that user stories are more than just task assignments; they encapsulate the "why" behind a feature. When features lack this user-centric context, teams risk creating solutions that may not align with actual user needs, resulting in inefficient development efforts and potentially disappointing user experiences. Therefore, refining vague or solution-based statements into well-crafted user stories is essential for successful software development. 

 

Component Changes: A Decision Process 

The significance of user stories becomes more pronounced when considering how they intertwine with the creation of software components. These stories, encapsulating user needs and aspirations, serve as compasses guiding the path toward impactful design. But how do they interplay with the creation of software components? 

User stories urge us to pause, ponder, and chart a course before embarking on the creation of novel components. This journey starts with a pivotal question—can the desired solution be achieved through a minor configuration adjustment? And if not, could automation offer the path forward? It's only after exploring these avenues that we step into the realm of designs that beckon user interaction, be it through clicks or keystrokes. Illustrating this principle through a user story, let's revisit the example: 

  • "As a sales manager, I want to report on the qualification of agents to sell specific products so that the appropriate agents are assigned to clients." 
  • Imagine a solution involving new fields in agent records, entrusting sales managers with their completion. While this addresses the need, a fundamental question emerges: does this information already reside within the software? The importance of leveraging existing data becomes evident, an act that steers us away from redundancy and technical debt. 

 

Conclusion

If software design was a tapestry, then user stories are the threads therein, stitching user needs and design decisions into an appealing blend. These stories, bridge the gap between functionality and user gratification. A parallel journey accompanies this narrative: a journey of component creation. 

As we consider the role of user stories in the creation of software components, a strategic decision-making process emerges. User stories prompt us to pause, to evaluate whether the desired solution can be elegantly woven into existing configurations or whether automation offers an efficient route. This journey of consideration guides us toward designs that seamlessly engage users through actions as simple as clicks or keystrokes.

Remember that user stories are more than just blueprints; they are the embodiment of "why." A design that forgoes this context risks sculpting solutions that miss the mark of user needs. The aftermath is costly: hours, resources, and user satisfaction – all squandered. Hence, the craft lies in the transformation of nebulous, solution-centric ideas into finely crafted user stories. 

In essence, software design thrives when user stories become the compass that guides the creation of components, transforming mere functionality into resonant experiences. This synergy offers a pathway to crafting intuitive, effective, and user-centred software solutions, ensuring that every design choice resonates with user expectations and needs. 

With this understanding, we embark on a journey where software design becomes an art of empathy, innovation, and meaningful impact, a journey where every interaction becomes an exercise of purposeful design. 

Ready to transform your software design using impactful, user-centric stories? Contact us to start a conversation about your vision, and let’s build something extraordinary together.


About The Author

Brock Newitt, Salesforce Consultant

 

Brock Newitt is a Salesforce consultant in Online's Salesforce team. He's been at the forefront of IT project management, and Salesforce solutions for over 10 years. Brock aligns tech capabilities with business goals to create impactful solutions. His outstanding communication and interpersonal skills empower teams in both large and small organizations to leverage digital tools efficiently.