to discuss how Apperian Customer Solutions can help you deploy a suite of enterprise apps in weeks, not months; integrate secure mobile apps with back-end IT systems; and, increase your mobile ROI.
By David Goldstein (Project Management Professional – PMI Institute)
- Manage the customer’s perceptions
Customers often approach us with ideas for apps without having prior app development experience themselves. Due to the ubiquity of apps and the seeming ease with which they are created, customers expect their apps to perform like the best apps with only a modicum of development effort. Since a quality app takes lots of time and effort to build, carefully explain the steps required to plan, develop and test an app in order to ensure that a suitable product can be developed in a timeframe that meets your customer’s high expectations.
- Adhere to good project management processes
The limited scope of a particular mobile app development project is no excuse for neglecting good project management processes. Doing the work early on to carefully define a project’s scope, thoughtfully elaborate on a schedule and define the criteria a project’s success will eat up some time but it will pay off later when your team executes on a clear set of timelines and objectives.
- Document. Document. Document.
Wireframes and creative comps are great for visually depicting an app’s functionality, but their will always be functionality that needs to be written down. Having a thorough requirement specification will eliminate customer confusion about how their app will perform and give your QA department a great starting place to write their test cases.
- Review Apple’s submission guidelines
Apple is well known for rejecting apps that don’t meet their submission guidelines. Before Apple published their submission guidelines little insight was available into what would and would not be acceptable. This is no longer the case. However, some of the reasons Apple would reject your app are unexpected. Case in point: Apps that mention contests must display the terms and conditions on the same page as the contest itself. Before you engage in a requirement discussion with a customer, carefully review the latest submission guidelines so you are not caught off guard.
- Get formal sign-off before starting development
This tip is a no-brainer, but should be mentioned regardless. Without formal client sign-off on requirements you will leave the door open for client changes when the app doesn’t work as expected and you will be on the hook to make any requested changes before the app can be submitted.
- Keep your customers busy
If you are in the mobile app business you are accustomed to moving at light speed. Chances are your customers don’t move as fast. Fortunately mobile app development can be a two-way street when the app you are developing needs to interface with your customer’s backend systems. If this is the case, you should set clear requirements and timelines for client deliverables. When a customer delivers web services to interface with the app be sure test these thoroughly and quickly point out any inconsistencies. This will buy you and your development team some breathing room.
- Ask your customer to write their own test cases
Asking your customers to write the test cases provides them with added security. They will know that your QA team will test the app to their specifications. They will also be forced to think about all the ways their customer’s will use their application. This may make them realize that the application needs to be modified. Later on, if a bug is found that requires a significant change to the app you can always refer back to the test cases that your customer authored.
- Ship customers interim builds to ease their anxiety
Shipping customers builds on a regular schedule will ease their minds that the overall development schedule is on track. However, it is important to set expectations about the features that will be included. It is always a good idea to have as few bugs as possible in these builds, but if their are known bugs report them to the customer when you ship the build. Be careful though, nothing scares a customer more than receiving a half baked version of their app!
- Understand the differences between platforms
Unless you are writing apps that utilize video, the processing capabilities of the phone or location based services then developing for different versions of the iPhone is fairly straightforward. This is not the case for Android. Different screen resolutions and device capabilities can make app development more challenging than it already is. Be sure to work with your client to select a subset of devices from all the Android devices available in the marketplace. Also, make sure your QA group has the appropriate devices available at the start of testing.
- Only support the latest mobile OS versions
With the current pace of mobile OS development change is the norm. Apple and Google include many new and improved function calls in their SDK’s with every major OS release. Developing for the most recent mobile OS can save your development team days if not weeks of additional development. Luckily, mobile device users are much better at upgrading the OS’s on the devices than desktop users. Share statistics with your client depicting the pace of mobile OS adoption to get them to agree to support only the latest version of a mobile operating system.