All right, you’ve successfully gone through the Ideation Phase, and after careful evaluation, you’ve now selected a use case for application development. It’s time to gather the (detailed) requirements and validate the solution with application end-user representatives and stakeholders.
During the Ideation Phase, the focus was on collecting business requirements, whereas the Validation Phase entails gathering application requirements, commonly referred to as ‘scoping’ activities. It's the stage where the proposed use case undergoes close inspection to ensure that it aligns with the needs and objectives of stakeholders before moving forward into application development. The amount of scoping and validation depends on how complex and risky the project is versus the skills needed to make it happen. Let me start by explaining some key concepts.
User Stories and Acceptance Criteria
A user story is a concise, informal description of a feature or requirement from the perspective of an end user. It's a way for development teams to capture and communicate what needs to be built into a software project in a simple and understandable format.
Typically, a user story follows a specific template: "As a [type of user], I want [some goal] so that [some reason]."
For example: "As a website visitor, I want to be able to create an account so that I can access exclusive content."
User stories are intentionally brief and high-level, serving as placeholders for conversations between the development team and stakeholders. They provide context and direction for the development process without prescribing specific technical solutions. User stories are given more detail by acceptance criteria, which are specific conditions or requirements that must be met for a user story to be considered complete and satisfactory. They outline the functional and non-functional expectations of the feature or functionality described in the user story. Clear acceptance criteria help minimize misunderstandings and ensure that the delivered product meets the desired quality standards.
To give you an idea of acceptance criteria for the user story example, it would look something like this:
User Registration Form (Functional Requirement):
Performance (Non-Functional Requirement):
When brainstorming innovative ideas during the Ideation phase, you’ve already identified a potential workflow. There are various ways to turn that workflow, as well as user stories, into a visual user journey:
Determine the appropriate delivery path
Step 1 is all about figuring out the right way to go based on the different types of developer personas as part of Betty Blocks’ Citizen Development vision. The level of complexity and risks involved in your use case will determine the appropriate delivery path. Here are some key considerations to determine complexity and risks.
Complexity:
Risks:
This image perfectly illustrates the sweet spot of use cases fit for Citizen Development.
So, what are the key differences between those delivery paths? Let me break it down for you.
A Citizen Developer is a business user with expertise in his/her business domain. They’re natural problem solvers looking for ways to improve their way of working with digital solutions with as little effort as possible. A Citizen Developer mostly works from pre-defined no-code templates built on a low-code platform and configures them to his/her needs.
Complexity of the use case: Low, pre-defined templates have restricted (governed) configuration options.
Required skills: basic platform introduction on how to configure templates and business logic knowledge.
Scoping activities: As the template usually covers 90% of the requirements in terms of design and functionality, listing down the business requirements for the remaining 10% is sufficient. It is far more efficient for a Citizen Developer to simply start configuring rather than spending too much time gathering requirements of functionalities that are easily built.
A Business Technologist is a tech-savvy business user dedicated to streamlining and automating business processes, improving efficiency, and reducing manual workload. The Business Technologist closes the gap between the business and IT by creating no-code solutions that address the unique needs and challenges by translating creative business concepts into practical applications.
Complexity: Low - Medium
Low: The application is not available in a template and must be built from scratch. However, it has multiple reusable components, allowing a Business Technologist to deliver the application rapidly.
Medium: The application must be built from scratch and requires advanced business logic workflows and/or integrations with other systems.
Required skills: Advanced low-code skills and business logic knowledge.
Scoping activities: Several deep dive sessions, also referred to as ‘Refinements,’ are conducted to capture the user stories, acceptance criteria, and user journeys, which are translated into wireframes.
A Low Coder is a professional software developer skilled in coding. They use their skills to extend low-code platforms by customizing components, interfaces, data sources, and actions, which can then be reused by the entire company and/or built into highly complex applications.
Complexity: High
The application has to be built from scratch and requires highly advanced business logic workflows, integrations with other systems, and customizations in code.
Required skills: mastery of different coding languages as well as advanced data modeling.
Scoping activities: several refinements to capture the user stories, acceptance criteria, and user journeys, which are translated into a prototype. Technical research in order to determine the viability of the use case is conducted through a Proof of Concept.
Now that you’ve determined the appropriate delivery path, it’s time to gather the user stories. My advice would be to go with user story mapping. It’s a technique used in software development to describe and prioritize the features or functionalities of a product from the perspective of its users. It helps teams understand the user's journey through the product and ensures that the development process aligns with the user's needs and goals.
Identify user activities: The team starts by refining the business requirements captured in the Solution Value Board. They then list all the activities that each user might perform within the product.
Create user stories: For each activity identified, the team creates user stories. It is highly recommended that these be added and managed in software tools such as Jira. Use the INVEST method to map them:
For medium to complex use cases, aim for quick and to-the-point refinements. It's better to do multiple rounds of iterations than to spend too long on creating user stories that might need changing after feedback.
Map the user journey by arranging the user stories horizontally in the order they would typically occur. Determine the appropriate technique based on the chosen delivery path. This creates a timeline or sequence of user interactions with the product.
The crucial part is validating with end users and relevant stakeholders. Show them visualizations of the use case and gather their feedback. This not only wins support but also helps spot any overlooked factors. Visualizations help to ensure that everyone has the same and correct understanding of the intended outcome and if it accurately represents their requirements. I've observed projects fail because this step is often overlooked, with the assumption that it consumes too much time. However, the reality is quite the opposite. The expense of rework due to misunderstandings far exceeds the initial investment in validation. It's during this crucial phase that the groundwork for future adoption is established.
Use the feedback collected from end users and stakeholders to revise the user story map. You may add new user stories and remove outdated ones. After validation, incorporate acceptance criteria into the user stories. Continuously translate feedback into new or updated visualizations, iterating until you've defined the scope of the Minimum Viable Product (MVP).
Final step! Wrap up your business case by incorporating a project quotation that considers estimated costs of user stories, necessary skills and resource availability for application delivery, and projected maintenance costs and efforts. Calculate Return on Investment (ROI) and identify relevant metrics for monitoring progress and value. Following approval of your business case, secure management commitment to assemble your team and start the project!
Did you complete all the steps and get your green light? Congratulations, the Development phase is about to start! Interested in how to mitigate the most common development risks? Read my next article.