An exciting practice of agile and lean development that is really important to us is the idea of Continuous Delivery. Getting customers to adopt it typically involves planning, educating and a focus on iterative process improvements. In an interview with our Director of Engineering Anton Yazovskiy, he explains some of the advantages and challenges of CD and how Thumbtack is succeeding with it.
L: Continuous Delivery put most simply is delivering quality assured software in small increments – for some it means pushing live after each 2 week sprint, for some it means daily.What are the advantages of Continuous Delivery for customers?
A: One of the biggest advantages of this initiative is that customers can release software in a frictionless manner. It minimizes the time between when the customer ‘s investment was made into the feature and when the feature begins to bring in revenue, ultimately leading to a quicker ROI. At Thumbtack Technology, we create a pipeline where we focus on multiple features at the same time and push them into production individually. It allows us to get continuous feedback from our customers, and often their customers, on the product, then we are able to address problems, make changes and push improved features live at a faster rate. Because of this feedback, our customers are getting information from their own customers and in turn, building better-aligned software.
L: What are the key challenges for developers?
A: One of the challenges is the DevOps movement. This movement emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. The point of DevOps is that developers need to learn how to create high-quality, production-ready software, and ops needs to learn that agile techniques are actually a powerful way to enable effective, low-risk change management. The challenge is finding a way to work together to achieve this goal rather than separating software development and software delivery processes.
Another challenge is proper quality assurance and testing, which is essential to developing and delivering reliable systems that meet and exceed customers’ expectations. In order to ensure this, we test each feature individually. With an extensive test automation framework and regression testing, Thumbtack is able to produce high-quality software.
L: Describe a success story around our “Continuous Delivery” initiative at Thumbtack.
A: One of our customers was struggling with their ad server platform and needed a solution fast. Traditional planning was not the best option due to the large size of the project and the customer’s urgency. First we released a very basic java-based web server. We then got feedback on each feature from the customer and starting adding more functionality where necessary. The Continuous Delivery process made our work more transparent and gave the customer a better understanding of what was going on.
L: Are there any past projects that could have been improved with a CD approach?
A: Yes, we have some customers who are very traditional when it comes to implementation. The biggest problem that we’ve seen with this is an extended feedback loop cycle. With the Continuous Delivery approach, we could have verified our customer’s business assumptions earlier and saved them more time and money.
L: It sounds great all around. Do customers resist? If so, why?
A: Yes, in general change can be difficult but here are a few examples. Traditional thinking has been one of the biggest resistance factors especially for customers who have built their products around an internal infrastructure for decades.. Another issue is conflicts with internal schedules. For example, if the release of a current project relies on other business factors in the company, it’s often very challenging to get buy-in for adjustments to that Also, sometimes significant changes in architecture or functionality may result in releasing a completely new project – the problem with this is that customers don’t want to replace an existing product with the new one that has less features I will say though every customer who has tried a CD approach, continues with it.
L: What kind of impact does this approach have in overall timeline completion? (is it slower, faster, etc)
A: When developing a long-term project, things don’t alway go as planned, which can be based on a number of things… the customer’s feedback, newly discovered requirements and needs, or changes in the environment. With Continuous Delivery, teams can efficiently address problems, make changes and ultimately speed up the overall product development process. Along with using this approach at Thumbtack, we’ve also developed excellent operational skills and procedures which allow us to reduce overhead on additional quality assurance and testing.
L: Over the next year, what are your hopes for this initiative at Thumbtack?
A: Thumbtack has already been successful with delivering software frequently. A CD approach has already proved effective for certain areas of business in Ad Tech, Media and other industries. One of the main goals for Thumbtack is to increase the number of customers where we can apply the Continuous Delivery approach.