02.10.2004
Predavanje na konferenci GITEX 2004 v Dubaju: Why Middle East Organizations Need to Reassess and Realign Their Application Development Strategies
The IT-company Arctur would like to use the example of its two main products - ADS and GIDS - to stress how a fully functional modular software-architecture, kind to the end-user, can be developed using predictive i.e. agile methodologies (AM). These are much less dependent on a constant production of methodology documentation since process-information for a given task can be inserted directly into the source-code and adjacent “FAQ and Help” code-libraries. ADS and GIDS are an example of AM-developed systems that can be swiftly tailored to the specific needs of individual clients in the highly dynamic, growing business and economic region of the Arabian Gulf. Arctur is first to admit that predictive (monumental) methodologies certainly still have an important role to play in today’s software application development - in fact, they may well retain their leading position in the field of software development methodology for several years to come. But it is also true that agile application development can be as good as or better than predictive development if it is oriented towards the needs of human beings, and not processes. ADS and GIDS are examples of extreme programming (XP) being implemented in a combination of an open-source environment and a critical data-management environment of a proprietary solution - IBM Lotus Domino and SQL - that delivers the right mixture of dependability and economy of price.
Application development strategies have been undergoing a rapid transformation in the last 20 years. What began as a development methodology for applications and software in general was basically nothing mote than a formalized collection of practices and rules meant to be used in the development of programs. Thus in the 1980’s all the basic principles of software development methods were started to be put together in a formalized fashion.
The main purpose of software development methodology (SDM) was the development - following strict guidelines - of effective software at predictable cost and of consistent quality. During the years, though, the initial few "golden-bullet" rules and practices exploded into a plethora of top-heavy strongly formalized theories and methodologies that have become, in the mind of many programmers, too complex and abstract.
A significant part of the programmers’ community feels it is trapped in a never-ending cycle of producing bureaucratic documentation to satisfy the “commandments” of the chosen SDM. The se heavyweight “monumental methodologies” may - in Arctur’s opinion - have well held a deserved central position in the leisurely SW-development cycles of a decade ago. In stark contrast to this we have today’s tightly-budgeted IT-market that is getting more globalized by the day. The long cycle of a documentation-centric SDM with obsessive report -writing is becoming more and more out-dated in the development of smaller and medium applications. One of the reasons for this is the competition of the outsourcing IT-industry in the Far East which has adapted a hard-nosed “whatever-works” attitude and is starting to undercut the costly and formalized development in the West based on institutionalized methodologies.
In conjunction with this unorthodoxy from the East, the open-source movement is washing in from the West, abandoning the notion that proprietary software is the only solution for the IT-industry. The Middle East finds itself in the middle of these converging technological philosophies and can leverage both of them to progress to a higher level of application development and usage in IT.
One of the alternatives to monumental methodologies are new systems of procedures and rules that have gained momentum in the last few years. They are called agile methodologies and they try to bring forward a useful compromise between having no SDM process and too much formalized rules and procedures - thus enabling reasonable, economic returns at a satisfactory quality.
We at Arctur are the first to admit that monumental methodologies certainly still have an important role to play in today’s software application development - in fact, they may well retain their leading position in SDM for several years. But we are certain that the SW development can be as good or better if it is oriented towards the needs of people, and not processes.
The main difference between monumental methodologies and agile methodologies is that the first are predictive processes and the latter are adaptive processes. There’s nothing basically wrong with predictive methodologies - if significant and basic parts of the software application blueprint do not changed too significantly during the long development cycle. On the other hand agile methods can accept significant changes in the “blueprint specifications”. It is a verity that we do not live in a perfect world and many times important elements of the underlying functionality of an application must be changed because, for example, the client modifies his perception of the functionality or specifications.
Unpredictability of specifications and requirements (USR) is something that exists in the life of every project. There are certainly SW projects where USR is low and predictable solutions can be “engraved” the design phase using design notations - such as the UML - and implemented with strong monumental methodologies. But our experiences at Arctur have determined that in the web-based systems of content management (CM), messaging and repository database management, USR is usually very high due to the fundamental dynamic nature of most web-systems. These are more people-centric than process-centric. We have found out that many clients still express the desire for fundamental changes to the image and content-processing of a web-site after they have seen it in pre-production testing.
Thus, in Arctur we have determined that the development of open-source solutions with extreme programming (XP) in combination with critical data-storage systems enacted with professional, secure and dependable solutions of IBM Lotus Domino and IBM DB2 deliver the right mixture of dependability and economy of price. The adaptive methodology of extreme programming is based on two-man teams working together on solving critical code-problems. Of course Arctur also develops 100 percent pure open-source solutions based on PHP, XHML/XML, Java and SQL databases like PostgreSQL and MySQL, if the customer so wishes.
Our motto is putting the needs of the customer first - even if they are unpredictable.
Management of the application-investment
A direct result of Arctur’s systems being developed with adaptive methodologies is an enhanced way to manage the application investment.
Customer satisfaction is enhanced
Improved performance and availability of both application solutions - GIDS and ADS - enable an optimized services delivery. For example; using an adaptive methodology based on XP Arctur in cooperation with clients determined and solved the problem of slow response time from small HTTP server installations by developing a custom dynamic-pages caching system implemented in the Domino server agents.
Efficiency of solution increased
Overall system complexity is reduced since GIDS and ADS have a central point of management with a common interface regardless of specific OS details and platform. User acceptance is thus increased, reducing the level of technical knowledge required to maintain the application and administer the content of ADS/GIDS.
Business cost is reduced
Performance is optimized as a result of using a minimalist, adaptive methodology for the application development, thus maximizing resources and ensuring optimal deployment of information-critical solutions for the web and the intranet.
Who is Arctur, what are ADS and GIDS?
Arctur is a dynamic software-development and IT-services company from Slovenia, Central Europe, specializing in the creation of web-based internet and intranet solutions with backend SQL and document (Lotus Domino, DB2) repositories. Arctur has found its own way to be profitable and quick-reacting by using agile methodologies (AM) for the development of its messaging and content-management systems ADS and GIDS. It is Arctur’ credo is that the development processes used in a company be capable of adapting to an ever-changing environment and project specifications to such an extent that they even transform themselves.
GIDS (Global Information Dissemination System) is a powerful and comprehensive internet messaging, publication and CM system based on IBM Lotus Domino/Notes with a Domino-SQL connector. It was first developed in 2000 and is widely used by governmental and nongovernmental organizations, institutions and local communities in Slovenia and elsewhere.
ADS (Arctur Data System) is a dynamic web page maintenance/CM solution developed by Arctur based on open-source standard using OS tools like PHP, my SQL and Apache web-server on Linux. The content is completely separated from the form of the web-pages.
David Pahor
Head of research, Arctur Ltd