As organisations across the world invest in a variety of applications to differentiate themselves from competitors, developers of these applications must stay one step ahead of technology trends to create solutions tailored for the task. CNME discovers the challenges that developers face when absorbing business and technology changes to adapt to new realities.
The consumerisation of the Internet has lead to a convergence of customers and businesses from all corners of the world. Faced with globalisation and the increased competition organisations are investing in strategic IT applications that enable efficient liaising with customers as well as the managing of burgeoning internal operations in a bid to gain significant competitive edge. These applications are used on the personal as well as corporate ends to help make managing everything from accounts to relationships easier.
“Today, decision makers within organisations are increasingly adopting new business practices that enable working smarter rather than harder to derive a significant competitive advantage. In this
day and age, businesses find themselves at a confluence of several trends, like the spread of cloud computing, the mobile workforce and the use of social networking tools in business applications. Collectively these ubiquitous technologies are termed Web 2.0. These technologies facilitate both
multilateral communication in real time, and the collation and sharing of information across the Internet,” says Fadi Abdulkhalek, VP, Cluster Leader, Oracle – Gulf States.
According to Abdulkhalek, the most exciting aspect of these developments is the encouragement it has given software vendors to create “next generation applications”, built around common industry standards using the tools within Web 2.0 to provide flexibility and reduce complexities at a significantly lower cost to organisations.
The growth in the cloud computing platform revolutionises business automation by changing the balance between capital and operational expenditures. The growth in the mobile workforce in turn enables access to corporate data and IT services regardless of time and location. This, many anticipate, will transform the way an organisation’s sales force interacts with its customers. Finally, many believe that the introduction of social networking tools to enterprise resource management will be just as revolutionary.
Not only do organisations have access to mountains of unstructured data through the social networking channels but social media also presents an opportunity to market and build relationships across wider
distribution and consumer channels.
Atiq Rahman, chief solution architect at AlTaqnyah believes that these trends have also created an opportunity to develop new middleware, like service-oriented architectures and business process
orchestration, to provide better insights into performance in organisations and increase engagement across external and internal stakeholders.
“There is an increased demand for applications that are utilities and complement existing services while making interaction and communication flexible and borderless,” agrees Alexander Rauser, CEO,
From the disbursement of IT teams, to multi device functionality and ensuring data security, there are many places along the development path where developers can run into challenges.
Tarek Hamdan, chief marketing officer at Sage says, “Faced with a variety of programming options in terms of coding languages, developers have to determine which languages are compatible with multiple devices based on technical and operator specific device variants, based on the each device’s technical capabitlities in terms of memory, network connectivity, operating systems etc. This is especially the case when developing applications for mobile devices that range from tablets to smartphones and everything in between.”
Even when the developers have ensured that the coding languages and programs are integrated, there exists the potential for these integrations to be weak and incomplete. According to Hamdan, newer programming options, supported by cloud computing services, are addressing these challenges by offering improved coding options that run smoothly, reducing design and performance complexities and issues.
Rauser agrees, “Devices render differently and not all have the same features, resolution. But this is only the start. Looking at the detailed design of an application you also have to account for the user input capabilities of a device or the native behaviour of the common device applications. What this means is that the app design for one platform may not work for another platform due to the distinct user design of the global navigation elements.”
He recommends, a very detailed design phase, that involves analysis of the design requirements and capabilities, which can then be tested for functionality before going into production.
Application development typically requires a well established infrastructure and IT support for effective functionality. Smaller companies that require custom applications but do not have the extra
IT support, can run into the challenge of devoting personnel to application development. According to Rahman, for some organisations, devoting part of their IT personnel and infrastructure to application development can be a costly venture.
IT professionals also believe that traditional approaches towards development often involved accounting for the failure of an application or the inclusion of add ons once the application was actually developed and tested by live users, which was seen as both a hindrance to live consumers and an additional strain on the developers resources. To counter this challenge, some services allow developers to test their applications without affecting live users.
Rahman says, “Often, customers broadly define the application they require and we spend considerable time developing these and when we take it back to the customer for approval they most often add more functionalities to the application or solution. This strains costs associated with development, while
increasing the time and effort spent on the particular application.”
According to Rahman, AlTaqnyah tackles this challenge using the Agile Scrum methodology, where the project is divided into smaller projects managed by smaller teams to enable effective communication between the vendor and the client. Through this development methodology the company has been able to optimise time management and ensure that the application meets the customer’s exact requirements.
The Agile Scrum methodology recommends three essential changes when developing applications, including using smaller teams with more decision-making authority; involvement of customers at
the beginning of the development cycle instead of the end; as well as the regular junctures normally lasting a couple of weeks. Companies like SAP and AccuRev point to the benefits of Agile application
development as giving developers the ability to locate changes between two different dates and the ability to audit planned and actual content, providing fast-paced Agile teams time-saving capabilities.
According to Hamdan, new changes in application development, are seeking to address the challenges developers face and make the process more seamless for those involved. “With high demand for application development, finding solutions to the challenges is a way to make everyone involved in the development process happier, and the process itself more efficient,” he says.
Rob Bamforth, principal analyst, Quocirca believes that mobile application development is full of hard choices. “Although there is a seemingly insatiable appetite for eversmarter handheld mobile devices and the applications these enable, developers have to decide which subset of the available mobile market they want to write applications for, in order to get a worthwhile and profitable return for their effort.”
According to him, even if the requirements from the current set of target platform editions and devices can all be included and implemented in the application, future platform editions and devices may bring new restrictions – as well as new possibilities. Due to this complexity, he believes that developing and managing a wide variety of application variants demands extra effort in mobile application development environment.
IT professionals point to two main approaches when developing mobile applications. One is developing an application that is scalable and adjustable from the very beginning. The drawback of this approach can be that the initial development effort is more significant but decision makers say that this effort will pay off sooner or later and is a good investment in the future.
The second approach is to develop the application so that it is targeted to a narrow number of similar target devices. While the initial development time may be shorter, the drawback is that the post production phases and variant creation is typically more difficult. This approach can be beneficial in cases where the device portfolio is easily controlled and limited within an enterprise, making the need for creating variants lower or even unnecessary.
According to decision makers, while there are no standard tools for managing application variants, certain principles make the challenge less difficult, such as making planning and prioritisation an early part of the development process. When deciding on application design, IT professionals point out that developers must ensure they understand the device restrictions and capabilities and analyse how best to tackle these early on in the project. They should follow this up with a proper maintenance and a post production phase to enable making changes to the application based on user reactions following
the initial product launch.
When it comes to integrating security with the application development process, developers say that the task requires an awareness of how different environments demand different security. For example, the security for running a mainframe application that is not accessible by anything except the mainframe would be considerably different from the security for a Web based application that anyone on the Internet has access to.
Other important elements that impact the application’s security include complexity of the application, the data types, formats and lengths and the database management system that is being used among others.
Bashar Kilani, territory manager, Middle East, IBM says “The design of any application should take security into consideration. This is a basic requirement and should cover access to data and information, protection of data and assets in addition to intrusion detection and access control.”
Rahman agrees, “Security is a priority. Our security standards for the applications that involve financial transactions meet the PCI standard requirements, printing technology is secured using HDS security and documents are secured using DRM.”
In the case of mobile applications, developers say that running a vulnerability scan against the code is most essential. Also, patch management, which according to developers is relatively easy, is often over looked. Developers must make sure that both the operating system and the database that the application is running on is both current and patched.
Kilani predicts, “As the number of people and devices on the net increases, the world will witness more applications with focused functionality rather than large complex applications with wide functionality.”
AbdulKhalek says, “We may be talking about next generation applications, but this is not future ware. This is here and now and many of the world’s most successful companies have already taken on board applications based on Web 2.0 and are already using them to improve communications throughout their workforce with better information access and increased data sharing that fosters team work and collaboration.”
This much is clear, while the demand for businesses to go mobile increases and the volumes of data required for informed analysis and effective decision making simultaneously grows, application development will continue to evolve to provide for the need for increased connectivity, flexibility and business analytics.