Enterprise architects and software developers should start getting comfortable with the unsettling idea of prioritizing mobile development strategies over traditional web based development plans, and start architecting new applications using a mobile first strategy.
"Enterprises are moving toward a 'mobile first' strategy" said Codenvy CEO Tyler Jewell in a recent interview with TheServerSide. "Whatever application you are going to build, the thought process is 'build it for mobile first,' and then make sure that mobile first strategy has a Web strategy, and then maybe a command line or even an API strategy alongside of it."
It may seem like a mobile first strategy is putting the cart before the horse, but the reality is, this is a highly pragmatic approach to developing a software architecture that provides the following five very tangible benefits
1. Organizations gain a market presence faster
With mobile applications, the goal is not to produce a feature-full application that performs every conceivable task the end user might want. Instead, mobile applications tend to provide users a subset of the most common tasks that need to be performed. Because mobile applications are smaller in scope, they tend to have shorter development lifecycles, resulting in a faster time to market.
2. Mobile's focus on features helps to minimize scope creep
All enterprise applications suffer from scope creep, and this scourge of software development can significantly delay software releases. With mobile applications driving the software development lifecycle (SDLC), Web development teams will be able to focus on the key features the mobile client already uses, making feature creep far less likely.
3. Streamlined web development
Mobile devices are a gold mine for acquiring feedback on which features are being used the most, and conversely, which features are not being used at all. If application architects can identify early on in the application lifecycle which features end users rarely use, those features can be removed from the Web interface, streamlining the Web development process and subsequently helping to create a browser based UI that is better suited to the needs of the end user.
4. Performance Tuning
Since a mobile application will be using the same set of back-end services and technologies that the traditional, Web-based front end would use, any performance problems or scalability issues that arise when mobile users interact with the system can be identified early and dealt with before any feature-full Web based applications go into production.
5. Competition between teams
A little healthy competition between application development teams is always a good thing. If the crew working on the Web UI see the mobile team achieving a constant string of victories, it will only motivate them to work harder and produce better software.
"Increasingly we are seeing applications being developed that need multiple interfaces," said Jewell, adding the point that Codenvy is "increasingly seeing applications being developed that need multiple interfaces." With one of those "multiple interfaces" most likely being a mobile UI, enterprise architects and software developers need to start prioritizing their mobile development strategy over their traditional Web-based one, and take a "mobile first approach" to application development.