About
Subscribe
  • Home
  • /
  • TechForum
  • /
  • Three steps to simplifying application development

Three steps to simplifying application development

Johannesburg, 02 May 2002

There is still no silver bullet on the market to solve all the challenges of application development. Embarcadero Africa MD Alan Raubenheimer looks at a three-phase approach to reducing the risk.

Application development seems to defy the general laws of the market, with new projects being launched on an ongoing basis. This is not surprising, as many companies are using this period of economic slowdown to pursue competitive advantage.

However, budgetary constraints mandate an ever-tighter focus on return on investment and efficiency in the application development process. The dismaying news, though, is that research shows that between 80% and 85% of all projects fail against one of the axes of deadline, budget and alignment with business requirements.

As one approach, companies are looking to maximise skills, tools and processes, and to obtain optimal reuse of existing code.

The solution, most vendors would have you believe, is simply to throw development tools at the process. Of course, application development doesn`t work this way: no one vendor can satisfy all requirements.

In assessing the market, companies need to consider three factors essential for practical and successful application development:

Inherent friction exists among development team members

Development teams are made up of domain specialists, each with their own tools, methods and culture. For instance, system architects, application developers and database designers tend to work separately when developing an application. Their lack of communication and collaboration can cause friction and dissonance, ultimately leading to a dysfunctional development environment.

One solution is to implement tools that bridge the divide between these disparate groups, while talking to their specific needs.

Development tools need to decrease two levels of complexity

It is a truism of the development environment that complexity is growing daily; paradoxically, the introduction of new tools and technologies often serves only to increase the complexity: consider the alphabet soup of the enterprise integration market, for instance, with its myriad offerings and acronyms.

This complexity occurs at individual and development team levels. Easing it should be a corporate goal. At an individual level, one solution is to introduce tools that automate repetitive tasks, reduce error-prone tasks through wizard-driven processes, and improve the presentation layer by enabling work in a graphical user interface.

At the development team level, tools need to be deployed that easily fit in with the existing environment, that integrate with other tools already deployed, and that do not need a steep learning curve.

Improve organisational understanding of complex, interdependent systems

Modelling is back in vogue. Once overlooked as costly and time-consuming, modelling today has come to be viewed as a liberator in providing much needed discipline, structure and future-proofing.

And the modelling approach that has come to prevail in the market is UML (Universal Modelling Language), the de facto standard.

The need for UML has never been greater, given the interdependency of systems in e-business. Systems once built independently of each other to fulfil a specific business requirement now have to interoperate, enabling information sharing and data interaction as more business processes are submitted to the Web. The advent of the much-hyped Web services and the drive to collaborative commerce, stretching applications way beyond the traditional boundaries of the business, will only serve to accelerate and increase this complexity.

A cohesive underlying design architecture is crucial to the success of e-business, and indeed all internal, applications.

When developing rapidly, it is vital to know what applications already exist, so developers can take advantage of existing components and reuse them in new applications.

It`s vital, therefore, to maintain an accurate blueprint of application systems and their designs, documenting what the business has in place, and leveraging it for the future.

No silver bullet

There are no miraculous products on the market that will simply take away all corporate headaches associated with the application development process. But tools that conform with the three requirements stated above will go a long way to reducing the complexity and risk associated with application development; in effect, reducing the chance of your application being just another statistic among the 80% to 85% of development failures.

Share

Editorial contacts

Augusta Liebenberg
FHC
(011) 608 1228
augusta@fhc.co.za
Alan Raubenheimer
Embarcadero Africa
(012) 346 3155
alanr@embarcadero.co.za