QEF home page
QEF Advantages

The pages presents some of the major QEF advantages.

QEF Home Page
An Quick Introduction to Software Construction and QEF
Why You and Your Company Need QEF
Why you and your company need QEF (2)
The Advantages of QEF
Summary of QEF Technical Advantages and Features
Supported Platforms and System Requirements
Information about QEF Inc. Officers and Purpose
Technical Documentation, Overviews, Tutorials, and Papers
QEF Papers, Talks, and Presentations

What is Software Construction?
The Software Construction process controls and manages the assembly, processing, and fabrication of software components, usually initially in the form of source code or third party files, into the user's software products and deliverables. These processes are greatly complicated by the size, complexity, and volatility of modern software systems. Software products that are constructed from tens of thousands of source files are not uncommon. Some of those files or their products will be processed hundreds of times in a year.

In the introduction, software construction is compared to the production of automobiles. It could also be compared to the construction of a building. The blueprints specify how the finished building should look, the materials used, the functions the building must perform, the labour needed for construction and completion.

Software construction differs in that a building is produced sequentially. First the hole is dug, the foundations laid, the building constructed floor by floor, and finally the roof put on and the finishing touches completed. Not so with software. The process for building software must simultaneously take all sorts of materials in the form of files, such as datafiles, and processes, such as the build management, using tools, such as compilers and installers to pull together and manage the process to produce the product, vastly complicating the process.

QEF pulls together and manages these processes. But QEF's approach to automating software development processes has taken software construction a step further. While the competition automates the versioning system in the process, it leaves the rest of the process mainly done piecemeal. There is no overriding management system as there is with QEF.

The Advantages of QEF
QEF was developed to handle large scale software engineering projects to be run on many different platforms and to be well integrated into the software process.

Much of what the software development world uses for constructing software is based on software developed thirty years ago. For example, the tool used in the "build" process is called "make" first written in mid 1970s to build small projects. It is fine for small projects, but make and its many clones and variations are now being applied to the large, complex and difficult world that now exists for most software development process.

Make requires written custom scripts to make it usable for a project. (QEF requires some.) As project complexity increases, more custom scripts are necessary. Much of these scripts are inconsistent, ( programmers all program differently), not portable (they must be rewritten for each application), and they are poorly documented. Some things get missed. Many processes must remain manual.

The result is that developer time is grossly wasted at great expense to the company. The costs in time and money of producing the additional software to make this tool usable is rarely calculated into the estimates for the project. Is it any wonder that projects are consistently run over time and over cost? And this is, in part, the result of using just one outdated tool, poorly documented procedures, and inconsistent approaches.

In the year 2000, it is time for companies to automate their builds. This is what QEF provides. QEF is fully documented. It provides a framework in which to build applications. It has a complete set of processes for all stages and aspects of building a project.

Builds done with make need about 90% additional custom scripts to work. In contrast, QEF supplies 90% of the work in building, needing maybe 10% in custom scripts.

The Same System Everywhere One of major advantages of QEF is that the same build scripts are shared by all systems. Switching platforms does not require any significant changes. Furthermore using QEF for all projects eliminates the difficulty of moving developers from one project to another. There's nothing new to learn as the approach and interface will be the same.

All You Ever Say is QEF One eminent expert in Software Engineering has stated that he thinks the major advantage of QEF is that "all one ever says is qef". Nearly all aspects of a project's processing can be managed using QEF, thereby providing consistent, convenient, and effective interface for the all people concerned with a project.

From 4 Days to 7 Hours; Any of the Team Can Do It Because of QEF's efficiencies, QEF can reduce time spent on the builds themselves, as well as on the preparation for the builds. For example, at a medium sized software house with over 100 developers, a large body of software evolved whose construction was controlled using Imake, one of the make clones. The total build took four days. It was difficult to manage and poorly documented. Different parts of the build procedure were known by different people. If one person was sick and therefore not at the office, the build could not proceed. With QEF in place, the build now takes seven hours. Because of QEF's automation of the software construction, building the product has become a simple, standard procedure which can be executed by any of the team, for the entire product or subsets thereof.

QEF Copes Well with Change The software industry is volatile and fast-paced. Customers of the software products want to be able to get customization quickly and easily; they expect turnaround for their requests in a few days at most. This creates tremendous pressure on the software development team.

Because of the complexity of software today, one simple change could have far-reaching consequences in many different parts of the software configuration. With no other tool is the developer respond to the possible changes and implications and consequences to the product as well as with QEF. Its approach to ensuring that a product is consistent and reproducible is complete and efficient. Accordingly to one developer, QEF makes it easy.

QEF Provides the Needed Framework Too many software development companies are concerned about individual tools for developing and producing their software. One engineer likened this to getting all the organs of a body correct without remembering the body, the framework in which the organs must operate. QEF is that framework. It oversees and manages the various tools. It automates many features done manually today, thereby saving time and money and developer aggravation.

QEF Quickly Yields a Large ROI It has been estimated that the loaded cost of a software developer per year is at least $100,000. Surveys of QEF users as to the improvement in their effectiveness yield answers of 10 to 50 percent, the higher values coming from release engineering groups. Even using the low end estimate, a 10 developer organization would effectively increase their staff by one developer by adopting QEF.

Release your Release Engineers All organizations that have adopted QEF have been able to substantially reduce the number of people who do release engineering or to allow them to concentrate on other areas. One organization actually had one manager to do all the production builds, which consisted of seven projects on up to a dozen different platforms (over 70 product configurations), all launched with a single command. A product manager at another organization stated that the improved effectiveness and ease of the builds allows them to worry about problems that they didn't even know they had before they started using QEF.

Rolling Release Engineering QEF allows an organization to attain the state of Rolling Release Engineering, that is the state in which the product is always ready for release on demand -- gone are the days when you have to takes weeks if not months to create a release, during which time development is curtailed or hindered.

Other Benefits The other benefits of using QEF would be in having greater confidence that what a company sends its customers as product is what it meant to send. That which had to be done, was done. (This is the literal meaning of QEF or Quod Erat Faciendum.) The quality of production would be increased and if at a future time the product which was sent had to be reproduced, then that would be able to be done. This is not the case with most software configuration management systems on the market and is a very important feature in this age of regulation.

As mentioned before, response time to a customer's change request becomes easy with QEF. This would give a company a competitive edge.

For further information see:
+ List of Available Platforms and System Requirements
+ Information about QEF Inc.
+ QEF Technical Overviews and Documentation
+ A Summary of the QEF Technical Advantages and Features
+ Why you and your company need QEF (2)
+ A Comparison or QEF and Make

An Quick Introduction to Software Construction and QEF Why You and Your Company Need QEF Why you and your company need QEF (2) The Advantages of QEF Summary of QEF Technical Advantages and Features Supported Platforms and System Requirements Information about QEF Inc. Officers and Purpose
Technical Documentation, Overviews, Tutorials, and Papers QEF Papers, Talks, and Presentations
advantages.qh - 1.14 - 05/09/23 QEF home page