Our continuous delivery journey: one step at a time

Development · Dec 19, 2016

Just over a year ago we embarked on our journey to enable Continuous Delivery practices here at TELUS digital. When I returned from a life of diaper changing and drool (aka maternity leave), I was asked to lead this change. After learning more about the growing DevOps culture, technologies and practices, I was motivated to take on this challenge for such a worthy outcome. Who wouldn’t want to improve the way we work as a team and enable the delivery of rapid changes to our customers with quality and confidence?

My first assumption? I thought it would be simple. All we had to do was integrate our applications to a continuous integration pipeline and make tweaks to the way we work.

Sounds easy right?! Wrong!

Little did I know we had a number of legacy applications developed with different technologies and some unconventional development practices. This new found landscape dramatically increased the challenges we faced implementing Continuous Delivery practices. It was the technological equivalent of setting out to hike up a hill and finding yourself suddenly scaling Mt. Kilimanjaro. Like many digital organizations, we’re the product of acquisitions and rapid team evolution; we had grown from 50 employees to just over 200 in just 3 years. It was obvious that we couldn’t continue to operate the way we were if we wanted to expand our breadth of digital experiences and be truly successful.

“It was the technological equivalent of setting out to hike up a hill and finding yourself suddenly scaling Mt. Kilimanjaro..”

Climbing Mt. Kilimanjaro required a complete overhaul of how we build, test and release changes and new features to our customers. We needed to adopt a new architectural paradigm and modern development language to support it.

We had pockets of change agents within the organization, but in the fast-paced world of digital delivery, it can feel next to impossible to stop and take the time to do what’s needed. However, with head-strong leadership support, guidance from our technology partner Thoughtworks, and a dedicated senior development team, we began to start on something great.

What we’ve learned
Is your team embarking on your own Continuous Delivery journey or facing major technology changes? Here are a few pieces of advice.

  1. Identify internal change agents and rally your team around their efforts.

      • One of the first challenges in any large-scale transformational initiative is identifying change agents within the organization and giving them an easily digestible message that resonates and they can champion themselves.

      • Create a message that resonates with team members that they can easily speak to themselves.

  1. Use team decision making to narrow the field. Research and provide rationale for your final decision.

      • Because we needed to decide what technology choices we would move forward with, we used team decision making to narrow the field of choices and gain team buy-in.

      • After some experimenting with the final choice, assessing the industry, and undertaking discussions with subject matter experts, it became apparent that we needed to pivot our decision. Pivoting is not always easy, but sometimes it’s the right thing to do.

      • After discussing our research and rationale, the team supported our new direction.

  1. Focus on aligning on foundational topics, architecture and practices before discussing implementation.

      • When there’s a new Javascript framework being introduced weekly and a new shiny Continuous Integration tool every month, it’s easy to get lost in discussing the pros and cons of each.

      • Focus on the foundation. Align on what architecture and practices are needed to support your goals and the implementation discussions will become much easier. Your choices will be significantly narrowed and grounded in defined goals.

The path ahead

I can happily say that we now have a defined and actionable technology strategy, one that our teams are excited about. And we are now rallying behind a plan to get us to a place where Continuous Delivery is part of our DNA. Sure, it took some time to get here, but monumental changes, especially when it comes to technology choices, happen in small, thoughtful steps.

As we close out 2016, I want to give a big shout out to our technology partner, Thoughtworks, for guiding us on this climb and our talented development team for starting this journey.

So what’s next?

2017 is a big year for us as we continue to evolve our architecture, learn Javascript frameworks, and adopt new practices across all of TELUS digital. The view from this stage in our journey is amazing, but I know when we reach the summit the view from there will be spectacular! Until then, we will keep climbing!

Authored by:
Elaine Oei
Elaine Oei
Director, Unified Products & Commerce