-
-
-
-
URL copied!
While ideating any software, functionality and its implications on the business and revenue are typically major focus areas. Functionalities are further broken down into requirements, then features, user stories, and integrations. But when it comes to actually developing that software, another mindset takes over. The key focus on the architect’s mind is more often, “What are the non-functional requirements here?”
Non-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.
The Importance of NFRs
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.
NFRs Through the Lens of Mobile App Development
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
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.
Adaptability
In the context of mobile application development, if an application meets all its functional requirements under the following conditions, it meets the adaptability NFR:
- Support for a wide range of screen resolutions.
- Support for a wide range of Manufacturers (In Android).
- Support for the maximum possible backward compatibility OS versions.
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
Availability
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
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).
Data Integrity
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.
Data Retention
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.
Deployment
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.
Efficiency
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
Privacy is an important aspect of mobile applications. In terms of privacy NFRs, the following are important considerations:
- Media files containing user-specific data should be stored in the application’s private storage and encrypted.
- Media captured from the application should not be shared directly.
- Copying text from the application should not be allowed.
- Screenshots should not be allowed.
Reporting and Monitoring
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.
Security
Privacy and security are interlinked and in terms of security NFRs, the following are important considerations:
- The application should be signed with appropriate private certificates, with a policy guiding certificate storage and usage.
- The application should not install on authorized/tampered versions of operating systems.
- Data should be encrypted both at rest and in transit.
- Application access from other applications should disabled by default.
- All other platform-specific security guidelines should be followed.
Usability
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.
Key Takeaways
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:
Top Insights
If You Build Products, You Should Be Using...
Digital TransformationTesting and QAManufacturing and IndustrialPredictive Hiring (Or How to Make an Offer...
Project ManagementBlog Categories
Let’s Work Together
Related Content
Generations and GenAI
This is probably a well-known fact in sociology or some other such discipline, but it struck me the other day that only the generation that knows how to do something can be the one to make that thing obsolete. Take driving a car, for example. My generation and the ones preceding me in the U.S. … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
We’re getting the chance to live in the future
Early 20th Century motivational speaker and author Dale Carnegie once wrote “Today is the tomorrow you worried about yesterday.” I believe that Mr. Carnegie’s point was that unless today is the literally the worst day of your life (and my sincere sympathies if it is), then the energy you spent worrying about it yesterday was largely wasted. I haven’t read much … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
Intelligence is Intelligence, even if it’s Artificial
I had a stimulating conversation with the head of our GenAI practice, Suhail Khaki, a few weeks ago. Suhail made the remark that the more he works with GenAI, the more it strikes him that it’s less like conventional computer software, and more like a person in the way it interacts. He made the remark: … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
Retail as a Conspiracy
I was one of the early buyers of the first release of Apple Vision Pro AR headset early this year. I got up at 5am my time to place an order on-line at the first moment when the device became available for pre-order. I then made an appointment at my local brick-and-mortar Apple Store to … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
The “hype cycle” is about the hype—not the technology
The hype cycle has little to do with the merits of a particular technology. It simply has to do with the amount of publicity the technology has received. In particular, if the publicity jumps ahead of what the technology can immediately deliver, then the technology quickly gets labeled as “over hyped”. This is not the … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
5 Trends & Takeaways from Google Cloud Next
Executives, decision-makers, technical experts, and Google Cloud partners converged at Google Cloud Next to explore cutting-edge innovations and industry trends. GlobalLogic was there, speaking about modernization strategy and delivering a Cube talk on Intelligently Engineering the Next Gen AI Platform we are building for Hitachi. Among the buzz at GCN 2024, using GenAI for customer … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
Give yourself a promotion using GenAI
I think we’d all agree that getting promoted is desirable. Higher wages, better job title, greater impact, and perhaps more prestige. But it’s not without its problems. Like many engineers, I started out writing code. I was good at it, and customer demand increased for my services. I then started hiring other engineers and promoted … Continue reading 12 Key NFR Considerations for Mobile Application Development →
Learn More
Share this page:
-
-
-
-
URL copied!