Four mobile project requirements that are usually overlooked
Mobile application development has become one of the hottest topics in the IT industry; more and more companies are now initiating mobile projects to help improve their business. Doing good mobile projects is more than hiring good mobile developers. It is also properly managing the project in different perspectives—requirement, design, development, testing and releases.
This is the first blog post in a series about better managing your mobile application projects. The series won’t cover every single detail in mobile application projects management, but it will focus on some key points that can help you to improve your mobile project outcome.
The first challenge that we face in mobile application projects is how to gather a set of proper mobile project requirements. A poor set of requirements can result in project failure.
Here are the top four requirements that are usually overlooked for mobile application projects in my experience.
1. User experience
Everyone is talking about user experience nowadays, but it is an area that is generally overlooked or improperly captured. User experience is more than making the mobile application look nice. It also means focusing on interactions between users and the application.
A good user experience should enable the user to interact with the application naturally, without the need to read comprehensive guidelines or attend trainings. The user should be able to learn by using the application and be able to discover functionalities easily.
Though there are a number of best practices around the web, the actual user experience requirements are difficult to define and capture until the users are actually interacting with the application. Getting users involved in the UI design workshop as early as possible, and producing and revising mobile prototypes with an iterative process, are keys to minimizing the requirement gaps in this area.
2. Interruption handling
Unlike traditional web applications, there are always interruptions to your mobile application, such as incoming phone calls, text messages, low memory or low battery warnings. The mobile applications need to handle those interruptions gracefully.
It is important to communicate and define the expected behaviors clearly in the beginning of the project to align with user expectations. It is unwise to leave the interruption handling set to device defaults that may not make sense in the specific user scenario and could cause customer dissatisfaction. What if you lost all of your data when you received a phone call because the interruption settings weren’t right? How would you feel?
If the application involves network connections to a server, there are typically three types of performance issues that you need to consider and document as nonfunctional requirements and assumptions:
- Client application performance
- Server performance
- Network performance
The network performance is generally the most overlooked aspect. Unlike a traditional web application, the network performance of a mobile application is not guaranteed; the users may be using WiFi, 4G, 3G or even 2G connections. The network performance may become the major bottleneck of the end-to-end performance.
In certain scenarios, it worth taking consideration of the network performance in the early stage of the performance test so that it can be catered to properly before you roll out the application.
Accessibility may be the most misunderstood area among the four requirements mentioned in this blog post. Accessibility is generally known as adding alt text attributes in the HTML elements of the page so that the images or graphs within the page can be read by screen readers. However, voice over is just a small part of accessibility. It also covers areas like font sizes, color contrasts and readability of the text, which assist people who are colorblind to use the application. These can’t be overlooked if you are targeting to build a better mobile application.
Can you think of any other commonly overlooked requirements that you are experiencing in your mobile projects?