Engineering During a Pandemic

August 24, 2020

Story

Engineering During a Pandemic

As we continued forward, I struggled to address a recurring question that perhaps you also encountered, "What now?" Deployments and projects were not going to start back up anytime soon.

2020 has been…well…let’s just say that 2020 is a year that won’t be forgotten. As the pandemic struck the US in early 2020, most companies began locking their office doors and moved to a 100% remote workforce. My company was already mostly remote, so initially I thought things would be pretty much business as usual. After all, we already had remote conferencing, collaboration, and code repository systems in place.

The corporate culture and support systems were in place. But the industry climate had changed dramatically. Within the first week of working remotely, I realized that about two-thirds of my time is spent interacting with customer proposals and managing the deployment and testing of new and existing projects. Deployments ground to a halt. Proposals were delayed as companies wrestled with developing a go-forward plan.

At our second sprint review after the US shutdown, the development team showed a second consecutive increase in productivity that the team attributed to fewer level 3 support issues and increased focus from working at home (although if you’re an engineer with small children at home, you’re experience is probably much different!).

Development backlog priorities became difficult to assess. Various epics and user stories were delayed or cancelled. Communicating with customers, re-assessing projects, and managing the backlog filled my time previously spent on deployment support. The team used the time to decrease our technical debt and over the next two sprints the team raced through those items to become “technical debt-free”.

As we continued forward, I struggled to address a recurring question that perhaps you also encountered, “What now?” Deployments and projects were not going to start back up anytime soon. It doesn’t make sense for the development team to work on items that may not come to fruition. Development team productivity had never been higher. And for the first time I can remember, I wasn’t spending the majority of my time dealing with all the techno-logistical issues relating to product deployment and feature releases.

We revisited the long-term engineering plan roadmap and identified three challenges:

  • Roadmap execution accounted for release deadlines that are now unknown. Original execution plans were to “patch this” and “extend that” in order to meet deadlines.
  • Re-review of the roadmap items with stakeholders revealed two epics below the development execution line that laid the long-term foundation for the product line.
  • Corporate policy allows for dedicated engineering team research, training, and increasing industry knowledge. The reality was that release timelines were too demanding to do this.

These three issues may be shocking to you – it was to me. After all, we did annual reviews, measured against priorities, and everyone from executive leadership, external stakeholders, sales, marketing, and engineers left with some free meals and feeling great about the direction of the company.

Why?

  • We were going to get the roadmap work done in the timeline needed by the stakeholders. Yay. Exactly how it was going to get done and the implications was lower priority.
  • External stakeholders were too busy to put significant thought into our roadmap. During this re-review stakeholders were far more engaged, wrestling with their companies’ challenges, and took a hard look at what we can do to help them.
  • Personal and professional growth of the engineering team is important – and we all leave the annual review thinking this year will allow for more of this. But realities hit and another year goes by meeting functional objectives by compromising the growth time.

What’s different now:

  • We researched latest technologies, architectures, and middleware to make the best long-term decisions for the roadmap items and re-estimated timelines.
  • The backlog has been re-prioritized, and the team has made demonstrable progress on important roadmap items.
  • Team members have been attending relevant webcasts, virtual events, and spending more time researching the latest technologies and middleware that can be applied to our product line.

Things are different for me too. The last time I coded was 7 years ago. I used the time I got back to work with the team on cloud development & deployment, using C++, Python & Javascript to prototype new roadmap items and research new technologies that can be applied. Getting back to my development roots (albeit temporarily) has re-grounded my perspective on the product development process which I hope will make me a better product owner and manager. I also forgot how much I enjoyed writing software!

These are unprecedented times. There is no historical reference. In times of turmoil, the best we can do is assess the situation, raise awareness of the situation, be honest about where we are, and chart a course we hope will make us better, stronger, and safer going forward. There has never been a more important time for communication, interaction, and idea sharing. Please share challenges you’ve faced and how you addressed them so we can all learn, adapt, and move forward as a technical/engineering community.

Categories
IoT