The “iceberg principle” is a metaphor Intuit CTO Tayloe Stansbury often uses to describe how the company develops its solutions—but what does that phrase actually mean?
“Everything you see above the water line is the product, it’s what our customers see,” explained Intuit’s chief mobile architect Desirée Gosby in a talk about mobile development at Velocity Santa Clara this week. “Everything below water is the foundation for that product. Although it’s not visible to the customer, without it, you can’t build the core of the product.”
It’s this critical distinction between the core of the product (everything above the waterline) and the context of the product (everything below the waterline) that has helped Intuit rethink how it develops its 20-plus mobile applications across multiple platforms and form factors.
The company currently has more than a dozen mobile teams and some 120 mobile developers building finance apps for consumers and small businesses. According to Gosby, this widespread effort presents a key challenge: “How do we keep these teams as productive as possible, while innovating and solving core customer problems in a mobile context?”
Empowering developers with “mobile-ready” services
Traditionally, Intuit had its mobile teams equally divided to work on both the core and context side of its products. So core-focused teams were stuck spending a lot of time on context-like tasks, such as A/B testing or crash reporting; they didn’t have enough time to focus on core tasks like improving the customer experience.
Today, the company has flipped the model so that core teams can focus solely on customer experience-related tasks, while a single, context-focused team dedicates its time to building the infrastructure and foundation for all the company’s mobile products. Using an internal self-service portal, core teams can access all the “mobile-ready” services they need (infrastructure for location-based services, automated testing, or app store submissions) with minimal effort. They can easily build the app without having to figure out the behind-the-scenes details.
Providing common UI widgets
In addition to this central services function, Intuit also finds a way to easily scale its mobile app development by starting with common design patterns. “We have a common design pattern library that articulates the different constructs, features, and interactions that should be used in our mobile apps,” said Gosby. This not only helps simplify and speed up the process of figuring out UI functionality, but also ensures that the company is compliant with the app store guidelines from Google and Apple.
Whether it’s layouts, navigation, data entry, or controls, “You shouldn’t have to redo these type of things,” Gosby said. Intuit makes these design patterns available as code and internal open source so that there’s still room for experimentation.
Building dynamic user experiences
Looking ahead, Intuit aims to move faster in the experiences it creates for Web, desktop, and mobile using templates defined by each possible experience. This lets core teams explore new features, and it means that rather than doing a lot of things reasonably well, they can focus intensely on innovation.
Among Gosby’s key takeaways, perhaps the most important was to remember to “get out of their way,” and make it as easy as possible for mobile developers to rapidly innovate with context “on tap.” Cheers to that!
Gosby image by Asami Novak for New Relic.