Software Development at RumbleOn

I have some jobs open right now and I am also busily documenting our Software Development process for the auditors, so I thought this might make a good blog post.

The magic starts in our Product Management department.  We treat all our software as program products with roadmaps, features, and release plans.  This includes our internal operational systems as well as omnichannel retail.  I have long been a proponent of this approach, even for APIs.

Our vision is to have an integrated pipeline from the survey portal all the way to deployment.

Artifacts like requirements, concurrence, priorities, and customer feedback are maintained in Aha! Roadmaps.  Product Management is also design driven, but I digress.  This post is supposed to be about Software Development.

Software Development includes four agile teams.  Most of the staff are here in Dallas, with some work offshore in India and Eastern Europe.  See my post on sprint planning with time separation.  The teams manage their work with Jira.

Jira synchs in both directions with Aha! Roadmaps, and will soon synch with Circle CI for deployment.  Our vision is to have a seamless pipeline from Aha’s survey portal, through feature planning, all the way to deployment.  For omnichannel retail, we add feature flagging.  We are not quite to the point of doing statistical testing and audience segmentation, but we’ll get there.

Agile teams manage their own deployments and feature branches, but releases are coordinated with Product Management and moves to production are regulated by the Architecture team.  This is designed to be a choke point for secure change management.  The Architecture team also maintains a reference library of artifacts for standardization, like federated identity.

If you’re interested in managing one of our agile teams, here is the link.  Work is onsite in our Dallas location, corner of MacArthur and 114, convenient to fine dining and Sunstone Yoga.  The facility is urban industrial, with terrazzo floors and exposed béton brut.  No remote work, sorry.  That’s so 2020.  As a manager, we’ll need you onsite.

We are looking for local talent, preferably Texans of the DFW variety.  This is to avoid relocation challenges.  There is also a certain corporate culture that comes from selling 80,000 street bikes, dirt bikes, and ATVs each year.

RumbleOn does not discriminate on the basis of race, sex, color, religion, age, national origin, marital status, disability, veteran status, genetic information, sexual orientation, gender identity or any other reason prohibited by law in provision of employment opportunities and benefits.

Reverse Omnichannel

If digital retail is so great, then why does Apple have stores?  Shipping a six-ounce phone is nothing compared to delivering a car, and yet these iconic stores.  This, of course, is the true meaning of “omnichannel” retail – meeting your customer wherever they choose. 

Digital native retailers, in fact, are advised to add physical stores, even if they’re selling only sneakers or eyeglasses.  McKinsey advocates this as a way to gain cheaper traffic – ironic, considering the popular misconception that digital retail has lower costs. 

Brick and mortar car dealers have service departments which can keep them afloat in a recession.  They also have an easier time selling F&I products.  So, no surprise that online car dealer Driveway has lately opened a showroom, except … Driveway is the online brand of Lithia, a public dealer group with over 250 stores. 

If a Driveway customer in Oregon wants a vehicle that’s in stock in Texas, it’s shipped to the Portland store and delivered to the customer.

That’s right, the online brand of the leading dealer group now has its own store – with no cars.  This makes perfect sense to me.  I bought my last car online, in the dealership.  The salesperson ran the same configurator I would run at home, adding value with her knowledge of the product.

Omnichannel Auto Retail

Here is a brief history of how we got here, with links to contemporaneous coverage on the blog.  Schematically, the omnichannel evolution looked like this:

I started writing about digital retail way back in 2015, with a two-part post on Design Concepts for Online Car Buying.  I didn’t manage to land a gig building one, but I got the next best thing.  My job running e-commerce for Safe-Guard put me in touch with emerging leaders like Roadster and Accelerate.

These systems allow dealers to retrofit digital retail into their existing websites, while public groups Lithia, Asbury, and CarMax developed their own.  I covered the market for digital retail software from a few different angles.  See here, here, and here

Dealers invested in digital retail, but they didn’t always get the desired results.  Software vendors were the first to spot the disconnect between process and technology.  Roadster started writing about omnichannel in 2018.  Cox’s Mike Burgiss exhorted dealers to “sell the car, not the appointment.”  

