Business Methodology

Introduction

Domanski & Hobson have extensive experience providing IT consultancy to commerce and industry and have worked on a variety of successful projects in 'blue chip companies'. However, in numerous cases we have observed the dislocation between business need and expectation and the means of delivery. To a large extent this can be explained by the fact that IT is still immature in both its means of tackling business problems (management & methodology) and the technological means of delivering them. No one can have failed to notice the succession of new releases, improvements, new techniques and flavour of the month software which indicate the continuing rapid rate of evolution. IT managers can barely keep pace with this rate of change and business managers (sponsors) are still coming to terms with earlier technology - but still wanting the latest and best, e.g. GUI interfaces, browsers, etc.

Sometimes, don't you feel you're going backwards?

But, at the heart of the problem, is the definition in business terms, of requirements, process designs, operational procedures and working practices. These are the fundamentals but are constantly overshadowed by the glitzy technology which grabs the limelight (and the budgets). [To a limited extent, we hope to have addressed some of the underlying issues in our book A Practical Guide to Relational Database Design. We will also be producing other, methodologically oriented publications] 

Our Approach

To the outsider, there appears to be a plethora of competing technologies and development approaches which, individually, are marketed vigorously by their own leading exponents. This creates the impression of a confusing and crowded ‘solutions’ emporium. Certainly there is choice and diversity. Only one thing is clear, no matter which approach you choose, building business applications takes a long time and success is not always guaranteed. It is probably also true to say that greater attention is placed upon the front-end (user interface) than on the functionality in the core.

Diaxon has reviewed the leading methodologies and technologies and concluded that mutual exclusivity is rare. We have had few qualms in taking the best features of 'Top-down' and 'Bottom-up', RAD  and Waterfall methodological approaches and the most useful aspects the Relational and Object Oriented delivery techniques. Significantly, we have added some of our own original thinking. The result is a general approach to application development backed up with a sound methodology which can be applied to 80-90% of most business requirements.

OK, we have a good methodological approach - who hasn't? Where we differ is our development of an accompanying set of integrated software tools to generate applications from these good practises. We are aiming at applying production-line techniques to application development. These tools have also been designed in a top-down manner and thus we provide a seamless relationship between the development methodology, the software tools and the delivered application software. Unlike other '4GL' offerings built around established products and technology (and thus have a high degree of bottom-up construction), we do not need to make compromises to fit proprietary technology - our components are all fully integrated.

Building from 'Scratch'

We are in the process of perfecting our modular architecture to all application development - the only practical way to produce applications in an increasingly complex world. Starting from Scratch, the following are the major objectives which we have set out as being crucial to our ideal development methodology:

  • Dissociation of all analysis and design (logical modelling) from the physical build.

  • Dynamic use made of the data dictionary - making it truly a store of semantic information.

  • More importance placed on interface definitions (externals) in the data dictionary.

  • Formulaic approach to the build phase (automation), allowing us to de-skill the build process.

  • Eventual non-dependence on any particular operating system or storage technique although the techniques and concepts are presently being proved in the stable Microsoft environment.

  • Non-dependence on proprietary database licensing (our own proprietary Relational/OO database system)

  • Use of pre-written component software (re-use of compatible objects in a growing component repository)

Development Tools

To compliment the methodology we have built the major components of CASE tool suite to deliver high quality, state-of-the-art applications. Our applications will work with our own relational/oo database product or can be plugged in to 3rd party data storage products. Time means money so even quite modest reductions in development lead time create significant savings. The main saving is in the build phase allowing us to concentrate resources on analysis and design.

How’s it Done?

For the time being detailed  technological basis are being kept under wraps. However, we can reveal that the essence of the development cycle is to retain the detailed design phase within the hands of ‘business specialists’ to a much later stage than in conventional methodologies and 4GL application generators. We can design our applications in ‘business components’ using a vocabulary which will be familiar to most analysts and designers.

Our 'Semantic Data Dictionary' (SDD) handles the ERD comprising entities, attributes, relationships, etc. co-ordinating it with object classes (extending the domain concept in relational terms). The SDD will also be used to handle meta-data definitions associated with external interfaces. The tools integrate business logic and design units (E.g. forms, reports, functional procedures) across the information model to produce applications that can be part built in pure business components. Look and feel, logic testing and design changes can be performed to an advanced stage without going physical. Only during the last phase is the meta data switched from logical components to a physical database and or  interface.

By formalising, and thus streamlining the build process the need  for specialist programming skills is drastically reduced. There is no magic formula that can be used and no magic button to press, however most mainstream business applications do have to follow a particular course and have common meta-structures and functional requirements. it is these which we are exploiting in our new software. 

The following pie-charts illustrate how we will be able to move the development emphasis away from physical build - drawing it back into logical (detailed design).

Conventional Lifecycle

In our methodology, the physical build is much reduced. The customer gets to see their applications at the detailed design stage and be able to test the majority of the functionality.

Diaxon Application Generator 

Diagram

The Future

Diaxon will continue to develop the application (CASE) software and produce discrete applications to demonstrate the method and provide a marketable product base with our own 'house style'. There are obvious benefits in using our own database system; we have no licensing obligations to other suppliers. A streamlined delivery technology + our own proprietary database will enable us to significantly reduce the cost of software development and pass more control to the ‘business end’ of development. 

Not being tied to a specific file storage technology our generator software will be compatible with existing database technologies (E.g. connections via client/server or peer/peer interfaces). The use of 'meta-data' in our SDD will pave the way to OLAP tool-style use of external systems.