UPDATED 16:31 EST / MAY 30 2014

Betterment DevOps Profile: Development and the mobile vs. web experience

betterment_283_224_v2_0Betterment, developer of an online investment app, launched at TechCrunch Disrupt 2010 with a web and mobile product directed towards consumers interested in managing their own money. Their road from a startup with an interesting idea to a powerful app set that includes DevOps, automated testing, and end-user support has been fraught with challenges.

According to company sources, since 2010, Betterment has amassed 35,000 customers and currently have $600 million in assets under management.

Betterment’s full team is roughly 52 people (and growing) with about 23 on the engineering team.

Engineering is broken up by domain teams, which intermingle on projects and features. Those domains are Customer/Product Experience, Trading and Automation, DevOps and Data/Business Intelligence. When it comes time for a team to work on a project sometimes members of other groups migrate with a sort of ad hoc allegiance to get the right expertise in the right place. The small engineering team size makes this much easier.

Mobile now falls under the customer experience umbrella, but Betterment currently has no dedicated  mobile team yet.

As for DevOps, Betterment is still forming their approach but it follows similarly to the rest of the engineering team. Currently the company uses its DevOps team for quality assurance and automating testing using open source tools. In the future, Betterment hopes to expand DevOps into orchestrating configuration for the many devices and platforms that exist in the wild in a more automated way.

The web vs. mobile experience

Aside from delivering content to the web, Betterment also develops for iOS and Android mobile devices. To better understand Betterment’s development process and the challenges, SiliconANGLE spoke with Dustin Lucien, VP of Engineering, Betterment.

According to Lucien mobile has a huge impact on the development and DevOps lifecycle for Betterment.

While Lucien would rather be delivering web pages to mobile (or at least to an HTML5 renderer) because that could solve a lot of the problems that arise from mobile devices. That is, mobile devices come in all manner of shapes and sizes and run a variety of native systems, each of which have their own quirks that need to be managed.

“We try to keep our mobile experiences as thin as possible.”
– Dustin Lucien, VP of Engineering, Betterment

Lucien says that developing for mobile is hearkening back to the era of software released on CD. Development teams would put together a product, run it through testing, and then release it on gold disc for production. The advent of the Internet and the web mostly did away with this paradigm because software releases could essentially instantly to the web. However, with mobile app stores, and the need to get app updates authorized, development teams must go back to prioritizing features and bugs and getting the gold disc through the authorization process.

Although that turn-around usually fairly quick (usually on the order of days) the big issue that arises is the need to support older versions of the client. ”There’s always the chance that someone has chosen not to upgrade to the newest version for awhile,” explains Lucien, “and that case has to be handled.”

The result: the Betterment mobile teams attempt to treat mobile as much like web as possible.

“We try to keep our mobile experiences as thin as possible,” says Lucien. The team follows a strict and disciplined philosophy to make sure a minimum of business logic gets into mobile/web experiences. “This isn’t always possible,” he adds. Much of the core logic is pushed down into the platform and delivered so that the mobile device acts more as a thin client. This allows the team to treat mobile devices a lot more like web browsers, which in turn lowers the need for app updates.

Although development for mobile and web experiences are treated as separate product teams, people do shift between the two when needed. To ease differences between web and mobile development teams, both products draw from the same API.

Because of the specialized role mobile has, and the need to remain thin, mobile lacks the rich interactive content experience that’s possible on web. And some challenges on mobile don’t appear when developing for the web.

For example, since Betterment provides the capability of changing allocations on investment it’s not safe to allow the application to run in the background (for security reasons.) As a result, when people switch away from the app it locks out the session so that it cannot be easily hijacked. To ease the customer’s switch back to the app a PIN is needed to restore the session.

The PIN logic has back-end support on Betterment’s servers that works only with the mobile experience.

DevOps

The DevOps team at Betterment is small, but dedicated specifically to that role, and exists in a tightly focused but still developing philosophy. Lucien explained that the DevOps team is currently about three people who support infrastructure and deployment automation, as well as quality assurance and test automation.

This unit allows Betterment to quickly and easily choose features and projects as needed from the host of developing needs.

Since DevOps is still expanding out from quality assurance and automated testing, Betterment’s dedicated team focuses primarily on product testing. To do this for mobile and web, Betterment turned to the open source automated testing software Capybara.

Capybara is a Ruby-based automated testing suite that automates test suites on web (and mobile) applications by simulating web traffic. Capybara has been around for four years and last updated for months ago, with a lively Google Groups community constantly supporting it. A good choice for simple open source testing automation.

Betterment’s product line and engineering team are still relatively small, but growing. A small, agile DevOps team using publicly available software to configure and manage automated testing allows the team to quickly prepare and profile tests for upcoming features and reuse those tests for future releases.


A message from John Furrier, co-founder of SiliconANGLE:

Your vote of support is important to us and it helps us keep the content FREE.

One click below supports our mission to provide free, deep, and relevant content.  

Join our community on YouTube

Join the community that includes more than 15,000 #CubeAlumni experts, including Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger, and many more luminaries and experts.

“TheCUBE is an important partner to the industry. You guys really are a part of our events and we really appreciate you coming and I know people appreciate the content you create as well” – Andy Jassy

THANK YOU