At ChannelAdvisor, we rarely talk about the processes and technology that power our platform behind the scenes. For instance, how do we develop and update our software? Here, I’ll walk you through some of our team’s core challenges and strategies when it comes to creating software — and why the process should matter to you.
First, here are four facts about our software-development process that you might not have known:
1. ChannelAdvisor currently integrates with 40 marketplaces.
2. Each marketplace’s software changes approximately every month, which requires us to make modifications to our software. This equates to a minimum of 40 change requests per month — or 480 updates a year.
3. ChannelAdvisor adds five to ten additional marketplaces a year. These add a total of 120 more requests.
4. We receive roughly 50 customer requests for enhancements a month from our product feedback link.
Agile Software Development: The Basics
Our team follows what’s known in the industry as “agile software development.” What is it? Think of the word “agile”: The process emphasizes flexibility, adaptation and responsiveness to change. In a recent article on agile software development, Forrester Research noted that when done well, agile methods for software development speed time to market, yield better-quality results, better align products to customer needs and help break down operational silos.
Put simply, agile development is a more flexible way of managing IT development teams and projects. The concept originated in 2001, when a small group got together to discuss why the traditional approach to managing software-development projects (which featured rigid processes and structures) was failing far too often. The group came up with the agile manifesto, which includes four values that are as relevant today as they were then:
Even though there’s value in the concepts on the right, as agile developers, we value the items on the left more.
Why We Use the Agile Process at ChannelAdvisor
To handle the high rate of e-commerce updates, ChannelAdvisor had to adopt a software-development process that could accommodate frequent change. Just throwing more developers and more technology at these challenges wasn’t a sustainable solution. So we chose early on in our company history to move toward agile software development.
Why else does the agile process work for us and our customers? It allows us to:
1. Deliver valuable software monthly that will help our sellers compete on online marketplaces.
2. Change our roadmap monthly to keep a competitive advantage and handle the ever-growing list of change requests.
3. Receive customer feedback as soon as possible so that we can continue to serve our customers efficiently. While we understand that receiving monthly software updates can be challenging for some of our customers, we do think there’s ultimately value behind it.
How the Agile Process Helps You
Supplementing the manifesto are 12 principles that further describe what it means to be agile.
In particular, I think three of these twelve driving principles of the agile process are especially relevant for ChannelAdvisor customers:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- We welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- We deliver working software frequently, from every couple of weeks to a couple of months, with a preference for the shorter timescale.
The Bottom Line
Interested in learning more about agile software development? Here’s a resource that explains more details about how it’s done.
What I want to leave you with is confidence in that how we’re developing software is the best way to support our customers and deliver the best experience in an ever-changing marketplace.
Blog post by Mary Thorn, Quality Assurance Director, ChannelAdvisor