Parasoft announced complete support for the newly updated 2019 Common Weakness Enumeration (CWE) Top 25 and "On the Cusp" (an additional 15 weaknesses) for C, C++, Java, and .NET languages.
The traditional methods used to define and develop desktop applications will not work with mobile application development (AD), according to Gartner, Inc. Gartner said that as demand from business units in enterprises puts increasing pressure on IT organizations to deliver large numbers of mobile applications, AD teams will have to to employ practices that are different from traditional AD.
“Enterprise application development teams use traditional practices to define and develop desktop applications; however, most don't work with mobile app development, due to device diversity, network connectivity and other mobile-specific considerations,” explains Van Baker, Research VP at Gartner, during a recent presentation to IT leaders in China. “Instead, AD managers should use functional, performance, load and user experience testing, as well as agile development practices.”
Baker says that users find it challenging to effectively describe what a mobile app needs to do. As a result, the traditional practice of having a business analyst sit down with the mobile app end users — employees for business-to-employee (B2E) apps and consumer focus groups for business-to-consumer (B2C) apps — to define requirements for a new mobile application normally fails.
“There are several reasons these efforts don't succeed for mobile applications, even though they've worked historically. Firstly, mobile apps are a new category for most users and secondly, mobile apps are constrained by the nature of the platform and the size of the screen, so porting the workflow of a mature desktop app is not viable,” says Baker. “Finally, the experience associated with mobile devices is significantly different from that of desktop devices, including shorter session lengths and limited presentation, due to screen size constraints that affect how mobile apps need to function.”
User Experience is Key
Most complaints about mobile apps have to do with a poor user experience. This can be due to poor user interface (UI) design, poor application workflow or poor responsiveness. The development team needs to focus on designing the optimal UI as a starting point for mobile AD, and developers need to combine this with a workflow that represents how users actually work.
“Letting the users experience what the application will look like and building the screens on the fly with the appropriate tools will ensure that the initial build of the app looks familiar to the users and is close to what they'll need once the application has been piloted or deployed,” Baker says. “This alone will result in a higher chance for a successful development effort.”
Testing mobile applications also differs greatly from testing traditional desktop applications. For a mobile app, each device OS can behave differently, depending on the actual device on which it is being used and the wireless network to which the device connects. Therefore, testing of mobile apps must be conducted across a combination of device types and OSs. It should employ, at a minimum, a two-tier approach of testing on device simulators and on a subset of the latest or most popular devices, because simulators don't always produce the real-world user experience of physical devices. This can be supplemented by in-the-wild user experience and device testing, which is recommended for B2C apps.
“The important thing for enterprises to realize at this point in the mobile app maturity cycle is that there is still much to learn about how to design, build and deploy great mobile apps,” explained Mr. Baker.
Once the app is deployed, it is important to understand how it is actually used, because behaviors may change. This suggests that in-app instrumentation and the analytics that are associated with it are critically important as developers can leverage them to learn what makes a mobile app successful or unsuccessful. In-app analytics, offered by specialist vendors (such as Flurry) or available with MADP solutions, such as Appcelerator, Kony, IBM and Pega Software, can tell developers and the business sponsors of the app what users are doing inside the applications they're using.
Making Agile Development a Priority
The rapid pace of change in the mobile market is putting pressure on development and operations teams to adopt rapid development and deployment practices that constantly iterate their mobile applications as expectations change. Hence, it's imperative to employ agile development to quickly iterate on improving the mobile app. Even as mobile app development matures, the need for ongoing analytics to monitor how the app is used and confirm assumptions will not go away. This is due, in part, to the frequent release of new versions of mobile OSs and new devices. In addition to their immaturity, mobile apps are typically more focused in terms of the functionality of the app.
According to Gartner, typical in-house desktop AD frequently takes approximately 18 months, and when deployed, the application may be maintained for as long as five years prior to retirement. In addition, typical desktop applications are rarely revised more than once after deployment and are relatively stable, so not too challenging for operations teams to manage during their life cycles.
“Mobile apps are different. They need to be frequently revised to meet end-user expectations, and this agile development process especially requires operations to be on top of infrastructure and systems to support frequent mobile app deployments and pushed updates,” Baker concludes. “The number of mobile device types further complicates mobile app development and operations efforts, because the range of device screen sizes, resolutions, hardware API access and performance is fragmented and changes rapidly. The pace of change in the mobile market presents challenges in particular to the operations team, and this pace is unlikely to slow down.”