At this stage, no one really knows what went horribly wrong with the mobile app created to speed-up the process of counting state-wide votes during the Democratic caucus in Iowa earlier this week, but developers across the globe can only imagine.
Being a mobile application developer in the digital era is not for the faint of heart. Why? Because a development process which used to take on average nine months now has daily, if not hourly, deadlines. What could possibly go wrong?
Well, plenty. According to numerous press reports over the course of the week, the Iowa Democratic Party hired a tiny, unvetted app development firm, Shadow Inc. Apparently, the hurriedly-built application did not go through proper usability and performance testing methods, and was ill-equipped to transmit data via the back-end infrastructure layer. The end result is that chaos ensued and volunteers manning the telephone lines were overwhelmed, breaking down another layer of the reporting process. At press time, we still don’t really know who won in Iowa.
Here’s why such a scenario is not a shocker to developers. We are living in a digital era, shored up by the Cloud and new technologies and architectures, which allow enterprise development and operations teams to build apps faster, connect them with backend data systems, and deploy those apps across multiple Cloud environments to maximize efficiency and allow apps to interact in near real-time – in theory. The term for this description is continuous integration/continuous delivery (CICD). This is all easier said than done.
Potential failures can happen at various points of the application lifecycle. And while there are formal processes for testing applications, including beta releases, many developers are keenly aware of the relentless pressure to release apps quickly in support of new business transformations and help their organizations succeed in a highly competitive world.
Regardless, companies need to have realistic expectations around transformation projects to achieve application modernization, including Cloud native apps and legacy apps. Companies need buy-in and training and adherence to DevOps principals. It’s not enough to declare a coding team as agile and expect it to just be that way. CICD ambitions, as we experienced in Iowa, are not a replacement for testing, automation, security, policy, etc.
Some of the industry’s hottest technology trends are driven by Iowa’s sad tale and organizations’ need to release mobile applications faster. One recent technology trend involves low-code platforms, for bringing more non-coders into the process of a thoughtful design-thinking app development approach; another is around software automation including advanced technologies such as robotic process automation (RPA) for easing the complex and repetitive configuration requirements by operations teams to provision and deploy new apps.
Without checks and balances, none of these technologies will deliver perfect apps. The race to present a shiny new user experience (UX) in the US 2020 presidential election process was just a little too ambitious, even in a digital era.