Skip to content
This repository has been archived by the owner on Mar 24, 2022. It is now read-only.

vmware-archive/safemeds

safemeds

Build Status

View code in master branch.

See it here safemeds.cfapps.io

Introduction

Aligning with GSA’s mandate of procuring specialized agile delivery services, our response demonstrates Pivotal Labs’ history of deep design, development and open-source expertise. Our proven technology approach has delivered high-quality working software in a consistently rapid, cost effective, and iterative manner to hundreds of clients. This response demonstrates how Labs, in the time allotted, built a product that solves a real problem for real people. We mitigated the risk of project failure by having tight communication, an integrated product team, nearly 100% test coverage, and a fast and reliable PaaS for deployment. Furthermore, we were able to deliver a working product by the original challenge deadline. When the deadline was first extended, we were able to quickly convene and adjust scope given the new timeline and capacity. Our work patterns are optimized for continuous feedback and integrated teams, thus we were able to quickly determine how to use the extra time. 

The Application

Our customer for the application is captured in a validated persona named “Annie”. Annie takes several medications daily to manage chronic conditions. Annie and her doctor have worked hard to get the combination and doses of her pharmaceutical regimen right, and at this point she knows what to expect in terms of side-effects, risks, and withdrawal. 

Occasionally Annie has to add a new drug, like when she gets a cold or has a migraine. Doing anything that might affect her medication feels like a big risk. Annie needs to feel confident that she can manage her complex life, even when taking occasional over-the-counter medication. 

With SafeMeds, Annie can see whether her daily pharmaceutical regimen will be affected by a new over-the-counter or prescription drug. Based on generative user research, we focused on a core set of features:

  • List her current medications (multiple) 
  • Enter a new medication (single) 
  • See interactions between the single new medication and what she’s already taking 
  • Scan interactions data for a highlighted drug name 
  • Choose from a list of auto-suggested medications based on typed text 

Modern software design calls for depth and refinement of a fully functional product with limited feature scope. When presented with additional time, we opted to refine existing features rather than add major new features. We now have, for instance, a sophisticated auto-suggest with natural-language mapping between scientific and brand names. 

Our Approach 

This project was different from our typical engagements in that we received only broad guidance and exposure to selected data sets. Typically, a client "product owner" collaborates closely with our project team; the lack of such client contact represents the primary departure from the norm. In most other ways, the description of our process (below) is typical and predictable. The timelines in Pivotal_GSA_Response_Addendum, located in the git repo root directory, show our rapid learning, development, and iteration over an 8-day development exercise that began Monday, June 22 and concluded Tuesday, June 30. 

Getting Started with the Product

Upon receiving the assignment at 8:30 Monday (June 22nd) morning, we convened an interdisciplinary software team. Our first tasks were to (1) evaluate the data we would be working with, (2) establish a product hypothesis that could be validated through user research, and (3) set up a development environment. By the end of Day 1, we had working software. 

Through generative interviews, the team rapidly identified that people who are successfully managing chronic conditions become worried when they add a new medication or over-the-counter treatment. This became the core value proposition of our application: "For people stabilized on a cocktail of medications, SafeMeds helps you know which prescription and over-the-counter medications will potentially disrupt your regimen."  

We focused the application by understanding the needs of end-users and relentlessly prioritizing only those increments of work that delivered the highest customer value. 

Final Working Product

In this way, we were able to deliver a product by the original Challenge deadline. Likewise, when the deadline was extended, we were able to quickly convene and adjust scope given the new constraints of time and capacity. Our work patterns are optimized for continuous feedback and integrated teams, and our architecture for this product is easily adaptable to changing requirements. Thus we were quickly able to determine how to use the extra time afforded by the extension. We accomplished all of this in under 500 total hours, demonstrating an efficient use of time and effort.

License information for our custom code and the open source packages we used is located in license.pdf in the github repo root directory.

How We Worked