The true revenue performance of a retailer’s online channel can be understated by up to 100 percent, or even more if not accounting for the influence online has on offline.

Around this time, I was writing about a Best Buy model for auto retail.  McKinsey linked the two concepts in this 2021 article.  For me, their most important observation is that our metrics don’t always give proper credit to the online channel. 

Digital Native Car Dealers

Digital natives Vroom and Carvana missed the memo about having a physical presence.  Hell, even Amazon has retail stores.  Lithia and CarMax are more like “digital immigrants.”  Driveway going back to its roots and opening a physical store reminds me of “reverse ETL” from Data Engineering.

Data Engineers spend a lot of effort extracting, transforming, and loading (ETL) data for use in analytics.  Then, we often find it useful to take the cleaned-up data and push it back into the transactional system whence it came. 

Another analogy might be how elephants evolved from seagoing mammals and back to land again, or how computing power was centralized in the mainframe era, and now recentralized in cloud services … but “reverse omnichannel” makes a better title. 

Cost Accounting with Scrum

Here is another in my occasional series on the finer points of scrum.  See also Sprint Planning with Time Separation.  Cost accounting seems inimical to scrum, philosophically, and also infeasible.  We use story points for a reason, and then we let the team discover its velocity through experience.  Neither of these numbers is readily convertible into dollars, but that’s exactly what we’re going to do.

If the latest sprint delivered 70 story points, those points are worth $402 each.

Our goal is to calculate how much was spent to develop a certain feature.  This can be to support a cost-benefit analysis, to track development as a capital investment, or to claim an R&D tax credit.

The team’s velocity is the number of story points it can complete in one sprint, typically two weeks.  Velocity changes from one sprint to the next, but the key is – we know the velocity of the most-recent sprint, and that’s the one we need to account for.

We also know how much it costs to run a sprint.  Let’s say that we have a seven-person scrum team with an aggregate base salary of $677,500.  Adding an 8% burden rate and dividing by 26, we calculate that the cost per sprint is $28,142.

So, if the latest sprint delivered 70 story points, those points are worth $402 each.  Now, let’s say that two capital projects absorbed 65 of the 70 points, plus a stray five-point story that fixed a bug or something.  It was a regular expense.  Here is the cost allocation:

It’s easy enough for the scrum master to load these figures into an accounting system at the end of each sprint, but it does require each user story to be tagged with the project it represents.  If you’re using Jira, it’s best to group the stories into epics, which represent new features, and include the capital project identifier (i.e., an account number) on the epic.

Rethinking Electric Cars

While battery-electric (BEV) vehicles may help reduce atmospheric greenhouse (GHG) gases, their production damages the environment in other ways, including water pollution.  Furthermore, BEV production is so energy-intensive that, on a lifecycle basis, they produce almost as much carbon emissions as traditional internal combustion (ICE) vehicles.

The lithium-ion battery in an Audi e-Tron weighs 1,500 pounds, making this “green” vehicle heavier than a Dodge Ram pickup truck.  The same goes for Tesla.  Upscale electric cars are monstrously heavy, with minimum 1,000-pound battery packs.  It’s easy to see how this extra weight must entail extra mining, milling, and manufacturing.

More plebeian vehicles, like the Chevy Bolt, still carry 400 pounds of battery.  Depending on the battery type, this might include 10-15 pounds of lithium, similar amounts of cobalt and manganese, and maybe 100 pounds of aluminum.  These elements all come from nasty, toxic, open-pit mines in places like Mongolia, Chile, and the Congo.

“In Chile’s Atacama salt flats, mining consumes, contaminates and diverts scarce water resources away from local communities”

Sixty percent of the world’s cobalt comes from “artisanal” mines in the Congo.  That’s a fancy way of saying that African children dig for it in the mud.  If you don’t believe me, believe the photos from Amnesty and the UN.  The Katanga region has been named one of the world’s ten most polluted areas.  As one Twitter wag put it, “electric cars transfer pollution to poor communities and sanctimony to rich ones.”

