Tehnološka rješenja
Tehnološka rješenjaSince COVID, the reliance on cloud has spanned across all industries. However, not all ...
Open banking is making it easier than ever for banking clients to share their financial...
SANTA CLARA, Kalifornija – 10. siječnja 2025. – GlobalLogic Inc., tvrtka iz Hitachi Gru...
SANTA CLARA, Kalifornija – 11. prosinca 2024. – GlobalLogic Inc., tvrtka grupe Hitachi ...
GlobalLogic provides unique experience and expertise at the intersection of data, design, and engineering.
Get in touchNon-functional requirements (NFR) are the criteria or parameters that ensure the product delivers on the business requirements – speed, compatibility, localization, and capacity, for example. While functional requirements define what the app should do, NFRs define how well it should perform and meet user expectations.
NFRs are an essential aspect of software development and act as base requirements around which the system architecture is designed. System architecture designed around a well-established NFR provides a road map for designing software architecture, implementation, deployment, and post-production maintenance and updates.
Many known NFRs were defined before the first mobile application was developed, making it essential that you contextualize these NFRs from a mobile development point of view. But which of these non-functional requirements are applicable to mobile application development, and what considerations must you keep in mind when planning your own mobile app project?
In this post, we’ll explore how NFR impacts mobile application design, development, and support, looking at each requirement and what it involves in turn.
These are the non-functional requirements to consider when designing mobile applications. Some are applicable only to mobile, while others vary only slightly from web app development NFRs.
Accessibility as an NFR refers to how the app supports users with special needs or is used under specific circumstances; for example, User with Low Vision. While there are many accessibility requirements to meet in mobile application design, using voice commands to control and navigate through the application is a particularly important NFR. Additionally, accessibility can be increased by adding special gestures such as double tap and long press to perform essential functions.
In the context of mobile application development, if an application meets all its functional requirements under the following conditions, it meets the adaptability NFR:
Adaptability can also be an NFR for ensuring the application runs smoothly under low bandwidth conditions.
Recommended reading: Selecting a Cross-Platform Solution for Mobile Application Development
If a mobile application is directly dependent on backend API and services to execute its functions, its availability is dependent on the availability of those backend services. However, in a mobile context, availability as an NFR pertains to the execution of possible functions even if the backend API is not available For example, can the user perform an operation that can be synchronized later once services are back online?
Compliance in mobile applications largely revolves around the protection and privacy of user data, with requirements set out and enforced by HIPAA, GDPR, etc. If privacy and security NFR is achieved on the backend and in mobile applications, in most cases, compliance is also achieved (unless there are specific compliance requirements).
In mobile apps, data integrity involves the recovery of data for the smooth execution of the application, with the expectation that the app will recover and retain data as intended when users change the device, a new version of the application is installed, or the user performs operations in offline mode.
In mobile applications, it is expected that data is synchronized with backend services, and for that reason, it’s generally not advised to keep large-size persistent data locally. “No data retention” as an NFR applies to mobile applications. However, when there is a requirement to keep extensive data in local persistent storage, the volume of data – not the duration – should be the driving factor for the data retention NFR.
Mobile application deployment occurs mostly in stores provided by Android and Apple, which follow their own process to make applications available. Updates are not available to end users immediately as a result. Deployment as an NFR in the mobility context (apart from its basic specifications) is focused on informing users about the availability of new versions and stopping application usage if mandatory updates are not installed. Both the App Store and Play Store provide configurations to prioritize mandatory updates. Still, the system can be designed to enforce mandatory updates for a smooth application experience to the end user.
Unlike web or backend applications, mobile applications run on mobile devices with limited resources such as memory. Given that they are also battery-powered, efficiency is an important NFR. It is a must for the mobile application to run efficiently, with a low memory footprint and battery consumption.
Privacy is an important aspect of mobile applications. In terms of privacy NFRs, the following are important considerations:
Reporting and monitoring NFRs are crucial from a support and maintenance perspective. Since mobile applications are installed on users’ devices, it’s difficult for the support team to have direct interaction, screen share sessions, or access local log files. Remote logging and analytics solutions such as Firebase or Countly are needed for that reason. These solutions can capture events, user actions, and exceptions, and can help to analyze application usage patterns.
Privacy and security are interlinked and in terms of security NFRs, the following are important considerations:
Due to the small form factor, usability is an important NFR. In general, users should be able to navigate through applications and access important functions with ease, most often with single-hand operations. UX design should also consider having a minimum scrolling screen, or search functionality for scrollable content, and quick navigation for important functions.
Addressing NFRs requires a proactive and comprehensive approach from mobile app developers. It begins with thorough planning and analysis to identify the specific NFRs relevant to the project. Setting clear and measurable targets for each requirement is essential to ensure that the app meets user expectations.
Throughout the development process, consider NFRs at every stage. Developers should continuously evaluate the app’s performance, security measures, and usability, making necessary adjustments and optimizations to meet the desired requirements. Close collaboration between developers, designers, testers, and stakeholders is crucial to effectively address NFRs and ensure a high-quality mobile app.
Rigorous testing methodologies, such as performance testing, security testing, and compatibility testing, will help validate the app’s adherence to the defined NFRs. Automated testing tools and frameworks can help streamline the testing process and identify any potential performance bottlenecks, security vulnerabilities, or compatibility issues.
Keep in mind that NFRs are not a one-time consideration. As technology evolves, user expectations change, and new challenges arise. Mobile app developers must continuously monitor and adapt to emerging trends and technologies to ensure their apps meet evolving NFRs.
Prioritizing NFRs and integrating them into your development process will help your team deliver mobile apps that not only meet functional requirements but also excel in performance, security, usability, compatibility, and scalability. Such apps have a higher chance of success in the highly competitive mobile app market, delighting users and establishing a strong reputation for the development team.
More helpful resources: