Introduction
WellSky's Specialty Care team has adopted a streamlined approach to software development that emphasizes a key aspect of quality improvement: developer-driven testing during code reviews. While this blog does not cover every step of our software development lifecycle, it highlights how this process has significantly enhanced product quality. This commitment aligns with our company's mission to embrace the "Era of Quality," ensuring that every product we deliver meets the highest standards.
Definition of Ready: Setting the Stage
A critical aspect of our development process is the Definition of Ready (DoR), which ensures that every story or task is actionable before work begins. While DoR includes various elements, this blog focuses on one key aspect: Acceptance Criteria (AC).
AC, as part of the DoR, provides a structured way to define success for a feature or task. By ensuring these criteria are clear and concise, we enable developers and reviewers to collaborate effectively, reducing ambiguity and minimizing rework.
Acceptance Criteria: The Foundation of Quality
Clear and concise AC form the backbone of our quality-focused development process. Defined collaboratively by the Solutions (Product) team, these criteria are presented in a structured, tabular format that includes:
- Use case: A brief description of the specific scenario or user interaction to be tested.
- Expected behavior: A detailed description of the expected system response or outcome for each use case.
- Acceptance criteria: A set of conditions or requirements that must be met for the use case to be deemed successful.
Below is an example of how we format AC in our stories to provide clarity and structure:

The code author uses the table as a checklist while writing and testing the feature to ensure alignment with requirements. The peer reviewer, during the code review process, validates the feature against the AC using the CI/CD feature environment. This dual approach ensures adherence to AC and enhances collaboration.
For more insights on our code review process, check out our Engineering Team's blog post: Accelerate Your Code Reviews with Automation.
Developer-Driven Acceptance Testing: A Unique Approach
Developer-driven acceptance testing is a cornerstone of our process, seamlessly integrated with CI/CD tooling and code reviews. Here's how it works:
- Feature environments: Each feature branch generates a unique, deployable environment accessible to peer reviewers.
- Reviewer’s role: Peer reviewers assess code quality and verify the feature against the AC using the deployable environment.
- Immediate feedback: If issues are identified, the reviewer sends the workflow back to the original developer for revision, ensuring bugs do not propagate to QA.
This approach fosters collaboration, enhances understanding of business contexts, and ensures defects are caught early. Peer reviewers gain insights into their teammates’ work and the broader goals of the product, strengthening team cohesion.
CI/CD Pipelines: The Backbone of Seamless Integration
While this blog focuses on developer-driven acceptance testing, it’s important to acknowledge the pivotal role of CI/CD pipelines in our process. These pipelines automatically execute unit tests, security checks, and more, ensuring a consistent baseline of quality. Additionally, they deploy feature branches to isolated, accessible environments, enabling reviewers to validate functionality without additional setup.
Although CI/CD is a vast topic in itself, its integration into our workflow has been instrumental in streamlining testing and collaboration.
The Results
Our developer-driven approach has delivered tangible benefits:
- Improved quality: Bugs are caught earlier in the process, significantly reducing the workload on QA and expediting delivery timelines.
- Streamlined workflow: With clear acceptance criteria and automated pipelines, rework is minimized, and the development lifecycle becomes more efficient.
- Team growth and collaboration: Peer reviewers gain deeper insights into their teammates’ work and the business context of features, fostering a collaborative and cohesive team culture.
Conclusion
By combining CI/CD pipelines, well-defined acceptance criteria, and developer-driven acceptance testing, WellSky's Specialty Care team has established a robust and efficient development process. This approach improves application quality and productivity while fostering collaboration and shared understanding. As the software industry evolves, embracing automation and clear requirements will remain essential for delivering high-quality products.