The pMD Blog

Welcome to the
pMD Blog...

where we cover interesting and relevant news, insights, events, and more related to the health care industry and pMD. Most importantly, this blog is a fun, engaging way to learn about developments in an ever-changing field that is heavily influenced by technology.

Building better medical software with Agile and Scrum
As a pMD software developer, I take great pride in building best-in-class medical software that our customers love. Our development team accomplishes this not only by shipping a high quality product, but also by making sure that the features we are working on address the most important needs of our users. However, as you might imagine, this list of customer priorities isn’t static. In fact, it changes almost constantly. To help keep our development team in-sync with this ever-moving target, we use an agile software development methodology called Scrum.

Traditional software development

In the traditional world of software development, something called the Waterfall method is frequently employed. This long-running process of building a software product is broken into several phases: requirements gathering, design, code, test, and release. Each of these steps might last as long as several months. At the end, you (hopefully) have a piece of software ready to ship. However, there is one problem: the thing you have produced is based on a set of customer requirements that is now a year or more out of date!

Even if those customers had come to you several months into the process with an updated set of priorities, there would have been very little you could have done to change what was being worked on, especially if you had already moved past the requirements gathering stage. You’re stuck building software that isn’t going to address the current needs of your customers. That’s where Scrum comes in.

Scrum to the rescue

Scrum is a popular agile software development method that takes the Waterfall process and compresses it into a much shorter development cycle called a sprint. A sprint typically lasts from two to four weeks (we do two week sprints at pMD) and still includes all five phases of development from the Waterfall method, just in a much more abbreviated form.

The key player on a Scrum team is the Product Owner. It’s this person’s job to make sure that the backlog of features waiting to be worked on by the development team stays prioritized according to the current needs of the customers. When a feature request or bug report comes in, it’s up to the Product Owner to prioritize it and add it to the backlog in the appropriate place.

With this backlog in hand, the software development team sits down at the beginning of each sprint for a Sprint Planning meeting. This meeting has two parts: first, using a system of points, the team establishes what their development capacity will be for the upcoming sprint, i.e. how much bandwidth they’ll have to work on the software (things like travel to customer sites, jury duty, and vacation affect capacity). Then, they start at the top of the backlog and begin estimating the work involved in each feature by assigning it a point value. When the total of number of points estimated reaches capacity, they stop.

These features then get assigned to the upcoming sprint. For the next two to four weeks, the team works on them, going through the design, code, and test process for each one. At pMD, we frequently release features as they are completed. Other groups may choose to wait until the end of the sprint and do one, larger release. Even in this case though, releasing every few weeks is still far better than shipping software once a year!

It’s all about the customer

We love building software that delights our customers. Scrum helps us achieve this by providing us with a great framework for keeping our work in-sync with our users’ changing needs and priorities. In future posts, I’ll dive deeper into the details of how we’ve implemented the Scrum process at pMD and some of the tools we use to collaborate and track our progress.
5G ACA Account Management ACI adoption Advancing Care Information AHCA AHRQ AI Alternative Payment Model Amazon S3 Android API Apple appointment reminders Artificial Intelligence arts Audit Bay Area BCRA Best Place to Work Best Practices Big Data bootcamp BPCI BPTW Bundled Payments Business relationships Care Communities care coordination Care Navigation Care Team Career Fair CDC Charge Capture Charge Capture App Charge Capture Software Charge Capture Solution Charge Capture Statistics Charge Lag CHIP CIO Clinical Communication clinical data Clinical Data Registry Clinically integrated network Cloud CMS cms regulations Collaboration Communication Company Culture Conferences Connected Health Record contact practice Coronavirus COVID-19 COVID19 Cross-functional culture custom reports Customer Interaction customer relations customer service customer success customer support Customers Cyber Security cybersecurity Developer DHHS Dialysis discharge instructions EHR elderly Electronic Charge Capture Encryption epidemic Expansion FDA FHIR Flu fundamentals GI GI Outlook Goals group messaging Health Care Health Care Technology Health Care Web health data Health Information Exchange Health Record Healthcare healthcare interface healthcare interface integration healthcare software HIE HIPAA hipaa compliant communication hipaa compliant communication platform HIPAA-Compliant HL7 Home dialysis Hospital Census Hospital Communication humanity IA ICD-10 ICD-11 Implementation Improvement Activities in-app calling Instant capture Integration interface interoperability iOS iOS 8 iOS7 iPad iPhone iPhone 6 Lead Generation length of stay Long Term Care LTC Machine learning MACRA Medaxiom Medical Billing Medical Errors Medical Software Medicare Mental Health Mentorship Messaging Messaging with Patients MGMA MIPS MIPS Registry mobile Mobile App Mobile Charge Capture Mobile EHR Mobile Health Mobile Messaging Mobile security Mobile Technology Modern Healthcare Native App Network new feature new features news NIH OCM onboarding Oncology Care Model operations opioid crisis Pandemic Parenting partnerships Patient Patient access Patient App Patient Care Patient Chat Patient chat routers Patient Communication patient data Patient Engagement patient experience Patient Generated Health Data Patient Handoff Software Patient Information Patient Messaging Patient Safety patient support Patient Visits Patient-Centric PCP Performance bonus pmd pMD Team population health Population Health Management PQRS Product Development Productivity products Promoting Interoperability QCDR QPP quality reporting Quality Scoring Recruiting Recruitment Reimbursement remote jobs Remote Work reports Residents Responsibility ROI Rural communities Sales Secure Communication Secure Data Secure Messaging Secure Messaging Video Secure Text Messaging Secure Video Secure Video Chat Security Audit self care seniors SF Biz Times SNF SOC 2 software vendor Specialty Care success support TCM Team culture Teamwork technology telehealth Telemedicine telemedicine in long term care Telemedicine skilled nursing facilities Teletherapy Text Messaging texting training Travel Upgrades UX Design VA Value-based care Video Calling Video chat video communication video conferencing Virtual Care Virtual Visit voice calling voice memos Wearable Device wearing many hats Web App wellness wfh Wireless Work From Home Work Life Balance