Lithium is produced either by mining or from brine evaporation.  The latter process is cheap and effective, but uses roughly 500,000 gallons of water per ton of lithium.  This has been a problem for local farmers in Chile.  Apart from direct water consumption, both processes have the potential to leak toxic chemicals into the water supply.

Lithium production has been growing rapidly to meet the demand for electric vehicles, and now stands at 100,000 tons per year.  Demand forecasts to 2030 range from 2 to 3 million tons – that is, 20 to 30 times current production capacity.

The mine at Thacker Pass in Nevada sheds some light on the economics.  Lithium recently hit a record $71,000 per ton.  Producing one ton of lithium entails strip mining 500 tons of earth, and Thacker Pass has the potential to produce 60,000 tons of lithium per year.

You may think that we have no choice but to despoil the planet in search of battery metals, because climate change is the greater threat.  Consider, though, how much diesel fuel is burned by all of these mining operations.  On a lifecycle basis, electric vehicles barely improve upon the GHG emissions of a traditional ICE vehicle.

“We estimate the GWP from EV production to be 87 to 95 grams carbon dioxide equivalent per kilometer (g CO2-eq/km), which is roughly twice the 43 g CO2-eq/km associated with ICEV production”

An electric vehicle begins its service life with roughly double the carbon footprint of an ICE vehicle.  Thereafter, it will produce less GHG depending on the local power source.  As of this writing, 60% of electricity in the U.S. is generated from fossil fuels.

Lifecycle emissions for the BEV break even with the ICE vehicle around 80,000 miles of use.  Here is a recent research note placing the breakeven point at 124,000 miles, and here is an ambitious study which calculates the total global warming potential (GWP) along with other forms of ecological damage.

Below is the chart from the study.  You can see that the various electric vehicles improve slightly on ICE vehicles for GWP, but look at those other metrics!

In case you don’t have the legend in front of you, those four metrics where the electric vehicles far exceed ICE vehicles are:

  • Human toxicity
  • Freshwater eco-toxicity
  • Freshwater eutrophication
  • Mineral resource depletion

It’s the water pollution that bothers me.  Water scarcity is one of the principal threats from global warming, already a clear and present danger, and yet here we are polluting tons of it to make batteries.

The great hope here is recycling.  To the extent that minerals can be reclaimed from batteries at the end of their service life, this could reduce demand for new mining.  Unfortunately, current capabilities for recycling are not great.  They have low yields, and they’re energy-intensive.

So, it’s that catch-22 again, where we burn a load of fossil fuel to recycle our “green” batteries.  If car makers really had faith in recycling, they would not be pressing the government to relax environmental protections around lithium, cobalt, and nickel mining.

The tragedy is that ICE vehicles were making good progress toward the fabled circular economy.  When I worked for BMW, there was a goal to make cars 95% recyclable.  Our engineers designed everything to be removed, refurbished, and recycled into new cars.  If someone ever figures out “net zero” recycling, I’m sure it will be BMW, but meanwhile we are facing a growing pile of battery waste.

I have kept this post short by focusing only on the ecological dangers of battery-electric vehicles, and overlooking other challenges, like grid capacity.  Nor have I discussed alternatives, of which there are many.  There are social solutions, like mass transit and remote work, as well as engineering solutions.

“Electrification is a technology chosen by politicians, not by industry.”

In this interview, Carlos Tavares alludes to EV hybrids.  Other solutions, like fuel cells and hydrogen combustion, have received a fraction of the attention and investment given to electric vehicles.  As Tavares says, this is a result of politicians’ need to be seen taking action, even if that action is ill-advised.

With mandates in one hand, and billions of incentive money in the other, politicians are stampeding the industry toward their chosen technology.  This is not the right way to stimulate innovation.  Regulators should specify a carbon-emissions target, taking the full lifecycle into account, and then allow industry R&D to find the best solution.