Farragut Systems has been developing GIS applications and integrating FSI components
into existing legacy applications for more that 10 years. During that time, we have used
a number of development methodologies. Many organizations are familiar, for example, with
waterfall style development processes. Waterfall development is a structured process
wherein the development process is broken up into a number of phases. Different
methodologies use a variety of terms to describe each of the phases, and some are
more granular than others, but when the buzzwords are stripped away, the basic approach
is as follows:
- Specification of Requirements
The development team seeks to create a specification that describes both the
environment in which the new systems is to function and how the new system is
supposed to behave.
- Design
During the design phase, the developers take the requirement document as input and define how the application is
going to be constructed.
For the Colorado Oil and Gas Conservation Commission, Farragut developed an Internet mapping application that allows
the public to retrieve information about oil and gas wells.
- Implementation
During implementation, the developers do the programming
to create the applications) and components described in the design.
- Deployment and System Validation
The resulting system is deployed on a test system at the customer site and the end-users
put the new systems through a set of tests designed to prove that the system behaves correctly.
As an alternative, Rapid Prototyping assumes that requirements for a project
will change over time and that the development process should accommodate, rather than resist the
changes. In a rapid prototyping environment, the development team produces working or
partially working elements of the new system. This approach gives the users
immediate feedback regarding whether the development team understands what is needed,
and gives the development team an opportunity to show the end users how the new system will work.
For a large international engineering company, Farragut developed a query and mapping application for
the environmental assessment of a large hazardous waste site.
Rapid prototyping typically follows a process described below:
- Definition of Use Cases
A use case is a document and diagram which describe a particular user scenario and how the user
will interact with the new system to accomplish some task or activity.
- Prototype Definition
The development team and users typically analyze the use cases, to classify and group them into
functional sets. These sets are used to define the prototypes.
- Prototype Implementation
Prototypes allow issues to be rapidly identified early. As the system proceeds, prototypes
that re accepted and understood can be refined and will gradually mature into finished components.
When considering the choice of development methodology, significant time and energy can be
saved if an appropriate methodology is chosen. We typically use Waterfall methodologies in
complex situations where a number of different organizations are involved in the development,
or development is taking place in a disjoint manner.
Rapid prototyping is the most cost effective and efficient approach to use in situations where
the development can be focused, the developers and users can meet to discuss the needs of the
system, and the capabilities and shortcomings of the various prototypes that are produced. It
is the most flexible and adaptable approach and typically produces excellent results.
regardless of the development methodology that is used, there are specific tools and techniques
that must be applied to any professional software development process.
- Configuration Control
From the state of development, software is dept under configuration control and a defect
tracking system is used to record and report problems to developers.
- Unit, Integration and Acceptance Testing
The testing effort is given equal attention to the development effort. Software is
tested at unit, subsystem, and integrated-system levels.
- Change Management
When requirements change, Farragut Systems assesses the impact of proposed changes and
the means required to meet them.
For a consortium of several large international oil companies, Farragut architected and
implemented an integrated system for the maintenance and query of exploration data for a
deep-sea formation in West Texas. The system integrates GIS, Document Management, and
a comprehensive analytical database.
Farragut developed a wide range of applications to support the implementation of an Enterprise-wide GIS for the
City of Broomfield. ArcObjects, ArcIMS, and SDE formed key components of the overall solution.
We are currently re-writing several mission-critical applications for the Colorado Department of Natural Resources.
The first application has been deployed and is currently in production.
To request more information on this service, go to our information
request page.