Centralive
Health platform for digital health and clinical trials
Project Overview
Centralive is a health platform for digital health and clinical trials, supporting remote monitoring and intervention. It integrates data from wearable sensors, engages participants with assessments, reminders, alerts, and offers a mobile app and web dashboard for streamlined study management.
Requirements
We held several stakeholder meetings to assess the software's current state and gather development requirements. Additionally, we conducted interviews with current and former customers to identify pain points, along with a competitive audit and market research to understand competitors, their features, and customer perceptions. For our MVP, we prioritized key user problems, organized features, and streamlined functionality to ensure we could effectively compete in the market.
Initial Backlog
In this phase, we focused on the main user stories prioritized in the previous stage and concentrated on creating the features that were essential to the Centralive software.
Why Agile?
Given our project timeline and budget, we chose Agile for its flexibility and fast delivery. Agile’s user-centric approach also enables us to create a code-free system aligned with user needs and expectations.
the Problem
Centralive (formerly Zotcare) was a health platform requiring coding knowledge, which limited use by researchers. We needed to redesign it to be user-friendly and accessible for non-coders, while also aligning it with market needs.
Sprint Planning and Iterative Development
Sprint Planning and Iterative Development
Sprint Setup
We run two-week sprints. Before each sprint begins, tasks are pulled from the backlog. The Product Owner, Team Lead Engineer, and Scrum Master collaborate to prioritize tasks, add necessary details, and create new tasks if needed. During the initial team meeting at the start of the sprint, tasks are discussed, estimated, and assigned to developers and designers.
The Development/QA team holds brief internal meetings three times a week at set times. These meetings are used to monitor task progress, address questions, and facilitate coordination between the frontend and backend teams. Occasionally, live demos are conducted in the development environment to clarify progress and gather early feedback if needed.
Once a week, the Team Lead Engineer and Scrum Master meet with the Product Owner to report the latest status, address challenges or blockers in development, and receive feedback.
At the end of each sprint, we hold a sprint review meeting to go over the tasks completed. Any tasks that remain unfinished are moved to the next sprint.
Website Design
Website Design
Agile Design Process
The design process began by defining the problem and exploring potential solutions. The design team referred to previously gathered data, such as user interviews and competitor analysis, and created personas based on this information to help the team stay focused on the users and their needs. First, they developed user flows based on the user stories and created the information architecture. They then collaborated with the technical team to assess these flows, ensuring alignment with the developers and addressing any technical limitations during this phase.
Prototyping
During the wireframe phase, we focused on ideation and explored possible solutions by visualizing them as simply as possible. We held several meetings to discuss the wireframe with stakeholders and iterated on the design. Due to time constraints, we decided to proceed step by step, completing a feature wireframe and testing it.
UX Adjustments
One of Centralive's main goals was to ensure ease of use, particularly since a significant portion of our users were not tech-savvy. At each step of the process, we prioritized making the platform easily understandable for users and focused on enhancing the software's accessibility.
UI Design
Due to time constraints we decided to keep the wireframing and high-fi prototype parallel. For the hi-fi prototype we decided to use a pre-existing design system and adapt it to meet our project needs due to time constraints.
Development (Agile Sprints)
Testing and Quality Assurance (QA)
Ongoing Testing Strategy:
In each development phase, we conducted several rounds of online usability testing with potential users. Simultaneously, the QA team tested various scenarios and user stories on the application.
After each usability testing phase, the design team created an affinity diagram to extract users’ pain points, emotions, and actions. Based on these findings, the team prioritized tasks across sprints.
During each sprint, the QA team tracked bugs, while the product manager and technical product manager created tasks to address and resolve these issues. Bug tracking and resolution were collaborative efforts, with the QA, design, and development teams all contributing to testing and quality assurance.
Technical Architecture:
This initial development phase begins once product requirements are known. The technology stack is chosen based on the software type (e.g., website, dashboard, mobile app) and the team's expertise. Common project requirements such as infrastructure setup, environment configuration, security, logging, and auditing are addressed. A project skeleton, covering persistence, business logic, and REST API layers, is created for business logic and feature additions.
Incremental Feature Development:
Features are broken down into detailed sub-tasks for developers and QA. Tasks are divided by technology stack (backend, frontend, mobile app). Each completed part undergoes code review and is deployed to the test environment. Stable release branches are deployed to staging and, after thorough testing, moved to production.
Collaboration and Code Reviews:
Developed features must pass code reviews by the Lead Developer before merging into the target branch. Approved changes are merged and deployed accordingly.
Continuous Integration and Deployment (CI/CD): Each new commit to monitored Git branches automatically triggers the CI/CD pipeline, which compiles and deploys new software versions to the target environment.
Development (Agile Sprints)
Launch Preparation and Final Sprint
Launch Preparation and Final Sprint
Final Sprint and Code Freeze
In preparation for launch, we executed a final sprint with a code freeze to stabilize the codebase, minimize last-minute changes, and focus on quality assurance and user feedback adjustments.
Final Adjustments: Implemented final feedback from usability testing and made necessary adjustments to ensure user-friendliness.
Testing: Conducted exhaustive testing across environments to ensure platform reliability and resilience.
User Training and Documentation
Prepared resources for user onboarding and support during launch:
User Guides and FAQs: Created intuitive guides for both new and experienced users, addressing common functionalities.
Support Documentation: Developed a robust support system for users to troubleshoot independently, reducing the need for direct support calls.
Marketing and Onboarding Strategy
Developed a strategic plan to drive initial adoption and build a strong user base at launch:
Launch Announcements: Coordinated announcements through targeted channels to reach both current and potential users.
User Onboarding Initiatives: Designed a seamless onboarding process, complete with personalized guidance, to help users integrate the platform into their workflows effectively.
Launch and Post-Launch Support
Go-Live Strategy
Our go-live strategy emphasized stability and user support:
Phased Deployment: Introduced the platform in stages to monitor performance.
Support Availability: Ensured highly accessible customer support post-launch for quick resolution of queries.
We proactively collected and responded to user feedback during the critical post-launch period:
User Feedback Mechanisms: Implemented surveys, feedback forms, and direct support contact channels to capture user experiences.
Real-Time Issue Resolution: Utilized agile sprint cycles to address any immediate bugs or issues reported by users, ensuring minimal disruption.
Defined and tracked key metrics to gauge launch success and platform performance:
User Engagement: Monitored user activity levels, engagement time, and feature utilization to assess the adoption rate.
System Performance Metrics: Analyzed system response times, server loads, and application performance metrics to ensure optimal user experience.
Launch and Post-Launch Support
Post-Launch and Iterations
Post-Launch and Iterations
Ongoing Maintenance and Enhancements
Applied Agile principles to maintain, refine, and expand the platform’s capabilities post-launch:
Feature Iteration: Continued to refine and add features based on evolving user requirements.
Continuous Improvement: Prioritized ongoing development tasks in sprints, ensuring incremental improvements to the user experience.
User Feedback Loops
Integrated feedback loops to continuously capture and respond to user needs:
Feedback Analysis: Analyzed feedback data to identify trends, frequently reported issues, and requested features.
Agile-Driven Adjustments: Used sprints to respond promptly to user insights, enhancing the platform based on real-world usage and feedback.
Challenges and Solutions
Admin Panel Development
Despite our successes, we encountered key challenges:
Time Constraints: The need to bring a competitive MVP to market quickly posed significant scheduling pressures.
Market Competitiveness: Releasing an MVP that could compete effectively in a crowded digital health space was essential.
Solutions and Adjustments
Leveraging Agile methodologies allowed us to remain adaptive and solution-oriented:
Iterative Development: The iterative nature of Agile enabled the team to focus on core functionalities first, refining features progressively.
Prioritization: Emphasized high-impact tasks in each sprint, ensuring critical functionalities were completed within our time constraints.
Key Takeaways
Reflecting on the project journey, several valuable lessons emerged:
User-Centric Focus: Prioritizing user needs from the start enabled us to design a product that was both functional and user-friendly.
Agile Adaptability: Agile principles allowed for flexibility in our approach, which was instrumental in navigating time constraints and market demands.
Collaborative Problem-Solving: Close collaboration across design, development, and QA enabled rapid resolution of issues and continuous platform enhancement.