Tag: mobile app

  • Part 2: Meeting relentless mobile app demand

    Part 2: Meeting relentless mobile app demand

    As we discussed in  Meeting the Relentless Mobile App Demand of the Enterprise, the enterprise thirst for mobile apps will far outstretch what enterprise internal development teams will be in a position to produce.

    Developers will need every edge provided to them in order to help their enterprise success. And there’s no doubt that IT teams need to be agile and move as quickly as possible and this is as true with mobile development than anywhere. By not being able to meet the increasing demand for enterprise mobile apps, enterprises can’t be as effective and productive as they need to be. That creates substantial business opportunity costs.

    Here are some ways I think enterprises can improve the mobile app development efforts, in addition to what Gartner suggested, detailed in our part 1:

    Adopt agility. Enterprise IT is changing rapidly. The tight collaboration with development and operations teams, drive for agility, continuous development and other approaches that are increasingly mainstream are pushing applications out into production, and updating existing ones, more quickly than ever was before possible. Not only do successful DevOps organizations have short app backlogs, they are more innovative. Our special guest contributor Matt Selheimer wrote am insightful series that culminated with DevOps with purpose: ACT-ing with greater agility that details how to be more agile through DevOps practices.

    The more agile your organization, the more swiftly they can re-adjust and move always be producing the apps that matter and those that will drive the greatest business impact.

    Leverage APIs. Instead of building apps from scratch and creating more data silos, take a page from Gartner’s advice on mode 1 which is building infrastructure and APIs. Most existing large enterprises have enormous data and application and database silos. One effective way, when possible, to unleash that data and reduce silos is through APIs. APIs are the most straightforward way to build the capabilities the business needs through    extending the utility of existing applications.

    Leverage the cloud to the hilt. Whenever possible, it’s time to go cloud first. It’s time to gate legacy on-premises systems and maintain them until they can be displaced. This will include public, private, and hybrid cloud architectures – but the more rapidly legacy on-premises systems can be retired the more agile IT can be.

    Our post, Three tips for maximizing efficiency in the age of the hybrid cloud environment, provides insight into how to manage hybrid cloud environments.

    Choose cloud and development platforms carefully. There are a number of other critical platform questions, too: Can the data be provided wherever the user needs it? Does it help alleviate security, privacy, and regulatory compliance demands? And can the platform help with role-based identity management and provide for auditable access control?  All of these things being provided as utility help expedite application development and clear your app backlog.

    The more people in your organization who can develop the better. This could come in the form of training non-developers to build some of the app capabilities they need in cloud platforms and with very high level coding tools. It’s easier now than ever before for anyone to create business process workflows with hardly any code.

    Be MVP lean. The Minimum Viable Product (MVP) is a viable way to identify mobile apps that are in need and will likely provide the most immediate value. Simply defined, the MVP consists of what is only necessary to get the task done and little more. If the app is successful, it can be improved upon and iterated based on user feedback and business need.

    One way DevOps helps to achieve this is through splicing development time so many apps can be worked on incrementally, and the MVP concept is ideal for this type of workflow. It makes it easy to re-prioritize apps and new incremental work on existing ones based on pressing business priorities.

    I’m sure there are other ways to help make mobile app development efforts both effective and strategic to the enterprise rather than fire-fighting app demand. If you have any ideas, we’d like to hear them in the comments below. What strategies, tools, techniques are your organization using to increase mobile app development efficiency?

  • The Three “S’s” To A Successful App, Pt. 1

    The Three “S’s” To A Successful App, Pt. 1

    Developing your first app can be a daunting task. Many first-time developers may overlook, or over think, certain aspects of building their first app. Through scores of conversations and interactions with developers, I established common pain points and gathered advice that they themselves wish they had known before building their first app. With all of the collective feedback, I was able to identify the three “S’s” to building a successful app:

    • Scalability – knowing how to grow the app as user engagement increases
    • Simplicity – understanding which features are most critical to users
    • Streetsmart – analyzing the marketplace and differentiating the app

    This series of articles will discuss each “S” in detail, share developer stories and offer practical advice for first-time app developers.

    In conversations with developers about building their first app, several of them mentioned how the app turned out to be much more successful than they had originally anticipated, which in turn, lead to support issues due to the influx of traffic. These stories are what lead to the first “S”: scalability.

    What does it mean to scale an app?

    Scaling an app means architecting the app to accommodate the size of the audience that your organization predicts. While the future success of an app and brand it’s associated with is ultimately unknown, projected audience size is a key factor used to help guide developers to make the best decisions with regards to scalability. When projecting audience size, it’s important to make a bold prediction that’s an order of magnitude greater than the best case scenario. Why? Because it’s better to be over prepared than under. However, resources should not be exhausted and the app should not be over engineered.

    Finding the sweet spot

    Finding the sweet spot between scaling for a current audience size and a magnitude greater than the best case scenario can be tricky. The greatest factor in deciding this is the size and stage of the company. In the case of Uber for example, the app will need to be extremely robust right off the bat because the app is central to the operation of the organization. But with an organization such as Yo, the app does one thing and has a clearly defined scope, so the focus should be placed on getting the product out in the market and and scaling from there. Once an organization has found its market fit, scale should be at the forefront of the agenda. Because if scale is not top of mind, that’s when challenges will occur.

    Overcoming Challenges

    Developers are often faced with hurdles when their distributed systems do not allow for components to communicate together. Applications can’t achieve scalability if the different system components do not work seamlessly as the load increases.

    For example, if there is one server with one database that handles all of the read/write connections, it is rather easy to maintain; there is only one pipe to be concerned with. But when that database crashes due to traffic increase and lack of scalability, the app will stop functioning. So to add scalability to support the increased user-base, the database server needs to be replicated with load balancers that understand when the database server is overloaded and can transfer traffic over to a new one and so forth.

    To achieve this, it takes a combination of network expertise, smart app architecture and building smart connection points between the different services.

    Final Thoughts

    Scalability is just one factor that contributes to the success of an app. When developing your first app, whether it be for robust use or for a clearly defined scope, it is paramount to keep your database servers and the connections between them in mind because those smart connections are the key to building a successful platform for future users.