Development of the System
Development of the system began in June 2008 and was completed in June 2010.
The application development process began with a design study by the development team to explore the overall layout and user interface for MEGA–Jordan. This Web-based user interface functions as the primary means by which DoA staff enter new and edit existing site information (including site location and extent), query the inventory for specific site data, and track site monitoring activities.
A primary goal of the user interface design study was to allow GCI–WMF, DoA, and the Farallon team to quickly explore several possible designs and identify the optimal layout. Beginning the application development effort with a functional user interface mock up also provided the team with the opportunity to prioritize application functionality. This was a critical step in ensuring that the project budget and schedule requirements were met.
Based on results of the design study, a functional prototype of the MEGA–Jordan application was developed using actual field data to test an early working version. The functional prototype allowed project team members to confirm that interface design, functional capabilities, and database structure were viable. In addition, the functional prototype provided project team members with the opportunity to identify and correct design shortcomings early in the system development process, before software coding changes become cost-prohibitive.
The bulk of the application development effort used an incremental and iterative software design approach, known as Agile software development. This approach relies on iteratively improving the highest priority functional elements of the initial prototype application, reviewing the result, and determining whether the newest version of the application meets specific acceptance criteria. DoA and GCI–WMF users played a critical role during this process through reviewing and critiquing iterations of the application.
The user reviews from the DoA and GCI–WMF teams were utilized to prioritize remaining application development efforts. After the team as a whole reached consensus that the prototype application delivered specific functional capabilities, the development effort then focused on improving the next highest priority functional requirement. This iterative approach to developing, reviewing, and accepting sub-components of the application helped ensure that project resources were always directed at developing the most important elements of the system.
In accordance with Agile software development practices, extensive unit testing of the software code was conducted throughout the development effort to minimize the possibility that logic defects exist within the computer code and to ensure that the component functions as anticipated.
Last updated: May 2010