Software development process
How we work
The team that builds the software applications for the KPMP takes an iterative software development approach. In iterative development, features are designed, developed and tested in repeated cycles. With each iteration (sprint), additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed. This approach delivers value with each iteration, is adaptable to changes in requirements throughout development, and allows course correction as user or research community needs change.
Iterative software development Phases
- Understand and clearly define the problem (who it’s for and how it will be used)
- Define what the software will do and what it cannot do
- Prioritize features and plan project work
- Utilize user-centered design best practices
- Create mockups & prototypes
- Conduct user testing validation & gather feedback
- Implementation and deployment of features
- Quality assurance testing
- Conduct user testing validation & gather feedback
- Release features in small chunks in order to bring value to user community faster
Personas & Use cases
Why use Personas?
Personas are representations of types of real users. They help us to:
- Understand our audience and answer the question, “Who are we building for?”
- Visualize/humanize our user research
- Prioritize features and align on strategy
- Use the same language when we’re discussing our users
- Create a shared understanding of how the product would be used by customers
- Provide a reference point throughout the design and development process
All websites and applications produced by the KPMP are designed and developed for a primary persona and their requirements. Other secondary, tertiary, etc. persona types may be included as long as they do not interfere with the needs or workflow of the primary persona.
KPMP Personas & Use Cases
The following user personas were developed for the KPMP by conducting user interviews within and outside of the KPMP Consortium.
Patient
If KPMP could come up with clear answers about my disease, it would be great.
- Understand what the KPMP is and how it’s helping patients
- Understand the information being presented without having to know "science-speak"
- Find clear answers about my kidney disease
- Know how my biopsy contributes to the KPMP
- See my biopsy slides so I can get a feel for my kidney and share it with friends and family
- Understand "what's going on in my body and what I can do about it"
- See my information as it goes through the project
- Compare my data with other patients that are like/not like me
- An online resource with patient-specific content about kidney disease and KPMP
- An online tool to view and export my biopsy images
- Online portal/dashboard of my KPMP status and results throughout the study
- A summary of my baseline characteristics along with biopsy images
- A way to search the KPMP data to find patients like/not like me
Pathologist
I expect KPMP to help me link biopsies to outcomes and mechanism.
- View the slides that need to be assessed/scored from a central repository
- Quickly know the quality of a digital image
- Identify structural characteristics and assess/score them accordingly
- Determine if there is an association between pathology features
- Learn more about the implications of specific structural patterns
- Link pathology analyses to molecular and clinical information
- [In the Atlas] A way to point at a cell/structure/feature and bring up the associated molecular and/or clinical data
- An efficient way to assess/score descriptors
- Machine learning applied to digital pathology
- Automated quality validation
Clinician
I’m hoping KPMP gives me the ability to link my individual patients to the best treatments.
- Understand the causality of my patient's kidney disease
- Determine a prognosis based on the biopsy findings using all data sources developed by KPMP
- Validate my patient's prognosis
- Link my patients disease to available and emerging targeted therapies
- Recruitment materials that are brief and easy to understand
- [In the Atlas] Clear diagnostic categories - more than just traditional mixed-bag pathology
- Interactive system where I can search for a particular data point and look at what corresponding KPMP data exists
- Help me understand and compare various treatment decisions and outcomes for KPMP participants
- A tool for clinical decision support, such as a kidney disease management algorithm that can be integrated into a hospital EHR system
Researcher:
Summary DAta Consumer
I'm not a bioinformatician. I just need the highlights for a quick validation of my gene of interest in AKI and CKD.
- Dig deeper into the KPMP data to get more detailed information within my [-omics] specialty
- See highlights of the KPMP data data that is outside of my [-omics] specialty
- Compare my research data to the data within the KPMP datasets
- Be easy-to-use, understandable
- Have a user interface that provides summary information
- Provide easily accessible tutorials or help information
- Allow me to filter down into the data using my own custom search parameters
- Understand the underlying KPMP data sources and quality
Researcher:
Data Analyst
I work closely with my wet lab and want to use my analytical skills to answer their biological questions using KPMP.
- Validate my own data against KPMP data
- Discover and publish novel insights gleaned from KPMP data leading to new research in my own labs
- Learn about new analysis tools and data
- Make it easy to visualize and download specific datasets
- Provide rich metadata
- Have data in a format that I can easily read into my workflow
- Provide a mechanism that allows me to see "what's new"
- Allow me to create my own dataset using my own custom search [boolean] parameters
Researcher:
Data Miner
I develop tools and analytic methods for kidney researchers to use in KPMP.
- Download KPMP data and run my own analyses
- Access the KPMP data through an API or the cloud
- Build an app that could potentially be hosted in the atlas
- Make it easy for me to download lots of data to test my tool
- Provide rich metadata
- Have clear documentation and easy-to-use APIs
Student
As a future clinician/scientist, I look for resources to help me understand kidney function and failure at a molecular level.
- Explore nephron segments in normal and disease states
- Determine at the molecular level, where glucose is reabsorbed and how this is changed in disease states such as diabetes
- Provide a way to dynamically explore kidney function and failure concepts
- Make it easy to compare kidney function and failure in healthy and disease states
Use Cases
The following use cases were developed as a result of feedback provided by the members of the KPMP Consortium. These use cases then used to inform and design the features and functionality of our software tools so that they tools answer the questions that our user personas are asking.