Business managers are deluding themselves if they think they can be left out of software application development processes. It can no longer be left up to the information technology (IT) department to come up with solutions that will drive the business forward and meet its changing information needs.
This is the view of Neal Donnan, application development executive for information solutions specialist EnterpriseWorx. “Today’s fast-paced and volatile world makes strenuous demands on applications development,” he says.
“Applications need to be developed at a faster rate with shorter timescales and smaller budgets. Rapid application development and deployment (RADD) demands that developers, project managers and business users are part of the project team, working together to ensure that modifications can be made on the fly to align with changing business needs.
“It’s important to integrate legacy systems and existing applications and make best use of services available in the cloud. The development process itself is expected to be more flexible and agile to enable the business to take advantage of unfolding opportunities, and ensure compliance with new legislation, such as the Consumer Protection Act, or new healthcare regulations.”
By using an open platform and open standards for software development, it is possible to integrate new applications with other open systems. In the case of legacy or proprietary systems, it may be necessary to write a Web services layer, or plug applications into a service bus so as to be able to share information.
“In this way, businesses can make the most of their existing investments and combine data from old and new systems in innovative ways, for example for business intelligence applications,” says Donnan.
“In integrating a new CRM system with a financial system, for example, it’s possible to make use of a defined open standard like Web services, so that when one aspect changes in the CRM application it can be propagated to the financial system. If processes are deployed in an integration platform of this sort, you can change them on the fly without affect the underlying applications.
"A comprehensive development platform will have all the tools you need to achieve RADD success. Apart from using current industry standards, it’s important to choose a platform supported by resources well-versed in its use, rather than working on a proprietary platform, where only a few people in SA may have the required skills.”
According to a recent survey, nearly 70% of software developers are still using the waterfall model, a development method that is linear and sequential. Progress is seen as flowing steadily downwards through the phases of requirements, design, implementation, verification and maintenance.
“Using this methodology, a project would be signed off by management at the outset and then passed to the developers. The business users would see the results only in six or so months’ time when it was fully developed.
"By then, in many cases, it no longer meets business needs. If you spend the whole budget on up-front development, and test the application at the end of the cycle, only then discovering major problems, the project could very well be aborted.
“EnterpriseWorx ensures that application development projects are delivered on time and within budget by using agile project management methodologies such as Scrum,” says Donnan.
“Scrum is a tried-and-tested iterative development framework, which contains a set of practices and predefined roles. This makes it possible to develop software and deploy it in a testing environment, with developers, project managers and users working as a team. Any bugs found or changes required by the team can then implemented in the next iteration. This leads to an increase in the quality and usability of the software.
“In developing software, it’s vital to ensure you have a well-defined process and a thorough testing and quality assurance (QA) process. In South Africa, these are often overlooked in an attempt to cut costs. But any money saved will come back to sting you. You want to test your software before your customer finds flaws in it. That is the only way to ensure stability and sustainability of the application.
“Agile software development ensures accountability and allows management to quickly identify and resolve bottlenecks. The organisation gets its software development projects in usable phases, which speeds up delivery and provides business benefits immediately.”