| Literature DB >> 36188730 |
Salman Nazir1, Brad Price1, Nanda C Surendra1, Katherine Kopp2.
Abstract
Agile development is known for efficient software development practices that enable teams to quickly develop software to cope with changing requirements. Although there is evidence that agile practices are helpful in such environments, the literature does not inform us as to whether agile practices can also be beneficial in hyper-agile environments. Such environments are characterized by an extremely fast pace of change with fluid requirements. COVID-19 vaccine distribution is one such problem that governments have had to deal with. To solve this problem, governments need to come up with robust responses by formulating teams that have the capability to provide software solutions enabling information visibility into the vaccine distribution process. Such emergent teams need to quickly understand the distribution process, oftentimes define the process itself because it might be non-existent, and build software systems to solve the problem in a matter of days. Not much is known about how systems can be developed at such a fast pace. We adopt a clinical research methodology and employ agile software development practices to develop such a mission-critical system. In the process of building the system, we learn important lessons that can be used to adapt and extend agile methodologies to be used in hyper-agile development environments. We offer these lessons as important first steps to understanding the best practices needed to develop software systems that have the capability to provide visibility into the unprecedented health challenge of distribution of life-saving COVID-19 vaccine.Entities:
Keywords: Agile; COVID-19; Hyper-agile; Software development
Year: 2022 PMID: 36188730 PMCID: PMC9362493 DOI: 10.1007/s10799-022-00370-y
Source DB: PubMed Journal: Inf Technol Manag ISSN: 1385-951X
Fig. 1Process timeline
Catalogue of time spent in various data collection activities
| Type of data collection | Who was involved? | How long and how many times? |
|---|---|---|
| Scheduled interviews and discussions (scheduled for 30 min to 2 h) | The JIATF Liaisons, HUB Staff, Technical team liaison, Customer Liaisons | 12 h (10 meetings) |
| Unscheduled interviews and discussions | JIATF Liaison, HUB Staff, Technical Team Liaisons, Customer Liaisons | 100 h (80 meetings) |
| Observation | JIATF Floor, Technical Liaisons, Technical Team, Operations Team, HUB Workers | 16 h (3 times) |
| Reading/reviewing documents | Documents explaining vaccine efficacy, procedures for giving a shot, necessary equipment. Other documents such as working documents used prior to research teams engagement to understand the process of distribution. Obtaining information that was not necessarily tracked in systems or formally prior to research team engagement | 20 h |
Major system parameters
| Parameter | Number |
|---|---|
| Number of functionalities | |
| Data processing functions | 6 |
| Data update/augmentation | 9 |
| Data visualization/analysis | 7 |
| Total number of applications | 7 |
| Approximate number of lines of code | 5000 |
| Approximate number of system development hours | 500 |
Fig. 2Diagram of research iteration 1, consisting of two applications to process vaccine demand from stakeholders, while distribution of vaccine was based on the provided distribution plan with no real time visibility. All demand was collected by stakeholders and uploaded to the system for internal leadership review
Fig. 3Research Iteration 2, which adds real time visibility into hub operations and distribution of vaccine, while simultaneously assessing upcoming vaccine demand. The stakeholders are still responsible for acquiring demand information in this iteration, but real time changes to distribution plan can be made, and real-time insights into distribution can be given so that decision making can be dynamic in nature
Fig. 4Research iteration three which allows for vaccinators to directly request vaccine and stakeholders to approve each week, while maintaining visibility into hub operations. The dual servers connected by the Amazon Web Services Elastic File System, serves dual purposes: To deal with load balancing for 2000 + vaccinators using the system, while segmenting user privileges to management of vaccines and requesting vaccines
Project milestones
| Date | Milestone |
|---|---|
| 15-Jan | Project scope and start |
| 22-Jan | Stakeholder upload and JIATF management apps deployed |
| 1-Feb | Requirements and enhancements for dynamic supplies |
| 5-Feb | Capacity for additional vaccine types and doses |
| 15-Feb | Real time hub integration to application |
| 27-Feb | Real time visualization on inventory and hub operations added |
| 15-Mar | Hub operations and change orders features operational |
| 20-Mar | Receipt of vaccine shipments added |
| 30-Mar | Begin maintenance on version 1 (protocol changes around distribution and Prioritization |
| 15-Apr | Version 2 scoped and development begins |
| 23-Apr | Automation of stakeholder review launched |
| 30-Apr | Automation of distribution report of provider confirmations |
| 10-May | Integration with state systems and provider enrollment/training begins |
| 16-May | Update distribution restrictions for providers and introduce pediatric doses |
| 30-May | Version 2 launches |
Extensions needed for adapting agile practices to hyper-agile contexts
| Agile practice | Needed extension for hyper-agile context |
|---|---|
| Continuous integration | Divide and conquer: Requirements can be more easily managed when different applications are created to meet the major needs. A single, completely integrated application is a much more complex and time-consuming target to achieve |
| On-site customer | Assume gatekeeper role: Development team assumes the role of a gatekeeper to decide which functionalities are provided by the systems. This is important because it is the development team that has the complete picture of the overall process |
| Development focuses on functionalities identified for a sprint | Functionality to meet emergency needs: Development must maintain a minimalistic, frugal approach to provide the functionalities that are just enough to meet emergencies that emerge on a daily and sometimes hourly basis |
| Short iterations (a few weeks) | Extremely short iterations (days): Iterations of the agile process should be kept as short as possible in hyper-agile contexts. The team can also adjust the iteration duration as needed, contrary to the fixed duration as per standard agile practice |
| No recommendations for tools | Use open source tools: Open source tools are often lightweight and thus can be very useful in quickly achieving the needed functionality when working in hyper-agile contexts |
| Testing first | Minimal testing: Contrary to the agile standard of testing every feature before release, teams will need to resort to minimal testing. The team will need to build redundancies in the system to prevent data loss |
| Refactoring and retrospectives | Build to tear down: As requirements change drastically, there may be need to completely tear down existing applications to create new ones |
| Stable team | Ambidextrous team: The development team will need to strive for stability at the core but be fluid at the periphery |