What CIOs need to understand about mobile development
According to author Brian Chavis, the effect that mobile development has on timing in enterprise systems requires new strategies from organizations and their IT teams.
Mobile initiatives are a major part of the technology shifts that have transformed application development in recent years. While these changes have made developers' jobs easier in some ways, they have also introduced a host of new risks and challenges.
Mobile systems can capture events from virtually anywhere and far more quickly than traditional enterprise systems. If organizations make the right decisions, this shift could bring greater accuracy and agility to their systems. But if not, the myriad factors involved in mobile development could overwhelm IT staff.
"IT professionals and database programmers can very easily develop mobile apps now," said Brian Chavis, author of the book Truth in People's Hands. "But when you start to connect that to your enterprise system -- Salesforce, for example -- then you have to be much more careful, much more rigorous."
In his book, Chavis discusses the most critical pitfalls and best practices that organizations need to be aware of before adopting mobile initiatives. Although he's been developing apps for 50 years, he said he was struck by how drastic the shift was when he started working on mobile projects. "The programming is similar, but the way that you interact with all the different systems has changed," Chavis told TechTarget.
The book highlights the biggest differences between traditional and mobile enterprise systems, and how they should shape CIOs' approach to mobile app development.
Mobile development is widely accessible
A defining difference between mobile and traditional systems is that mobile is so accessible. Novice developers can build mobile apps more easily and inexpensively than ever before.
Brian Chavis
Just a few years ago, an organization trying to develop an app quickly would need to outsource to an external development firm and go through several rounds of changes and prototypes before launch. Today, mobile platforms are widely accessible and comparatively easy to navigate.
"[An organization's] own people can take these projects on, which is a lot less expensive, and the iterations back and forth on what it looks like, what it's going to do, all those kinds of things are streamlined," Chavis said. "I mean, it's like drag and drop -- until you get to the point where, 'OK, this has to really work all the time.'"
At that point, CIOs and IT professionals must consider factors like timing, idempotency and automation.
Timing is sped up in mobile systems
Timing is one area where mobile can bring new benefits, but many organizations fail to realize them. As Chavis explained, being able to record an event as soon as it occurs makes it easier to keep systems secure and functional. However, enterprise systems often aren't designed with interfaces that are intuitive to mobile users or get information into back-end databases directly.
"It's a hard concept to kind of get your head around," Chavis said. "The moment of truth is a time that's observed. Everything's fresh. But [in] a lot of companies, somebody's emailing somebody who has a spreadsheet. And then they eventually take what's in the spreadsheet and put it in the system."
Chavis highlights this common problem in his book: Observations are recorded in informal channels, such as text messages and spreadsheets, before being entered into the real system of record. The longer the observation takes to move through these channels, the more it loses context. Chavis compared it to a game of "Telephone," where the raw truth of the initial observation warps over time. To avoid this issue, organizations must let data enter the system immediately.
"It's really important that the truth happens at the moment it's observed," Chavis said. "And everybody has a computer in their hand, right? Why not?"
In addition to organizational habits, technical architecture can contribute to delays in mobile data capture. In many enterprise system architectures, mobile apps pass data through middleware rather than writing to the database directly. While this remains a challenge, in the coming years, Chavis foresees CRMs and other enterprise systems supporting more direct connections between the mobile app and the back-end database.
"The whole privacy issue is going to play into this, to where the enterprise systems are going to figure out that, 'Hey, we need a way that somebody can directly interface with us in a secure manner,'" he said.
Mobile systems are horizontal
The last major difference is that traditional systems are vertical, while mobile systems are horizontal. This difference can also be a potential source of problems.
Traditional architecture is a vertical stack, where everything -- including the server, database and software -- runs in a predictable environment. Mobile architecture, on the other hand, is horizontal, which means it's distributed across multiple independent systems, from thin client apps to automation platforms to enterprise databases.
In a horizontal system, it's harder to control each of the moving parts and ensure consistent, idempotent execution. If something goes wrong in one of the smaller systems inside it, that can affect the other systems in unexpected ways, and it can be difficult to fix. Chavis gave an example of when the credit card he had used to pay for an automation service expired, causing the automation pipeline to stop executing.
"In the old days, you had one system, one server, one company, and everything was taken care of. But now, if my credit card failed on any one of these services, the system went down," he said. "When you get horizontal, the whole game changes."
According to Chavis, this is the biggest blind spot for organizations when they start to explore mobile and no-code initiatives. They typically need accounts with multiple vendors they've never used before, each playing a specific role in the horizontal architecture. It's part of why mobile development is now so accessible. However, it creates dependencies across numerous services, any of which can become a point of failure. To deal with this challenge and adapt, CIOs and IT staff must simplify workflows and carefully manage distributed responsibility.
"[Organizations will] realize very shortly that they need to have more than one account with a lot of different players, because all these things kind of go back and forth," Chavis said. "Mobile apps can be very inexpensive to develop now, which is different, but there are all these kinds of holes you can step in."
Read this downloadable excerpt from Truth in People's Hands from the chapter "What to Ask Your Team." This chapter covers the most important questions for organizations and their development teams to consider when taking on mobile and no-code initiatives.
The book is available from Leanpub.
Brian Chavis is an enterprise systems architect and former MSP executive. With over 30 years of experience in enterprise technology, he has spent most of his career helping organizations design operational systems to align with business needs. More recently, his focus has shifted to mobile systems and distributed workflows, as well as how these can integrate with traditional enterprise systems.
Katie Fenton is a site editor for Informa TechTarget's Enterprise Software group. She covers end-user computing, with experience writing about enterprise desktop, mobile computing and virtual desktop topics.
