Application development is not a finite process. It continues well after the solution has been rolled out in the form of upgrade development and lifecycle management. CBR quizzed Keith Fenner, strategic sales director: Softline ACCPAC and Ziaan Hattingh, MD of IndigoCube about application development in the 21st century.
CBR: What application development solutions are out there today and which direction will future development projects take?
Fenner: There are two areas that continue to influence the realm of application development solutions significantly; notably the development of the Web and its subsequent effect on the design of future applications. Application developers need to keep abreast of all developments in this space, and the potential impact thereof on the applications they design and programme. For an application to have a guaranteed lifecycle and future, it must thus be designed with the Web and the impact of the Web in mind.
Keith Fenner, strategic sales director: Softline ACCPAC
CBR: Is application development an important function in the modern enterprise or has everything been outsourced? Does it matter what technologies are used for development? Surely it is only the end product that matters.
Fenner: Application development has become a focus area for enterprises such as ours. With so many excellent applications out there specifically designed to meet almost every business need, unless you are an expert it is advisable to buy these from a recognised provider.
In terms of the actual development of applications, as mentioned above, because we are moving so rapidly into a Web-based environment, access has been made possible anywhere at anytime on any device – influencing the technologies used for development. Full portability of data using 3G and wireless data networks as well as intelligent functionality on a PDA are examples of standard application requirements nowadays. The Web has thus created significant challenges for developers – to deliver a truly Web-based application for instance, the bandwidth pull must be low enough to operate effectively. This is proving to be an obstacle for many companies in fully equipping their mobile or remote staff with business solutions. Although the end product is thus still vitally important, what is equally important is how the application performs: its speed, the platform it uses etc. All of these are thus crucial throughout development – another reason to leave it to the experts.
Hattingh: The end product comes about through a unique combination of people skills, relevant process, and sound technology, all properly aligned to deliver the right solution for the business. Yes, the end product is ultimately what matters, but how one gets there is important. Using a properly aligned people, process, technology approach whereby these three components are aligned for optimal performance is crucial for efficient delivery. From a perspective of how well technology aligns with the process being applied and the level of skill of the people working on the solution, it matters.
Ziaan Hattingh, MD of
CBR: What quality assurance services are available locally? What, if any QA services are available in the South African market?
Fenner: Quality assurance for larger developers such as ourselves at Softline ACCPAC is a given. It is a standard part of our processes and procedures, and something we have designated teams assigned to. It is a vital part of what the service developers provide – whether they are local or foreign – and pretty much a given in South Africa when purchasing applications from the larger reputable solutions providers. Having said that, quality assurance is a differentiator in the applications market – something that smaller developers cannot always guarantee and, thus again, another reason to buy your solution from a large and established player in the market.
CBR: What is ALM and why is it important? What difference will ALM make to the customer (the end user)?
Fenner: Application lifecycle management (ALM) is a vital part of the application development process. ALM is essentially a continuous process where you combine customers’ needs with market needs, and merge these with your vision for the product. You then adjust and manipulate the product accordingly, making it even better through your coding, quality assurance processes and management. In this way ALM improves the quality of the software, adding procedures and ensuring the best possible design of the application. It correspondingly ensures that upgrades are released faster – and that these are better, more reliable with improved configuration.
Hattingh: ALM drives how solutions are developed and delivered to business and contains process and best practices that will over time determine the level of success. It is therefore indispensable. If applied correctly, it will improve productivity. If applied incorrectly, it can lead to a lot of frustrating red tape.
CBR: What are the important trends in application development?
Fenner: Definite trends in the development space are Web and the use of cross platforms. Cross platforms ensure freedom of choice for customers; something that developers have to take into account these days to allow for better integration of products from different solution providers. As for Web trends, customers want Web-based applications that are quick to deploy and cheap to maintain.
Hattingh: There are three main trends as I see it:
(1) Rapid growth in the Agile movement – the new kid on the block is beginning to flex its muscles.
(2) The Eclipse Process Framework: Open source is catching up with ALM.
(3) Lean software development and governance.