Rob Mee, Labs’ founder and current Senior Vice President of Research & Development at Pivotal, was among the originators of the Agile Software Development Methodology, and has kept Labs at the forefront of the discipline for the last 20 years. This project (like all projects at Pivotal Labs) faithfully applied an Extreme Programming approach, which means that our developers worked in pairs, developing code from a single backlog of stories. Each story represented the smallest increment of user value, and the backlog is ordered according to the priority sequence in which the developers ought to work. We practiced Test-Driven Development, Continuous Deployment and Integration, with a Balanced Team. This approach embodies the values of simplicity, small batch size, rapid feedback, and continuous improvement.

Every aspect of our working process is present to maximize efficiency and quality. Three examples from this project: 

  1. Co-location of the team reduced communication overhead: Immediately upon receiving the assignment, the designer, product manager, and software developers moved workstations to sit together throughout the duration of the project. This significantly reduced communication overhead and eliminated feedback delays. 
  2. Patterned meetings reduced stress and increased focus: A pattern of predictable meetings (inception, standup, retro, etc.) with consistent agendas ensured that everyone knew when and how key issues would be voiced and resolved. This eliminated operational stressors, so that the team moved smoothly with a tight focus on the design and development. 
  3. Focusing our development efforts on the needs and goals of real users simplified decision-making: With a validated persona and problem statement, it was simple to prioritize stories in the backlog, ideate on features, and make judgment calls about where and when to increase or decrease scope. 

**Final Delivery **

In this way, we were able to deliver a product by the original Challenge deadline, and refine up to the first project extension. The product team elected to not use the second extension.

Pivotal Labs successfully delivered 330 software projects last year to a host of Enterprise and Startup clients.  We thank  youfor the opportunity to be of service, and firmly  believe that Pivotal Labs offers a compelling fit to partner with GSA on this Agile BPA.

Appendix

Carahsoft Technology Corporation (Carahsoft), in partnership with Pivotal Software, Inc. (Pivotal), will provide Agile Delivery Services for the General Services Administration (GSA).

Carahsoft understands GSA is seeking Agile Delivery Services in support of the 18F program to procure digital services for Agile development and architecture, user-centered design, and DevOps requirements. As the Prime Contractor, the Carahsoft response includes an overview of our services Solution Provider, Pivotal. Our offer would be to provide world-class agile developers, designers, and product managers to work with GSA 18F to solve real problems for real users. The combination of Carahsoft and Pivotal will provide a proven solution to meet GSA’s requirements.  

Prime Contractor: CarahSoft

Carahsoft is a government-only IT solutions provider delivering best-of-breed hardware, software, services, and support solutions to federal, state and local government agencies since 2004. Carahsoft has built a reputation as a customer-centric, responsive organization with unparalleled experience and depth in government sales, marketing, and contract program management. This experience has enabled Carahsoft to achieve the top spot in leading software license GSA resellers.

Solution Provider: Pivotal

Pivotal is the software company at the intersection of Big Data, PaaS, and Agile. Pivotal’s agile services practice, Pivotal Labs (Labs), utilizes modern agile processes and technologies and has a breadth of experience working with Enterprise-level clients. The Labs team will be able to tackle the requirement of providing user-centered design, agile architecture, agile software development and DevOps. Our experience will allow GSA to fully understand and evaluate our capabilities and how they can benefit GSA and its federal agencies. We will partner with the GSA every step of the way as the participating agencies acquire, deploy, and manage new solutions. 

Compliance

Per RFQ item 24.0.A.a for Pool Three: the Full Stack Pool, this software development project has met all the evidence criteria listed above in the Design Pool and Development Pool and Attachment C includes more than five of the labor categories from the Full Stack Pool categories.

Usage

  1. Install node.js
  2. Run npm install
  3. Run npm install -g gulp
  4. Run gulp s
  5. Navigate to localhost:3000

About

No description, website, or topics provided.

Resources

License

BSD-2-Clause, Unknown licenses found

Licenses found

BSD-2-Clause
LICENSE
Unknown
license.pdf

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages